- •Предисловие
- •Концептуальная модель предметной области
- •Контрольные вопросы
- •Проектирование базы данных
- •Логическая модель базы данных
- •Создание Логической модели бд вVisio
- •Физическая модель базы данных
- •Контрольные вопросы
- •Создание базы данных
- •Подключение кMssqlServer2012
- •Создание новой базы данных на сервере
- •Создание новой таблицы на сервере
- •Создание связей
- •Создание диаграммы базы данных
- •Ограничения целостности базы данных
- •Сценарий создания базы данных
- •Контрольные вопросы
- •Заполнение базы данных
- •Загрузка информации в базу данных средствамиManagementStudio
- •Ведение базы данных средствамиSql
- •Sql-запросы на вставку, модификацию и удаление данных
- •Добавление новых записей в таблицу (insert)
- •Модификация существующих записей (update)
- •Удаление записей из таблицы (delete)
- •Контрольные вопросы
- •Запросы на выборку данных
- •Общий синтаксис запроса select
- •Примеры реализации запросов
- •Контрольные вопросы
- •Организация бизнес-логики
- •Хранимые процедуры
- •Триггеры
- •Контрольные вопросы
- •Администрирование сервера бд
- •Инсталляция сервера
- •Резервное копирование и восстановление бд
- •Санкционирование доступа
- •Приложение а. Варианты заданий
- •Приложение б. Состав отчета
- •Список литературы
- •Оглавление
- •153003, Г. Иваново, ул. Рабфаковская, 34.
Создание новой таблицы на сервере
CREATE TABLE [<база>.]<имя_таблицы>
(<имя_поля> <тип_данных> [ NULL | NOT NULL |
IDENTITY [(<нач_значение>, <шаг>)]] [<ограничения>])
В «Обозревателе объектов» в контекстном меню «Таблицы» базы данных выберитепункт «Создать таблицу».
В верхней части появившегося окна (рис. 3.4) задаются столбцы (поля) таблицы: имя столбца, его тип (табл. 2.2) и допустимость пустых значений (NULL) в этом столбце. При именовании столбцов рекомендуется пользоваться латинским алфавитом и избегать пробелов.
Для указания первичного ключа в контекстном меню соответствующего поля выбирается пункт «Задать первичный ключ»; при этом в столбце «Разрешить значения null» для этого поля автоматически снимается метка (галочка), поскольку уникальный идентификатор должен быть задан в каждой строке таблицы.

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

Рис. 3.5. Окно выбора имени таблицы базы данных
Для редактирования структуры ранее созданной таблицы (добавление / удаление полей, изменение типов данных, установка значений по умолчанию и т. п.) используется пункт «Проект» контекстного меню этой таблицы.
Автоинкрементное поле
MSSQLServerпозволяет создавать автоинкрементные поля (счетчики); сервер сам будет задавать последовательные значения этого поля в каждой новой строке таблицы (1, 2, 3…).
Для назначения полю свойства автоинкрементности на закладке «Свойства столбцов» внизу окна создания полей таблицы выбирается раздел «Спецификация идентифицирующего столбца» (рис. 3.6).

Рис. 3.6. Создание автоинкрементного поля
Здесь для строки «Является идентифицирующим столбцом» требуется установить значение «Да». При этом автоматически заполнятся две следующие строки – «Начальное значение» и «Приращение», по умолчанию в обоих появится единица. Это значит, что значение первичного ключа в таблице начнется с единицы и будет увеличиваться дальше с шагом 1. Можно задать и другие значения начального значения и приращения счетчика.
Признак автоинкрементности обычно устанавливается у несмысловых первичных ключей для автоматического присвоения им уникальных последовательных значений. Автоинкремент может быть задан только для полей с числовыми типами данных.
Создание связей
[CONSTRAINT <имя_ограничения>]
[FOREIGN KEY (<имя_поля> [,... [, <имя_поля16>]])]
REFERENCES <табл_ссылки> (<поле_ссылки>[,...[,<поле_ссылки16>]])
Связи между таблицами в MSSQLServerзадаются в виде ссылок, т.е. внешних ключейFOREIGNKEY.
Рассмотрим установление связи в среде ManagementStudioмежду таблицами «Деталь» и «Материал». Для этого необходимо открыть окно редактирования структуры таблицы «Деталь», с помощью пункта «Проект» контекстного меню этой таблицы.
Далее в контекстном меню открывшегося окна редактирования следует выбрать пункт «Отношения» или же воспользоваться одноименной кнопкой на панели инструментов. На экране появится окно «Отношения внешнего ключа», изначально пустое.
Для добавления нового внешнего ключа следует нажать кнопку «Добавить» в нижнем правом углу окна. Далее в появившемся шаблоне настройки внешнего ключа (рис. 3.7) необходимо выделить строку «Спецификация таблиц и столбцов» и нажать на кнопку с многоточием в этой строке справа.
На экране появится окно настройки связи между таблицами (рис. 3.8). Здесь в разделе «Имя отношения» можно задать название создаваемой связи или же оставить название по умолчанию.

Рис. 3.7. Окно добавления / удаления отношений между таблицами
В разделе «Таблица первичного ключа» (слева) из выпадающего списка следует выбрать соответствующую таблицу (в нашем случае– таблицу «Материал»), а в строке / строках ниже указатьPKэтой таблицы («Код материала»).

Рис. 3.8. Окно настройки отношения между таблицами
В разделе «Таблица внешнего ключа» (справа) требуемая таблица задается автоматически и соответствует редактируемой в данный момент таблице (таблица «Деталь»). Следует лишь выбрать из выпадающего списка поле таблицы, содержащее ссылку (поле «Код материала» таблицы «Деталь»).
По завершении настройки связи между таблицами следует закрыть окна «Таблицы и столбцы» и «Отношения внешнего ключа» и обязательно сохранить произведенные изменения в таблице «Деталь» (кнопка с дискетой на панели инструментов).
