Lab5_SQL (1059123)
Текст из файла
Лабораторная работа 5.
Создание базы данных
В данной лабораторной работе будут рассмотрены следующие вопросы:
-
Обзор программ SQL Server.
-
Организация хранения данных в SQL Server.
-
Создание с помощью утилиты SQL Server Management Studio БД Sales, которая будет использоваться в последующих работах.
Программы, устанавливаемые в SQL Server
SQL Server Books Online
SQL Server Books Online соединяет пользователя с массивом информации об SQL Server, содержащимся как на локальном компьютере, так и в Интернете. В утилите SQL Server Books Online можно виртуально получить ответ на большинство вопросов о сервере баз данных.
SQL Server Management Studio
Подавляющую массу задач администрирования SQL Server можно выполнить в утилите SQL Server Management Studio, интерфейс которой аналогичен интерфейсу Visual Studio 2005. Через интерфейс Management Studio можно создавать базы данных и все ассоциированные с ними объекты (таблицы, представления и др.). Здесь вы можете выполнить последовательности инструкций Transact-SQL (запросы). В этой утилите можно выполнять типовые задачи обслуживания баз данных, такие как резервирование и восстановление. Здесь можно настраивать систему безопасности базы данных и сервера, просматривать журнал ошибок и многое, многое другое
SQL Configuration Manager
Утилита SQL Configuration Manager реализует базовые функции конфигурирования сервера баз данных. С помощью этой утилиты вы можете сконфигурировать службы, равно как и сетевые протоколы серверной и клиентской стороны.
SQL Profiler
После того как базы данных успешно спроектированы и размещены, а пользователи начали осуществлять к ним доступ для вставки, обновления и удаления данных, можно заняться мониторингом сервера, чтобы убедиться, что он работает именно так, как хотелось бы. Вам нужно знать, насколько быстро работает сервер, к каким данным осуществляют доступ пользователи, и не пытается ли кто-то взломать сервер. В программной группе SQL Server системного меню Пуск вы найдете утилиту SQL Profiler— мощный инструмент мониторинга, который сообщит вам всю эту информацию.
Организация хранения данных в SQL Server
Подобно любым другим данным, хранящимся на компьютере, базы данных, создаваемые в SQL Server, должны храниться на жестком диске. SQL Server использует для хранения баз данных три различных типа файлов: первичные файлы данных, вторичные файлы данных и файлы журнала транзакций.
Первичные файлы данных имеют расширение .MDF. Это файлы, создаваемые в базе данных в первую очередь. Они содержат создаваемые пользователем объекты, такие как таблицы и представления, а также системные таблицы, необходимые SQL Server для поддержки базы данных. Если база данных разрастается так, что объема одного жесткого диска ей не хватает, вы можете создать вторичные файлы данных, имеющие расширение .NDF, на другом жестком диске, таким образом расширяя общее пространство, доступное базе данных.
Вторичные файлы данных могут быть сгруппированы. Файловой группой называют логическую группировку файлов; при этом физически файлы могут размещаться на разных дисках, но SQL Server будет их интерпретировать как единое целое. Свойство группировки незаменимо при поддержке громадных баз данных (VLDB), занимающих терабайты дискового пространства.
Файлы журнала транзакций. Они имеют расширение .LDF и не содержат объектов базы данных, таких как таблицы или представления. Чтобы понять сущность журнала транзакций, рассмотрим коротко механизм записи данных SQL Server на диск.
Когда пользователь хочет внести некоторые изменения в данные таблицы, эти изменения не выполняются непосредственно в файле на диске. Вместо этого сервер извлекает подлежащие изменению данные в оперативную память, где пользователь уже и вносит изменения. Через определенные промежутки времени (примерно через каждые 5 минут) SQL Server берет все изменения, содержащиеся в памяти, и записывает их в файл журнала транзакций. После того как изменения попали в журнал транзакций, они записываются в файл базы данных. Такой журнал называется упреждающим, так как запись в него выполняется перед записью в саму базу данных.
Зачем все это нужно? На то есть две причины, и первая из них — скорость. Память в сотни раз быстрее жесткого диска, поэтому, извлекая данные в память и выполняя изменения в ней, а не непосредственно на диске, мы сокращаем время записи в сотни раз. Вторая причина состоит в том, что журнал транзакций можно использовать для восстановления данных. Предположим, что прошлой ночью в 10 часов было выполнено резервирование данных, а сбой диска произошел сегодня в 11 часов утра, когда с базой данных уже велась работа несколько часов. Если при восстановлении воспользоваться только резервной копией базы данных, то будет потеряна вся работа за утро. Однако с помощью журнала транзакций данные могут быть восстановлены по состоянию на момент сбоя диска (разумеется, если журнал транзакций хранился на другом диске). Журнал транзакций сохраняет данные и их изменения в режиме реального времени, и его можно рассматривать как оперативную резервную копию.
Теперь давайте заглянем внутрь файлов базы данных. Подумайте, что случилось бы, если бы они не имели внутреннего порядка или организации, т.е. если бы программа SQL Server записывала информацию в первое попавшееся свободное пространство. В этом случае потребовалась бы вечность, чтобы найти нужную информацию, и работа сервера замедлилась бы донельзя. Чтобы такого не случилось, SQL Server имеет невидимый нижний уровень хранения данных внутри файлов — страницы и экстенты.
Страницы
Страницей называется наименьшая единица хранения в файле данных SQL Server. Каждая страница имеет размер 8192 байт и начинается с заголовка размером 96 байт. Это значит, что на каждой странице может храниться 8096 байт данных. Существует несколько типов страниц, каждая из которых поддерживает отличный от других тип данных.
♦ Данные. Этот тип страниц содержит большую часть данных, которые вводятся в таблицы. Единственной категорией данных, которые на этих страницах не содержатся, являются изображения и крупные текстовые фрагменты, так как они чрезвычайно велики и для них предназначен особый тип страниц.
-
Глобальная карта размещения (GAM) (Global Allocation Map). Когда требуется увеличить размер файла данных, в котором размещена таблица, SQL Server за один раз распределяет для нее не одну, а восемь последовательных страниц, называемых экстентом. Страницы GAM используются для отслеживания, какие экстенты выделены, и какие остались доступными.
-
Индекс. Индексы используются для ускорения доступа к данным. В них содержится список значений одного поля (или комбинации нескольких полей) таблицы и их ассоциации с номерами записей самой таблицы. Индексы хранятся отдельно от данных на страницах собственного типа.
-
Карта размещения индексов (IAM) (Index Allocation Map). Несмотря на то что страницы GAM контролируют выделение экстентов, они не следят за тем, для каких целей те используются. Карта размещения индексов отслеживает, для чего используются выделенные экстенты, в частности, для таблиц или индексов.
-
Страница свободного пространства. Это не пустая страница, как можно было заключить из названия, а специальный тип страниц, используемый для отслеживания свободного пространства на других страницах базы данных. Каждая страница свободного пространства может контролировать пустое пространство до 8000 других страниц. Таким образом, SQL Server при вставке в таблицы новых данных всегда "знает", на каких страницах и сколько свободного пространства имеется.
-
Текст/изображения. Типы данных char (max), varchar (max) и varbinary (max) были созданы для хранения экстремально больших объектов, размером вплоть до 2 Гбайт. Крупные объекты, такие как изображения и большие документы, сложно извлекать, когда они хранятся в поле одной из таблиц, так как SQL Server в результатах запроса возвращает весь объект. Чтобы разделить экстремально большой объект на небольшие управляемые цепочки, типы данных char (max), varchar (max) и varbinary (max) хранятся на своих собственных страницах. Таким образом, при необходимости возвращения в результатах запроса изображения или большого документа сервер может вернуть определенные их фрагменты (цепочки), а не весь объект в целом.
Файлы журналов транзакций не организованы в страницы и экстенты. Они содержат список транзакций, которые модифицировали данные, организованный по принципу "первый поступил — первый обработан" и могут храниться на устройствах с последовательным доступом.
Экстенты
Экстентом (расширением) называют набор из восьми последовательных страниц, используемых для уменьшения фрагментации базы данных. Под фрагментацией понимается факт разброса по всему файлу базы данных страниц, соответствующих одной и той же таблице или индексу. Во избежание фрагментации SQL Server выделяет пространство для таблиц и индексов в экстентах. Таким образом, по крайней мере восемь страниц расположены физически рядом друг с другом, что упрощает для сервера их поиск. Для организации страниц SQL Server использует следующие типы экстентов.
-
Однородные экстенты являются собственностью одного объекта. К примеру, если одна таблица владеет всеми восемью страницами расширения, оно считается однородным.
-
Смешанные экстенты используются для объектов, которые слишком малы, чтобы занять собой все восемь страниц. В данном случае SQL Server распределяет отдельные страницы экстента для разных объектов.
Использование SQL Server Management Studio
Чтобы запустить Management Studio, в меню Пуск выберите пункт Все программы=> Microsoft SQL Server 2005=>Management Studio.
Интерфейс Visual Studio (VS) постепенно становится стандартом приложений Microsoft. Инструментальные окна Management Studio можно настраивать и конфигурировать для максимизации рабочей области разработок и управления.
Настроив приложение, вы сможете свободно получать доступ к часто используемым инструментам и окнам, а также управлять ресурсами, выделяемыми под различную информацию и задачи.
Окно Object Explorer
Окно Object Explorer подключается к экземплярам SQL Server, серверам анализа, серверам DTS, серверам отчетов и серверам SQL Server Mobile Edition. В этой работе мы рассмотрим функции, ассоциируемые с экземплярами SQL Server.
Подключение к серверу в окне Object Explorer
-
На панели инструментов Object Explorer щелкните на элементе Connect и выберите из раскрывающегося списка нужный тип сервера. Откроется диалоговое окно Connect To Server, показанное на рис. 1. Для подключения вы должны указать имя сервера (код компьютера, на котором Вы работаете, например
2-31) и корректную информацию для аутентификации. При выполнении ЛР используйте аутентификацию SQL Server, пользователь sa, пароль 1.
Вы также можете конфигурировать дополнительные параметры подключения, щелкнув на кнопке Options. (Окно Connect To Server сохраняет установленные настройки подключения. Все последующие подключения могут их использовать по умолчанию.)
Рис. 1. Диалоговое окно Connect То Server
Папки в окне Object Explorer
В Object Explorer каждый экземпляр SQL Server содержит следующие узлы:
-
Databases,
-
Security,
-
Server Objects,
-
Replication,
-
Management,
-
Notification Services.
Кроме того, здесь также представлен агент SQL Server Agent.
Создание баз данных
Для создания базы данных вам нужно лишь создать первичный файл данных и файл журнала транзакций. Вы можете выполнить эту задачу двумя способами:
-
графически с помощью SQL Server Management Studio,
-
посредством кода Transact-SQL.
В лабораторной работе мы будем использовать SQL Server Management Studio.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.