До 20 Апреля.
Базы данных
(Экзамен)
Лекция 1.
Построение связанных систем без данных.
Реализация информационных систем в трехуровневой архитектуре.
Система клиент/сервер –
Это особый тип праспределённой модели хранения данных, организации доступа к ним и обработки.
Клиент (пользовательские сервисы) <-> Серверы (Бизнес серверы) <-> (Сервисы данных SQL Server).
Сервисы пользователя: отвечают за пользовательский интерфейс, базисное формирование и правила полей. Основное назначение пользовательских сервисов – управление способом представления каждого поля и проверка, по крайней мере, его типа данных.
Бизнес-сервисы: эта группа отвечает за различные бизнесправила. В трехуровневых или N – уровневых системах объекты бизнес-сервисов могут находится на своих собственных серверах, распределяться между несколькими серверами, находиться на одном сервере с сервисами данных.
Сервисы данных – все сервисы данного типа отвечают за хранение и поиск данных, следят за выполнением правил целостности данных, но в то же время не обращают внимание на то, откуда пришло подтверждение кредитной карты. Здесь и находится SQL Server.
SQL Server содержит: База данных – является объектом наивысшего уровня, к которому можно обратиться внутри SQL Server.
Журнал транзакций – объект, осуществляющий протоколирование операций ведения БД.
Таблицы - единственный объект базы данных, предназначенный для хранения пользовательских файлов.
Группы файлов – по умолчанию всё, что связано с БД находится в одном файле. Это первичная группа (Primary filegroup), такая группа только одна. Если в процессе использования БД планируется размещения её на нескольких дисках, то в этом случае можно создать вторичные файлы БД (Secondary filegroip), до 255 групп.
Диагрыммы – визуальное представление структуры БД, включающее входящие в неё таблицы, имена полей каждой таблицы и взаимосвязи между таблицами.
Представление – виртуальные таблицы, которые отображают данные, хранящиеся в других таблицах, и для пользователя во многом напоминают таблицы.
Хранимые процедуры –поименованные наборы команд на языке Transact – SQL, хранимые на сервере и вызываемые на выполнение пользователями.
Определённые пользователем функции – набор команд Transact - SQL, сохранённых пользователем в виде функции.
Пользователи – представляют собой идентификаторы отдельных пользователей для входа в систему SQL Server.
Роли – объект, позволяющий объединять пользователей в группы для доступа к БД.
Правила – логические условия, ограничивающие диапазон возможных значений для столбца таблицы или определяемого пользователем типа данных.
Определение по умолчанию – описывают значения, которые присваиваются столбцам таблицы, если при добавлении строки явно не было указано значение для соответствующего столбца.
Определенные пользователем типы данных – типы данных, создаваемые пользователями.
Полнотекстовые каталоги – находят фразы в больших блоках текста в полях БД.
SQL Server 2000 предлогает функции:
Кластеризация
Распределённые разделённые представления
Индексированные представления
Разделённые кубы
Поддерживает наибольшее количество памяти (до 64 Гбит)
Поддержка более четырёх процессоров (до 32)
Системные базы данных sql Servera 2000 и их назначение.
Master – содержит специальный набор таблиц, которые отслеживают целиком всю систему, например, при создании на сервере новой БД её описание размещается в таблице sysdatebases БД master. Эта БД не может быть удалена.
Model – является шаблоном, задаваемый администратором и используемым для создания любых пользовательских баз данных. Содержит параметры по умолчанию, которые можно переопределять при создании соответствующей базы данных пользователя. Эта БД не может быть удалена.
Temdb – является одной из ключевых рабочих областей сервера. Хранит всё все временные объекты: промежуточные таблицы для решения сложного запроса, временные таблицы пользователя. Это единственная БД, которая при перезапуске SQL сервера строится заново.
MSdb – хранит информацию об администрирования и управления сервером. В этой БД служба SQL Agent сохраняет все системные задачи. При удалении не происходит полного краха системы, но использовать SQL Agent невозможно.
БД pubs и Northwind - учебные БД, созданные для тренировок и экспериментов, не влияющие на работу сервера. БД и журнал занимают по 4 Мб. Оба БД можно инсталлировать заново, запустив сценарии instpubs.sql и instnwind.sql.
Основные Утилиты.
Электронные книги SQL Server Book Online (BOL) – приложение, предоставляющее доступ к справочной информации SQL Server (~34.55)
Клиентские и серверные сетывые утилиты.
Сетывые утилиты NetLibs оформлены как динамические подсоединяемые библиотеки, которые SQL Server использует для обеспечения связи с определёнными сетевыми протоколами. Служит чем-то вроде переходника между клиентом приложением и сервером.
Включают: именованные каналы, TCP/IP, Мультипротокол, NWLink IPX/SPX, AppleTalk, Разделяемая память – поддерживает только для клиентов Win 9x (NT может делать то же самое посредствам Именованных каналов).
Процесс общения клиента и сервера.
Клиентское приложение обращается к драйверу.
Драйвер вызывает клиентскую библиотеку NetLib.
Клиентская библиотека NetLib вызывает соответствующий сетевой протокол и передаёт данные серверной библиотеке NetLib.
Серверная библиотека NetLib передаёт клиентские запросы SQL Server.
Enterprise Manager (EM) – инструмент администрирования SQL Server посредством графического пользовательского интерфейса.
С помощью ЕМ можно:
Создават, редактироватьи удалять базы данных и объекты БД.
Создавать, редактировать и удалять пакеты преобразования данных. DTS используется при необходимости перемещения данных из одного места в другое, а также выполнения преобразования – данные считаются в одной форме, а затем записываются в другой.
Управлять запланированными заданиями, такими как резервное копирование и запуск DTS – пакетов
Визуализировать текущую активность, отображая сведения о том, кто подключен, какой объект заблокирован, и с какого клиента они запущены.
Регулировать задания веб-публикаций.
Управлять системой безопасности, включая контроль таких объектов, как роли, логичны, удалённые и взаимосвязанные серверы.
Создавать каталоги полнотекстового поиска. Управлять настройками конфигурации сервера.
Создать публикации и подписку баз данных для репликации и управлять ими.
Запускать некоторые другие средства SQL Server, такие как Quety Analyzer и SQL Server Profiler.
Анализатор запросов Query Analyzer.
Это средство для проведения интерактивных сеансов с выбранным SQL Server. В нём можно выполнять операторы, используя Transact – SQL. Утилита позволяет создавать специальный пакетный файл *.sql, который будет содержать текст введенного SQL запроса для дальнейшего использования.
SQL Server Service Manager – утилита, выполняющая работу, связанную с запуском, остановкой и временной приостановкой работы SQL сервера.
В SQL Server полное имя объекта состоин из четырёх частей: [Имя_сервера.[Имя_базы_данных. [Имя_владельца.]]]Имя_объекта
Создание пользовательской базы данных можно выполнить с помощью инструкции T – SQL:
(DROP – удаление).
CREATE DATABASE <имя_базы_данных>
[ON[PRIMARY]
[
([NAME=<логическое_имя_файла>,]
FILENAME=<имя_файла>
[,SIZE=<размер_БД>]
[,MAXSIZE=<max_размер_в_мегабайте>]
[,FILEGROWTH=<размер_в_мегабайтах>|
<величина_в_процентах>])
]
[FILEGROUP <имя_группы_файлов>]
[<описание, аналогичное (1)>]
[LOG ON]
[<описание,аналогичное (1)>]
[COLLATE<способ_сравнения>]
[FOR LOAD|FOR ATTACH]
]
ON – используется для определения местоположения файла с самими данными и для указания расположения файла журнала. В первом случае ключевое слово PRIMARY оначает, что идущие далее параметры файла относятся именно к первичной группе, предназначенной для физического хранения файлов. Если оно пропущена, то первичным является первый файл в списе.
NAME – соответствует логическому имени файла, то есть внутреннему имени, используемому SQL Server при ссылке на файл.
FILENAME – имя реального физического файла. По файлу будет помещена в подпапку \Data внутри папки программ файл\MSSQL, он примет то же имя, что и база данных и расширение .mdf.
Если вы работаете с файлом журнала, его название будет состоять из имени базы данных, суффикса_Log и расширения .ldf.
Расширенный синтексис оператора создания таблиц CREAT TABLE
[<имя_базы_данных>.[<владелец>].]<имя_таблицы>
(
<имя_столбца><тип_данных>
[[DEFAULT<выражение-константа>]|
[IDENTITY[(<начальное_значение>,<приращение>)
[NOT FOR REPLICATION]]]]
[ROWGUIDCOL]
[COLLATE<способ_сравнения>]
[NULL|[NOT NULL][<ограничения_столбца>]|
[<имя_столбца>AS<выражение_для_вычисляемого_столбца>]
[,..n]
)
[ON{<группа_файлов>|DEFAULT}]
[TEXTIMAGE_ON {<группа_файлов>|DEFAULT}]