Иерархические структуры в реляционных базах данных
Рефераты >> Программирование и компьютеры >> Иерархические структуры в реляционных базах данных

Глава 7

Разработка тестирующей программы

В моей работе были применены вложенные рекурсивные иерархические данные для отображения предметов, тем и вопросов хранящихся в базе данных. Это означает, что базовые и подчинённые данные хранятся в одной таблице «Data». С помощью компонента TTreeView удобно организовано представление в виде иерархического дерева, что соответствует логике решаемой задачи. Таблица реляционного типа отображает наши данные в виде иерархии. В таблице первое поле ключевое, в нём название тем-родителей: «Механика», «Кинематика», «Кинематика материальной точки», «Физика», «Зачет по механике». Второе поле является подчиненным для первого: раздел «Кинематика материальной точки» содержит Вопрос 1-4.

Key_Id

Key_Parent

Поле строкового типа

0

15

Механика

2

0

Кинематика

3

0

Динамика

23

2

Кинематика материальной точки

24

23

Вопрос 1

26

23

Вопрос 2

27

23

Вопрос 3

28

23

Вопрос 4

30

30

Физика

31

30

Зачёт по механике

32

31

Вопрос 1

33

31

Вопрос 2

34

31

Вопрос 3

35

31

Вопрос 4

36

31

Вопрос 5

37

31

Вопрос 6

На основе таблицы строится иерархия такого типа.

Также база данных содержит следующие таблицы:

Таблица «Факультет» содержит поле название факультета.

Название

ФИЯ

ФМИ

Таблица «Группа» содержит поле номер группы.

Номер

455

465

475

485

Таблица «Статистика» содержит данные о прохождении теста.

№ п/п

Название темы

Дата

Оценка

1

Кинематика материальной точки

27.03.99

4

2

Электродинамика

12.05.99

3

3

Механика

13.05.99

2

Таблица «Данные студента» - при регистрации данные заносятся в эту таблицу.

№ п/п

Фамилия

Группа

Факультет

1

Иванов

455

ФМИ

2

Петров

485

ФИЯ

3

Ельцин

465

ФМИ

Таким образом база данных состоит из пяти таблиц.

При решении задачи возникли следующие проблемы:

1. Эффективное хранение информации в базе данных.

Особенность базы в том, что она состоит из полей типа binary, содержащие графические изображения, поэтому при небольшом объёме хранимой информации размер базы становится слишком большим. Хранение информации в стандартном формате bmp оказывается крайне неэффективным. Исследовав большинство распространённых графических форматов jpc, gif, tiff, я пришла к выводу, что наиболее оптимальным с точки зрения сохранения количества сжатия является формат gif. В этом формате и решено было сохранять изображения в базе данных.

Стандартные компоненты Delphi не позволяют хранить графическую информацию в базе данных в формате gif, в связи с этим были использованы продукты компании SkyLine. В своей работе я использовала библиотеку компонентов Image Lib 30 в составе которой есть компоненты, позволяющие хранить информацию в базе данных самых различных форматов.

2. Модификация стандартного компонента Delphi OleContainer.


Страница: