Программирование >>  Программирование баз данных 

1 ... 4 5 6 [ 7 ] 8 9 10 ... 346


Глава 1. В основе всего лежат объекты: внимательное исследование... 47 База данных msdb

База данных msdb предназначена исключительно для хранения информации обо всех системных задачах, выполняемых программой SQL Agent. Если вы запланируете задачу создания резервных копий для какой-то базы данньгх:, выполняемую каждую ночь, то в базе данньЕх msdb появится строка. Такая строка вводиггся в базу данных msdb и после того, как будет запланировано одноразовое выполнение хранимой процедуры.

База данных tempdb

База данных tempdb представляет собой одну из основньех рабочих областей для сервера. После вызова на выполнение любого сложного или крупного запроса, для осуществления которого в СУБД SQL Server потребуется создать промежуточные таблицы, такие таблицы создаются в базе данных tempdb. Временные таблицы появляются в базе данных tempdb и после того, как их создание запрашивает пользователь, даже если сам он полагает, что для этого используется текущая база данных. Каждый раз, когда возникает необходимость сохранить на время какие-либо данные, для решения такой задачи, по-видимому, используется база данных tempdb.

База данных tempdb весьма отличается от любой другой базы данных тем, что и сама эта база данных, и все представленные в ней объекты являются временными. Основное отличие базы данных tempdb от любых других баз данных, представленных в системе, состоит в том, что она полностью воссоздается с нуля после каждого перезапуска программного обеспечения SQL Server.

С формальной точки зрения фактически разрешается также самим создавать объекты в базе данных tempdb, но автор настюятельно рекомендует не придерживаться такой практики. Достаточно предусмотреть создание временных объектов в любой базе данных системы, к которой вы имеете доступ, и в результате эти объекты будут сохранены в базе данных tempdb. Попытка самостоятельного создания объектов в базе данных tempdb не приведет к положительному результату, а лишь станет причиной путаницы при формировании ссылок на объекты, находящиеся в разных базах данных. Это - еще одна ш рекомендаций, которых следует неукоснительно придерживаться.

База данных AdventureWorks

Образцовые базы данных входили в состав программного обеспечения всех версий СУБД SQL Server, а не только последней. Тем не менее возможности таких образцов баз данных в предыдущих версиях были ограниченными. Еще одним их недостатком было то, что разработка этих баз данных не была выполнена в соответствии с лучшими рекомендациями по проектированию. (Автор не собирается втягиваться в спор по поводу того, преодолен ли этот недостаток в базе данных AdventureWorks. Достаточно сказать, что в базу данных AdventureWorks внесены значительные усовершенствования, кроме того, nppi ее разработке предприняты попытки устранить указанный недостаток.) К тому же образцы баз данных в предыдущих версиях были упрощенными и предназначались в основном для демонстрации отдельных концепций баз данных, а не иллюстрации возможностей SQL Server как программного продукта или самих баз данных в целом.

Специалисты корпорации Microsoft на самых ранних этапах разработки программного обеспечения Yukon (это- внутреннее кодовое название программного



продукта, который теперь известен как SQL Server 2005) знали, что им потребуется гораздо более надежный образец базы данных, который должен служить в качестве примера применения максимально возможного количества средств данного программного продукта. Результатом всех предпринятых для этого усилий стала база данных AdventureWorks. Сколько бы вам не пришлось выслушать от автора жалоб на чрезмерную сложность AdventureWorks для начинаюш;его пользователя, эта база данных несомненно представляет собой настояш;ий шедевр, который демонстрирует все возможности современной версии СУБД SQL Server. Можно, безусловно, согласиться с тем, что эта база данных все же охватывает далеко не каждый возможный аспект применения SQL Server, но является довольно полным образцом, содержаш;им более реалистичные объемы данных по сравнению с другими образцами, включаю-ш;им более сложные структуры данных и состояш;им из разделов, которые демонстрируют примеры применения подавляюш;его большинства средств программного продукта. С этой точки зрения база данных AdventureWorks представляет собой буквально потрясающее достижение.

Автор использует эту базу данных в качестве основного источника примеров для настоящей книги.

База данных AdventureWorksDW

