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

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

Схема представляет собой таблицу типов используемых данных, она содержит имена объектов и их атрибуты и определяет существующую между ними связь.

Access является реляционной СУБД. Как известно, основными понятиями реляционной БД являются: отношение (таблица, файл БД), кортеж (строка таблицы, запись файла БД), домен (столбец таблицы, поле файла БД).

Все обрабатываемые данные в Бд организованы в таблицы, обладающие свойствами реляционных таблиц, и результатом любого манипулирования является таблица или совокупность таблиц. Реляционная структура базируется на аппарате реляционной алгебры.

Постановка задачи. Рассмотрим задачу, связанную с назначением на стипендию студентов по результатам экзаменационной сессии. С целью упрощения решения задачи рассмотрим данные по некоторым студентам двух учебных групп, сдающих в сессию четыре экзамена. Стипендия назначается студентам, получившим на экзаменах хорошие и отличные оценки. Если хороших оценок получено более одной, назначается стипендия в размере 100%. За одну хорошую и за все остальные отличные оценки устанавливается стипендия в размере 150%, а за отличные – 200%.

Данные организованы в три таблицы: СТУДЕНТ, СЕССИЯ, СТИПЕНДИЯ.

Таблица СТУДЕНТ содержит необходимые данные о каждом студенте, обучающемся в вузе: номер личного дела, фамилия, имя, отчество, пол, дата рождения, номер учебной группы.

Таблица СУССИЯ содержит сведения о результатах сдачи студентами четырёх экзаменов: номер личного дела (совпадает с номером зачётной книжки и студентческого билета), оценка1, оценка2, оценка3, оценка4, результат сдачи сессии может принимать одно из следующих значений: «отл» - за все отличные оценки, «хр» - за одну четвёрку и все остальные пятёрки, «хор» - за две четвёрки и более, «нхр» - за удовлетворительные и неудовлетворительные оценки.

Таблица СТИПЕНДИЯ содержит информацию об условиях назначения студентов на стипендию: результат сдачи сессии (см. табл. СЕССИЯ) и процент стипендии.

В результате обработки информации, содержащейся в этих таблицах, подготавливается проект приказа о назначении студентов на стипендию.

Информационно-логическую модель (ИЛМ) представим в графическом виде (рис.9.11)

СЕССИЯ

Рис. 9.11. Пример графического представления ИЛМ

При проектировании БД целесообразно строить информационно-логическую модель (ИЛМ) предметной области, которая определяет совокупность информационных объектов их атрибутов, их структурных связей.

Информационный объект – формализованное отображение объекта реального мира. В качестве объектов могут выступать реально существующие объекты, процессы, понятия.

Информационный объект должен обладать следующими свойствами: иметь имя, уникальный идентификатор, состав атрибутов, количество атрибутов, количество экземпляров. В качестве идентификатора используется один или несколько атрибутов.

Для решения поставленной задачи выделяются следующие информационные объекты и их ключи (ключ – это подчеркнутый атрибут):

СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения, Группа)

СУССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат)

СТИПЕНДИЯ (Результат, Процент)

Связи между информационными объектами отображаются реальными отношениями.

Определены следующие типы реальных отношений:

1) 1:1 (Один-к-одному), при которых одному экземпляру первого информационного объекта соответствует один экземпляр второго информационного объекта. Примером такого отношения может служить связь между информационными объектами поставленной здесь задачи

СТУДЕНТ<–––> СЕССИЯ

2) 1:M (Один-ко-многим), при которых одному экземпляру первого объекта соответствует множество экземпляров второго объекта, а каждому экземпляру второго объекта соответствует один экземпляр первого объекта. Примером данного отношения служит связь между информационными объектами поставленной здесь задачи

СТИПЕНДИЯ <–––> СЕССИЯ

3) М:М (Многие-ко-многим), при которых каждому экземпляру первого объекта соответствует множество экземпляров второго объекта, и каждому экземпляру второго объекта соответствует множество экземпляров первого объекта, например связь между информационными объектами

СТУДЕНТ и ПРЕПОДАВАТЕЛЬ.

Реляционный подход к проектированию ИЛМ базируется на понятии нормализации. Теория нормализации основана на том, что определённые наборы таблиц (отношений) в наилучшей степени отражают свойства предметной области и в то же время обнаруживают лучшие качества по отношению к другим наборам таблиц в процессе манипулирования. Спроектированные в данной задаче таблицы содержат только простые, далее неделимые данные (находятся в первой нормальной форме), выполняется условие функционально-полной зависимости неключевых атрибутов от ключа (находятся во второй нормальной форме), отсутствует транзитивная зависимость неключевых атрибутов от ключевых или зависимости между неключевыми атрибутами (находятся в третьей нормальной форме).

Связи между атрибутами реализуются объединением атрибутов в таблицу.

Связи между объектами в реляционной базе не хранятся, а образуются в процессе манипулирования.

Создание многотабличной базы данных. СУБД Aceess может обрабатывать данные различных таблиц базы данных. Для этого пользователю необходимо формирование каждой из этих таблиц БД установить ключ (определить ключевое поле), а затем создать связи между таблицами.

В случае если БД содержит несколько табли, необходимо также определение ключа для каждой таблицы.

Access создаёт индекс для ключевого поля таблицы и использует его для поиска записей и объединения таблиц в запросе. Ключевое поле не может содержать пустых и повторяющихся значений. Таблицу, в которой не определён ключ, нельзя использовать при установке связей, кроме того, поиск и сортировка в такой таблице выполняются медленнее.

Установление связей между таблицами

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

В Access возможно создание между таблицами можно, если в них есть совпадающие поля. Ключевое поле первой таблицы должно соответствовать аналогичному полю связанной таблицы. Если связанная таблица не содержит такого поля, то его необходимо добавить.

Для установления отношения многие-ко-многим (М:М) необходимо создать связующую таблицу, содержащую ключевые поля обеих связываемых таблиц.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: