|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Редактирование структуры таблицы
Связи между таблицами Структура БД в СУБД Access всегда разрабатывается таким образом, чтобы каждая таблица, которая в ней находится, не содержала избыточной информации. Например, в БД Образование необходимо хранить данные об оценках, которые получил каждый студент по тому или иному предмету. Как следствие, нужно также каким-то образом хранить и названия предметов, по которым эти оценки ставятся. Кроме этого, необходимо хранить фамилию, имя и отчество преподавателей с указанием предмета, который ведет каждый из них. Если для этих целей будет использоваться одна таблица, то станет очевидным нерациональное использование памяти компьютера, так как для каждого студента придется хранить в соответствующей записи названия предметов и фамилии преподавателей, которые будут повторяться много раз. Поэтому указанную информацию необходимо разбить на несколько таблиц, которые будут между собой взаимосвязаны, а именно: Студенты – информация о студенте, в частности уникальный код, который будет использоваться при хранении оценок: Преподаватели – информация о преподавателе, в частности уникальный код, используемый при хранении предметов; Предметы – информация о предмете, в частности уникальный код преподавателя, который ведет этот предмет, а также уникальный код предмета, используемый при хранении оценок; Успеваемость – информация об оценках студентов, в частности уникальный код для каждой записи с оценкой, код студента, код предмета и оценка, которая получена данным студентом по этому предмету. При этом для созданных таблиц необходимо установить связи, чтобы, например, по фамилии студента в таблице Студенты определить все записи с его оценками из таблицы Успеваемость. Для установки связей необходимо воспользоваться режимом Схема данных, который устанавливается командой Сервис – Схема данных или кнопкой Схема данных При этом очень важно правильно понимать, в чем заключается разница между «главной» и «подчиненной» таблицами. С точки, зрения сопоставления и поиска данных из двух таблиц никакой разницы нет – вы можете отыскивать как информацию из главной таблицы, опираясь на данные подчиненной таблицы, так и наоборот, отыскивать информацию в подчиненной, опираясь на информацию из главной. Различие состоит только в том, как система управления данными будет обеспечивать целостность данных при изменении значений в связующих полях или при удалении записей из связанных таблиц. Как правило, хотя бы в одной таблице связующее поле является первичным ключом и однозначно определяет запись в этой таблице. Такая таблица и является кандидатом в «главные». Если во второй таблице связующее поле не является однозначно характеризующим запись полем, то эта таблица не может быть главной, а может выступать только в качестве подчиненной. Рассмотрим пример базы данных «Клиенты и заказы». В этом примере таблица заказов не может быть главной, поскольку поле связи «Код заказчика» может содержать повторяющуюся информацию – ведь клиент может сделать несколько заказов. Главной должна быть таблица клиентов. Если в этой базе есть еще, например, и таблица товаров, при этом таблицы товаров и заказов будут связаны, скажем, полем «Код товара», то для этой связи главной таблицей станет таблица товаров. В такой базе данных из трех таблиц с двумя связями будут два «начальника» над одним «подчиненным».
Так, например, если рассмотреть пример с БД «Студенты» то установление флажка «Обеспечение целостности данных» приведет к тому, что после этого в таблицу Успеваемость невозможно будет ввести запись с таким значением поля КодСтудента, для которого нельзя будет найти соответствующую запись в таблице Студенты. Флажок «каскадное обновление связанных полей». При изменении значения ключевого поля в "главной" таблице (Студенты) автоматически изменяются значения связанного поля для соответствующих, записей в «подчиненной» таблице (Успеваемость). В рассматриваемом случае ключевое поле КодСтудента является счетчиком, следовательно, значения этого поля не могут быть изменены пользователем. Поэтому нет необходимости устанавливать данный флажок. Флажок «каскадное удаление связанных записей». При удалении записи из «главной» таблицы (Студенты) автоматически удаляются те записи из «подчиненной» таблицы (Успеваемость), для которых значение поля КодСтудента совпадает со значением в удаленной записи из таблицы Студенты. Так как в таблице Успеваемость не нужно хранить оценки несуществующих студентов, то флажок «каскадное удаление связанных записей» следует установить. После того как выбраны поля для установления связи между таблицами, в окне Изменение связей необходимо нажать кнопку «Создать», после чего на схеме данных в виде линии будет отображена созданная связь. Чтобы изменить установленную связь, необходимо выделить соответствующую линию, щелкнув по ней мышью. После этого связь можно удалить командой «Правка» – «Удалить» или с помощью клавиши Delete, а также изменить, вызвав окно «Изменение связи» командой «Связи» – «Изменить связь» или двойным щелчком на линии связи. Полученную схему данных следует сохранить. Для этого нужно закрыть окно «Схемаданных» и ответить утвердительно на вопрос о сохранении схемы данных в системном сообщении об изменении макета. Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.) |