Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ключи и связи. Ссылочная целостность




 

Особенностью реляционных баз данных является то, что база данных состоит из нескольких таблиц.

Поскольку строки в каждой таблице неупорядочены, необходим столбец (или набор нескольких столбцов) для уникальной идентификации каждой строки, т.е столбец в котором нет одинаковых и пустых строк. Такой столбец называется первичный ключ (primary key). Иногда ключ может состоять из более чем одного столбца, он называется составным первичным ключом (composite primary key).

 

 

В приведенном выше примере первичным ключом будет являться поле Код клиента.

 

Рассмотрим также таблицу Заказы

 

Номер заказа   Код клиента Дата заказа Вес заказа
  АС 01.02.07  
  АА 10.04.07  
  АД 12.04.07  
  АВ 20.05.07  
  АС 01.06.07  
  АД 10.07.07  
       

Поле Код клиента этой таблицы содержит идентификатор клиента, разместившего конкретный заказ. Если мы хотим знать, как называется фирма, разместившая заказ, мы должны поискать это же значение идентификатора клиента поле Код клиента к таблицы Клиенты и в найденной строке прочесть значения поля Фирма. Иными словами, нам нужно связать две таблицы, Клиенты и Заказы.

Столбец, указывающий на запись в другой таблице, связанную с данной записью, называется внешним ключом (foreign key).

 

В случае таблицы Заказы внешним ключом является столбец Код клиента.

 

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

 

Клиенты Заказы

Код клиента (ПК)   Номер заказа
Клиент   Код клиента (ВК)
Город   Дата заказа
Улица   Вес заказа
Телефон    

 

Подобное взаимоотношение между таблицами называется связью (relationsship). Связь между двумя таблицами устанавливается путем присвоения значения внешнего ключа одной таблицы значениям первичного ключа другой.

Таблица, содержащая внешний ключ, называется detail – таблицей, а таблица, содержащая первичный ключ, называется master- таблицей.

Графическое изображение связи таблиц называется схемой данных.

 

Манипуляции с данными в базах данных, такие как выбор, вставка, удаление, обновление называются запросами к базе данных (query). Язык запросов называется SQL (Structured Query Language). Более подробно язык SQL будет изучаться в следующих лекциях.

 

 

Основное правило реляционной (ссылочной) целостности гласит:

Первичный ключ любой таблицы должен содержать уникальные (не повторяющиеся) непустые значения для данной таблицы.

 

СУБД должна контролировать уникальность первичных ключей. При попытке присвоить первичному ключу значение, уже имеющееся в другой записи, СУБД генерирует сообщение об ошибке первичного ключа. Если две таблицы связаны отношением master- detail, то внешний ключ должен содержать только те значения, которые уже имеются среди значений первичного ключа master–таблицы. Если СУБД не контролирует значение внешних ключей, то может произойти нарушение ссылочной целостности. Например, если из таблицы Клиенты удалить запись, имеющую хотя бы одну запись в таблице Заказы, то в таблице Заказы окажутся записи о заказах, размещенных неизвестно кем. В случае контроля ссылочной целостности со стороны СУБД генерируется сообщение об ошибке внешнего ключа либо при попытке присвоить внешнему ключу значение, отсутствующее среди значений первичных ключей, либо при удалении или модификации записей master – таблицы. Большинство современных СУБД контролируют ссылочную целостность.

 

 




Поделиться с друзьями:


Дата добавления: 2015-05-26; Просмотров: 718; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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