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