КАТАЛОГ СУБД

Як зазначалося в розділі 2, кожна СУБД повинна підтримувати функції каталогу, або словника Каталог зазвичай розміщується там, де зберігаються різні схеми (зовнішні, концептуальні, внутрішні) і все, що відноситься до отображениям (внешнійконцептуальний, концептуальний-внутрішній, Зовнішній-зовнішній) Інакше кажучи, в каталозі міститься детальна інформація (іноді звана описової інформацією або метаданими), що стосується різних обєктів, які мають значення для самої системи Прикладами таких обєктів можуть служити змінні відносини, індекси, обмеження підтримки цілісності, обмеження захисту і тд Описова інформація необхідна для забезпечення правильної роботи системи Наприклад, оптимізатор використовує інформацію каталогу про індекси та інших фізичних структурах зберігання даних, а також іншу інформацію, необхідну йому для прийняття рішення про те, як виконати той чи інший запит користувача (див главу 18) Аналогічно, підсистема захисту використовує інформацію каталогу про користувачів і встановлених обмеженнях захисту (глава 17), щоб дозволити або заборонити виконання запиту, що поступив

Чудовим властивістю реляційних систем є те, що їх каталог також складається з змінних відносини (Точніше, з системних змінних відносини, названих так для того, щоб відрізняти їх від звичайних для користувача) В результаті користувач може звертатися до каталогу так само, як до своїх даних Наприклад, в каталозі будь системи SQL звичайно містяться системні змінні відносини TABLES і COLUMNS, призначення яких – опис відомих системі таблиць (тобто змінних відносини) і стовпців цих таблиць Для бази даних відділів і службовців змінні отношенія4 TABLES і COLUMNS можуть бути схематично представлені у вигляді ієрархічної структури так, як показано на рис 36

4 Відзначимо, що виходячи з наявності на цьому малюнку стовпця ROWCOUNT, можна зробити наступне за ключение: виконання в базі даних операцій INSERT і DELETE в якості побічного ефекту потре бует поновлення даних каталогу На практиці стовпець ROWCOUNT зазвичай оновлюється тільки по спе циальному запитом (наприклад, при запуску деякої утиліти), тому значення цього стовпця не завжди будуть актуальними

Рис 36 Каталог бази даних відділів і службовців (зображений схематично)

Примітка Як згадувалося в розділі 2, каталог повинен також описувати сам себе, тобто

включати записи, що описують змінні відносини самого каталогу (див упр 33)

Тепер припустимо, що користувачеві бази даних відділів і службовців знадобилося дізнатися, які саме стовпці містить змінна відносини DEPT (звичайно,

передбачається, що з якихось причин користувач не має цієї інформації)

Тоді необхідне вираження буде виглядати наступним чином

( COLUMNS WHERE TABNAME = DEPT ) { COLNAME }

Ось ще один приклад Нехай необхідно дізнатися, в яких змінних відносини є стовпець ОМР #

(COLUMNS WHERE COLNAME = ОМР #) {TABNAME}

Вправа для самоперевірки Яким буде результат виконання наступного виразу

( ( TABLES JOIN COLUMNS )

WHERE COLCOUNT &lt 5 ) { TABNAME, COLNAME }

Джерело: Дейт К Дж, Введення в системи баз даних, 8-е видання: Пер з англ – М: Видавничий дім «Вільямс», 2005 – 1328 с: Ил – Парал тит англ

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*