Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ИТ_Лабораторная работа

.pdf
Скачиваний:
35
Добавлен:
11.03.2015
Размер:
785.54 Кб
Скачать

10

используя приведенные данные об именах полей, их свойствах и типах данных (табл. 1.4).

Все поля должны быть обязательными для заполнения (Свойство “Обязательное поле”: Да).

 

 

 

 

 

Таблица 1.4

 

Содержимое таблицы “Клиенты”

 

 

 

 

 

 

 

 

Имя поля

Тип дан-

Описание

Свойства поля

 

 

 

ных

 

 

 

 

 

Код кли-

Счетчик

Ключевое

Индексированное

поле:

ента

 

поле,

уни-

Да/Совпадения не допускают-

 

 

кальный

 

ся

 

 

 

 

номер

кли-

Ключевое поле задается в ме-

 

 

ента

 

ню Правка/Ключевое поле

Фамилия

Текст

Фамилия

Размер поля:

40,

 

 

 

 

 

Индексированное

поле:

 

 

 

 

Да/Совпадения допускаются

Имя

Текст

Имя

 

Размер поля:

20,

 

 

 

 

 

Индексированное

поле:

 

 

 

 

Да/Совпадения допускаются

Отчество

Текст

Отчество

Размер поля:

40,

 

 

 

 

 

Индексированное

поле:

 

 

 

 

Да/Совпадения допускаются

Индекс

Числовой

Почтовый

Размер поля:

Целое,

 

 

 

индекс

 

Индексированное

поле:

 

 

 

 

Да/Совпадения допускаются

Населен-

Текст

Название

Размер поля:

40,

 

ный

 

населенного

Индексированное

поле:

пункт

 

пункта

 

Да/Совпадения допускаются

Почто-

Текст

Почтовый

Размер поля:

50,

 

вый адрес

 

адрес

 

Индексированное поле:

Нет

4.4. Перейти в режим “Таблицы”, сохранив макет таблицы под именем “Клиенты”, и добавить в таблицу “Клиенты” 3 записи (рис. 1.3.).

Рис. 1.3.Добавление записей в таблицу “Клиенты”

11

4.5. Создать в режиме “Конструктора” макет таблицы “Проекты”, используя нижеприведенные данные (табл. 1.5).

 

 

 

 

 

Таблица 1.5

 

Содержимое таблицы “Проекты”

 

 

 

 

 

 

 

Имя поля

Тип дан-

Описание

Свойства поля

 

 

 

ных

 

 

 

 

 

Код про-

Счетчик

Ключевое

Индексированное поле:

 

екта

 

поле,

уни-

Да/Совпадения не допускают-

 

 

кальный

ся

 

 

 

 

номер

зака-

Ключевое поле задается в ме-

 

 

за

 

ню Правка/Ключевое поле

 

Проект

Текст

Название

Размер поля:

20,

 

 

 

проекта

 

Индексированное поле:

 

 

 

 

 

Да/Совпадения допускаются

Код кли-

Числовой,

Внешний

Размер поля:

Целое

 

ента

*Мастер

ключ,

для

Индексированное поле: Да,

 

подстано-

связи с таб-

допускаются совпадения

 

 

вок

лицей

Кли-

 

 

 

 

 

енты

 

 

 

 

Сроки

Да-

Дата заказа

Формат: Краткий формат даты

 

та/время

ДД.ММ.ГГ

Индексированное поле:

 

 

 

 

 

Да/Совпадения допускаются

Выпол-

Логиче-

Выполнен

Формат: Да/Нет

 

 

нение

ский

проект

или

 

 

 

 

 

нет

 

 

 

 

Стои-

Денежный

Цена

про-

Формат: Денежный

 

мость

 

дажи

 

Число десятичных знаков:

3

Мастер подстановок позволяет создать для указанных полей

спи-

сок, из которого выбирается значение.

 

 

 

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

12

клиента” и “Фамилия” и нажать кнопку “Далее”. Просмотреть столбец подстановки и оставить установленный по умолчанию флажок “Скрыть ключевое поле”. Нажать кнопку “Далее”. Ввести название столбца подстановок и нажать на кнопку “Готово”.

Используя “Мастер подстановок”, сформировать для поля “Код клиента” список выбора из таблицы “Клиенты”.

4.6. Добавить 5 записей в таблицу “Проекты”.

4.7. Создать в режиме “Конструктора” макет таблицы “Должности”, используя нижеприведенные данные (табл. 1.6).

 

 

 

 

Таблица 1.6

 

Содержимое таблицы “Должности”

 

 

 

 

 

 

Имя поля

Тип дан-

Описание

Свойства поля

 

 

ных

 

 

 

 

Код

Счетчик

Ключевое

Индексированное

поле:

должно-

 

поле, уни-

Да/Совпадения не допускают-

сти

 

кальный

ся

 

 

 

 

номер долж-

Ключевое поле задается в ме-

 

 

