
- •Введение
- •Лабораторная работа № 1. Работа с базами данных и таблицами ms sql server
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Работа с базой данных
- •2.2. Создание баз данных
- •2.3. Удаление баз данных
- •2.4. Работа с таблицами
- •2.5. Типы данных
- •2.6. Создание таблиц
- •2.7. Изменение структуры таблицы
- •2.8. Удаление таблиц
- •3. Задание на лабораторную работу
- •Контрольные вопросы
- •Лабораторная работа № 2. Выборка данных
- •1. Цель работы
- •2. Теоретическая часть
- •3. Задание на лабораторную работу
- •Лабораторная работа № 3. Вставка, изменение и удаление данных
- •2.2. Изменение данных
- •2.3. Удаление данных
- •Лабораторная работа № 4. Типы функций и хранимые процедуры
- •2.2. Создание функций пользователя
- •2.3. Удаление функций пользователя
- •2.4. Разработка хранимых процедур
- •2.5. Создание хранимой процедуры
- •2.6. Вызов хранимой процедуры
- •2.7. Возвращение данных из хранимой процедуры
- •2.8. Удаление хранимой процедуры
- •3. Задание на лабораторную работу
- •Контрольные вопросы
- •Лабораторная работа № 5. Метаданные
- •1. Цель работы
- •2. Теоретическая часть
- •2.1. Общие сведения
- •3. Задание на лабораторную работу
- •Контрольные вопросы
- •Список рекомендуемой литературы
- •Приложение Предметная область для разработки базы данных по вариантам
2.3. Удаление баз данных
Для удаления базы данных используется следующая команда:
DROP DATABASE database_name […..n]
Аргумент database_name задает имя базы данных, которую необходимо удалить. Одной командой можно удалить несколько баз данных, перечислив их через запятую.
Пример 3.
DROP DATABASE Kafedra_1.
2.4. Работа с таблицами
Вся хранящаяся в базе данных пользовательская информация содержится в объектах, называемых таблицами (tables).
Таблицы имеют следующую структуру.
Столбцы (column). Каждый столбец представляет собой атрибут или совокупность атрибутов объектов, например идентификационные номера служащих, рост, цвет машин и т.п. Часто в отношении столбца используется термин поле с указанием имени, например "в поле Name".
Строки (rows). Каждая строка (или запись) представляет собой совокупность атрибутов конкретного объекта, например, в строке может содержаться идентификационный номер служащего, размер оклада этого служащего, год его рождения, цвет глаз и т. п. Строки таблиц не именуются.
Некоторые поля в строке могут быть вычисляемыми (computed) – в таких полях указывается не конкретное значение, а выражение (формула), в соответствии с которым генерируется значение для этого поля. Выражение может включать имена других столбцов таблицы, константы, вызовы функций, а также любые операторы. Использование переменных запрещается.
Виды таблиц:
Системные таблицы. SQL Server хранит данные, определяющие конфигурацию сервера и всех его баз данных, в специальном наборе таблиц, известном как системные таблицы (system tables). Следует разделять данные, относящиеся к серверу, и данные, относящиеся к конкретной базе данных. Первые хранятся в системной базе данных master, тогда как вторые – в соответствующей базе данных.
Поскольку данные, хранящиеся в системных таблицах, играют весьма важную роль в работе сервера, необходимо обезопасить их от удаления или неверного изменения. Поэтому пользователь не должен напрямую вносить изменения в системные таблицы. По умолчанию прямой доступ к системным таблицам (то есть доступ посредством команд INSERT, UPDATE и DELETE) запрещен. Тем не менее с помощью запроса SELECT пользователи могут реализовать непосредственную выборку данных из системных таблиц.
Для изменения данных в системных таблицах необходимо использовать специальные системные хранимые процедуры, поставляемые вместе с SQL Server и расположенным в базе данных master. Другой альтернативой является применение приложений, использующих интерфейс SQL-DMO API. Имеющийся набор хранимых процедур охватывает практически все возможные ситуации управления сервером и базами данных, так что необходимость прямого доступа к системным таблицам почти полностью исключена. Кроме того, использование в прикладных приложениях хранимых процедур позволяет гарантировать, что работоспособность программы сохранится даже в случае возможного изменения структуры системных таблиц в следующих версиях SQL Server.
Временные таблицы. SQL Server поддерживает так называемые временные таблицы (temporary tables), предназначенные для временного хранения информации. Временную таблицу можно использовать, к примеру, для временного хранения промежуточных результатов при сложных расчетах. Временные таблицы сохраняются не в текущей базе данных, а в системной базе данных tempdb (даже если при создании временной таблицы вы явно укажете какую-либо другую базу данных, это будет проигнорировано и таблица все равно будет создана в базе данных tempdb).
В распоряжении пользователей имеются два вида временных таблиц.
Локальные временные таблицы (local temporary tables). Названия этих таблиц начинаются с одного символа #, например #results. Таким образом, для создания локальной временной таблицы необходимо перед именем таблицы при ее создании указать один символ #. В дальнейшем для ссылки на созданную таблицу в ее имени также необходимо указывать символ #.
Локальные временные таблицы существуют до тех пор, пока существует соединение со SQL Server, в котором эти таблицы были созданы, и автоматически уничтожаются при его закрытии.
Глобальные временные, таблицы (global temporary tables). Доступ к временным таблицам этого типа может быть получен из любого соединения, установленного с текущим сервером, и независимо от того, в каком именно из этих соединений была создана глобальная временная таблица. При этом также не важно, какой конкретно пользователь создал эту временную таблицу и в контексте какой базы данных.
Названия глобальных временных таблиц начинаются с символов ##, например ##minutes. Таким образом, чтобы создать глобальную временную таблицу, достаточно в начале ее имени указать символы ##. Однако так как глобальная временная таблица видна из любого соединения, ее имя должно быть уникально в пределах сервера.
Когда сервер встречает имя таблицы, начинающееся с символов # или ##, он обращается к базе данных tempdb для поиска указанной таблицы. При этом игнорируется имя владельца таблицы и имя базы данных. Указание имени сервера при обращении к временной таблице вообще не разрешается. Таким образом, создание временной таблицы возможно только на текущем сервере. При попытке указать имя сервера при создании временной таблицы будет выдано сообщение об ошибке. В остальном же работа с временными таблицами ничем не отличается от работы с обычными таблицами.
В процессе проектирования таблиц принимается решение о том, какие таблицы должны входить в базу данных, какие типы данных будут использованы для построения таблиц, какие пользователи получат доступ к каждой из таблиц. В процессе проектирования необходимо ответить на следующие вопросы:
какие данные, каких типов должны быть включены в таблицы?
какие столбцы будут составлять каждую из таблиц (если потребуется, то с указанием их размера)? При этом необходимо стремиться хотя бы к третьей нормальной форме. Одновременно с этим требуется выбрать имена для столбцов таблицы. (SQL Server позволяет включать в одну таблицу до 1024 столбцов.)
какие столбцы могут содержать значения NULL?
будут ли использованы ограничения целостности или значения по умолчанию и правила для столбцов и если будут, то где?
необходимо ли индексирование столбцов? Если да, то какие типы индексов, для каких столбцов будут применены?
какие столбцы будут входить в первичные и внешние ключи?