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://stackoverflow.com/questions/11618277/difference-between-schema-database-in-mysql/19257781#19257781 https://dataedo.com/kb/data-glossary/what-is-database-schema
'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 |