Программирование баз данных MS SQL Server (1084479), страница 8
Текст из файла (страница 8)
Определение каждого столбца представляет собой отдельный набор правил, касающийся того, что может храниться в этом столбце. Попытка нарушить правила, относящиеся к любому столбцу, может вынудить систему запретить выполнение операции вставки строки или обновления существующей строки или же предотвратить удаление строки. Рассмотрим таблицу рпЬ11зйегз базы данных рпЬз, фрагмент которой показан на рис. 1.1. (Изображение, представленное на рис. 1.1, — это копия части экрана, полученная в программе БО1. $еггег Мапааешеш Ягпгйо. Вышеназванная программа является одним из основных инструментальных средств, которое рассматривается в следующей главе.) зззз ~1ы !пм цм пьх 'эю.
'чзгз ьхенн вьвмч гав Рнс. 1.1. Фраанент шаблним риЬ11 вйехв базы данных риЬв База данных представляет собой среду произвольного доступа, а журнал по своей организации является последовательным. Дело в том, что благодаря возможности применения к файлу базы данных операций произвольного доступа выборка данных ускоряется, а благодаря последовательному устройству журнала обеспечивается отслеживание операций обновления и вставки данных в должном порядке.
Журнал накапливает информацию об изменениях и дополнениях, которые предназначены для дальнейшей фиксации, а затем время от времени осуществляется запись части накопленной информации в физический файл (файлы) базы данных. Процесс ведения журнала рассматривается более подробно в главе 14, а пока достаточно запомнить, что первым делом данные попадают в журнал, который ведется на жестком диске, а в дальнейшем время от времени данные переносятся в действительную базу данных. Для того чтобы база данных могла функционировать, необходимо использовать и файл базы данных, и журнал транзакций.
38 Глава 1 Таблица, приведенная на рис. 1.1, состоит из пяти столбцов данных. Количество столбцов таблицы остается постоянным, независимо от того, сколько строк находится в таблице (даже если количество строк достигает нуля). В текущее время в таблице содержится восемь строк. Количество строк увеличивается и уменьшается по мере добавления и удаления данных, но характер данных в каждом поле (или столбце) каждой строки остается неизменным и соответствует определению типа данных столбца. 6'ввсстоещеьй(вйи) е' привтвдеи''цлелый ряд'веткиных:п))(едо~ереж6нсий 'и':зто,'-: Оип: касветсв'„'именование:объектов",.В...СуЬд:4(а).'=Бетте(,'предеугсмхотренв':вовмо)кносгть)' вставлять::в иманта'-'пробелы-; в:,в некрторьв) олучаг)х=,:: -:использовать:.в'кагчестве'имен:,камче" .ВЫЕ, сдала',;ПГО;ЭтОГО,.НЕ;СЛЕ8угвт:.двпатЬ 6ЕЗуСЛОВН~,'ИМЕИВ",;СтбЛбцОВ „Ссдер)увщГ)Е лы;:пгвновйтов)удрбныыи'::звголтовквми(прц:выводе,'денных'с'помов)в)р'оператора-ей;вот,, но,"тваоуо:жв.'результат',,'молсоят доствсчь' другимзи',спосббвми 'Приьмевение т(мген-,,'столбцов, содержа)игх'-прооелы "или 'представлвещих пЖой-клвчевьыв слова'„:иеизгбех(но''приводите зевнув)човенвю=',орзргрзь)ьвэуй ощибрк1:',путаницы.и.'.другихнврушений:,врвботв;;-',ИнФосрмвция о,том,:Прчеыуяорпорзцирй:)тйогоЗО(1 было.привете.
в)цвние девуотйть указанную,возмохг НОС)тЬ';-6УДЕт;ПРУИВЕДЕНВ,,'ПОЗжв(,НО.,На-:~(йННЫй'МгОГбЕНт ДООтатОЧНО':ПОМНЗИтъ';:.,ГГО йОПЫтКа НС-:, польжйвнвл-'в''имеий~;;протлев илизшючвг(йх слов,'ййчет:зазнобой'большие неприлтносзти (речь'йб,'-йтом'.поймает.'твтаке'и' 'в.'слеэдуавй)х':глава)г), Индексы Индекс — это объект, который существует только в пределах инфраструктуры конкретной таблицы или представления. Индекс во многом аналогичен индексу (предметному указателю) научной книги.
Он представляет собой набор поисковых (или ключевых) значений, отсортированных определенным образом. После создания индекса появляется возможность использования его в качестве ключа для поиска требуемой информации. Индексы предназначены прежде всего для ускорения поиска информации. Индексы, применяемые в СУБД ЯОЕ Ьегтег, подразделяются на две описанные ниже категории. О Кластеризованный. На каждой таблице может быть задан только один кластеризованный индекс.
Если на таблице задан кластеризованный индекс, это означает, что строки таблицы с кластеризованным индексом отсортированы физически в соответствии с этим индексом. Например, если как индекс рассматривается предметный указатель научной книги, то подобный кластеризованный индекс состоит из номеров страниц, поскольку они показывают местонахождение различных сведений в научной книге на конкретных страницах. (1 Некластернзованный. На каждой таблице может быть задано несколько некластеризованных индексов. Определение индекса этого типа еще больше соответствует тому, что представляет собой предметный указатель научной книги, поскольку индекс такого типа содержит информацию о дополнительных критериях, которые могут применяться для поиска данных. Применительно к рассматриваемому примеру с научной книгой в качестве индекса может рассматриваться предметный указатель, состоящий из ключевых слов. Основные сведения о базах данных ЗЯБ Бегчег 39 Следует отметить, что представления, имеющие индексы (называемые также индексированными представлениями), должны иметь по меньшей мере один кластеризованный индекс, чтобы можно было определить на представлениях какие-либо некластеризованные индексы.
Триггеры Триггер — это объект, который существует только в пределах инфраструктуры таблицы. Триггеры представляют собой фрагменты алгоритмического кода, автоматически вызываемые на выполнение в связи с тем, что к таблице, на которой они заданы, применяются определенные операции, такие как вставка, обновление или удаление.
Триггеры могут использоваться в самых различных формах, но главным образом применяются либо для копирования данных по мере их ввода, либо для проверки результатов обновления в целях определения того, соответствуют ли эти результаты заданным критериям. Ограничения целостности Ограничения целостности — это еще одна категория объектов, существующих только в связи с определенной таблицей. Ограничения целостности по своему назначению в основном соответствуют их названию, поскольку позволяют регламентировать ввод данных в таблицу в соответствии с определенными критериями. В определенном смысле ограничения целостности являются альтернативным средством обеспечения целостности данных по отношению к триггерам, но не следует считать их равнозначными.
Ограничения целостности и триггеры как средства обеспечения целостности данных имеют свои преимущества и недостатки. Файловые группы По умолчанию все таблицы и прочие объекты базы данных (кроме журналов) хранятся в отдельных файлах. Каждый файл базы данных входит в состав так называемой основной файловой группы. Тем не менее в СУБД ЯО). Яегчег обеспечивается применение других способов организации хранения данных.
В СУБД ЯО). Яеггег предусмотрена возможность применять для хранения данных так называемые вторичные файлы, допустимое количество которых немного превышает 32 тысячи (по-видимому, этот предел определяется возможностями не самой СУБД ЯО). Яеггег, а файловой системы). Такие вторичные файлы могут быть добавлены к первичной файловой группе или созданы в составе одной или нескольких вторичных файловых групп.
Разумеется, предусмотрено применение только одной первичной файловой группы (которая таки называется — "Рггпагу"),но можно также использовать до 255 вторичных файловых групп. Вторичные файловые группы создаются с помощью определенных опций оператора СЕЕАТЕ РАТАВАВЕ или АЬТЕЕ РАТАВАЯЕ. Диаграммы Вопросы формирования диаграмм баз данных будут рассматриваться более подробно в связи с описанием вопросов нормализации и проектирования базы данных, а на этот момент достаточно отметить, что диаграмма базы данных — это визуальное 40 Глава 1 представление проекта базы данных. Такое представление включает все таблицы, имена всех столбцов каждой таблицы и все связи между таблицами. Разработчикам программного обеспечения для баз данных часто приходится сталкиваться с диаграммами сущность-связь, или ЕК-диаграммами.
В ЕК-диаграмме база данных представлена с помощью двух типов объектов: сущностей (таких как "поставщики" и "товары") и отношений (таких как "поставляет" и "приобретает"). В вфсии Ю1. Всчоег 2005 тфедусмотрено много и нет(гумен тол ьн ых федоте гфоектгфова низ базы данных, кото)зые пагностью изменились по фавнению с гфедыдунэими вфагялсц но все Равно количество таких и нет(гумен т альных федоте остоезлск недостаточным. Кроме того, л~етодология создания диафамм, зфедусзгот)генная в этих инст(гументальных федствах, не соответствует ни одному из общегфинятых станда(зтов фо)змгфования ЕКдиафамм. Тезс не менее указанные инст(гузмнтольные федства фсфми)зования диаграмм обеспечивают выполнение всех "обязательных" опфауий," по к(зайней мфе, с их полгоизью можно гфи сту пить к освоению соответствуюисих меподов. Дополнительная инфоузмаиия о п)зофоммах создания ЕКдиафачм и д(гусах инструментальных федствах п)заведена в приложении В.