Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СУБД Access.doc
Скачиваний:
15
Добавлен:
31.08.2019
Размер:
2.48 Mб
Скачать

7.1 Окно схемы данных

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

Различают следующие типы связей:

  • один к одному (1 — 1) — создается в том случае, когда оба связующих поля являются ключевыми. При таком типе связи каждая запись одной таблицы соответствует только одной записи другой таблицы.

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

  • многие ко многим () — предполагает, что каждая запись одной таблицы может быть связана с любым числом записей другой таблицы и наоборот. Эта связь фактически представляет собой две связи с отношением один ко многим через третью таблицу.

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

7.2 Изменение существующей связи

Чтобы изменить связь между таблицами базы данных, следует:

  • открыть окно схемы данных;

  • установить курсор мыши на линию связи и дважды нажать левую кнопку мыши;

  • в появившемся диалоговом окне Связи внести нужные изменения и нажать кнопку Создать.

7.3 Удаление связи

Чтобы удалить связь между таблицами, необходимо выделить эту связь и нажать клавишу [Del].

7.4 Обеспечение целостности данных

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

К нарушению целостности данных могут привести следующие действия:

  • добавление в подчиненную таблицу записи с несуществующим в главной таблице значением ключа связи;

  • изменение значения ключа связи главной таблицы, следствием чего будет нарушение связи с записями подчиненной таблицы;

  • удаление записи из главной таблицы, если имеются связанные с ней записи в подчиненной таблице.

При попытке выполнить действия, нарушающие целостность данных, Access выдаст предупреждение и не допустит выполнения этих действий.

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

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

  • При установленном переключателе Каскадное удаление связанных полей изменение значения в ключевом поле главной таблицы приведет к автоматическому (каскадному) изменению соответствующих значений в связанных записях подчиненной таблицы.

  • При установленном переключателе Каскадное удаление связанных записей удаление записи в главной таблице приведет к автоматическому (каскадному) удалению связанных с ней записей в подчиненной таблице.

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

  1. Что Вы понимаете под структурой таблицы?

  2. Опишите последовательность создания структуры таблицы в окне конструктора.

  3. Какие требования предъявляются к именам полей?

  4. Какие типы данных используются в Access?

  5. Какие свойства полей Вам известны?

  6. Перечислите форматы числового поля.

  7. Как определить первичный ключ?

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

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

  10. Что называют условиями целостности данных?

Практическая часть

1. Создать базу данных, состоящую из шести таблиц: “Готовая продукция”, “Цеха”, “План”, “Спецификация к плану”, “Накладная”, “Спецификация к накладной”.

Таблицы “Готовая продукция” и “Цеха” содержат справочные данные из одноименных справочников.

Готовая продукция

Код

продукции

Группа продукции

Наименование продукции

Ед.

изм.

Цена за

ед., руб.

Номер цеха

0101

Колбаса вареная

Чайная

ц

8400

01

0102

Колбаса вареная

Докторская

ц

11200

01

0111

Сосиски

Любительские

ц

8400

01

0112

Сосиски

Русские

ц

8200

01

0121

Сардельки

Городские

ц

12800

01

0201

Колбаса полукопченая

Одесская

ц

11200

02

0202

Колбаса полукопченая

Краковская

ц

12600

02

0203

Колбаса полукопченая

Московская

ц

15400

02

0211

Колбаса сырокопченая

Столичная

ц

25200

02

0212

Колбаса сырокопченая

Свиная

ц

24600

02

0221

Деликатесы

Карбонат

ц

18900

02

0222

Деликатесы

Грудинка

ц

17560

02

0301

Мясные полуфабрикаты

Гуляш

ц

10200

03

0302

Мясные полуфабрикаты

Антрекот

ц

11300

03

0303

Мясные полуфабрикаты

Азу

ц

11040

03

0304

Мясные полуфабрикаты

Фарш говяжий

ц

9460

03

Цеха

Номер цеха

Производственная

мощность (суточная), ц

Начальник

цеха

Телефон

начальника цеха

01

200

Иванов А.Н.

482-12-20

02

120

Сидоров В.П.

482-17-40

03

800

Петров Н.К.

482-19-30

План

№ документа

Номер цеха

Дата

1

01

10.02.02

2

02

10.02.02

3

03

10.02.02

4

01

11.02.02

5

02

11.02.02

6

03

11.02.02

Спецификация к плану

№ документа

Код продукции

Количество, ед.

1

0101

80

1

0102

65

1

0111

40

1

0112

25

1

0121

30

2

0201

15

2

0202

18

2

0203

12

2

0211

12

2

0212

13

2

0221

10

2

0222

20

3

0301

180

3

0302

120

3

0303

100

3

0304

250

4

0101

75

4

0102

55

4

0111

35

4

0112

30

4

0121

35

5

0201

10

5

0202

15

5

0203

10

5

0211

12

5

0212

12

5

0221

10

5

0222

25

