Backend/Database

스키마와 유저. 그리고 데이터베이스

findmypiece 2021. 8. 19. 01:51
728x90

DBMS 를 다루다보면 스키마, 유저, 데이터베이스라는 명칭을 많이 들어봤을 것이다. 대부분 어떻게 표현해도 대충 알아듣고 커뮤니케이션에 큰 문제는 없지만 문서상나 글로 소통을 할 경우 명확한 표현이 필요한 경우가 있다. 그런데 이에 대한 명확한 의미를 알고 쓰는 개발자는 많지 않다.

 

딱히 중요하게 생각하지 않기도 하고 어떤 이는 스키마==유저라고 하는 사람도 있고 어떤 이는 전혀 다르다고 하는 사람도 있다.

그 이유는 가장 보편적으로 사용되는 Oracle과 Mysql 에서 그 의미가 다르게 사용되기 때문인데 정리하면 아래와 같다.

 

Oracle

오라클에서 스키마는 사용자(USER)가 생성한 모든 오브젝트(테이블, 인덱스, 프로시저 등)를 의미한다. 사용자와 스키마는 전혀 다른 개념으로 스키마에 각각의 사용자에게 선택적인 권한을 준다. 오라클에서 데이터베이스는 실제 물리적인 데이터베이스를 의미한다.

 

Mysql/MariaDB

데이터베이스와 스키마가 같은 의미로 테이블 등의 오브젝트 집합이다.

 

https://hue9010.github.io/db/mysql_schema/
728x90