База данных AdventureWorksDW представляет собой пример применения служб Analysis Semces. (В имени этой базы данных аббревиатура DW расшифровывается как Data Warehouse (хранилище данных); именно так характеризуется база данных того типа, на котором основано большинство проектов Analysis Services.) По-видимому, самая замечательная особенность базы данных AdventureWorksDW состоит в том, что при ее создании специалисты корпорации Microsoft учли необходимость связать образец транзакционной базы данных с образцом аналитической базы данных и предоставили полный набор примеров, демонстрирующих совместное применение баз данных этих двух типов.

Описание баз данных, предназначенных для поддержки принятия решений, в основном выходит за рамки данной книги, поэтому примеры применения базы данных AdventureWorksDW в ней не рассматриваются, но о том, для чего предназначена эта база данных, всегда следует помнить, запустив на выполнение службу Analysis Services и проводя с ней эксперименты. Обратите внимание на различия между базами данных двух указанных типов. Они предназначены для обслуживания одной и той же фиктивной компании, но имеют разное назначение. Изучение данной темы будет весьма полезно.

Журнал транзакций

Функционирование СУБД организовано так, что запись модифицированных данных не осуществляется непосредственно в файл базы данных. Безусловно, данные считываются из файлов базы данных, но любые изменения и дополнения в данных не передаются сразу же в саму базу данных. Вместо этого информация обо всех изменениях и дополнениях записывается в журнал транзакций. В какой-то последующий момент времени применительно к базе данных выполняется контрольная точка, и в этот момент времени все изменения и дополнения, зафиксированные в журнале, переносятся в физический файл (файлы) базы данных.



База данных представляет собой среду произвольного доступа, а журнал по своей организации является последовательным. Дело в том, что благодаря возможности применения к файлу базы данных операций произвольного доступа выборьса данных ускоряется, а благодаря последовательному устройству журнала обеспечивается отслеживание операций обновления и вставки данных в должном порядке. Журнал регистрации накапливает изменения, которые считаются зафиксированными, а в дальнейшем эти изменения записываются сервером в физический файл (файлы) базы данных.

Процесс ведения журнала рассматривается более подробно в главе 12, а пока достаточно запомнить, что первым делом данные попадают в журнал, который ведется на жестком диске, а в дальнейшем время от времени данные переносятся в действительную базу данных. Для того чтобы база данных могла функционировать, необходимо использовать и файл базы данных, и журнал транзакций.

Наиболее важный объект базы данных - таблица

Базы данных состоят из объектов многих разных типов, но ни один из этих объектов не является более важным для организации работы базы данных, чем таблица. Таблицу можно рассматривать как аналог бухгалтерского журнала или электронной таблицы Excel. Таблица состоит из так называемых данных заголовка (определений столбцов) и данных тела (самих строк). Все прикладные данные базы данньгх хранятся в таблицах.

Определение каждой таблицы содержит не только определения столбцов, но и метаданные (информацию, характеризующую данные), которые регламентируют характер данных, содержащихся в таблице. Определение каждого столбца представляет собой отдельный набор правил, касающийся того, что может храниться в этом столбце. Попытка нарушить правила, относящиеся к любому столбцу, может вынудить систем) запретить выполнение операции вставки строки или обновления существующей строки или же предотвратить удаление строки.

Индексы

Индекс- это объект, который существует только в пределах инфраструктуры конкретной таблицы или представления. Индекс во многом аналогичен индексу (предметному указателю) научной книги. Он представляет собой набор поисковых (или ключевых) значений, отсортированных определенным образом. После создания индекса появляется возможность использования его в качестве ключа для поиска требуемой информации.

Индексы предназначены, прежде всего для ускорения поиска информации. Индексы, применяемые в СУБД SQL Server, подразделяются на две описанные ниже категории.

Кластеризованный. На каждой таблице может быть задан только один кластеризованный индекс. Если на таблице задан кластеризованный индекс, это означает, что строки таблицы с кластеризованным индексом отсортированы физически в соответствии с ним. Например, если как индекс рассматривается предметный указатель научной книги, то подобный кластеризованный индекс состоит из номеров страниц, поскольку они показывают местонахождение в научной книге различных сведений на конкретных страницах.

Некластеризованный. На каждой таблице может быть задано несколько не-кластеризованных индексов. Определение индекса этого типа еще больше соответствует том), что представляет собой предметный указатель научной книги,



1 ... 4 5 6 [ 7 ] 8 9 10 ... 346

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика