Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
sql.doc
Скачиваний:
41
Добавлен:
28.02.2016
Размер:
924.16 Кб
Скачать

Додаток а. Приклад реляційної моделі даних

Побудуємо реляційну модель даних для задачі 29 “Тестування авто”, див. [1]. Дані представлені у вигляді наступних таблиць:

Таблиця 1

Результати тестування

Код_ автомобіля

Код_ несправності#

Довідка

Код_складової_двигуна#

KA

KZA

KP

10

8

6

1

5

1

1

10

5

1

2

2

1

5

1

2

5

2

2

3

1

2

5

2

3

4

4

3

3

1

3

2

2

3

10

5

4

2

4

4

4

4

5

4

5

5

3

1

6

2

2

7

2

4

8

4

5

9

8

6

9

3

1

10

2

2

Таблиця 2

Довідник несправностей

Код_несправності#

Назва_несправності

Контролер

Ціна тестування

1

Стукіт при роботі двигуна

Петринчук І. І.

130

2

Припинення іскроутворення

Сидоренко С. С.

34

3

Збільшення витрат масла

Іванчук К. І.

180

4

Зменшення компресії

Петринчук І. І.

50

5

Перегрівання двигуна

Іваненко А. А.

45

6

Збільшення витрат палива

Іванов Ф.А.

50

7

Порушення сумішестворювання

Перова С.С.

45

8

Переохолодження двигуна

Сидоренко С. С.

30

9

Збільшення витрат охолоджувальної рідини

Ветров В. В.

30

10

Збільшення/зменшення тиску масла

Петринчук І. І.

30

20

Перебої роботи свічей

Іванчук К. І.

50

21

Порушення загорання

Перова С.С.

70

Таблиця 3

Складові двигуна

Код_складової_ двигуна#

Назва

KG

NG

1

Кривошипно-шатунний механізм

2

Газорозподілюючий механізм

5

Система живлення

6

Система запалювання

3

Система охолодження

4

Система змащення

База даних вміщує наступні поля:

DOMAIN

Код_автомобіля

BYTE

DOMAIN

Код_несправності#

BYTE

DOMAIN

Довідка

ТЕХТ (70)

DOMAIN

Код_частини_двигуна#

BYTE

DOMAIN

Назва_несправності

ТЕХТ (50)

DOMAIN

Контролер

ТЕХТ (50)

DOMAIN

Ціна_тестування

SINGLE

DOMAIN

Назва_складової_двигуна

ТЕХТ (50)

База даних складається із Таблиць, для кожної таблиці вказують принцип упорядкування кортежей таблиці за значеннями ключових полів:

RELANION Довідник несправностей (Код_несправності#, Назва_несправності, )) KEY (Код_несправності# )

RELANION Результати тестування (Код_автомобіля, Код_несправності#, Довідка, Код_складової_ двигуна#) KEY (Код_несправності#, Код_складової двигуна#)

RELANION Складові двигуна (Код_складової_двигуна#, Назва_складової_двигуна, Контролер, Ціна) KEY (Код_складово_ двигуна#))

Сутність кортежа відношення Результати тестування наступна: після кожного тестування у разі виявлення несправності фіксується автомобіль якого типу перевірявся (код автомобіля), яка несправність була знайдена (код несправності) та у якій частині двигуна (код частини двигуна).

При необхідності, можуть бути внесені короткі (не більше 70 символів) пояснення у домен Довідка.

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

Вирішення задачі для кожного з полігонів окремо, не змінююється. При вирішенні задач для усіх полігонів у модель даних необхідно додати поле Полігон, структура відношення Результати тестування зміниться і буде наступною:

RELANION Результати тестування (Полігон, Код_автомобіля, Код_несправності#, Довідка, Код_складової двигуна#)

KEY (Код_несправності#, Код_складової_двигуна#)

DOMAIN

Полігон

BYTE

Як видно із наведеного прикладу структура бази даних (яка включає- кількість Таблиць, атрибутний склад Таблиць) Структура бази даних залежить від моделі предметної області, факторів, які мають бути обов’язково включеними у інформаційну модель предметної області.

Для підвищення якості проектування структури бази даних необхідно самостійно декомпозувати відношення Довідник несправностей, бо вказане відношення має інформаційну збитковість неключевого поля Контролер, див.Додаток Б.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]