Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Другое / Другие методич. материалы / Практическое занятие по МДК 02.02. Технология разработки и защиты баз данных на тему "Задание ограничений на данные находящиеся в таблицах БД"
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 26 апреля.

Подать заявку на курс
  • Другое

Практическое занятие по МДК 02.02. Технология разработки и защиты баз данных на тему "Задание ограничений на данные находящиеся в таблицах БД"

библиотека
материалов

Практическое занятие №3

Задание ограничений на данные находящиеся в таблицах БД

Цель занятия: научиться задавать ограничения на данные находящиеся в таблицах БД.

Теоретические сведения

В СУБД MS SQL Server индекс на основе одного столбца можно создать, указав атрибут PRIMARY KEY или UNIQUE в описании столбца. Атрибут PRIMARY KEYиспользуется для создания первичного ключа, атрибут UNIQUE для создания уникального индекса.

CREATE TABLE
<
сol_name> [NOT NULL | NULL] [DEFAULT ][PRIMARY KEY |UNIQUE]

Индекс состоящий из нескольких столбцов, то его необходимо описать в разделе ограничений таблицы, после ключевого слова CONSTRAINT.

::= 
[ CONSTRAINT { PRIMARY KEY | UNIQUE } 
ON (,... )]

В MS SQL Server для задания ограничений FOREIGN KEY в разделе ограничений оператора CREATE TABLE используется следующий синтаксис:

::= 
CONSTRAINT [] 
FOREIGN KEY ( [,….]) 
REFERENCES ([,…..]) 
[ ON DELETE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ] 
[ ON UPDATE { NO ACTION | CASCADE | SET NULL | SET DEFAULT } ]

Здесь constraint_name - имя внешнего ключа (задавать явно необязательно), index_col_name – имена столбцов входящих в состав внешнегоключа,referenced_table_name - имя таблицы, на которую ссылается ограничение FOREIGN KEY, index_col_name - столбец или список столбцов из таблицы на которую ссылается ограничение FOREIGN KEY.

Предложение ON DELETE определяет действия, предпринимаемые при попытке удаления первичного ключа, на который указывает внешний ключ. В предложении ON DELETE предусмотрены следующие параметры:

  • NO ACTION: удаления не произойдет и будет выведено сообщение об ошибке.

  • CASCADE: все строки с внешними ключами, указывающими на удаленную строку, также будут удалены.

  • SET NULL: всем строкам с внешними ключами, указывающими на удаленную строку, присваивается значение NULL.

  • SET DEFAULT: всем строкам с внешними ключами, указывающим на удаленную строку, присваивается установленное для них значение по умолчанию.

Предложение ON UPDATE определяет действия, предпринимаемые при попытке обновления первичного ключа, на который указывает внешний ключ. Это предложение также поддерживает параметры NO ACTION, CASCADE, SET NULL и SET DEFAULT.

С помощью ограничений CHECK может осуществляться проверка того, соответствует ли некоторое сочетание значений столбцов заданному критерию. Примеры критериев, которые могут применяться в ограничении CHECK, приведены в таблице:

hello_html_m6fdbbe83.gif


Ход работы

  1. Задайте ограничения первичного ключа на все таблицы базы данных Сессия с помощью команды ALTER TABLE по первым столбцам таблиц.

  2. Откройте таблицу Сводная ведомость для изменения. Выделите два первых столбца таблицы (ID_Студент и ID_План), задайте ограничение первичного ключа на оба этих столбца.

  3. Для таблиц «Учебный_план» и «Сводная_ведомость» должны быть добавлены внешние ключи, связывающие таблицы базы данных «Сессия»:

  • FK_Дисциплина – внешний ключ, связывающий таблицы «Учебный план» и «Дисциплины» по столбцу ID_Дисциплина;

  • FK_Кадровый_состав – внешний ключ, связывающий таблицы «Учебный_план» и «Кадровый _состав» по столбцу ID_Преподаватель;

  • FK_Студент – внешний ключ, связывающий таблицы «Сводная_ведомость» и «Студенты» по столбцу ID _Студент;

  • FK_План – внешний ключ, связывающий таблицы «Сводная_ведомость» и «Учебный_план» по столбцу ID_План.

  1. Задайте условие уникальности на значения, вводимые в столбец наименование таблицы Дисциплины.

  2. Задайте для значений столбца Семестр таблицы Учебный_план логическое выражение разрешающее вводить только значения от 1 до 10.

  3. Задайте для значений столбца Оценка таблицы Сводная_ведомость логическое выражение разрешающее вводить только значения от 0 до 5.

  4. Задайте для значений столбца Телефон таблицы Кадровый_состав логическое выражение разрешающее вводить только значения хх-хх-хх.

  5. Задайте для значений столбца Зарплата таблицы Кадровый_состав логическое выражение разрешающее вводить только положительные значения.

  6. Задайте для значений столбца Налог таблицы Кадровый_состав логическое выражение разрешающее вводить только значения меньше значений находящихся в столбце Зарплата средствами графического интерфейса SSMS.

  7. Задайте для значений столбца Дата_сдачи таблицы Сводная_ведомость значение по умолчанию с помощью функции текущей даты.

hello_html_3367ef12.gif

  1. Задайте для значений столбца Телефон таблицы Студенты логическое выражение разрешающее вводить только значения хх-хх-хх.


Контрольные вопросы:

  1. Каким образом может быть создан первичный ключ таблицы?

  2. Какова синтаксическая структура объявления внешнего ключа?

  3. Как называют ограничения UNIQUE? Каковы различия между ними и ограничениями первичного ключа?

  4. Что осуществляется с помощью ограничений CHECK?

  5. Каковы основные особенности ограничений DEFAULT?

  6. Как осуществляется и для чего может потребоваться отмена действия ограничений?

Автор
Дата добавления 05.11.2016
Раздел Другое
Подраздел Другие методич. материалы
Просмотров46
Номер материала ДБ-322782
Получить свидетельство о публикации

"Инфоурок" приглашает всех педагогов и детей к участию в самой массовой интернет-олимпиаде «Весна 2017» с рекордно низкой оплатой за одного ученика - всего 45 рублей

В олимпиадах "Инфоурок" лучшие условия для учителей и учеников:

1. невероятно низкий размер орг.взноса — всего 58 рублей, из которых 13 рублей остаётся учителю на компенсацию расходов;
2. подходящие по сложности для большинства учеников задания;
3. призовой фонд 1.000.000 рублей для самых активных учителей;
4. официальные наградные документы для учителей бесплатно(от организатора - ООО "Инфоурок" - имеющего образовательную лицензию и свидетельство СМИ) - при участии от 10 учеников
5. бесплатный доступ ко всем видеоурокам проекта "Инфоурок";
6. легко подать заявку, не нужно отправлять ответы в бумажном виде;
7. родителям всех учеников - благодарственные письма от «Инфоурок».
и многое другое...

Подайте заявку сейчас - https://infourok.ru/konkurs


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ


Идёт приём заявок на международный конкурс по математике "Весенний марафон" для учеников 1-11 классов и дошкольников

Уникальность конкурса в преимуществах для учителей и учеников:

1. Задания подходят для учеников с любым уровнем знаний;
2. Бесплатные наградные документы для учителей;
3. Невероятно низкий орг.взнос - всего 38 рублей;
4. Публикация рейтинга классов по итогам конкурса;
и многое другое...

Подайте заявку сейчас - https://urokimatematiki.ru

Похожие материалы

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