DB/SQL 기초

SQLD 말 문제 - 스키마(Schema) 개념과 명령어

케이(kay) 2022. 9. 16. 13:54
반응형
SMALL

스키마(Schema)란?

→ DB의 데이터 구조와 제약 조건을 기술한 명세와 같다.

→ 사용자의 관점에 외부 스키마, 개념 스키마, 내부 스키마로 3단계 구조를 갖는다.

 

스키마 3단계(Three Level Architecture)

내부 스키마(Internal Schema) → 개별 사용자 관점

개념 스키마(Conceptual Schema) → 조직 전체 관점

외부 스키마(External Schema) → 엔지니어 관점

 

스키마 필요성

→ 데이터 무결성

https://images.app.goo.gl/CepBeuxd6xnxV67K8

그림과 같이 테이블을 구성하는 개체(Entity), 속성(Attribute), 관계(Relationship), 식별자(Identifier)와 같은 요소들에 물리적인 제약조건(Constraint)을 설정하여 데이터를 정제하는 것이다.

sys AS SYSDBA -- DB관리자 접속
CREATE USER user_name IDENTIFIED BY password; -- 스키마 생성
GRANT RESOURCE,CONNECT,DBA TO user_name; -- 권한 부여

주식별자인 기본키(Primary Key)를 설정함으로써 데이터의 중복을 막을 수 있다.

하지만 주식별자는 논리적 개념인데 반해, 기본키(Primary Key)는 물리적 개념이기 때문에 반드시 일치하는것은 아니다.

예를들어 주식매매의 경우에 매수 기준가(주식별자)가 설정되었더라도, 실제로 특정 상황에 의해 매수 행위(기본키)가 발생하지 않을 수도 있는 것이다.

CONSTRAINT pk_name PRIMARY KEY (pk_col) -- PK 설정 명령어
CONSTRAINT uk_name UNIQUE (uk_col)      -- UK 설정 명령어
CONSTRAINT fk_name FOREIGN KEY (fk_col) REFERENCES parents_table_name (fk_col) -- FK 설정 명령어

 

반응형
LIST