prosdo.ru
добавить свой файл
1

Лабораторная работа №2

Создание и заполнение базы данных

Цель работы

Закрепить теоретические знания о создании баз данных, получить практические навыки создания реляционных баз данных, научиться заполнять и связывать таблицы по ключевым полям в среде Microsoft Office Access.

2.1. Общие методические рекомендации


Простейшая база данных состоит из одной таблицы. Например, для хранения данных о клиентах некоторой организации можно создать следующую простейшую таблицу с именемКЛИЕНТЫ (русская версия Access допускает использование русских имен таблиц и полей):


Имена полей:

КодКлиента

Организация

Руководитель

Адрес

Телефон

Запись 1 :

1

Рога и копыта

Бендер О.И.

Черноморск

12 34 56

Запись 2 :

2

АО Геркулес

Полыхаев А.А.

Одесса

33 33 33

Запись 3 :

3

Фирма МММ

Корейко А.И.

Черноморск


99 99 99

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .


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

Если две таблицы базы данных связаны между собой, то чаще всего тип этой связи определяется как
"Один ко многим", т.е. одной записи в одной таблице (называемой в данном случае главной) соответствует несколько записей в другой таблице (подчиненной);

Существуют также типы связей «один к одному» и «многие ко многим».

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

Например, для базы данных по клиентам интересно хранить информацию о договорах с этими клиентами. Можно для каждого договора хранить такую информацию, как дата заключения, сумма договора, текст договора и т.д. Очевидно, с одним клиентом можно заключить несколько договоров. Если всю эту информацию хранить в одной таблице, то для каждого договора с одним и тем же клиентом в таблице будет повторяться одна и та же информация о клиенте. Пример подобной таблицы: 

Имена полей:


Код Клиента

Организация

Руководитель

Адрес

Телефон

ДатаЗакл

Сумма

ТекстДоговора

Запись 1 :

1

Рога и копыта

Бендер О.И.

Черноморск

12 34 56

04.08.98

100 000

(текст договора)

Запись 2 :

2

АО Геркулес

Полыхаев А.А.

Одесса

33 33 33

10.07.98

200 000

(текст договора)

Запись 3 :

3

Рога и копыта

Бендер О.И.

Черноморск

12 34 56

01.09.98

50 000


(текст договора)

Запись 4 :

4

Рога и копыта

Бендер О.И.

Черноморск

12 34 56

10.10.98

150 000

(текст договора)

. . . . .

. . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .


Неэффективность такой таблицы состоит в том, что при изменении любых данных о каком-либо клиенте (например - изменение адреса и телефона) приходится просматривать всютаблицу и многократно заменять эти данные для каждой найденной записи. Следуя классическим рекомендациям теории реляционных баз данных надо разбить эту таблицу на две - главную (где содержится только общая информация о клиентах) и подчиненную (где содержатся только данные о договорах с клиентами). Для связи таблиц по типу "один ко многим" (т.е. один клиент ® несколько договоров) в подчиненную таблицу надо ввести внешний ключ КодКлиента из главной таблицы. Тогда подчиненная таблица c именемДОГОВОРА может содержать следующую информацию:

Имена полей:


КодДоговора

КодКлиента

ДатаЗакл

Сумма

ТекстДоговора

Запись 1 :

1

1

04.08.98 100 000

20000

(текст договора)

Запись 2 :

2

2

10.07.98 200 000

30000

(текст договора)

Запись 3 :

3

1

01.09.98 50 000

50000

(текст договора)

Запись 4 :

4

1

10.10.98 150 000

2000

(текст договора)

Запись 5 :

5

3

10.08.98 500 000

80000


(текст договора)

. . . . .

. . . . .

. . . . .

. . . . .

......

. . . . .


В этой таблице поле КодДоговора является главным ключом для таблицы ДОГОВОРА, обеспечивающим уникальность каждой записи о договорах, а поле КодКлиента - внешним ключом, обеспечивающим связь с главной таблицей КЛИЕНТЫ.

Работа с пакетом Access требует выполнения двух основных этапов:

1. создание базы данных;

2. использование базы данных для обработки информации.

2.2. Порядок выполнения работы




Создание пустой базы данных



Первыми в базе данных создаются таблицы. Рассмотрим создание таблиц БД «Успеваемость студентов» с помощью конструктора. Для этого нужно:


  1. Запустить Аccess командой Пуск – Все программы – Microsoft Office - Microsoft Office Access.

  2. Настроить Access на создание БД нажатием мышкой на кнопку «создать файл». Далее в появившемся справа диалоговом окне «Microsoft Access» выбрать переключатель Новая база данных и нажав кнопку «ОК».

  3. Задать место хранения файла базы и его имя, для чего в диалоговом окне «Файл новой базы данных» необходимо:

3.1. В раскрывающемся списке выбрать диск, например,D:.

3.2. Создать папку на диске D:, нажав на панели инструментов этого окна кнопку «Создать папку» ( ). В появившемся диалоговом окне «Создание папки» в поле Имя ввести имя папки, например, "БД" и нажать кнопку «ОК».


3.3. В поле «Имя файла» ввести название базы данных Успеваемость студентов.


    1. Нажать кнопку «Создать файл».


В результате выполненных действий появится окно пустой базы данных «Успеваемость студентов».


Создание таблиц базы данных


Для работы с таблицей (создания, изменения, заполнения данными) необходимо перейти в режим отображения списка таблиц в рабочей области окна БД, нажав на панели объектов кнопку «Таблицы».

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

Затем создадим динамические таблицы. После задания их структуры нужно установить связи между таблицами, чтобы при дальнейшем заполнении данными обеспечить целостность БД.

Таким образом, вначале создаются справочники Справочник академических групп, Справочник дисциплин, затем статическая таблица Студенты, а затем динамическая таблица – Успеваемость.

Создание и заполнение таблицы Справочник дисциплин





  1. На панели инструментов нажать кнопку «Создать».

  2. Для задания структуры таблицы в появившемся окне «Новая таблица» выбрать из списка элемент Конструктор.



  1. В первой строке бланка задать информацию о поле Ед, для чего:

3.1. В первый столбец «Имя поля» ввести текст "Код_дисциплины". В соседней клетке появиться тип данных, по умолчанию он задается текстовый. Любой другой выбирается с помощью ниспадающего меню.


Заполните поля в конструкторе данными. Общие свойства поля оставляем по умолчанию.




  1. Задать первичный ключ таблицы, для чего:




    1. Щелкнуть слева от имени Код_дисциплины.

    2. На панели инструментов окна Access нажать кнопку «Ключевое поле» ( ).




  1. Сохранить таблицу на диске, для чего:


5.1. На панели инструментов нажать кнопку «Cохранить» (  ).

    1. В появившемся окне «Сохранение» ввести текст " Справочник дисциплин " в поле «Имя таблицы» и нажать кнопку «OK».


Примечание. Обратите внимание, что после задания ключевого поля его свойство Индексированное поле автоматически получило значение “Да (Совпадения не допускаются)”.
В результате выполнения указанных действий создана пустая таблица Справочник дисциплин, которая имеет только два поля Код_дисциплины и Название_дисциплины. Для ее заполнения данными нужно:


  1. Перейти из режима конструктора в режим таблицы, нажав на панели инструментов окна Access кнопку <Вид> ( ).



  1. В появившуюся таблицу ввести записи.

При заполнении таблицы поле Код_дисциплины пропускается, поскольку оно имеет тип Счетчик и заполняется автоматически.
  1. Закрыть окно таблицы Справочник дисциплин, нажав соответствующую кнопку в его заголовке.




Создание и заполнение таблицы Справочник академических групп


Структура таблицы Справочник академических групп создается аналогично структуре таблицы Справочник дисциплин.



Создание и заполнение таблицы Студенты



При создании структуры таблицы Студенты нужно указать следующие свойства ее полей:
1. Поле Код_студента

  • Тип данных: Счетчик;

2. Поле Шифр_группы

  • Тип данных: Текстовый;

Свойства во вкладке «Общие»:

  • Обязательное поле: Да;

Свойства во вкладке «Подстановка» (все значения выбираются из списков):

  • Тип элементов управления: Поле со списком;

  • Тип источника строк: Таблица или запрос;

  • Источник строк: Справочник академических групп;

  • Ограничиться списком: Да.

3. Поле ФИО

  • Тип данных: Текстовый;


Эта таблица имеет составной ключ (состоящий из объединения полей Код_студента и Шифр_группы). Для задания ключа нужно:


  1. Выделить поля Код_студента и Шифр_группы, проведя указателем мыши в области их выделения при нажатой клавише мыши.

  2. На панели инструментов нажать кнопку «Ключевое поле».



