Каждая таблица способна функционировать полностью самостоятельно, но связи с другими таблицами помогают работать лучше, предоставлять больше сведений. Связи устанавливаются между двумя таблицами. Одна из них содержит поле, значение которого совпадает со значениями первичного ключа другой таблицы.
Связи бывают трех типов: «один-ко-многим», «один-к-одному», «многие-ко-многим».
1:1 каждая запись в таблице A может иметь не более одной связанной записи в таблице B и наоборот. Отношения этого типа используются не очень часто, поскольку большая часть сведений, связанных таким образом, может быть помещена в одну таблицу. Отношение «один-к-одному» может использоваться для разделения таблиц, содержащих много полей, для отделения части таблицы по соображениям безопасности, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.
Пример: учащийся - № зачетки.
1:N каждой записи в таблице A могут соответствовать несколько записей в таблице B, но не наоборот
Пример: Группа - учащиеся.
N:M одной записи в таблице A могут соответствовать несколько записей в таблице B, а одной записи в таблице B несколько записей в таблице A. Этот тип связи возможен только с помощью третьей (связующей) таблицы. Отношение «многие-ко-многим» по сути дела представляет собой два отношения «один-ко-многим» с третьей таблицей.
Пример: Учащиеся - дисциплины, которые они изучают.
Главная таблица содержит первичный ключ и составляет часть «один» в отношении «один-ко-многим», подчиненная таблица содержит такой же тип информации со стороны «много» в отношении «один-ко-многим».
Связи автоматически устанавливаются Мастером подстановок. Просмотреть, установить, отредактировать связи можно командой Сервис — Схема данных или инструментом .
Если связи устанавливаются первично, то откроется окно Таблицы, а если повторно, то окно Связи. Двойной щелчок на нужной таблице позволит перенести их в окно Связи.
Для установки связи между таблицами вручную нужно перетянуть связываемое поле из главной таблицы и наложить его на соответствующее поле подчиненной таблицы.
При этом открывается возможность задать свойства образующейся связи:
обеспечение целостности данных – защита от удаления записей, при котором связанные с ними данные других таблиц останутся без связей;
каскадное обновление связанных полей и каскадное удаление связанных записей обеспечивают одновременно обновление или удаление данных во всех подчиненных таблицах при их изменении в главной таблице. Например, если изменилась фамилия какой-то клиентки, то вносятся изменения только в одну таблицу, а в связанные с ней изменения вносятся автоматически.
Удаление и изменение связей производится с помощью контекстного меню на линии связи, а также клавишей Del.
В окне Схема данных двойной щелчок по линии связи позволит открыть окно Изменение связей (см. рис.). В нем можно установить флажок у опции Целостность данных, линия связи станет гораздо темнее и появятся значки «1» и «∞», означающие отношение «один» или «многие».
Если система определила тип связи (в нижней части диалогового окна) «один-к-одному» или «один-ко-многим», то можно поставить флажокПоддерживать целостность данных.
Целостность данных — это набор правил, защищающих данные от случайных изменений или удалений с помощью механизма поддержки корректности связей между связанными таблицами.
Если связь определена и система взяла на себя поддержку целостности данных, то при просмотре главной таблицы (отношение «один») слева, рядом с полосой выделения, появится колонка со знаками «+». Щелчок на «+» позволит открыть подчиненную таблицу (отношение «много» или «один»).
Поиск, сортировка и отбор данных в базе данных
Поиск и предоставление данных из БД – одна из основных задач СУБД. Средства, позволяющие извлечь информацию, достаточно многообразны. В зависимости от информационной потребности можно использовать простые или более сложные приемы поиска данных.
К простейшим видам поиска относиться использование команд Правка/Найти и Правка/Заменить или кнопка . В условиях поиска могут быть использованы операции сравнения (>, <, <=, >=, =, <>), а также подстановочные символы. К ним относятся:
· * - любая цифра или символ. Может быть первым или последним символом текстовой строки. Например, Иванов* - поиск слов Иванов, Иванова, Ивановская;
· ? – любой текстовый символ. Например, к?т – поиск слов кот, кит;
· [ ] – любой один символ из заключенных в скобки. Например, с[еу]ть – поиск слов сеть и суть;
· ! – любой один символ, кроме заключенных в скобки. Например, б[!ае]кс – поиск слов бокс, бикс, но не бакс, бекс;
· - любой символ из диапазона. Нужно указывать по возрастанию. Например, б[а-д]к – поиск слов бак, ббк, бвк, бгк, бдк.