펌글 출처 : https://sidorl.tistory.com/10
DBMS별 Schema(스키마) 와 Database와 차이점
안녕하세요. 잇킹 시도르입니다. 최근에 회의를 하면서 저를 혼동시킨 용어가 있었습니다. 바로 '스키마!!!!' 원천 시스템의 데이터베이스 분석 미팅을 가지는데, 동료는 스키마라고 표현을 하다
sidorl.tistory.com
오라클
▶ 오라클에서 스키마는 사용자(USER)가 생성한 모든 오브젝트(테이블, 인덱스, 프로시저 등)를 의미합니다. 사용자와 스키마가 같다고 보는 사람도 있는데, 엄밀히 말해서 다르다고 봐야 되겠죠. 그래서 스키마에 각각의 사용자에게 선택적인 권한을 줍니다. 오라클에서 데이터베이스는 실제 물리적인 데이터베이스를 의미합니다.
Mysql/MariaDB
▶데이터베이스와 스키마가 같은 의미로 테이블 등의 오브젝트 집합입니다.
PostgreSQL
▶Mysql의 데이터베이스가 PostgreSQL의 스키마입니다. 데이터베이스는 스키마의 상위 개념입니다.
그래서 PostgreSQL는 Mysql과 다르게 데이터베이스가 다르면 완전히 물리적인 분리로 보게 됩니다. 그래서 dblink가 아닌 일반적으로는 다른 데이터베이스의 테이블을 조회 및 조인 등을 할 수 없습니다. 다른 스키마끼리는 가능하고요.
MSSQL(SQL Server)
▶MSSQL도 스키마가 데이터베이스의 하위에 속합니다. PostgreSQL과 차이는 같은 서버의 데이터베이스를 완전히 분리하지 않는다. 그래서 다른 데이터베이스의 테이블을 조회 및 조인 가능하다.
SELECT * FROM DB명.스키마명.테이블명
※사실 교재 등에서 스키마의 사전적 의미는 외부 스키마, 개념 스키마, 내부 스키마로 나누어집니다.
일반적으로 프로젝트에서 말하는 스키마는 개념 스키마를 의미합니다.
개념 스키마 :
- 개념 단계 하나의 개념적 스키마로 구성 모든 사용자 관점을 통합한 조직 전체의 DB를 기술하는 것.
- 모든 응용 시스템들이나 사용자들이 필요로 하는 데이터를 통합한 조직 전체의 DB를 기술한 것으로 DB에 저장하는 데이터와 그들의 관계를 표현한 스키마
▲사전적인 각각 스키마의 구분
'STUDY > DB SQL' 카테고리의 다른 글
[SQL] 오라클 시퀀스(SEQUENCE) 사용법 (0) | 2023.06.26 |
---|---|
[DB] Master & Slave 개념 이해 (0) | 2023.06.22 |
[Oracle] SQL Developer 단축키 (0) | 2023.06.08 |
[SQL] 오라클 ORA-00984: 열을 사용할 수 없습니다. (0) | 2023.06.08 |
[SQL] NOT NULL ENABLE / NOT NULL DISABLE (0) | 2023.06.08 |