ности

ню Правка/Ключевое поле

Долж-

Текст

Должность

Размер поля: 40,

 

ность

 

 

Индексированное

поле:

 

 

 

Да/Совпадения допускаются

Долж-

Денежный

Размер

Формат: Денежный

 

ностной

 

должностно-

Число

десятичных

знаков:

оклад

 

го оклада

Auto

 

 

 

 

 

Индексированное поле: Да,

 

 

 

допускаются совпадения

Надбавка

Денежный

Размер

Формат: Денежный

 

 

 

надбавки

Число

десятичных

знаков:

 

 

 

Auto

 

 

 

 

 

Индексированное поле: Да,

 

 

 

допускаются совпадения

Отпуск

Числовой

Количество

Размер поля: Целое

 

дн.

 

отпускных

Индексированное поле:

Да,

 

 

дней

допускаются совпадения

4.8. Добавить 5 записей в таблицу “Должности”.

4.9. Создать макет таблицы “Сотрудники” в режиме “Конструктора”, используя нижеприведенные данные об именах полей, их свойствах и типах данных (табл. 1.7).

Все поля должны быть обязательными для заполнения.

13

 

 

 

 

 

Таблица 1.7

 

 

Содержимое таблицы “Сотрудники”

 

 

 

 

 

 

Имя поля

Тип дан-

Описание

Свойства поля

 

 

 

ных

 

 

 

 

Код

со-

Счетчик

Ключевое

Индексированное

поле:

трудника

 

поле,

уни-

Да/Совпадения не допускают-

 

 

 

кальный

ся

 

 

 

 

номер

со-

Ключевое поле задается в ме-

 

 

 

трудника в

ню Правка/Ключевое поле

 

 

 

БД

 

 

 

Фамилия

Текст

Фамилия

Размер поля: 40,

 

 

 

 

 

 

Индексированное

поле:

 

 

 

 

 

Да/Совпадения допускаются

Имя

 

Текст

Имя

 

Размер поля: 20,

 

 

 

 

 

 

Индексированное

поле:

 

 

 

 

 

Да/Совпадения допускаются

Отчество

Текст

Отчество

Размер поля: 40,

 

 

 

 

 

 

Индексированное

поле:

 

 

 

 

 

Да/Совпадения допускаются

Код

 

Числовой,

Внешний

Размер поля: Целое

 

должно-

*Мастер

ключ,

для

Индексированное поле:

Да,

сти

 

подстано-

связи с

таб-

допускаются совпадения

 

 

 

вок

лицей

 

 

 

 

 

 

Должности

 

 

Код

про-

Числовой,

Внешний

Размер поля: Целое

 

екта

 

*Мастер

ключ,

для

Индексированное поле:

Да,

 

 

подстано-

связи с

таб-

допускаются совпадения

 

 

 

вок

лицей

Про-

 

 

 

 

 

екты

 

 

 

Используя “Мастер подстановок”, сформировать для полей “Код должности” и “Код проекта” список выбора из таблиц “Должности” и “Проекты”.

4.8. Перейти в режим “Таблицы”, сохранив созданный макет таблицы под именем “Сотрудники”, добавить в таблицу “Сотрудники” 12 записей.

5-й этап. Создание схемы данных БД (связей между таблицами).

5.1. Выполнить команду “Схема данных” из меню “Сервис”. В диалогом окне “Добавление таблицы” последовательно добавить все че-

14

тыре таблицы. Закрыть диалоговое окно.

5.2. Установить связь между таблицами “Клиенты”-“Проекты”, “Сотрудники”-“Проекты” и “Сотрудники”-“Должности”: выделить ключевое поле в главной таблице (“Клиенты” или “Сотрудники”) и перетащить его на соответствующее поле таблицы-связки “Проекты”, аналогично связать таблицы “Сотрудники” и “Должности” (рис. 1.4.).

Рис. 1.4. Схема данных

5.3. Сохранить макет схемы данных.

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

1.Что такое объект типа “Таблица”, как его можно создать, как задать свойства объекта “Таблица”, отличные от свойств его отдельных полей?

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

3.Что такое “Ключ” для объекта типа “Таблица” и как его можно задать, если он состоит из одного или нескольких полей таблицы? Может ли быть задано для таблицы несколько ключей?

4.Что такое связи между таблицами, какого типа связи между таблицами поддерживает MS Access?

5.Перечислите основные этапы проектирования реляционной БД. Кратко поясните содержание каждого этапа.

6.Какие требования предъявляют к содержанию таблиц реляционной БД?

15

7.Приведите порядок создания макета таблицы в режиме “Конструктора”.

8.Для чего в каждой таблице задается первичный ключ? В чем различие между первичным и внешним ключом?

9.Порядок формирования схемы БД.

Лабораторная работа №2 Проектирование и заполнение индивидуальной базы данных,

связывание таблиц базы данных с соблюдением условий ссылочной целостности

