|
Читайте также: |
Как было указано ранее, база данных является самодокументированной, то есть одной из ее составляющих является описание собственной структуры. Это описание называется метаданными (metadata). Так как СУБД предназначены для хранения таблиц и манипуляции ими, большинство из них хранят метаданные в форме таблиц, иногда называемых системными таблицами (system tables). В табл. 2.1 представлены два примера хранения метаданных в системных таблицах. В таблице SysTables перечислены все таблицы, имеющиеся в базе данных, и для каждой таблицы указаны количество столбцов и имена одного или нескольких столбцов, служащих первичным ключом. Такой столбец или набор столбцов является уникальным идентификатором строки. В таблице SysColumns перечислены столбцы, имеющиеся в каждой таблице, а также тип данных и ширина каждого столбца. Эти две таблицы представляют собой типичные образцы системных таблиц; в других подобных таблицах хранятся списки индексов, ключей, хранимых процедур и т. п.
Таблица 2.1. Примеры метаданных
| Таблица SysTables Имя таблицы Число столбцов Первичный ключ Студент 4 НомерСтудента Руководитель 3 ИмяРуководителя Дисциплина 3 НомерДисциплины УчебныйПлан 3 {НомерСтудента, НомерДисциплины} | ||||
| Таблица SysColumns Имя столбца | Имя таблицы | Тип данных | Длина | |
| НомерСтудента | Студент | Integer | ||
| Имя | Студент | Text | ||
| Фамилия | Студент | Text | ||
| Специальность | Студент | Text | ||
| ИмяРуководителя | Руководитель | Text | ||
| Телефон | Руководитель | Text | ||
| Кафедра | Руководитель | Text | ||
| НомерДисциплины | Дисциплина | Integer | ||
| Название | Дисциплина | Text | ||
| КоличествоЧасов | Дисциплина | Decimal | ||
| НомерСтудента | УчебныйПлан | Integer | ||
| НомерДисциплины | УчебныйПлан | Integer | ||
| Курс | УчебныйПлан | Text |
(В таблице длины приведены в байтах или, что то же самое, в символах (для текстовых данных).
Хранение метаданных в таблицах не только эффективно для СУБД, но и удобно для разработчиков, поскольку для запроса метаданных они могут использовать те же самые средства, что и для запроса пользовательских данных. В главе 9 мы обсудим язык под названием SQL, который используется для запроса и обновления таблиц метаданных и пользовательских данных.
В качестве возможного примера использования SQL представьте, что вы разработали базу данных с15 таблицами и 200 столбцами. Вы помните, что некоторые столбцы имеют тип данных currency (денежный), но не можете вспомнить, какие именно. С помощью SQL можно обратиться к таблице SysColumns и по ней определить, какие столбцы имеют указанный тип данных.
Дата добавления: 2015-07-08; просмотров: 140 | Нарушение авторских прав
| <== предыдущая страница | | | следующая страница ==> |
| Процесс прохождения пользовательского запроса | | | Индекс Специальность |