스키마란,
- 데이터베이스에서 자료의 구조, 자료의 표현 방법, 자료 간의 관계를 형식 언어로 정의한 구조
- DB관리 시스템(DBMS)의 주어진 결정에 따라 데이터베이스 스키마를 생성
- DB사용자가 자료를 저장,조회,삭제,변경할 때 DBMS는 자신이 생성한 DB 스키마를 참조하여 명령을 수행
- 데이터베이스의 구조와 제약 조건에 관한 전반적인 명세를 기술한 메타데이터의 집합
- 데이터베이스를 구성하는 데이터 개체(Entity), 속성(Attribute), 관계(Relationship)
및 데이터 조작 시 데이터 값들이 갖는 제약조건 등에 관해 전반적으로 정의 - 사용자의 관점에 따라 외부 스키마, 개념 스키마, 내부 스키마로 나눠짐
_ . 스키마 3층 구조_
- 외부 스키마(External Schema) : 프로그래머나 사용자의 입장에서 DB의 모습으로 조직의 일부분을 정의한 것(사용자 뷰)
- 개념 스키마(Conceptual Schema) : 모든 응용 시스템과 사용자들이 필요로하는 데이터를 통합한 조직 전체의(전체적인 뷰) DB구조를 논리적으로 정의한 것
- 내부 스키마(Invternal Schema) : 전체 DB의 물리적 저장 형태를 기술하는 것(저장 스키마)
_ . 스키마 생성_
- Oracle
CREATE USER 사용자명 IDENTIFIED BY "비밀번호";
GRANT "CONNECT" TO 사용자명;
GRANT "RESOURCE" TO 사용자명;
SYSTEM 관리자 계정에서 해당 코드를 입력해서 새 스키마를 생성한다. 오라클에서는 스키마를 사용자로 생각하면 된다.
DCL(Data Control Language)은 사용자에게 어떤 권한을 부여하거나 빼앗을 때 주로 사용하는 구문. GRANT, REVOKE, DENY 등이 해당된다.
- MySQL & MariaDB
CREATE DATABASE 데이터베이스명;
MySQL이나 MariaDB에서 스키마는 데이터베이스를 뜻한다.
_ . 스키마 삭제_
- Oracle
DROP USER 사용자명;
MySQL & MariaDB
DROP DATABASE 데이터베이스명;