Цель работы:

Изучить процесс создания базы данных и таблиц базы данных, на примере заданного варианта, с помощью Конструктора; заполнить таблицы данными, по варианту; изучить стандартную панель инструментов для окна “Схема данных”, освоить способы определения связей между таблицами; освоить методы ссылочной целостности в реляционных базах данных.

Содержание отчета:

1.Титульный лист.

2.Цель работы.

3.Структурная схема базы данным с имеющимися связями.

4.Спецификации для каждой таблицы (тип данных, свойства полей).

5.Содержимое каждой таблицы согласно постановке задачи.

6.Краткие ответы на контрольные вопросы.

7.Выводы.

Краткие теоретические сведения

Соблюдение условий ссылочной целостности в реляционной базе данных

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

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

16

сти, либо не привести к нарушению ссылочной целостности. Для родительской таблицы:

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

Обновление. Изменение значения первичного ключа в записи может привести к нарушению ссылочной целостности.

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

Для дочерней таблицы:

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

Обновление. При обновлении записи в дочерней таблице можно попытаться некорректно изменить значение внешнего ключа. Операция может привести к нарушению ссылочной целостности.

Удаление. При удалении записи в дочерней таблице ссылочная целостность не нарушается.

Стратегии поддержания ссылочной целостности

Существуют две основные стратегии поддержания ссылочной целостности.

Restrict (ограничить) - не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.

Cascade (каскадное изменение) - разрешить выполнение требуемой операции, но внести при этом необходимые изменения в связанных таблицах так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительской таблице и каскадно выполняется в дочерних таблицах.

Дополнительные стратегии поддержания ссылочной целостности

Ignore (игнорировать) - разрешить выполнять операцию без проверки ссылочной целостности. В этом случае в дочерней таблице могут появляться некорректные значения внешних ключей, вся ответствен-

17

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

Set null (задать значение null) - разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Эта стратегия имеет два недостатка. Вопервых, для нее требуется разрешение на использование null-значений. Во-вторых, записи дочерней таблицы теряют связь с записями родительской таблицы.

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

Обеспечение ссылочной целостности средствами MS Access

Для обеспечения ссылочной целостности между таблицами необходимо выполнить команду “Схема данных” из меню “Сервис”. В диалогом окне “Добавление таблицы” последовательно добавить все таблицы. Закрыть диалоговое окно. При установке связи между таблицами в появившемся диалоговом окне “Изменение связей” установить флажки, при помощи которых можно задать различные варианты обеспечения целостности данных. Два нижних флажка доступны только тогда, когда установлен верхний.

Флажок “Обеспечение целостности данных”. Этот флажок можно устанавливать при выполнении всех следующих условий: связываемое поле из главной таблицы является полем первичного ключа или имеет уникальный индекс; связанные поля имеют один и тот же (или совместимый) тип данных; обе таблицы содержатся в одной и той же базе данных MS Access. Снимите этот флажок, чтобы допустить изменения в связанных таблицах, которые приводят к нарушению условий целостности данных.

Флажок “Каскадное обновление связанных полей”. Установите этот флажок для того, чтобы MS Access автоматически обновлял соответствующие значения в связанной таблице при любом изменении значения первичного ключа в главной таблице.

Флажок “Каскадное удаление связанных записей”. Флажок нужно установить для автоматического удаления связанных записей в связанной таблице при удалении записи в главной таблице. Для предотвращения удаления записей из главной таблицы, если имеются соответствующие записи в связанной таблице, нужно установить флажок “Обеспечение целостности данных” и снять флажок “Каскадное уда-

18

ление связанных записей”.

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

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

2.Реализовать проект средствами MS Access.

3.Сформировать схему данных: установить связи между исходными таблицами, обеспечить условия ссылочной целостности данных. Печать схемы выполнить с помощью команды Файл/Печать схемы данных.

4.Выполнить информационное наполнение базы данных. Значения полей базовых таблиц задать самостоятельно.

5.Подготовить отчет по работе.

Варианты заданий

1. Информационная система “Сервисный центр” Разработать базу данных сервисного центра, предоставляющего об-

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

2.Информационная система “Магазин канцелярских принадлежностей”

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

Увас несколько видов товаров с установленными ценами. Имеется система скидок при работе с постоянными клиентами. И стоит учитывать наличие товаров на складе.

3.Информационная система “Строительная фирма”

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

4. Информационная система “Транспортная компания” Вы проектируете информационную систему для транспортной ком-

пании, которая занимается перевозками грузов внутри страны и имеет

19

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

5. Информационная система “Поликлиника” Вам необходимо построить информационно-справочную систему

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

6. Информационная система “Библиотека” Разработать информационную систему содержащую информацию о

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

7. Информационная система “Международный автобус” Ваша фирма занимается продажей билетов на междугородные авто-

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

8. Информационная система “Туристическая компания” Ваша фирма занимается организацией туристического обслужива-

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