Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab5_SQL.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
3 Мб
Скачать
☆

Использование ограничений на умолчания

Если пользователи оставляют пустыми поля, не включая их в инструкцию INSERT или UPDATE, которую они применяют для добавления или модификации записи, для заполнения этих полей используются ограничения на умолчания. Существует два типа умолчаний: умолчания объектов и умолчания определений. Объектные умолчания определяются при создании таблицы и влияют только на столбец, в котором были определены. Умолчания определений создаются отдельно от таблиц и предназначены для привязки к типу данных, определяемому пользователем. Использование умолчаний может существенно сэкономить время при вводе данных.

Предположим, что основная клиентура проживает в Калифорнии, поэтому люди, вводящие данные, вынуждены вводить сокращение СА для каждого нового клиента. Если у вас обширная база клиентов, то ввод этих двух букв для каждого из них может отнять массу времени. При использовании ограничения на умолчания пользователи смогут намеренно оставлять поле State на откуп программе SQL Server. Чтобы про­демонстрировать возможности ограничений на умолчания, мы создадим следующее определение в таблице Customers.

  1. Откройте SQL Server Management Studio. В окне Object Explorer раскройте папки Databases=> Sales=> Tables=> dbo.Customers=> Columns.

  2. Щелкните правой кнопкой мыши на столбце State и выберите команду Modify.

  3. В нижней половине окна введите в текстовый блок Default Value Or Binding текст 'СА' (с одинарными кавычками). Если что, SQL Server поместит эти одинарные кавычки за вас (рис. 16).

Рис. 16. Создание умолчания для столбца

  1. Щелкните на кнопке Save и выйдите из конструктора таблиц.

  1. Чтобы протестировать умолчания, щелкните в SQL Server Management Studio на кнопке New Query. Выберите команду New SQL Server Query и выполните подключение с использованием аутентификации Windows.

  1. Введите и выполните следующий код:

USE sales

INSERT customers (fname, lname, address, city, zip, phone)

VALUES ('Tom','Smith1', '609 Georgia','Fresho','33405','5105551212')

  1. Чтобы проверить, были ли введены буквы СА в поле State, выполните команду Query=>New Query.

  1. Введите и выполните следующий код:

SELECT * FROM customers

  1. Обратите внимание на то, что для записи Tom Smith в поле State есть аббревиатура штата СА, как показано ниже.

Вот и все, что требуется сделать для обеспечения доменной целостности. Вы можете использовать ограничения на проверку, чтобы принудить пользователей вводить правильные данные, а ограничение на умолчания будет заполнять поля данными, ко­торые забыл ввести пользователь. Однако существует еще два метода обеспечения целостности. Далее мы рассмотрим, как не позволить пользователям дублировать за­писи путем обеспечения целостности сущности.

Обеспечение целостности сущностей

Обеспечение гарантии уникальности записей в таблицах и предотвращение их дублирования называется обеспечением целостности сущностей. Что нужно сделать, чтобы записи не дублировались в таблице? Представьте себе, что будет, если имя одного и того же клиента дважды повторяется в таблице Customers, дублируя таким образом данные. У вас будет один клиент с двумя идентификационными номерами.

Или же наоборот, предположим, что кто-то случайно ввел данные о двух клиентах с одним и тем же идентификатором. Это может создать большие проблемы при продажах или генерировании отчетов, поскольку вы не будете знать, кто из клиентов делал покупки — они оба выводятся как один. Вы можете избежать таких проблем, обеспечив целостность сущности. Для этого существует два способа. В первом способе применяется первичный ключ.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]