Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Процедура выполнения команд. Рабочий цикл процессора: Функционирование процессора в основном состоит из повторяющихся рабочих циклов, каждый из которых соответствует...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2018-01-04 | 511 |
5.00
из
|
Заказать работу |
|
|
При таком типе связи каждой записи в одной таблице соответствует одна или более записей в связанной таблице. Для реализации такого отношения используются две таблицы. Одна из них представляет сторону «один», другая - сторону «много».
Например, нужно иметь информацию о студентах и результатах сдачи ими экзаменов (дата сдачи, предмет, оценка и т.д.). Если все это хранить в одной таблице, то ее объем неоправданно возрастет, т.к. в ней для каждой записи об очередном экзамене должны повторяться все анкетные сведения о студенте. Поскольку Студент и Экзамены - это разные сущности, то и атрибуты их должны храниться в разных таблицах. Но эти сущности связаны между собой, т.к. экзамены сдает определенный студент. Причем один студент может сдавать несколько экзаменов, т.е. налицо тип отношения «один-ко-многим».
Решением этой задачи является создание двух таблиц ( например, Студенты и Экзамены), в каждой из которых хранятся соответствующие атрибуты (рисунок 2). Для связывания этих таблиц нужно использовать какой-либо атрибут студента, сдающего экзамен, который будет повторяться в обеих таблицах. Но этот атрибут должен однозначно идентифицировать каждый экземпляр сущности Студент, т.е. являться уникальным для каждого студента. Таким атрибутом может стать, например, номер зачетки (он уникален для каждого студента). В данном случае атрибут Номер зачетки будет являться ключом для сущности Студент.
Рисунок 2 Пример связи «один-ко-многим»
Ключ – это минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности. Ключ может быть простым (когда он состоит из одного атрибута) и составным (когда он состоит более чем из одного атрибута). Если в таблице нет поля, однозначно определяющего каждую запись, его нужно создать искусственно.
|
В таблице со стороны «один» (в нашем примере Студенты) поле Номер зачетки будет ключевым.
Связь типа «много-ко-многим» (М:М)
При этом типе связи множеству записей в одной таблице соответствует множество записей в связанной таблице. Большинство современных СУБД непосредственно не поддерживают такой тип отношений. Для его реализации отношение разбивается на два, имеющих тип «один-ко-многим». Соответственно, для хранения информации потребуется уже как минимум три таблицы: две со стороны «много» и одна со стороны «один». Связь между этими тремя таблицами также осуществляется посредством ключевых полей.
Создание многотабличной базы данных в СУБД Access
Определение ключевых полей
При создании многотабличной базы данных важно правильно разбить данные на таблицы, определить связи между ними и определить ключевые поля.
Создавая таблицы с помощью Конструктора, MS Access может автоматически создать первичный ключ, поставив перед первым указанным в структуре полем поле Код и задав для него тип данных Счетчик. Это происходит, если в создаваемой таблице не были определены ключи. В этом случае при сохранении структуры таблицы MS Access напоминает об отсутствии ключевых полей и предлагает их автоматическое создание. Созданные таким образом ключевые поля далеко не всегда удачно вписываются в общую схему базы данных. В большинстве случаев ключи должен определять сам разработчик заранее, до сохранения структуры таблицы. В отношениях «один-ко-многим» таблица со стороны «много» вообще может не иметь ключевых полей. В этом случае от их автоматического создания всегда следует отказываться.
Для того, чтобы определить какое-либо поле таблицы ключевым, нужно в режиме Конструктора таблиц установить курсор в строке с именем этого поля и нажать на кнопку Определить ключ на панели инструментов или ввести команду Правка/Ключевое поле. После этого в строке рядом с именем этого поля появится изображение ключа.
|
1.3.2 Определение связи между таблицами
После определения структуры таблиц многотабличной базы данных нужно указать способ, которым эти таблицы связаны.
Для определения связей нужно перейти в окно базы данных и выполнить команду Сервис/Схема данных или на панели инструментов нажать кнопку Схема данных . После этого откроется окно Схема данных и окно Добавление таблицы. В окне Добавление таблицы нужно выделить имена таблиц, добавляемых в схему данных, и нажать на кнопку Добавить. После этого данное окно можно закрыть.
В окне Схема данных появятся имена всех указанных таблиц вместе со списками полей. Имена общих полей выделены полужирным шрифтом. Нужно выделить ключевое поле в списке полей таблицы со стороны “один”, нажать кнопку мыши, перетащить ее курсор на аналогичное поле в списке полей связываемой таблицы, после чего кнопку мыши отпустить. В результате появится диалоговое окно Связи (рисунок 3).
В этом окне в первой строке будет выведено имя поля, по которому связывались таблицы. Чтобы в связанных таблицах не нарушалась целостность данных, нужно щелкнуть по флажку Обеспечение целостности данных. После этого станет невозможна запись в неключевую таблицу такого значения общего поля, которого нет в таблице ключевой.
После установления целостности данных Access включает две дополнительные опции: Каскадное обновление связанных полей и Каскадное удаление связанных записей.
Рисунок 3 Диалоговое окно Связи
Если выбрать первую опцию, то при изменении какого-либо значения ключевого поля в ключевой таблице автоматически обновляются значения этого поля для соответствующих записей во всех связанных таблицах. Например, если у одного из студентов изменился номер зачетки в таблице Студенты, то он автоматически должен поменяться и в таблице Экзамены.
Выбор второй опции при удалении одной из записей в ключевой таблице приведет к удалению тех записей в таблице со стороны «много», которые имеют такое же значение ключа. Например, если из таблицы Студенты удалить запись об одном из студентов, то записи о результатах сданных им экзаменов будут удалены автоматически.
Для завершения процесса создания связей, нужно щелкнуть по кнопке Создать. Между таблицами в окне Схема данных будетнарисована линия, указывающая на наличие связи между ними. На конце линии у таблицы со стороны «один» будет цифра 1, а на другом конце, у таблицы со стороны «много» – символ бесконечности . После закрытия этого окна все установленные связи будут сохранены.
|
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
История развития пистолетов-пулеметов: Предпосылкой для возникновения пистолетов-пулеметов послужила давняя тенденция тяготения винтовок...
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!