Автор работы: Пользователь скрыл имя, 24 Марта 2012 в 02:13, дипломная работа
Цель моей дипломной работы: Создание структуры базы данных на примере «Школьного журнала» с использованием метода нормализации.
Задачи:
Изучение литературы по теме дипломной работы
Изучение принципов нормализации
Изучение предметной области БД
Создание концептуальной модели
ВВЕДЕНИЕ
Глава I Проектирование базы данных
Основные понятия Баз данных
Архитектура Базы Данных
Проектирование базы данных
Глава II Нормализация
Принципы нормализации
Теорема Фейджина
Глава III Создание структуры БД «Классный журнал» методом нормализации
Описание предметной области
Создание структуры БД «Классный журнал» методом нормализации.
Создание приложения для работы с базой данных
TTable и TQuery
Приложение
Заключение
Список литературы
Описание структуры:
Тематический план
Дата занятия* | Код предмета* | Тема занятия | Домашнее задание |
03,09,11 | Inf_7 | Что такое информатика | &1-2 |
03,09,11 | Fiz_7 | Что такое физика | &1 |
Описание структуры:
Теперь необходимо удостовериться, что при естественном соединении мы не потеряем ни одной строки и не получим лишних кортежей. (Фамилия, Имя, Отчество, Дата рождения, Адрес, Название предмета, Дата проведения занятия, Тема занятия, Оценка, Домашнее задание). Полученный набор отношений находится в третьей нормальной форме.
Как было сказано выше что приведения отношений к третьей нормальной форме вполне достаточно для реализации базы данных. В нашем случае так же вполне достаточно привести отношения к третьей нормальной форме, что мы и сделали, теперь можем приступать к реализации данной базы данных.
Установим связи между полученными таблицами:
TTable и TQuery являются основными компонентами, используемыми при программировании приложений баз данных (TStoredProc не в счет, и без него можно прекрасно обойтись, вызывая процедуры через select или execute в компоненте TQuery). TTable предоставляет доступ как к таблицам, а TQuery позволяет выполнять произвольные запросы. Если с TQuery все понятно - он выполняет тот запрос, который написан в свойстве TQuery.SQL - то TTable скрывает очень много подробностей своей работы от программиста. Без SQL Monitor увидеть все тонкости невозможно (если кто не знает - SQL Monitor находится в меню Database).
Итак, запустите Delphi, откройте SQL Monitor, положите на форму компонент TDatabase, подсоединитесь к серверу, затем положите компонент TTable, присоедините его к алиасу TDatabase и выберите любую таблицу из списка (свойство TableName). Переключитесь на SQL Monitor, сотрите все что там появилось, переключитесь обратно, и включите TTable.Active:=True; Смотрим в SQL Monitor (лог с самого начала):
первым запросом BDE хочет убедиться, что выбранная нами таблица существует.
второй запрос выбирает список полей выбранной таблицы, их названий, типов, условий проверки и т.п.
третий запрос выбирает информацию об индексах указанной таблицы. Определяется, есть ли среди них первичный ключ, и по каким полям построены индексы.
четвертый запрос почти повторяет второй, и выбирает информацию о полях - условия проверки, "вычисляемость" поля, допустимость NULL и прочее.
собственно, пятый запрос открывает таблицу, формируя запрос SELECT FIELD1, FIELD2, ... FROM TABLE ORDER BY PK_FIELD ASC.
Заметьте, что подобные запросы выполняются каждый раз при открытии таблицы (любой) компонентом TTable. Перечитывания этих данных можно избежать, если включить у используемого алиаса параметр ENABLE SCHEMA CACHE. При этом считанную первый раз информацию BDE размещает на диске в указанном каталоге (SCHEMA CACHE DIR) в специальном файле, кэширует информацию для SCHEMA CACHE SIZE количества таблиц, и держит эту информацию в кэше в течение SCHEMA CACHE TIME секунд (если -1, то вечно). Если структуры таблиц закэшированы, то при их изменении на сервере (например, добавили новое поле) приложение будет работать со старой структурой, что может вызвать серьезные проблемы в работе приложения. SCHEMA CACHE нужно использовать только тогда, когда структура базы данных определена окончательно и не изменяется. Если все же очень сильно хочется использовать кэширование структур таблиц, то не забывайте правильно установить параметр SCHEMA CACHE TIME. Или при первом за день подключении приложения к серверу сначала кэширование структур можно выключить, отсоединиться, включить и подсоединиться снова - таким образом в самом начале работы кэш структур таблиц будет создан, и будет использоваться в течение дня.
примечание:
параметры SCHEMA CACHE не имеют абсолютно никакого отношения к механизму Cached Updates или к кэшированию данных.
Вернемся к запросу, которым TTable открыл таблицу. В конце запроса стоит указание порядка сортирвки - ORDER BY FIELD ASC. По умолчанию TTable сортирует данные в порядке поля первичного ключа. И кстати, если пользоваться свойством TTable.IndexName, то все равно к запросу будет добавляться ORDER BY INDEXFIELD ASC. Таким образом получается, что свойство IndexName при работе с SQL-серверами бессмыслено. Вместо него нужно просто использовать свойство IndexFieldNames. Даже если в этом свойстве указать поле, по которому нет индекса, то все равно BDE "прицепит" к запросу ORDER BY FIELD ASC. Кстати, BDE абсолютно игнорирует направление индекса, и всегда в запросе добавляет ASC, даже если индекс по этому полю создан как DESCENDING (по убыванию). Получается, что отсортировать таблицу в
TTable по убыванию нельзя.
Приложение
Поскольку основной целью моей дипломной работы было создание структуры базы данных, Теперь рассмотрим кратко составные части приложение для работы с данной базой данных.
Оглавление:
Форма списка учащихся:
Форма для добавления нового занятия, а так же отметки ученика
Форма урока «Физики» с отметками учащихся
В процессе выполнения моей дипломной работы, я углубил знания об информационных системах, научился разрабатывать структуры баз данных, познакомился с принципом нормализации. Создал приложение для работы с базой данных на примере «Школьного журнала».
Целью моей дипломной работы было создание структуры базы данных на примере школьного журнала, методом нормализации..
Считаю, что цель достигнута, я разработал структуру базы данных, используя метод нормализации. Использовал первую, вторую, и третью нормальную форму.
Для того чтобы проверить работоспособность созданной структуры, я в среде программирования Delphi создал приложение, которое позволяет работать с моей базой данных.
Создавая приложение, я изучил основы языка SQL запросов, и использовал его для создания основного интерфейса журнала.
Надеюсь, что созданное мною приложение будет иметь приложение на практике в школе или ВУЗе.
1. Залотова С.И. Парактикум по Access. - М.: Финансы и статистика, 2001г.
2. Информатика. Учебное пособие /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ ,1998 часть 2.
3. Могилев А.В., Информатика: Учеб. пособие для студентов пед. вузов. М.: Издательский центр "Академия", 2004г.
4. Симонович С.В. и др., Информатика. Базовый курс - СПб: Издательство «Питер», 2000.
5. Тихомирова А.Н., Прокди А.К., Колосков П.В., Клеандрова И.А. и др., Microsoft office 2007. Все программы пакета: MS Word. Самоучитель – СПб.: Наука и Техника, 2008.
6. Карпова Т.С. Базы данных - модели, разработка, реализации. Электронный учебник.
7. Фленов-Библия Delphi.
8. Самоучитель. Базы данных в Delphi.
9. Статья в википедии. Нормальная форма. режим доступа\\ http://ru.wikipedia.org/wiki/
10. Учебник по PHP. Взаимодействие PHP и MySQL.Нормализация базы данных\\ режим доступа http://softtime.ru/bookphp/gl1
11. Нормализация таблиц в реляционной модели базы данных\\ режим доступа http://referatwork.ru/refs/
12. Статья: Нормализация реляционных баз данных\\ режим доступа http://club.shelek.ru/viewart.
13. Описание основных приемов нормализации базы данных\\ режим доступа http://support.microsoft.com/
14. Основы нормализации базы данных\\ режим доступа http://ms.by.ru/HTML/19.htm
15. Введение в базы данных. 4.2Теория нормальных форм\\ режим доступа http://www.mstu.edu.ru/study/
2
Информация о работе Проектирование баз данных методом нормализации