6

0301

185

6

0302

125

6

0303

110

6

0304

200

Таблицы “План” и “Спецификация к плану” включают данные из документа “План выпуска продукции”. Таблица “План” содержит реквизиты, относящиеся к общей (заголовочной) части документа, таблица ”Спецификация к плану”  реквизиты, относящиеся к содержательной (табличной) части документа1.

Накладная

Накладная №

Номер цеха

Дата

Спецификация к накладной

Накладная №

Код продукции

Количество, ед.

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

1.1. Создать структуру таблицы “Готовая продукция”:

  • открыть окно конструктора таблиц;

  • определить основные характеристики полей таблицы (имена полей2, типы данных, описание) и свойства полей в соответствии с табл. 3.14.

  • назначить первичный ключ — Код;

  • сохранить структуру таблицы под именем Готовая продукция;

  • закрыть окно конструктора.

1.2. Создать структуру таблицы “Цеха”.

Для поля Мощность указать тип данных — Числовой, размер  Целое, формат поля — Фиксированный, Число десятичных знаков — 0. Подпись поля и условие на значение производственной мощности задать самостоятельно.

Для поля Начальник указать тип данных — Текстовый, размер  20.

Для поля Телефон указать тип данных — Текстовый, размер  15.

Таблица 3.14

Характеристики полей таблицы "Готовая продукция"

Имя поля

Тип данных

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

Код

Текстовый

Размер поля — 4

Подпись поля — Код продукции

Группа

Текстовый

Размер поля — 30

Подпись поля — Группа продукции

Наименование

Текстовый

Размер поля — 20

Подпись поля — Наименование продукции

Единица

Текстовый

Размер поля — 8

Подпись поля — Единица измерения

Значение по умолчанию — ц

Цена

Денежный

Формат поля — Фиксированный

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

Подпись поля — Цена за ед., руб.

Условие на значение — >=0

Сообщение об ошибке — Внимание! Ошибка

Цех

Текстовый

Размер поля — 2

Подпись поля — Номер цеха

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

1.3. Создать структуру таблицы “План”.

Для поля №документа указать Тип данныхЧисловой, размер  Байт, формат поля — Фиксированный, Число десятичных знаков — 0.

Для поля Дата определить формат  Краткий формат даты.

В качестве первичного ключа назначить поле №документа. Сохранить структуру таблицы под именем План. Кроме того, для поля Дата можно установить Маску ввода1 в следующем виде: __.__.__ Для определения маски следует установить курсор в поле Маска ввода, нажать кнопку , расположенную в правой части поля, в появившемся диалоговом окне выбрать в списке маску ввода  Краткий формат даты и нажать кнопку Готово.

1.4. Создать структуру таблицы “Спецификация к плану”.

Для поля Количество указать тип данных — Числовой, размер  Целое, формат поля — Фиксированный, Число десятичных знаков — 0. Подпись поля и условие на значение задать самостоятельно.

Определить первичный ключ, состоящий из двух полей2№документа и Код. Сохранить структуру таблицы под именем Спецификация к плану.

1.5. Создать структуру таблицы “Накладная”.

Для поля Накладная№ указать тип данных — Текстовый, размер 3.

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

1.6. Создать структуру таблицы "Спецификация к накладной”.

Определить первичный ключ (составной) — Накладная№ и Код. Сохранить структуру таблицы под именем Спецификация к накладной.

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

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

  • Таблицу План связать с таблицей Спецификация к плану по полю №документа.

  • Таблицу Накладная связать с таблицей Спецификация к накладной по полю Накладная№.

  • Таблицу Цеха связать с таблицами Накладная и План по полю Цех.

  • Таблицу Готовая продукция связать с таблицами Спецификация к плану и Спецификация к накладной по полю Код.

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

3. Ввести данные в таблицы Готовая продукция, Цеха, План, Спецификация к плану.

Дополнительные проверочные задания

1. Создать новую таблицу базы данных Склады, состоящую из следующих полей: Номер склада, МОЛ (материально-ответственное лицо), Телефон. Указать основные характеристики и свойства полей. Назначить первичный ключ.

2. Ввести данные в таблицу Склады в соответствии с таблицей:

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

Номер склада

МОЛ

Телефон

01

Синичкин О.Н.

498-87-32

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

4. Добавить в таблицу Накладная поле Номер склада.

5. Задать для поля Номер склада в таблице Накладная значение по умолчанию: “01”.

6.  В таблице Цеха установить маску ввода для поля Телефон.

7. Установить связь между таблицами Склады и Накладная по полю Номер склада. Обеспечить целостность данных.

8. Добавить в таблицу Склады поле Емкость.

9. Установить в таблице Склады ограничение на значения, вводимые в поле Емкость: <10000. Задать текст сообщения об ошибке, который будет появляться на экране при вводе в поле Емкость неправильных данных.

10. Ввести в поле Емкость таблицы Склады значение: 8000.