3. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
3.1 Концептуальная модель базы данных
Первый шаг процесса проектирования состоит в определении всех атрибутов, включаемых в базу, и в определении связей между ними.
Наш набор атрибутов - следующий:
ТЕМА№ - порядковый номер темы с вопросами;
ТЕМА - название раздела(темы);
ВОПРОС№ - уникальный номер вопроса;
ВОПРОС - текст вопроса;
ОТВЕТ№ - уникальный номер варианта ответа на вопрос;
ОТВЕТ - текст варианта ответа на вопрос;
ИСТИННОСТЬ - истинность варианта ответа на вопрос(правда или ложь).
Сведем все атрибуты и принимаемые ими на некоторый момент времени значения в следующую таблицу:
Таблица 3.1
Сводная таблица атрибутов ПРО и их значений
ТЕМА№ | ТЕМА | ВОПРОС№ | ВОПРОС | ОТВЕТ№ | ОТВЕТ | ИСТИННОСТЬ |
1 | тема1 | 1 | вопрос1 | 1 | ответ1 | True |
2 | ответ2 | False | ||||
3 | ответ3 | False | ||||
2 | вопрос2 | 4 | ответ4 | False | ||
5 | ответ5 | True | ||||
2 | тема2 | 3 | вопрос3 | 6 | ответ6 | True |
7 | ответ7 | False | ||||
4 | вопрос4 | 8 | ответ8 | False | ||
9 | ответ9 | True | ||||
10 | ответ10 | False | ||||
3 | тема3 | 5 | вопрос5 | 11 | ответ11 | True |
12 | ответ12 | False |
Эта таблица не является отношением, так как значения первых четырех полей в ней - атомарные, а значения оставшихся трех - множественные. Чтобы таблица стала отношением, ее нужно реконструировать таким образом, чтобы каждый элемент кортежа имел атомарное значение. Это делается с помощью простого процесса вставки (табл.3.2.).
Хотя вставка добавила большой объем избыточных данных, новая таблица получает статус отношения, которое называют универсальным отношением проектируемой БД. Такое отношение включает все представляющие интерес атрибуты и все данные, которые предполагается размещать в БД. Таким образом, получена концептуальная модель проектируемой БД.
Таблица 3.2
Концептуальная модель БД
ТЕМА№ | ТЕМА | ВОПРОС№ | ВОПРОС | ОТВЕТ№ | ОТВЕТ | ИСТИННОСТЬ |
1 | тема1 | 1 | вопрос1 | 1 | ответ1 | True |
1 | тема1 | 1 | вопрос1 | 2 | ответ2 | False |
1 | тема1 | 1 | вопрос1 | 3 | ответ3 | False |
1 | тема1 | 2 | вопрос2 | 4 | ответ4 | False |
1 | тема1 | 2 | вопрос2 | 5 | ответ5 | True |
2 | тема2 | 3 | вопрос3 | 6 | ответ6 | True |
2 | тема2 | 3 | вопрос3 | 7 | ответ7 | False |
2 | тема2 | 4 | вопрос4 | 8 | ответ8 | False |
2 | тема2 | 4 | вопрос4 | 9 | ответ9 | True |
2 | тема2 | 4 | вопрос4 | 10 | ответ10 | False |
3 | тема3 | 5 | вопрос5 | 11 | ответ11 | True |
3 | тема3 | 5 | вопрос5 | 12 | ответ12 | False |
0 комментариев