ТОП 10:

Построение реляционной базы данных и разработка инфологической модели



Одно из важнейших достоинств реляционных баз данных, как говорилось ранее, состоит в том, что можно хранить логически сгруппированные данные в разных таблицах и задавать связи между ними, объединяя их в единую базу. Для задания связи таблицы должны иметь поля с одинаковыми именами или хотя бы с одинаковыми форматами данных. Связь между таблицами устанавливает отношения между совпадающими значениями в этих полях. Такая организация данных позволяет уменьшить избыточность хранимых данных, упрощает их ввод и организацию запросов и отчетов.

В Access можно задать три вида связи между таблицами: Один-ко-многим, Многие-ко-многим, Один-к-одному. Связь Один-ко-многим – наиболее часто используемый тип связи между таблицами. В такой связи каждой записи таблицы А может соответствовать несколько записей таблицы В (поля с этими записями называют внешними ключами), а запись таблицы В не может иметь более одной соответствующей ей записи в таблице А. При связи Многие-ко-многим одной записи таблицы А может соответствовать несколько записей в таблице В, а одной записи таблицы В – несколько записей таблицы А. Такая схема реализуется только с помощью третьей (связующей) таблицы, ключ которой состоит по крайней мере из двух полей, одно из которых является общим с таблицей А, а другое – общим с таблицей В. При связи Один-к-одному запись в таблице А может иметь не более одной связанной записи в таблице В и наоборот. Это тип связи используют не очень часто, поскольку такие данные могут быть помещены в одну таблицу. Связь с отношением Один-к-одному применяют для разделения очень широких таблиц, для отделения части таблицы в целях ее защиты, а также для сохранения сведений, относящихся к подмножеству записей в главной таблице.

Рассмотрим создание модели на примере следующих таблиц: Преподаватели, Студенты, Дисциплины и Оценки. Структура первой таблицы описана в Таблица 1., структура таблицы Дисциплины представлена на Рис. 9, структура двух оставшихся таблиц представлена в Таблица 2 и Таблица 3.

Таблица 2

Имя поля Тип данных Размер поля
Код студента Счетчик  
Фамилия Текстовый
Имя Текстовый
Отчество Текстовый
Номер группы Числовой Целое
Телефон Текстовый
Стипендия Логический Да/Нет

 

Таблица 3

Имя поля Тип данных Размер поля
Код студента Числовой Длинное целое
Код дисциплины Числовой Длинное целое
Оценки Числовой Байт

Рассмотрим связь между объектами Студенты и Дисциплины. Студент изучает несколько дисциплин, что соответствует многозначной связи. Понятно, что каждая дисциплина изучается множеством студентов. Это тоже многозначная связь. Таким образом, связь между Студенты и ДисциплиныМногие-ко-многим (M : N). Множественные связи усложняют управление базой данных (в Access при такой связи нельзя использовать механизм каскадного обновления), поэтому использовать такие связи нежелательно и нужно строить реляционную модель, не содержащую связей типа Многие-ко-многим. Для свзи будем использовать объект Оценки. Каждый студент имеет оценки по нескольким дисциплинам, поэтому связь между Студенты и Оценки будет Один-ко-многим (1 : M). Каждую дисциплину сдает множество студентов, поэтому связь между Дисциплины и Оценки также будет Один-ко-многим (1 : M). В результате получаем информационно-логическую модель базы данных, приведенную на Рис. 18

 

Студенты Дисциплины Преподаватели

 
 

Оценки

 


Рис. 18

Для создания логической модели нужно после создания, по крайней мере, структур таблиц в окне базы данных нужно выполнить команды Сервис/Схема данных или щелкнуть на панели инструментов иконку . После этого откроется пустое окно Схема данных. Для добавления в схему таблиц нужно выполнить команды Связи/Добавить таблицу или щелкнуть на панели инструментов соответствующую иконку . В окне Добавление таблицывыбираем нужную таблицу (делаем текущей) и нажимаем кнопку Добавить. После добавления всех нужных таблиц закрываем окно нажатием кнопки Закрыть. После добавления таблиц в схему установим связи между ними. Для этого разместим таблицы в нужном порядке (установим курсор мыши в заголовок таблицы и удерживая кнопку мыши нажатой перетаскиваем ее). Далее выделяем в таблице поле для связи и опять же, удерживая кнопку мыши нажатой, тянем ее к соответствующему полю другой таблицы. На экране появляется окно Изменение связей, где определяется тип отношения (см.Рис. 19), указывается, нужно ли обеспечивать целостность данных, а также, нужно ли каскадное обновление связанных полей и каскадное удаление связанных полей. После нажатия кнопки Создать это окно закрывается, а в схеме данных появляется «связь». После создания всех связей схема данных выглядит, как указано на Рис. 20

 

Рис. 19

 

Рис. 20

 

Созданная схема данных будет в дальнейшем использоваться для создания форм, запросов и отчетов.

Разработка форм

Основой диалогового интерфейса пользователя для работы с БД являются формы. Через формы может осуществляться первоначальная загрузка данных во взаимосвязанные таблицы БД, просмотр данных, а также их корректировка. Работая с формой, можно добавлять и удалять записи из таблицы, изменять значения полей, получать расчетные данные. В процессе работы может осуществляться контроль вводимых данных. Access позволяет создавать однотабличные формы (на основе одной таблицы) и многотабличные (для работы с несколькими взаимосвязанными таблицами). Создавать формы можно в режиме Конструктора и с помощью Мастера форм.. Рассмотрим создание формы для ввода/вывода данных с помощью Мастера форм.. С его помощью можно легко получить типовой макет формы, а далее доработать ее средствами Конструктора форм.







Последнее изменение этой страницы: 2017-02-21; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.124.77 (0.004 с.)