|
Программирование >> Программирование баз данных
чение данных из системы. Если задача состоит лишь в том, чтобы сохранить данные в надежном месте, то достаточно воспользоваться практически любой системой хранения данных. Реляционные СУБД позволяют выйти за пределы возможностей исключительно только хранения данных, поскольку обеспечивают выполнение требований к самим данным. А что касается СУБД SQL Server, то ее функции не ограничиваются даже этим. СУБД SQL Server предоставляет в распоряжение пользователя дополнительные службы, которые позволяют автоматизировать взаимодействие хранимых в ней данных с данными из других систем с помощью таких мощных средств, как SQL Server Agent, Integration Services, Notification Services и др. В настоящей главе приведен общий обзор всей тематики, которая рассматривается более подробно в остальной части книги. Все вопросы, которые затрагиваются в этой главе, будут подробно описаны в следующих главах, но данная глава предназначена для использования в качестве руководства или плана, которого мы будем придерживаться, изучая последующий материал. Таким образом, в данной главе кратко описаны следующие темы: объекты базы данных; типы данных; другие средства базы данных, которые обеспечивают целостность данных. Краткий обзор объектов базы данных Реляционные СУБД, такие как SQL Server, состоят из многих объектов. Применительно к СУБД корпорация Microsoft использует термин объект в том смысле, который не соответствует определению объектов в объектно-ориентированных языках программирования. В табл. 1.1 приведен список наиболее важных объектов SQL Server. Таблица 1.1. Наиболее важные объекты SQL Server Объект Объект Базы данных Диаграммы Журналы транзакций Индексы Каталоги полнотекстового поиска Определяемые пользователем типы данных Отчеты Пользователи Пользовательские функции Представления Роли Сборки CLR Таблицы Файловые группы Хранимые процедуры Объект базы данных База данных фактически представляет собой объект самого высокого уровня, к которому можно обращаться в пределах какой-то конкретной инсталляции SQL Server. (С формальной точки зрения как объект может рассматриваться сам сервер базы данных, но какие-либо реальные перспективы получения доступа к объекту сервера с применением языка программирования высокого уровня отсутствуют, поэтому в дальнейшем эта тема больше не затрагивается.) Большая часть остальных объектов SQL Server (но не все) являются дочерними по отношению к объекту базы данных. Следует отметить, что в рассматриваемой здесь новейшей версии SQL Server обнаруживаются существенные изменения по сравнению с предыдущими версиями, и это нашло отражение в приведенном выше списке. Во-первых, исключены такие объекты, как открытые учетные имена. Во-вторых, больше не поддерживаются удаленные серверы и задачи SQL Agent. Дело в том, что теперь в СУБД SQL Server для обеспечения функционирования базы данных применяется несколько других типов объектов (как указано выше). Но за ихжлючением связанных серверов, а также, возможно, пакетов Integration Services, эти объекты в основном относятся к сфере деятельности администратора базы данных и поэтому, как правило, не становятся предметом значительного внимания в процессе разработки проектов приложений и самого программного обеспечения. (Безусловно, для работы с подобными объектами могут применяться такие специальные средства, как интерфейс SMO (SQL Management Objects - объекты управления SQL), но это направление деятельности разработчиков является слишком специализированным. Интерфейс SMO будет рассматриваться более подробно в главе 25.) База данных, как правило, представляет собой группу объектов, которая включает по крайней мере набор объектов таблиц, а также чаще всего другие объекты, такие как хранимые процедуры и представления, относящиеся к определенной совокупности данных, которые хранятся в таблицах базы данных. Непосредственно после инсталляции СУБД SQL Server в состав программного обеспечения СУБД входят следующие четыре системные базы данных: master; model; msdb; tempdb. Для того чтобы сервер функционировал нормально, должны быть установлены все эти базы данных. (В действительности без некоторых из них сервер вообще не может работать.) Кроме указанных баз данных, могут бьггь также установлены другие базы данных, в зависимости от того, в каких целях была выполнена инсталляция СУБД SQL Server. Чаще всего можно встретить примеры применения следующих баз данных: AdventureWorks (образцовая база данных); AdventureWorksDW (образец базы данных, применяемый в сочетании со службами Analysis Services). База данных master База данных master входит в состав любой СУБД SQL Server, независимо от версии или специализированной модификации. Эта база данных содержит специальный набор таблиц (системные таблицы), которые позволяют отслеживать функционирование всей системы. Например, при создании на сервере новой базы данных в таблицу sysdatabases базы данных master вводится новая строка. Кроме того, в этой базе данных содержатся все расширенные и системные хранимые процедуры, не- зависимо от того, для какой базы данных они предназначены. Итак, очевидно, что в базе данных master хранится почти вся информация, которая описывает конкретную инсталляцию, поэтому она является крайне необходимой для эксплуатации системы и не может быть удалена. Кроме того, в трудную минуту могут оказаться чрезвычайно полезными системные таблицы, включая те, что находятся в базе данных master. Несмотря на сказанное выше, необходимость в непосредственном использовании этих таблиц постоянно уменьшается, поскольку корпорация Microsoft продолжает расширять возможности получения информации на уровне системы. В приведенной выше рекомендации по использованию одной из системных таблиц подразумевалось, что эта системная таблица применяется только для чтения. Так и следует всегда поступать. Использование системных таблиц в любой другой форме связано со значительной опасностью. Специалисты корпорации Microsoft предостерегают против непродуманного применения системных таблиц (такие предостережения можно найти в документации по меньшей мере трех последних версий SQL Server). Кроме того, нет абсолютно никаких гарантий в части совместимости баз данных master, относяш;ихся к разным версиям, а в действительности даже гарантируется, что с выходом каждой версии в базе данных master будут происходить изменения. При попытке выполнения обновлений применительно к объектам в базе данных master возникают наиболее серьезные сбои. Следует еще раз подчеркнуть, что самостоятельное внесение изменений в таблицы системных баз данных- прямой путь к нарушению функционирования СУБД SQL Server. К счастью, для выборки основной частр! метаданных, хранящихся в системных таблицах, может применяться целый ряд других способов (например, основанных на использовании системных функций, системных хранимых процедур и представлений inf ormation schema). База данных model Назначение базы данных model полностью соответствует ее имени, поскольку она является моделью, с помощью которой создаются копии. База данных model используется как шаблон для любой вновь создаваемой базы данных. Это означает, что при желании в базу данных model можно внести изменения, если требуется, чтобы вновь создаваемые базы данных, соответствующие этом) стандарту, выглядели иначе. Например, в нее можно ввести набор таблиц аудита, которые в дальнейшем будут появляться в каждой создаваемой базе данных. Кроме того, можно также включить несколько групп пользователей, учетные записи которых появятся в кал<дой новой базе данных, создаваемой в системе. Итак, следует отметить, что база данных model служит в качестве шаблона для любой другой базы данных, поэтом) является обязательной и должна оставаться в системе; эту базу данных удалять не разрешается. При внесении изменений в базу данных model необходимо учитывать некоторые требования. Прежде всего, любая база данных, создаваемая на основе базы данных model, приобретает по меньшей мере такой же объем. Это означает, что после внесения изменений, согласно которым база данных model приобретает объем 100 Мбайт, становится невозможным создание базы данных с объемом меньше 100 Мбайт. Необходимо учитывать также несколько аналогичных нюансов. Поэтому автор настоятельно рекомендует в 90% инсталляций оставлять эту базу данных неизменной.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |