Проектирование баз данных методом нормализации

Создание структуры базы данных на примере "Школьного журнала" с использованием метода и принципа нормализации. Понятия базы данных, архитектуры БД и проектирования. Описание предметной области; приложения для работы с базой данных TTable и TQuery.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 01.04.2012
Размер файла 996,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Алексей

Владими-рович

05.08.

1998

Набережная 1

Физика

03.09.11

4

Что такое физика

1-2

Основные физически величины

3

Приведем эти отношения к первой нормальной форме

Отношение находится в первой нормальной форме тогда и только тогда, когда на пересечении каждого столбца и каждой строки находятся только элементарные значения атрибутов.

Тогда имеем следующую таблицу отношений:

Таким образом, данное отношение находится в первой нормальной форме на пересечении каждого столбца и каждой строки находятся только элементарные значения.

Фамилия

Имя

Отчество

Дата рождения

Адрес

Урок

Дата занятия

Оценка

Тема

Д/З

Галанов

Михаил

Сергеевич

11.04.

1998

Комсомоль-ская 35

Физика

03,09,11

5

Что такое физика

1-2

Галанов

Михаил

Сергеевич

11,04,

1998

Комсомоль-ская 35

Физика

05,09,11

0

Основные физические величины

3

Данилов

Сергей

Геннадье-вич

18.05.

1998

Пер. Солнечный 1/2

Физика

03,09,11

3

Что такое физика

1-2

Данилов

Сергей

Геннадье-вич

18,05,

1998

Пер Солнечный 1/2

Физика

05,09,11

0

Основные физические величины

3

Бордов-ский

Алексей

Владими-рович

05.08.

1998

Набережная 1

Физика

03,09,11

4

Что такое физика

1-2

Бордов-ский

Алексей

Владими-рович

05,08,

1998

Набережная

Физика

05,09,11

0

Основные физические величины

3

Фамилию, Имя, Отчество, Адрес, Дата рождения.

Второе с информацией о проведенных занятиях:

Название предмета, Дата проведения занятия, Тема занятия, Оценка, Домашнее задание

Разберемся с первым отношением:

Приведем его ко второй нормальной форме

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

Фамилия

Имя

Отчество

Дата рождения

Адрес

Галанов

Михаил

Сергеевич

11.04.1998

Комсомольская 35

Данилов

Сергей

Геннадьевич

18.05.1998

Пер. Солнечный1/2

Бордовский

Алексей

Владимирович

05.08.1998

Набережная 1

Этот набор отношений не содержит неполных функциональных зависимостей, и поэтому эти отношения находятся во второй нормальной форме.

У нас остается следующий набор отношений, который имеет отношение только к проведенным занятиям, и который так же необходимо привести к нормальной форме:

Урок

Дата занятия

Оценка

Тема

Д/З

Урок

Физика

03,09,11

5

Что такое физика

&1-2

Физика

Физика

05,09,11

0

Основные физически величины

&3

Физика

Физика

03,09,11

3

Что такое физика

&1-2

Физика

Физика

05,09,11

0

Основные физически величины

&3

Физика

Физика

03,09,11

4

Что такое физика

&1-2

Физика

Физика

05,09,11

0

Основные физически величины

&3

Физика

Для этого существующую таблицу представим в виде двух, в одной будет содержаться информация касательно проведенного урока, а именно отметка и дата занятия.

Урок

Дата занятия

Оценка

Физика

03,09,11

5

Физика

05,09,11

0

Физика

03,09,11

3

Физика

05,09,11

0

Физика

03,09,11

4

Физика

05,09,11

0

Как видим, этот набор отношений не содержит неполных функциональных зависимостей, и поэтому эти отношения так же находятся во второй нормальной форме.

Вторая таблица будет содержать информацию которая касается темы проведенного занятия, и полученного учениками домашнего задания.

Рассмотрим оставшиеся отношения:

Тема

Д/З

Что такое физика

&1-2

Основные физически величины

&3

Что такое физика

&1-2

Основные физически величины

&3

Что такое физика

&1-2

Основные физически величины

&3

Как видим, этот набор отношений так же не содержит неполных функциональных зависимостей, и поэтому эти отношения находятся во второй нормальной форме.

Но для корректной работы нашей базы данных нам не обходимо привести отношения к третьей нормальной форме:

Отношение находится в третьей нормальной форме тогда и только тогда, когда оно находится во второй нормальной форме и не содержит транзитивных зависимостей.

Для этого приведем существующие наборы отношений к следующему виду:

Для начала каждому ученику и предмету присвоим персональный код, и получим следующие отношения:

Код ученика ->Фамилия, Имя, Отчество, Дата рождения, Адрес

Код предмета ->Название предмета

Код ученика ->Код предмета ->Дата проведения занятия ->Оценка

Дата проведения занятия ->Код предмета->Тема, Домашнее задание

Где Код ученика, Код предмета, Дата проведения занятия являются первичными ключами, таким образом имея данный набор отношений получаем следующий набор таблиц:

Ученики

Код ученика*

Фамилия

Имя

Отчество

Дата рождения

Адрес

1

Галанов

Михаил

Сергеевич

11.04.1998

Комсомольская 35

2

Данилов

Сергей

Геннадьевич

