スキーマ-2


使用例) スキーマBに含まれているテーブルfooの行をSELECTします。
SELECT * FROM B.foo

ここで、ユーザ名ではなく、スキーマ名と書きました。なぜ、ユーザ名ではなくスキーマ名なのでしょう。
スキーマはテーブルやビューなどのデータベースオブジェクトの集まりです。スキーマが集まってデータベースを構成します。スキーマはデータベース中に名前空間を作成できるという役割を持っています。ユーザAのテーブルfooとユーザBのテーブルfooとの区別は、スキーマがあることによって成り立っています。
スキーマは事実上ユーザと対応していますので、「スキーマ=ユーザ」と考えても大きな問題になりません。また、SQL-92では、スキーマの上には、カタログと呼ばれる器も用意されています。実際のデータベース製品では、カタログは、データベースとして扱われる場合が多いようです。



스키마 - 2

사용 예) 스키마B에 포함되어 있는 테이블 foo행을 SELECT합니다.
SELECT * FROM B.foo

여기에서 유저명이 아니라 스키마명이라고 썼습니다. 왜, 유저명이 아니고 스키마명 인것일까요?
스키마는 테이블이나 뷰등의 데이터베이스 오브젝트의 집합입니다. 스키마가 모여서 데이터베이스를 구성합니다.
스키마는 데이터베이스 중에 이름공간을 작성할 수 있는 역할을 가지고 있습니다. 유저A의 테이블foo와 유저 B의 테이블 foo의 구별은 스키마가 있는 것에 따라 성립됩니다.
스키마는 사실상 유저와 대응하고 있기 때문에 '스키마 = 유저'라고 생각해도 큰 문제는 없습니다. 또 SQL-92에서는 스키마 상에는 카타로그라고 불리는 기구도 준비되어 있습니다. 실제 데이터베이스 제품에서는 카타로그는 데이터베이스로써 다뤄지는 경우가 많다고 합니다.

Posted by 자수성가한 부자