English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PostgreSQL 스키마(SCHEMA)는 테이블 집합으로 볼 수 있습니다。
스키마는 뷰, 인덱스, 데이터 타입, 함수 및 연산자 등을 포함할 수 있습니다。
같은 객체 이름이 다른 스키마에서 사용될 수 있어 충돌이 발생하지 않습니다. 예를 들어 schema1 myschema 모두에서 mytable 이름의 테이블을 포함할 수 있습니다。
스키마 사용의 장점:
여러 사용자가 데이터베이스를 사용할 수 있으며 서로 간에相互 간섭이 없습니다。
데이터베이스 객체를 논리 그룹으로 조직하여 관리하기 쉽게 합니다。
제3자 애플리케이션 객체는 독립된 스키마에 위치할 수 있어 다른 객체의 이름과 충돌하지 않습니다。
스키마는 운영체제 계층의 디렉토리와 유사하지만, 스키마는 중첩될 수 없습니다。
다음과 같은 문법을 사용할 수 있습니다: CREATE SCHEMA 스키마를 생성하는 문법을 다음과 같이 사용합니다:
CREATE SCHEMA myschema.mytable ( ... );
다음으로 w에 연결합니다:3codeboxdb를 사용하여 myschema 스키마를 생성합니다:
w3codeboxdb=# create schema myschema; CREATE SCHEMA
출력 결과 "CREATE SCHEMA"는 스키마가 성공적으로 생성되었다는 것을 의미합니다。
다음으로 테이블을 다시 생성합니다:
w3codeboxdb=# create table myschema.company ( ID INT NOT NULL, NAME VARCHAR (20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
위 명령어는 빈 테이블을 생성하였습니다. 테이블이 생성되었는지 확인하기 위해 다음 SQL을 사용합니다:
w3codeboxdb=# select * from myschema.company; id | name | age | address | salary ----+------+-----+---------+-------- (0 rows)
모든 객체가 제거된 비어 있는 스키마를 제거합니다:
DROP SCHEMA myschema;
하나의 스키마 및 그에 포함된 모든 객체를 제거합니다:
DROP SCHEMA myschema CASCADE;