При заполнении таблицы поле Код_студента пропускается, поскольку оно имеет тип Счетчик и заполняется автоматически.

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


После этого сохранить структуру таблицы на диске под именем Студенты и закрыть окно конструктора.

Создание таблицы Успеваемость



При создании структуры таблицы Успеваемость нужно указать следующие свойства ее полей:
1. Поле Код_студента

  • Тип данных: Числовой;

Свойства во вкладке «Общие»:

  • Обязательное поле: Да;

Свойства во вкладке «Подстановка» (все значения выбираются из списков):

  • Тип элементов управления: Поле со списком;

  • Тип источника строк: Таблица или запрос;

  • Источник строк: Студенты;

  • Ограничиться списком: Да.

2. Поле Код_дисциплины

  • Тип данных: Числовой;

Свойства во вкладке «Общие»:

  • Обязательное поле: Да;

Свойства во вкладке «Подстановка» (все значения выбираются из списков):

  • Тип элементов управления: Поле со списком;

  • Тип источника строк: Таблица или запрос;

  • Источник строк: Справочник дисциплин;

  • Ограничиться списком: Да.

3. Поле Оценка

  • Тип данных: Числовой;

Свойства во вкладке «Общие»:

  • Значение по умолчанию: пусто (удалить ноль);

  • Условие на значение: <13 (вводится с клавиатуры или с помощью построителя выражений нажатием кнопки ( )в правой части строки свойства);

  • Сообщение об ошибке: «Действует 12-ти бальная система оценивания знаний студентов»

Эта таблица имеет составной ключ (состоящий из объединения полей Код_студента и Код_дисциплины). Для задания ключа нужно:


  1. Выделить поля Код_студента и Код_дисциплины, проведя указателем мыши в области их выделения при нажатой клавише мыши.

  2. На панели инструментов нажать кнопку «Ключевое поле».



После этого сохранить структуру таблицы на диске под именем Успеваемость и закрыть окно конструктора.

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


Для установления связей между созданными таблицами нужно:
1. Открыть окно «Схема данных», нажав на панели инструментов одноименную кнопку ( ).

2. В появившемся окне «Добавление таблицы» (в случае его отсутствия нажать кнопку <Добавить таблицу> ( ) на панели инструментов), выбрать все таблицы БД и закрыть это окно.

3. Установить связи между таблицами в окне «Схема данных».

3.1. Из таблицы Справочник академических групп перетащить поле Шифр_группы на поле Шифр_группы в таблице Студенты.

3.2. В окне «Связи» задать свойства целостности данных, включив флажки Обеспечение целостности данных, Каскадное обновление связанных полей и Каскадное удаление связанных записей, а затем нажать кнопку «Создать».

3.3. Аналогичным образом установить связь между парами таблиц:

  • Студенты и Успеваемость (по полю Код_студента);

  • Справочник дисциплин и Успеваемость (по полю Код_дисциплины);

4. Закрыть окно «Схема данных».
Заполните таблицы данными, помнив, что первыми заполняются справочники, затем оперативные таблицы.

2.3. Отчет о выполнении лабораторной работы



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

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


  1. Что такое «таблица»?

  2. Чем отличается запись от поля?

  3. Для чего одну таблица разбивают на несколько таблиц?

  4. Как связываются таблицы?

  5. Какие типы связей существуют?

  6. Что показывает схема данных?



    1. Рекомендуемая литература



1. Дейт К. Дж. Введение в системы баз данных. 6-е изд.

— К.: Диалектика, 1998. — 784 с.: ил.

2. Пасічник В.В., Резніченко В.А. Організація баз даних та знань. – К.: Видавнича група BHV, 2006.- 384 c.

3. Саймон А.Р. Стратегические технологии баз даннях: менеджмент на 2000 год. — М.: Финансы и статистика, 1999. – 479 с.

4. Маклаков С. В. Создание информационных систем с AllFusion Modeling Suite. – М.: Диалог-МИФИ, 2003. – 432 с.

5.Томас Конноли. Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер. с англ.: Уч. пос. – М.: Издательский дом "Вильямс", 2000. – 1120 с.

6. Третяк В.Ф. Голубничий Д.Ю. Рубан І.В. та ін.. Системи управління базами даних. Харків: ХВУ, 2003. – 372 с.

7. ДСТУ 2874-94. Бази даних. Терміни та визначення. — Київ: Держстандарт України, 1995. — 32 с.