С созданным ранее интерфейсом работать неудобно, так как на экран выводятся значения ключевых полей и при работе с записями (добавление, редактирование и удаление) каждый раз приходится обращаться к другим таблицам и отыскивать нужное значение ключевого поля. Работа по связыванию таблиц выполняется пользователем визуально и вручную. На практике такое построение базы данных не используется.
Для связывания таблиц разработчик базы данных определяет условия ссылочной целостности, т. е. устанавливает между таблицами жесткие связи. В гл. 1 рассмотрены связи, которые можно установить между таблицами. Наиболее популярны связи «один- к-одному» и «один-ко-многим». Использование механизма ссылочной целостности накладывает некоторые ограничения на работу с базой данных. Так, заполнение полей первичных ключей должно выполняться автоматически самой СУБД. Для этих целей в таблицах формата PARADOX используются автоинкрементальные поля типа ± Autoincrement. В других СУБД используются другие механизмы заполнения значениями полей первичного ключа. Автоинкрементальное поле заполняется уникальными целочисленными значениями, которые генерируются автоматически при возникновении события добавления записи.
Пользователь (и программист) лишен возможности добавлять, изменять и удалять значение автоинкрементального поля.
Для установления связи между таблицами в одной таблице выбирается первичный ключ (целочисленное поле), а во второй таблице— внешний ключ (целочисленное поле). Тип связи между двумя таблицами устанавливается автоматически. Если внешний ключ уникальный, то связь будет иметь тип «один-к-одному». Если внешний ключ регулярный, то связь будет иметь тип «один-ко-мно- гим». Тип связи «многие-ко-многим» на практике используется чрезвычайно редко.
При добавлении или редактировании записи в дочерней таблице при заполнении поля внешнего ключа надо в соответствующей таблице-справочнике (родительской) найти нужное значение, прочитать в найденной строке значение первичного ключа и записать его в поле внешнего ключа дочерней таблицы.
При удалении записи из таблицы-справочника (родительской) необходимо обеспечить каскадное удаление записей в следующем порядке: удалить все связанные записи из дочерней таблицы (или таблиц) и в последнюю очередь удалить запись из таблицы-спра- вочника. Удаление записи из дочерней таблицы выполняется без условий.
Теперь, приобретя некоторый опыт проектирования базы данных и интерфейса по управлению базой данных, создадим новую базу данных и интерфейс. Необходимость создания базы данных Catalog вызвана тем, чтобы определить условия ссылочной целостности.
В структуру базы данных введена таблица Per, с помощью которой удалось заменить связь «многие-ко-многим» между таблицами Book и Author на две связи «один-ко-многим». Наличие таблицы Per позволило легко решить задачу определения соавторства.
20. Язык запросов SQL. ЗАПРОСЫ НА ПРОЕКЦИЮ
SQL (ˈɛsˈkjuˈɛl; англ. structured query language — «язык структурированных запросов») — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление