русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ограничение UNIQUE


Дата добавления: 2015-07-09; просмотров: 568; Нарушение авторских прав


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

Cинтаксис предложения CONSTRAINT, задающего ограничение UNIQUE на уровне столбца

[СONSTRAINT <имя ограничения>] UNIQUE

Пример 7

Задача.

Создать ограничение UNIQUE в таблице Subject для столбцаNameSubject .

Решение.

Ограничение затрагивает только один столбец, и оно может быть задано на уровне столбца.

CREATE TABLE Subject

(IDSubject INT IDENTITY

CONSTRAINT SubjectPrimary PRIMARY KEY,

NameSubject VARCHAR(35) NOT NULL

CONSTRAINT SubjectNameSubjectUnique UNIQUE);

В этом случае целесообразно установить ограничение NOT NULL на атрибут NameSubject так как автоматически оно не устанавливается.

Синтаксис на уровне таблицы

[, СONSTRAINT <имя ограничения>] UNIQUE (<список столбцов> )

Пример 8

Задача.

Установить ограничения UNIQUE в таблице Student.

Решение.

При установлении ограничений следует обратить внимание на следующее: в отношении студент существует несколько множеств атрибутов, которые могут однозначно идентифицировать любую строку в таблице. Во-первых, это ИНН, во-вторых, Номер зачетки, в-третьих, так называемые паспортные данные, которые включают в себя Номер паспорта, Серию паспорта, Наименование организации, выдавшей паспорт и Дату выдачи. В качестве первичного ключа был выбран Номер зачетки, поскольку именно значение этого атрибута не меняется в процессе жизни базы данных, по крайней мере, его значение определяется внутренними требованиями ВУЗа и может быть ими же отрегулировано. Вероятность изменения ИНН, как это не грустно, существует, а что касается третьего множества, то первой причиной того, чтобы отвергнуть его использование в качестве первичного ключа является то, что оно составное, во-вторых, вероятность того, что его значения будут меняться в процессе жизни базы данных, очень велика. Для этого студентке нужно просто выйти замуж и сменить фамилию, или кому-то из студентов потерять паспорт. Таким образом, создавая таблицу Student, целесообразно кроме ограничения PRIMARY KEY, создать два ограничения UNIQUE.



CREATE TABLE Student

(NRecordBook VARCHAR (6)

CONSTRAINT StudentPrimary PRIMARY KEY,

INN VARCHAR(10)

CONSTRAINT StudentINNUnique UNIQUE,

StName VARCHAR(35),

IDGroup INT,

SPasport VARCHAR(4),

NPasport VARCHAR(6),

DataPasport Datetime,

NameDeptPasport VARCHAR(35),

CONSTRAINT StudentSPasportUnique UNIQUE (SPasport, NPasport, DataPasport, NameDeptPasport));

Задание 1

Создать таблицы Report, Teacher, SGroup, установив все необходимые ограничения.



<== предыдущая лекция | следующая лекция ==>
Ограничение PRIMARY KEY | CONSTRAINT ProgressSubjectForeign FOREIGN KEY (IDSubject) REFERENCES Subject,


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.64 сек.