Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИО_СУ_ЛР_2.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
560 Кб
Скачать
☆

3.2 Создание таблиц c помощью запроса

Для создания таблиц в SQL Server в первую очередь необходимо сделать активной ту БД, в которой создается таблица. Для этого можно в новом запросе можно набрать команду: USE <Имя БД>, либо на панели инструментов необходимо выбрать в выпадающем списке рабочую БД. После выбора БД можно создавать таблицы.

Таблицы создаются командой

CREATE TABLE <Имя таблицы>

(

<Имя поля1> <Тип1> IDENTITY(NULL|NOTNULL),

<Имя поля1> <Тип1> NOT NULL,

…

);

Здесь:

  • <Имя таблицы> – имя создаваемой таблицы;

  • <Имя поля> – имена столбцов таблицы;

  • <Тип> – типы полей;

  • <IDENTITY NULL|NOT NULL> – поле счётчик.

Если имя поля содержит пробел, то оно заключается в квадратные скобки.

Пример создание таблицы PRODUCT с помощью запроса:

CREATE TABLE PRODUCT

(

SERIAL_NUMB INTEGER IDENTITY(1,1),

MODEL_NUMB INTEGER NOT NULL,

DATE_MANUFACTURED DATETIME NOT NULL,

STATUS_CODE INTEGER NOT NULL,

DATE_SHIPPED DATETIME NOT NULL,

ORDER_NUMB INTEGER NOT NULL,

PRIMARY KEY (SERIAL_NUMB),

);

Связывание таблиц Создание диаграммы базы данных

При работе БД должна обеспечиваться целостность данных. Под целостностью данных понимают обеспечения целостности связей между записями в таблицах при удалении записей из первичных таблиц. То есть, при удалении записей из первичных таблиц автоматически должны удаляться связанные с ними записи из вторичных таблиц.

В случае несоблюдения целостности данных в со временем в БД накопится большое количество записей во вторичных таблицах связанных с несуществующими записями в первичных таблицах, что приведёт к сбоям в работе БД и её засорению неиспользуемыми данными.

Внешний ключ – это столбец (или комбинация столбцов), совпадающий с первичным ключом не которой таблицы. Если значение внешнего ключа соответствует значению первичного ключа, становится понятно, что между объектами базы данных представленными совпадающими строками, существует логическое взаимоотношение.

Одним из главных ограничений отношения является ссылочная целостность, которая определяет, что каждое значение внешнего ключа, не являющееся NULL-значением, должно ссылаться (REFERENCES) на некоторое существующее значение первичного ключа.

Для обеспечения целостности данных в SQL Server используют диаграммы и триггеры. Диаграммы – это компоненты БД, которые блокируют удаление записей из первичных таблиц если существуют связанные с ними записи во вторичных таблицах. Следовательно, диаграммы предотвращают нарушение целостности данных.

В БД Microsoft SQL Server 2008 все диаграммы находятся в папке Диаграммы базы данных обозревателя объектов.

Создадим диаграмму, обеспечивающую целостность данных нашей БД MMOTORS.

Для создания новой диаграммы в БД MMOTORS щёлкните правой кнопкой мыши по папке Диаграммы базы данных и в появившемся меню выберем пункт Новая диаграмма базы данных. Сначала появится окно с вопросом о добавлении нового объекта Диаграмма. В этом окне нужно нажать кнопку Да. Затем появится окно Добавление таблицы предназначенное для добавления таблиц в новую диаграмму (рисунок 10).

Рисунок 10 – Окно Добавление таблицы

В окне добавления таблиц выделите все таблицы нашей БД и нажмите кнопку Добавить. Закройте окно Добавление таблицы нажатием на кнопку Закрыть. Появится окно диаграммы, где будут отображены отобранные таблицы. Теперь необходимо определить связи между таблицами. Перетащите поле MODEL_NUMB из таблицы MODEL на такое же поле в таблице PRODUCT. Появится окно создания связи между таблицами Таблицы и столбцы (рисунок 11).

Рисунок 11 – Окно Таблицы и столбцы

В окне создания связи нажмите кнопку ОК. Появится окно настройки свойств связи Связь по внешнему ключу (рисунок 12).

Рисунок 12 – Окно Связь по внешнему ключу

Спецификация INSERT и UPDATE определяет, что происходит, если значение первичного ключа, на которое ссылается внешний ключ, удаляется или обновляется:

  • установить NULL (SET NULL) – значение внешнего ключа заменяется NULL-значением. Это невозможно, когда внешний ключ является частью первичного ключа своей таблицы.

  • установить значение по умолчанию (SET DEFAULT) – значение внешнего ключа заменяется значением столбца, используемым по умолчанию.

  • каскадно (CASCADE) – удаляются или обновляются все строки внешнего ключа.

  • нет действия (NO ACTION) – после обновления нельзя модифицировать значения

Установите правила удаления и обновления Каскадно и нажмите ОК.

В диаграмме между таблицами MODEL и PRODUCT появится связь в виде линии (рисунок 13).

Рисунок 13 – Связь между таблицами MODEL и PRODUCT