Category: "MySQL, Oracle, 데이터베이스" , Tags: Instance, MySQL, Schema, 데이터베이스
사장입니다.
연속 투고로 번역 담당한테 혼날 것 같지만, 그다지 신경 안 쓰고 쓰겠습니다.
이번의 MySQL 왕 초보자 Tips는, Oracle로부터 MySQL에 작업 환경을 변경한 사람이 가장 위화감을 느끼는 소재, database와 schema와 user에 관한 이야기입니다.
그 3:데이터베이스(Database)와 스키마(Schema)와 사용자(User)의 관계
스키마에 대해서는 여러가지 설이 있지만, Oracle의 경우에는 데이터 베이스 안의,
어떤 사용자가 소유하고 있는 오브젝트의 집합을 보여주고 있다고 생각합니다.
미묘하게 다르지만, 단위의 레벨으로서는 사용자와 스키마는 동일한 수준임.
오브젝트의 참조는, 데이터 베이스 명 .스키마 명 (사용자 명) .Object명이 됨.
MySQL의 경우는 데이터 베이스와 스키마가 동등해서, 사용자는 Instance에 대하여 설정하는 것이므로, Object는 사용자에 속하지 않게 됨.
오브젝트의 참조는, 데이터 베이스 명 (스키마 명) .Object명이 된다.
더불어 말하면, Oracle의 경우는 데이터 베이스=1개의 Instance가 되지만, MySQL의 경우는 1개의 Instance 안에 다수의 데이터 베이스를 작성할 수 있음.
난폭하게 표현하자면, Oracle의 Database는 MySQL의 Instance라고 말할 수 있음 (상당히 난폭하지만).
이것이 Oracle기술자가 MySQL을 만지기 시작했을 때에 제일 위화감을 느끼는 부분이라고 생각됩니다. 단순히 용어의 정의가 다르면 포기하는 것이 좋지 않을까 생각합니다.
다음 번엔 이것을 근거로 해서 더욱 MySQL의 사용자 관계를 복잡하게 만드는, 권한 주변에 대해서 조금 써 볼까나.


