본문 바로가기
Develop

스키마(schema)와 테이블 차이

by jaeyoungb 2022. 10. 9.

MySQL에서 물리적으로 스키마는 데이터베이스와 동의어다.

 

MySQL의 SQL 구문에서 DATABASE 대신 SCHEMA로 대체 가능하다.

CREATE DATABASE
CREATE SCHEMA

 

그러나, Oracle Database에서 스키마는 데이터베이스의 일부, 즉 단일 사용자가 소유한 테이블 및 기타 객체만을 말한다.

 

DB 벤더(MySQL, Oracle, ...)마다 다르지만,

보통 스키마는 테이블의 모음을 의미하고, 데이터베이스는 스키마의 모음을 의미한다.

 

 

스키마와 테이블의 차이에 대해서 말해보라면 다음과 같이 답할 수 있겠다.

테이블은 행과 열로 구성된 데이터 집합을 의미하고,
스키마는 제약조건, 무결성 규칙, 테이블, 열과 데이터 유형 등을 정의한 것이다.
흔히 스키마라고 부르는것은 개념 스키마를 의미한다.
MySQL에서는 스키마랑 데이터베이스랑 동일하게 볼 수 있다.
실제로 MySQL에서 CREATE DATABASE를 CREATE SCHEMA로 사용할 수 있다.
Oracle에서의 SCHEMA는 단일 사용자가 소유한 테이블을 의미한다.
DB 벤더마다 스키마가 다른 의미로 사용되고 있다는 것을 볼 수 있다.

 

Ref)

https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4_%EC%8A%A4%ED%82%A4%EB%A7%88

https://stackoverflow.com/questions/11618277/difference-between-schema-database-in-mysql/19257781#19257781 https://dataedo.com/kb/data-glossary/what-is-database-schema 

https://techvu.dev/131

'Develop' 카테고리의 다른 글

SSR과 CSR  (0) 2022.10.28
스프링 DB 접근 기술  (0) 2022.10.17
SQL) 백틱(``)과 작은 따옴표(' ') 차이  (2) 2022.10.08
SQL 외래 키 설정 방법 2가지  (0) 2022.10.08
SQL 구문 순서  (0) 2022.10.08