PostgreSQL

1.1. 데이터베이스

술임 2022. 1. 3. 14:45

PostgreSQL은 데이터를 기반으로 한 DB를 관리하는 프로그램

 

DB 

* 데이터 : 현실에 존재하는 사실적인 자료들의 집합

* 데이터베이스 : 논리적으로 연관된 데이터들을 체계화해서 여러 사람이 공유해 사용할 목적으로 통합한 것

 

DB가 저장하는 데이터의 특성

통합데이터 (Integrated) 

데이터를 통합해서 중복되는 데이터를 줄이는 것

 

저장데이터 (Stored)

컴퓨터 내부에 저장되어 있는 데이터

 

운영데이터 (Operational)

조직을 운영하는데 도움이 되는 데이터들이 저장되는 데이터

 

공유데이터(Shared)

공동의 필요에 의해 저장되는 데이터

 

DB 특징

1. 실시간 접근성 (real time accessibility)

비정형적인 질의에 대해 실시간 처리에 의한 응답이 가능해야함

 

2. 지속적인 변화 (continuous change)

DB는 동적인 특성을 가져서 데이터의 삽입, 갱신, 삭제로 항상 최신 데이터를 유지해야함

 

3. 동시공유 (concurrent sharing)

DB는 서로 다른 목적을 가진 여러 사용자를 위한 것이라서 다수의 사용자가 동시에 같은 내용의 데이터를 이용할 수 있어야함

 

4. 내용에 따른 참조 (reference by content)

DB에 있는 데이터 참조 시 데이터의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터 내용 찾음

 

DBMS (데이터베이스 관리 시스템)

PostgreSQL은 DBMS 중 하나

 

수많은 데이터와 DB를 관리하기 위해 데이터를 처리하는 시간과 비용을 최소화하기 위해 DB를 관리할 시스템이 필요함

 

DBMS : DB를 효율적으로 관리하기 위해 만들어진 시스템. 데이터의 통합적인 관리 가능

 

DBMS 기능

1. 정의 

응용 프로그램이 요구하는 DB 구조를 지원하고 생성, 변경, 제거 가능

 

2. 조작 (구조 조작 =테이블을 조작)

DB에 접근해서 사용자가 요구하는 데이터를 삽입, 갱신, 삭제 가능

 

3. 제어

DB의 접근할 수 있는 사용자 제한 후 성능 관리. 

동시 접근 사용자에 의해 데이터 부정확해지는 문제 발생하지 않도록 제한

 

DB 모델

DB는 데이터 보존 방식에 따라 구분됨

 

1. 계층형 DB

- 데이터를 계층에 따라 조직화한 DB

- ex. 폴더구조

- 부모-자식의 계층 관계를 이용해 정보 표현

- 계층 구조의 검색은 빠르지만, 구조를 가지지 않는 관계 표현 X

- 현재 DB는 거의 쓰이지 않음

- 윈도우 레지스트리, 파일시스템, XML에서 사용됨

 

그림 출처 : 혼공

 

2. 네트워크형 DB

- 부모 여럿과 자식 여럿이 연결되는 다대다 관계

- 계층형 DB의 단점을 보완함

- 데이터저장(IDS)나 통합 데이터베이스 관리 시스템에 사용됨

그림 출처 : 혼공

 

3. 관계형 DB (RDB)

- 현재 가장 많이 사용됨

- 데이터를 행과 열로 구분하는 2차원 테이블 형태로 구성해서 관리

- 데이터 간의 관계성이 중시됨

- 각각의 테이블을 관계를 통해 연결함

- 테이블을 재구성하지 않아도 데이터에 다양한 방식으로 접근 가능

- 엑셀의 기반

- SQL(Structured Query Language) 사용해서 처리

ex. 오라클 DBMS, MySQL, PostgreSQL

그림 출처 : 혼공

 

4. 객체-관계형 DB (ORDB)

- RDB에 객체지향 개념의 장점들만 추가

- 객체라는 개념을 도입해서 데이터 처리 방식 추가

ex. PostgreSQL, 오라클, 티베로, etc.

 

5. NoSQL DB (Not Only SQL)

- 기존의 RDB 특징뿐만 아니라 다른 특성들도 부가적으로 지원함

- 기존 RDB의 단점 보완해서 성능을 높임

- 생산성이 필요하고 데이터 규모가 큰 곳에서 쓰기 위한 DB

- 안정성이 떨어지는 단점 존재

ex. MongoDB, Dynamo

페이스북, 넷플릭스, 인스타그램, 클라우드 서비스 

 

DB 객체

DB에 데이터 저장하기 위해서는 논리적인 저장구조가 필요함

데이버테이스 객체라는 개념 도입

--> 테이블, 뷰, 인덱스, 시노님, 시퀀스, 함수, 프로시저 등 다양한 종류가 존재

 

 

 

'PostgreSQL' 카테고리의 다른 글

2.2. pgAdmin4  (1) 2022.01.06
2.1. psql  (0) 2022.01.06
PostgreSQL  (0) 2022.01.03
1.3. PostgreSQL 구조  (0) 2022.01.03
1.2. PostgreSQL 개발환경 구축  (0) 2022.01.03