18.05.1998

Пер.Солничный1/2

3

Бордовский

Алексей

Владимирович

05.08.1998

Набережная 1

Описание структуры:

Предмет

Код Предмета*

Название предмета

Inf_7

Информатика

Fiz_7

Физика

Описание структуры:

Отметка

Код ученика*

Код предмета*

Дата проведения

Оценка

1

Fiz_7

03,09,11

3

2

Fiz_7

03,09,11

5

3

Fiz_7

03,09,11

4

Описание структуры:

Тематический план

Дата занятия*

Код предмета*

Тема занятия

Домашнее задание

03,09,11

Inf_7

Что такое информатика

&1-2

03,09,11

Fiz_7

Что такое физика

&1

Описание структуры:

Теперь необходимо удостовериться, что при естественном соединении мы не потеряем ни одной строки и не получим лишних кортежей. (Фамилия, Имя, Отчество, Дата рождения, Адрес, Название предмета, Дата проведения занятия, Тема занятия, Оценка, Домашнее задание). Полученный набор отношений находится в третьей нормальной форме.

Как было сказано выше, что приведения отношений к третьей нормальной форме вполне достаточно для реализации базы данных. В нашем случае так же вполне достаточно привести отношения к третьей нормальной форме, что мы и сделали, теперь можем приступать к реализации данной базы данных.

Установим связи между полученными таблицами:

Создание приложения для работы с базой данных TTable и TQuery

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/gl12_6.php

11. Нормализация таблиц в реляционной модели базы данных \\ режим доступа http://referatwork.ru/refs/source/ref-11367.html

12. Статья: Нормализация реляционных баз данных \\ режим доступа http://club.shelek.ru/viewart.php?id=177

13. Описание основных приемов нормализации базы данных \\ режим доступа http://support.microsoft.com/kb/283878/ru

14. Основы нормализации базы данных \\ режим доступа http://ms.by.ru/HTML/19.htm

Введение в базы данных. 4.2Теория нормальных форм \\ режим доступа http://www.mstu.edu.ru/study/materials/zelenkov/ch_4_2.html

Приложение

Поскольку основной целью моей дипломной работы было создание структуры базы данных, Теперь рассмотрим кратко составные части приложение для работы с данной базой данных.

Оглавление:

Форма списка учащихся:

Форма для добавления нового занятия, а так же отметки ученика

Форма урока «Физики» с отметками учащихся

Размещено на Allbest.ru


Подобные документы

  • Понятие нормализации таблиц базы данных и ее цели. Этапы процесса нормализации. Пример ненормализованных данных. Нормальные формы, к которым приводятся таблицы. Реляционная алгебра над учебной базой. База данных для предметной области "Учебные пособия".

    контрольная работа [216,1 K], добавлен 30.07.2010

  • Система управления базой данных (СУБД), централизованное обеспечение безопасности и целостности данных, защита от несанкционированного доступа. Построение концептуальной и реляционной моделей. Процесс нормализации. Проектирование базы данных в ACCESS.

    курсовая работа [1,8 M], добавлен 29.10.2008

  • Назначение базы данных для обеспечения работы автобусного парка. Основные возможности админпанели. Выполняемые базой данных и приложением функции. Инфологическое моделирование данных. Описание разработанного web-приложения. Проектирование базы данных.

    курсовая работа [2,2 M], добавлен 01.02.2013

  • Анализ предметной области "Ремонт часов", с использованием СУБД MySQL, языка HTML, технологии PHP и ADO и выбора скриптовых языков VBScript или JavaScript. Нормализация базы данных. Пошаговое описание нормализации базы данных (методом ER-диаграмм).

    курсовая работа [782,4 K], добавлен 18.06.2010

  • Процесс проектирования базы данных на основе принципов нормализации. Применение инфологической модели на втором этапе проектирования. Семантика предметной области в модели базы данных. Оформление, выдача и обмен паспорта. Модель "сущность-связь".

    курсовая работа [67,9 K], добавлен 27.02.2009

  • Определение понятия и общее описание базы данных как упорядоченной информационной системы на носителе информации. Описание предметной области и разработка приложения базы данных, содержащей информацию о расписании занятий, для преподавателей кафедры.

    курсовая работа [1,3 M], добавлен 08.08.2012

  • Сущность базы данных. Процесс построения концептуальной модели. Построение реляционной модели, создание ключевого поля. Процесс нормализации. Проектирование базы данных в ACCESS. Порядок создание базы данных. Создание SQL запросов и работа в базе данных.

    курсовая работа [185,6 K], добавлен 08.11.2008

  • Анализ предметной области. Предположительный набор необходимых функций. Даталогическое и инфологическое проектирование. Реляционная модель данных. Создание запросов и атрибутов. Физическая модель данных. Разработка приложения для работы с базой данных.

    курсовая работа [720,8 K], добавлен 26.04.2015

  • Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.

    курсовая работа [318,6 K], добавлен 24.12.2014

  • Построение концептуальной модели. Проектирование реляционной модели данных на основе принципов нормализации: процесс нормализации и глоссарий. Проектирование базы данных в Microsoft Access: построение таблиц, создание запросов в том числе SQL – запросов.

    курсовая работа [35,9 K], добавлен 08.11.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.