English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PostgreSQL 튜토리얼

이 튜토리얼은 초보자를 위한 것이며, PostgreSQL 데이터베이스와 관련된 기본 개념에서 고급 개념까지 이해하게 도와줍니다.

PostgreSQL는 무료의 객체-관계형 데이터베이스 서버(ORDBMS)는 유연한 BSD 라이선스 하에서 배포됩니다.

PostgreSQL 개발자는 그것을 post로 읽습니다.-gress-Q-L.

PostgreSQL의 슬로건은 "세계에서 가장 先进的 오픈 소스 관계형 데이터베이스"입니다.

데이터베이스는 무엇인가요?

데이터베이스(DB)는 데이터를 조직하고 저장하고 관리하는 저장소입니다.

각 데이터베이스는 생성, 접근, 관리, 검색 및 저장된 데이터를 복사하는 데 사용되는 하나 이상의 다른 API를 가지고 있습니다.

데이터를 파일에 저장할 수도 있지만, 파일에서 데이터를 읽고 쓰는 속도는 상대적으로 느립니다.

따라서, 지금은 관계형 데이터베이스 관리 시스템(RDBMS)을 사용하여 대량의 데이터를 저장하고 관리합니다. 관계형 데이터베이스는 관계 모델을 기반으로 한 데이터베이스로, 데이터베이스 내의 데이터를 처리하기 위해 집합 대수 등의 수학적 개념과 방법을 사용합니다.

ORDBMS(객체 관계 데이터베이스 시스템)은 객체 기술과 전통적인 관계형 데이터베이스를 결합한 결과물로, 쿼리 처리는 ORDBMS의 중요한 부분입니다. 이 성능이 DBMS의 성능에 직접적인 영향을 미칩니다.

ORDBMS는 원래 관계형 데이터베이스에 새로운 기능을 추가했습니다.

RDBMS는 관계형 데이터베이스 관리 시스템으로, 엔티티 간의 관계를 설정하고, 최종적으로 관계 테이블을 얻습니다.

OODBMS는 모든 엔티티를 객체로 보고, 이러한 객체 클래스를 포장하며, 객체 간의 통신은 메시지를 통해 이루어집니다. OODBMS는 실제로는 관계형 데이터베이스입니다.

ORDMBS 용어

PostgreSQL 데이터베이스를 공부하기 전에, ORDBMS의 일부 용어를 먼저 이해해 보겠습니다:

  • 데이터베이스: 데이터베이스는 관련된 테이블의 집합입니다.

  • 데이터 테이블: 테이블은 데이터의 행렬입니다. 데이터베이스의 테이블은 간단한 전자 테이블처럼 보입니다.

  • 열: 열(데이터 요소)은 동일한 데이터를 포함합니다. 예를 들어, 우편编码 데이터가 있습니다.

  • 행:행(=테이터, 또는 레코드)은 관련된 데이터의 집합입니다. 예를 들어, 사용자 구독 데이터가 하나의 행입니다.

  • 중복:데이터를 두 배 저장하며, 중복은 성능을 저하시키지만 데이터의 보안성을 높입니다.

  • 주키:주키는 유일합니다. 하나의 데이터 테이블에 주키가 하나만 포함될 수 있습니다. 데이터를 쿼리할 때 주키를 사용할 수 있습니다.

  • 외래 키:외래 키는 두 테이블을 연결하는 데 사용됩니다.

  • 복합 키:복합 키(결합 키)는 여러 열을 하나의 인덱스 키로 결합하여 일반적으로 복합 인덱스에 사용됩니다.

  • 인덱스:인덱스를 사용하여 데이터베이스 테이블의 특정 정보를 빠르게 접근할 수 있습니다. 인덱스는 데이터베이스 테이블의 한 열 또는 여러 열의 값을 정렬하는 구조입니다. 책의 목차와 유사합니다.

  • 참조 통일성: 참조의 통일성은 관계에서 존재하지 않는 실체를 참조하지 않도록 요구합니다. 참조의 통일성은 관계 모델이 충족해야 하는 필수 통일성 제약 조건이며, 데이터의 일관성을 보장하는 목적입니다.

PostgreSQL 기능

  • 함수:함수를 통해 데이터베이스 서버 측에서 명령 프로그램을 실행할 수 있습니다.

  • 인덱스:사용자는 인덱스 메서드를 정의할 수 있으며, 또는 내장된 B 트리, 해시 테이블 및 GiST 인덱스를 사용할 수 있습니다.

  • 트리거:트리거는 SQL 문장이 쿼리를 통해 발생하는 이벤트입니다. 예를 들어, INSERT 문장은 데이터 통합성을 확인하는 트리거를 발생시킬 수 있습니다. 트리거는 일반적으로 INSERT 또는 UPDATE 문장에 의해 발생합니다. 다중 버전 동시 컨트롤: PostgreSQL는 다중 버전 동시 컨트롤(MVCC, Multiversion concurrency control) 시스템을 사용하여 동시 컨트롤을 수행합니다. 이 시스템은 각 사용자에게 데이터베이스의 "스냅샷"을 제공하며, 사용자가 트랜잭션 내에서 수행하는 각 수정은 다른 사용자에게는 보이지 않으며, 트랜잭션이 성공적으로 제출될 때까지는 보이지 않습니다.

  • 규칙:규칙(RULE)은 하나의 쿼리가 다시 작성될 수 있도록 허용하며, 일반적으로 뷰(VIEW)에 대한 작업(INSERT, UPDATE, DELETE 등)을 실현하는 데 사용됩니다.

  • 데이터 타입:텍스트, 임의 정밀도의 숫자 배열, JSON 데이터, 열거형 타입, XML 데이터 등을 포함합니다.

  • 전체 텍스트 검색:Tsearch를 통해2 또는 OpenFTS,8.3버전에 내장된 Tsearch2。

  • NoSQL:JSON, JSONB, XML, HStore 원생 지원, NoSQL 데이터베이스의 외부 데이터 래퍼

  • 데이터 저장소:GreenPlum, DeepGreen, HAWK 등과 같은 PostgreSQL 생태계에平滑하게 이동할 수 있으며, FDW를 통해 ETL을 수행할 수 있습니다.

PostgreSQL는 강력한 오픈 소스 객체 관계형 데이터베이스 시스템입니다. 그것은 1000개 이상의 확장 기능을 가지고 있습니다.15년의 활발한 개발 경험과 성숙한 아키텍처를 가지고 있으며, 신뢰성, 데이터 통합 및 정확성 측면에서 매우 높은 명성을 얻었습니다. PostgreSQL는 Linux, UNIX(AIX, BSD, HP 등)을 포함한 모든 주요 운영 체제에서 실행될 수 있습니다.-UX, SGI IRIX, Mac OS X, Solaris, Tru64)과 Windows. 이 튜토리얼은 PostgreSQL의 빠른 시작을 제공하고 PostgreSQL 프로그래밍에 만족스럽게 만들어 줄 것입니다.