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

 

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

Таблиця 1

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

Код_ автомобіля Код_ несправності#   Довідка Код_складової_двигуна#
KA KZA   KP
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 

Таблиця 2

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

Код_несправності# Назва_несправності Контролер Ціна тестування
Стукіт при роботі двигуна Петринчук І. І.
Припинення іскроутворення Сидоренко С. С.
Збільшення витрат масла Іванчук К. І.
Зменшення компресії Петринчук І. І.
Перегрівання двигуна Іваненко А. А.
Збільшення витрат палива Іванов Ф.А.
Порушення сумішестворювання Перова С.С.
Переохолодження двигуна Сидоренко С. С.
Збільшення витрат охолоджувальної рідини Ветров В. В.
Збільшення/зменшення тиску масла Петринчук І. І.
Перебої роботи свічей Іванчук К. І.
Порушення загорання Перова С.С.

 

Таблиця 3

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

Код_складової_ двигуна# Назва  
KG NG  
Кривошипно-шатунний механізм  
Газорозподілюючий механізм  
Система живлення  
Система запалювання  
Система охолодження  
Система змащення  
  База даних вміщує наступні поля:
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

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

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