본문 바로가기

728x90

Development/SQL

(7)
[SQL] PostgreSQL 설치 및 접속 현재 나는 MacBook Pro M1을 쓰고 있기 때문에 Mac OS에서 PostgreSQL를 설치 및 접속을 해보자. 설치하기 일단, brew를 이용해서 postgresql이 있는지 찾아보자. brew search postgresql 찾아서 있다면 다음 명령어로 설치하자. brew install postgresql 설치 확인하기 설치가 완료된 상황이라면 설치를 확인해보자. /opt/homebrew/bin/postgres --version postgres가 설치된 경로를 찾아서 버전을 입력해주어 버전이 출력된다면 설치가 완료된 것이다. AWS RDS에 접속하기 현재 우리 회사의 RDS에 접속하는 방법은 다음과 같다. 각각의 칸에 맞는 입력을 해주고 접속을 하면 접속이 된다. psql \ --host= \..
[SQL] SQL과 NoSQL의 비교 AWS의 데이터베이스의 종류가 무엇이 있는지 조사중에 SQL과 NoSQL을 선택해야 하는 기로의 순간이 왔다. SQL과 NoSQL은 시대가 지나면서 사용 빈도가 많이 바뀌었다. 위 그림을 보면 처음에는 당연히 SQL을 많이 사용하고 있었지만 시간이 지날수록 NoSQL의 성장세가 무서운 것을 알 수 있다. 이렇게 NoSQL의 성장세가 무서운 이유는 2010년도 이후부터 인터넷을 통한 서비스가 증가하면서 기존의 RDBMS로는 대규모의 서비스를 감당할 수 없다. 이로 인하여 나타난 것이 오픈 소스 프로젝트인 MongoDB, Cassandra 등이다. SQL은 우리가 아는 RDBMS(Relational DataBase Management System)를 말하는 것이었다. 수직적 확장성(Vertical Scala..
[SQL] 관계(Relationship)의 이해 1. 관계의 개념 가. 관계의 정의 상호 연관성이 있는 상태 "엔터티의 인스턴스 사이의 논리적인 연관성으로서 존재의 형태로서나 행위로서 서로에게 연관성이 부여된 상태" 관계는 엔터티와 엔터티 간 연관성을 표현하기 때문에 엔터티의 정의에 따라 영향을 받기도 하고, 속성 정의 및 관계 정의에 따라서도 다양하게 변할 수 있다. 나. 관계의 페어링 관계는 엔터티 안에 인스턴스가 개별적으로 관계를 가지는 것(페어링)이고 이것의 집합을 관계로 표현한다는 것이다. 개별 인스턴스가 각각 다른 종류의 관계를 가지고 있다면 두 엔터티 사이에 두 개 이상의 관계가 형성될 수 있다. 각각의 엔터티의 인스턴스들은 자신이 관련된 인스턴스들과 관계의 Occurance로 참여하는 형태를 관계 페어링(Relational Pairing..
[SQL] 엔터티(Entity)의 이해 1. 개념 데이터 모델을 이해할 때 가장 명확하게 이해해야 하는 개념 중에 하나가 바로 엔터티(Entity)이다. 엔터티에 대해서 데이터 모델과 데이터베이스에 권위자가 정의한 사항은 다음과 같다. 변별할 수 있는 사물 - Peter Chen (1976) - 데이터베이스 내에서 변별 가능한 객체 - C.J Date (1986) - 정보를 저장할 수 있는 어떤 것 - James Martin (1989) - 정보가 저장될 수 있는 사람, 장소, 물건, 사건 그리고 개념 등 - Thomas Bruce (1992) - 위 정의들의 공통점은 다음과 같다. 엔터티는 사람, 장소, 물건, 사건, 개념 등의 명사에 해당한다. 엔터티는 업무상 관리가 필요한 관심사에 해당한다. 엔터티는 저장이 되기 위한 어떤 것(Thing..
[SQL] 데이터 모델의 이해 모델링 우리 주변에 있는 사람, 사물, 개념 등 다양한 현상을 발생시키는 것들을 일정한 표기법에 의해 나타내는 것 모델링에 대한 사전적 정의로는 아래와 같이 다양하게 존재한다. 가설적 또는 일정 양식에 맞춘 표현 어떤 것에 대한 예비 표현으로 그로부터 최종대상이 구축되도록 하는 계획으로서 기여하는 것 복잡한 현실세계를 단순화 시켜서 표현하는 것 모델링의 특징 모델링은 추상화, 단순화, 명확화 3가지로 요약할 수 있다. 추상화 (모형화, 가설적) 추상화는 현실세계를 일정한 형식에 맞추어 표현을 한다는 의미이다. 다양한 현실을 일정한 양식인 표기법에 의해 표현한다는 것이다. 단순화 단순화는 복잡한 현실세계를 약속된 규약에 의해 제한된 표기법이나 언어로 표현하여 현실세계를 보다 쉽게 이해할 수 있도록 하는 개..
[SQL] 데이터베이스의 개요 1. 데이터베이스 데이터베이스(DB: database)는 통합하여 관리되는 데이터의 집합체를 의미한다. 이는 중복된 데이터를 없애고, 자료를 구조화하여, 효율적인 처리를 할 수 있도록 관리된다. 이러한 데이터베이스는 응용 프로그램과는 다른 별도의 미들웨어에 의해 관리된다. 이를 관리하는 미들웨어를 데이터베이스 관리 시스템(DBMS: Database Management System)라고 한다. 데이터베이스의 특징 사용자의 질의에 대하여 즉각적인 처리와 응답이 이루어진다. 생성, 수정, 삭제를 통하여 항상 최신의 데이터를 유지한다. 사용자들이 원하는 데이터를 동시에 공유할 수 있다. 사용자가 원하는 데이터를 주소가 아닌 내용에 따라 참조 할 수 있다. 응용프로그램과 데이터베이스는 독립되어 있으므로, 데이터의..
[SQL] 데이터 무결성의 이해 여러 사용자가 규칙 없이 아무 데이터나 입력하면 데이터베이스는 엉망이 되어 사용할 수 없게 될지도 모릅니다. 이를 방지하기 위하여 관계형 데이터베이스 시스템은 데이터 무결성이라는 규칙을 만들었습니다. 데이터베이스에 저장된 데이터 값과 사용자가 의도한 데이터 값은 일치해야 합니다. 데이터는 정확성, 유효성, 일관성, 신뢰성이 지켜져야 하며 이를 어기는 잘못된 입력과 갱신 또는 삭제로부터 보호되어야 합니다. 데이터베이스 관리의 기본 규칙이 지켜지지 않으면 데이터베이스 시스템을 운영하는 데 어려움을 겪을 수 있습니다. 따라서, 데이터베이스 데이터는 사용자의 목적에 맞게 입력되고 저장되어야 하며 규칙을 위배하지 않아야 합니다. 이를 위해, 데이터베이스 시스템은 데이터에 접근하거나 데이터를 처리할 때마다 부적절한..

728x90