Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Белобжеский_Лекции_по_ББД.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
5.5 Mб
Скачать

Метаданные

Как было указано ранее, база данных является самодокументированной, то есть одной из ее составляющих является описание собственной структуры. Это описание называется метаданными (metadata). Так как СУБД предназначены для хранения таблиц и манипуляции ими, большинство из них хранят метадан­ные в форме таблиц, иногда называемых системными таблицами (system tables). В табл. 2.1 представлены два примера хранения метаданных в системных таб­лицах. В таблице SysTables перечислены все таблицы, имеющиеся в базе данных, и для каждой таблицы указаны количество столбцов и имена одного или не­скольких столбцов, служащих первичным ключом. Такой столбец или набор столбцов является уникальным идентификатором строки. В таблице SysColumns перечислены столбцы, имеющиеся в каждой таблице, а также тип данных и ши­рина каждого столбца. Эти две таблицы представляют собой типичные образцы системных таблиц; в других подобных таблицах хранятся списки индексов, клю­чей, хранимых процедур и т. п.

Таблица 2.1. Примеры метаданных

Таблица SysTables

Имя таблицы Число столбцов Первичный ключ

Студент 4 НомерСтудента

Руководитель 3 ИмяРуководителя

Дисциплина 3 НомерДисциплины

УчебныйПлан 3 {НомерСтудента, НомерДисциплины}

Таблица SysColumns

Имя столбца

Имя таблицы

Тип данных

Длина

НомерСтудента

Студент

Integer

4

Имя

Студент

Text

20

Фамилия

Студент

Text

30

Специальность

Студент

Text

10

ИмяРуководителя

Руководитель

Text

25

Телефон

Руководитель

Text

12

Кафедра

Руководитель

Text

15

НомерДисциплины

Дисциплина

Integer

4

Название

Дисциплина

Text

10

КоличествоЧасов

Дисциплина

Decimal

4

НомерСтудента

УчебныйПлан

Integer

4

НомерДисциплины

УчебныйПлан

Integer

4

Курс

УчебныйПлан

Text

2

(В таблице длины приведены в байтах или, что то же самое, в символах (для текстовых данных).

Хранение метаданных в таблицах не только эффективно для СУБД, но и удоб­но для разработчиков, поскольку для запроса метаданных они могут использо­вать те же самые средства, что и для запроса пользовательских данных. В главе 9 мы обсудим язык под названием SQL, который используется для запроса и об­новления таблиц метаданных и пользовательских данных.

В качестве возможного примера использования SQL представьте, что вы раз­работали базу данных с 15 таблицами и 200 столбцами. Вы помните, что некото­рые столбцы имеют тип данных currency (денежный), но не можете вспомнить, какие именно. С помощью SQL можно обратиться к таблице SysColumns и по ней определить, какие столбцы имеют указанный тип данных.