Создание реляционной базы данных.




ЛАБОРАТОРНА РОБОТА № 2

Тема: Створення взаємозв’язків між таблицями.

Мета: Навчитися створювати інфологічну, логічну та реляційну моделі бази даних.

Обладнання: IBM PC, Windows, Access.

Завдання:

1. Разработайте информационно-логическую модель реляционной базы данных.

2. Разработайте логическую модель реляционной базы данных

3. Создайте реляционную модель

ТЕХНОЛОГИЯ РАБОТЫ

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

Рассмотрим связь между объектами Студенты и Дисциплины. Студент изучает несколько дисциплин, что соответствует многозначной связи и отражено на рис. 3 двойной стрелкой. Понятно, что каждая дисциплина изучается множеством студентов. Это тоже многозначная связь, обозначаемая двойной стрелкой (связь "один" обозначена одинарной стрелкой). Таким образом, связь между объектами Студенты и Дисциплины - Многие-ко-многим (М: N).

Рис. 3. Типы связей между объектами Студенты, Дисциплины и Преподаватели.

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

Рис. 4. Информационно-логическая модель реляционной базы данных

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

Рис. 5. Логическая модель базы данных

Создание реляционной базы данных.

1.Откройте базу данных Деканат.

2.Создайте структуру таблицы Студенты.

3.Создайте структуру таблицы Дисциплины.

4. Измените структуру таблицы Преподаватели.

5. Создайте структуру таблицы Оценки.

6.Разработайте схему данных, т.е. создайте связи между таблицами.

ТЕХНОЛОГИЯ РАБОТЫ

1. Откройте базу данных Деканат, выполнив следующие действия:

§ загрузите Access, в появившемся окне выберите пункт Файл- Открыть- выберите уже созданную БД «Деканат» и щелкните по кнопке <Открыть>;

§ (или же, заранее выбрав нужный файл, дважды щелкните ЛКМ);

2. Создайте структуру таблицы Студенты. Для этого:

§ в окне базы данных выберите вкладку Таблицы, а затем щелкните по кнопке <Создать>;

§ в окне "Новая таблица" выберите пункт Конструктор и щелкните по кнопке <ОК>.

§ определите поля таблицы в соответствии с табл.3 и рекомендациями для имен полей, которые были рассмотрены в Лаб.раб. №1;

Таблица 3.

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

 

§ в качестве ключевого поля задайте "Код студента". Для этого щелкните по полю "Код студента" и выполните команду Правка, Ключевое поле;

§ закройте таблицу, задав ей имя Студенты.

Примечание. Индекс - это средство Access, ускоряющее поиск и сортировку данных в таблице. Ключевое поле (поле первичного ключа) таблицы индексируется автоматически. Не допускается создание индексов для полей типа MEMO и Гиперссылка или полей объектов OLE. Свойство Индексированное поле определяет индекс, создаваемый по одному полю. Индексированное поле может содержать как уникальные, так и повторяющиеся значения. Допускается создание произвольного количества индексов. Первичный ключ может состоять и из комбинации полей (составной ключ).

 

3. Создайте структуру таблицы Дисциплины аналогично п. 2 в соответствии с табл. 4.

Таблица 4

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

 

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

4. Создайте структуру таблицы Оценки аналогично п. 2 в соответствии с Таблица 5

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

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

1. Структура таблицы Преподаватели уже создана в работе 1, поэтому откройте эту таблицу для изменений в режиме Конструктора - в соответствии с рис. 5 в структуру таблицы надо добавить поле "Код дисциплины" и потом заполнить его данными в соответствии с данными табл. 6.

Таблица 6.

Код дисциплины Название дисциплины
  Информатика
  Математика
  Физика
  Экономика

 

2. Разработайте схему данных, т.е. создайте связи между таблицами. Для этого:

§ выполните команду Сервис, Схема данных. На экране появится окно "Схема данных";

§ выполните команду Связи, Добавить таблицу;

§ в появившемся окне будет выделено название одной таблицы. Щелкните по кнопке <Добавить>;

§ переведите выделение на имя следующей таблицы и щелкните по кнопке <Добавить>. Аналогично добавьте оставшиеся две таблицы;

§ закройте окно, щелкнув по кнопке <3акрыть>;

§ создайте связь между таблицами Дисциплины и Оценки. Для этого подведите курсор мыши к полю "Код дисциплины" в таблице Дисциплины щелкните левой кнопкой мыши и, не отпуская ее, перетащите курсор на поле "Код дисциплины" в таблицу Оценки, а затем отпустите кнопку мыши. На экране откроется окно "Связи";

§ установите флажок ("галочку") в свойстве Обеспечение целостности данных, щелкнув по нему;

§ установите флажок в свойстве Каскадное обновление связанных полей и Каскадное удаление связанных записей;

Примечание. К аскадное обновления связанных полей и каскадное удаление связанных записей позволит вам отредактировать записи только в таблице Дисциплины, а в таблице Оценки эти действия будут со связанными записями выполняться автоматически. Например, если вы удалите из таблицы Дисциплины один предмет, то в таблице Оценки удалятся все строки, связанные с этим предметом.

§ щелкните по кнопке <Создать>. Связь будет создана;

§ аналогично создайте связи между полем "Код дисциплины" в таблице Дисциплины и полем "Код дисциплины" в таблице Преподаватели, а также между полем "Код студента" в таблице Студенты и полем "Код студента" в таблице Оценки. Результат представлен на рис. 6;

§ закройте окно схемы данных, ответив ДА на вопрос о сохранении макета.

 

Рис. 6. Связи между таблицами базы данных Деканат.

Контрольные вопросы:

1. Как установить связи между таблицами?

2. Назовите основные виды связей между таблицами.

3. Что обозначает тип связи «один ко многим»?

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: