Итак, данное ограничение уникальности
И второе важное требование, предъявляемое к ключу отношения, – это требование неизбыточности
. Что это значит? Это требование означает, что ни для какого строгого подмножества ключа требование уникальности не предъявляется.На интуитивном уровне понятно, что ключевой атрибут – это тот атрибут отношения, который однозначно и точно определяет каждый кортеж отношения. Например, в следующем отношении, заданном таблицей:
ключевым атрибутом является атрибут «№ зачетной книжки», потому что у различных студентов не может быть одинакового номера зачетной книжки, т. е. для этого атрибута выполняется ограничение уникальности.
Интересно, что в схеме любого отношения могут встретиться самые разные ключи. Перечислим основные виды ключей:
1) простой ключ
– это ключ, состоящий из одного и не более атрибута.Например, в экзаменационной ведомости по конкретному предмету простым ключом является номер зачетки, потому что по нему можно однозначно идентифицировать любого студента;
2) составной ключ
– это ключ, состоящий из двух и более атрибутов. Например, составным ключом в списке учебных аудиторий являются номер корпуса и номер аудитории. Ведь каким-то одним из этих атрибутов однозначно определить каждую аудиторию не представляется возможным, а их совокупностью, т. е. составным ключом, это сделать довольно легко;3) суперключ
– это любое надмножество любого ключа. Следовательно, сама схема отношения заведомо является суперключом. Из этого можно сделать вывод, что любое отношение теоретически имеет, как минимум, один ключ, а может иметь их и несколько. Однако объявление суперключа вместо обычного ключа логически недопустимо, так как связано с ослаблением автоматически контролируемого ограничения уникальности. Ведь супер ключ хоть и обладает свойством уникальности, но не обладает свойством неизбыточности;4) первичный ключ
– это просто ключ, который при задании базового отношения был объявлен первым. Важно, что допустимо объявление одного и только одного первичного ключа. Кроме того, атрибуты первичного ключа ни в коем случае не могут принимать Null-значений.При создании базового отношения в записи на псевдокоде первичный ключ обозначается primary key
и в скобках указывается имя атрибута, который и является этим ключом;5) кандидатные ключи
– это все остальные ключи, объявленные после первичного ключа.В чем заключаются основные отличия кандидатных ключей от ключей первичных? Во-первых, кандидатных ключей может быть несколько, тогда как первичный ключ, как было сказано выше, может быть только один. И, во-вторых, если атрибуты первичного ключа не могут принимать Null-значений, то на атрибуты кандидатных ключей это условие не накладывается.
На псевдокоде при задании базового отношения кандидатные ключи объявляются при помощи слов candidate key
и в скобках рядом, как и в случае объявления первичного ключа, указывается имя атрибута, который и является данным кандидатным ключом;6) внешний ключ
– это ключ, объявленный в базовом отношении, который при этом ссылается на первичный или кандидатный ключ того же самого или какого-то другого базового отношения.При этом отношение, на которое ссылается внешний ключ, называется ссылочным (или родительским)
отношением. А отношение, содержащее внешний ключ, называется дочерним.В записи на псевдокоде внешний ключ обозначается как foreign key
, в скобках непосредственно после этих слов указывается имя атрибута данного отношения, являющегося внешним ключом, а после этого записывается ключевое слово references («ссылается») и указать имя базового отношения и имя атрибута, на который и ссылается данный конкретный внешний ключ.Также при создании базового отношения для каждого внешнего ключа записывается условие, называемое ограничением ссылочной целостности
, но подробно мы будем говорить об этом позднее.Лекция № 8. Создание базовых отношений
Предметом этой лекции будет довольно подробное рассмотрение оператора создания базового отношения. Мы подвергнуть разбору сам оператор в записи на псевдокоде, проанализируем все его составляющие и их работу, разберем способы модификации, т. е. изменения базовых отношений.
1. Металингвистические символы
Бьерн Страуструп , Бьёрн Страуструп , Валерий Федорович Альмухаметов , Ирина Сергеевна Козлова
Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT