БД «Кафедра информационно-компьютерных технологий»

Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 10:30, курсовая работа

Описание работы

Цель работы – создание и разработка базы данных «БД «Кафедра информационно-компьютерных технологий»».
Для достижения цели были поставлены задачи:
- анализировать литературу по данной теме;
- ознакомится с предметной областью;
- построить ER – модель базы данных;
- охарактеризовать СУБД для реализации БД;
- построить логическую модель данных;
- разработать проект и БД;
- создать объекты БД (таблицы, формы, отчёты, запросы);
- определить условия целостности БД;
- создать справочную службу;
- спроектировать меню приложения;
- создать инсталляционный пакет.

Содержание работы

Введение 3
1. Теоретическая часть 5
1.1. Описание предметной области «Кафедра информационно-компьютерных технологий» 6
1.2. Инфологическое проектирование 8
1.3. Выбор СУБД 11
1.4. Логическое проектирование 13
2. Разработка БД «БД «Кафедра информационно-компьютерных технологий»» 16
2.1. Проектирование базы данных 16
2.1.1. Создание таблиц и заполнение их текстовой информацией 17
2.1.2. Определение условий целостности данных и разработка мероприятий по контролю и достоверности данных и обеспечению защиты от несанкционированного доступа 23
2.2. Проектирование форм 25
2.2.1 Обоснование и определение необходимого набора форм, их содержание 25
2.3. Проектирование отчетов 27
2.3.1 Обоснование и определение необходимого набора отчетов, их содержание 28
2.4 Обоснование и определение необходимого набора запросов, их содержание 30
2.5 Проектирование меню проекта 31
2.5 Программирование программной оболочки управления базами данных 32
2.6. Разработка систем оперативной справки 33
2.7 Создание инсталляционного пакета проекта 34
Заключение 36
Список используемых источников 37

Файлы: 1 файл

Аметова_И-1-10.docx

— 8.24 Мб (Скачать файл)

Microsoft Visual FoxPro-одна из самых популярных реляционных СУБД. Предназначена для создания приложений баз данных объёма предприятий, обладает хорошим быстродействием и устанавливается на различные платформы, удобна и проста в использовании. В Visual FoxPro имеется несколько уровней разработки приложений. Если необходимо в кратчайшее время разработать не очень сложное приложение, вы можете воспользоваться средствами быстрой разработки приложений, которые представлены многочисленными мастерами для создания форм, отчетов, почтовых этикетов и многого другого. Visual FoxPro является системой управления реляционными базами данных, которые в настоящее время являются наиболее распространенными. Visual FoxPro состоит из отдельных компонентов, которые используются для хранения и представления информации. Этими компонентами являются таблицы, представления данных, формы, отчеты, запросы, программы и библиотеки.

Сделаем небольшой вывод:  мы будем разрабатывать нашу БД в  FoxPro, потому что она удовлетворяет всем потребностям разработчика БД, а именно:

    1. Реляционная СУБД.
    2. Предназначена для создания БД объёма предприятий.
    3. Несколько уровней разработки приложений.
    1. Логическое проектирование

Логическим проектированием  называют проектирование логической структуры  БД в среде конкретной СУБД. На этой стадии проектирования главное — добиться, чтобы модель максимально корректно и полно описывала предметную область, для которой создается. Кроме того, нужно минимизировать избыточность данных и устранить связанные с этим проблемы, то есть выполнить нормализацию.

Перед нормализацией БД «Кафедра информационно-компьютерных технологий» представляет собой структуру, которая еще не разбита на более управляемые таблицы меньшего размера. В таблице 1 представлена БД нормализации 1НФ.

В отсортированной реляционной  базе данных выделяют следующую последовательность нормальных форм:

  • первая нормальная форма (1NF);
  • вторая нормальная форма (2NF);
  • третья нормальная форма (3NF);
  • нормальная форма Бойса—Кодда (BCNF);
  • четвертая нормальная форма (4NF);
  • пятая нормальная форма, форма проекции-соединения (5NF).

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

Таблица 1. 1 Таблица "Кафедра информационно-компьютерных технологий" в 1НФ

Кафедра информационно-компьютерных технологий

Аудитория

Текстовый

Id группы

Текстовый

ФИО преподавателя

Текстовый

Предмет

Текстовый

Часы

Числовой

Курс

Числовой

Научное направление

Текстовый

Научная степень

Текстовый

Id сотрудника

Числовой

Должность

Текстовый

Номер телефона

Числовой

Id зачётной книжки

Числовой


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

Для приведения ко 2НФ необходимо: построить проекцию, полностью исключив атрибуты, которые не находятся в  функциональной зависимости от составного ключа; построить дополнительные проекции на часть составного ключа и атрибуты, функционально зависящие от ключа.

Ключом отношения «Кафедра информационно-компьютерных технологий» является комбинация полей (Id группы, ФИО преподавателя, Id сотрудника, Id зачётной книжки). Все поля, не входящие в состав ключа, зависят только от первичного ключа(Id группы). Поэтому отношения должны быть разбиты на: Расписание(таблица 1.2) и Преподаватель-Сотрудник-Студент(таблица 1.3). Эти отношения связаны по внешнему ключу, которым является поле Id группы.

Таблица 1.2 Таблица " Расписание"  2НФ

Id группы

Текстовый

Аудитория

Текстовый

Предмет

Текстовый

Часы

Числовой

Курс

Числовой

Научное направление

Текстовый

Должность

Текстовый

Номер телефона

Числовой


Таблица 1.3 Таблица " Преподаватель-Сотрудник-Студент"  2НФ

Id группы

Текстовый

Id зачётной книжки

Числовой

Id сотрудника

Числовой

ФИО преподавателя

Текстовый


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

Таблица 1.4 Таблица " Сотрудники "  3НФ

Id сотрудника

Числовой

ФИО преподавателя

Текстовый


Перейдем к 4НФ.Для отношения Преподаватель-Сотрудник-Студент(таблица 1.3) образуют две зависимости от первичного ключа, и при этом их значения их атрибутов не зависят друг от друга. Поэтому необходимо разбить на отношения: Преподаватели и Студенты.

Таблица 1.5 Таблица " Преподаватели"  4НФ

Id группы

Текстовый

Id сотрудника

Числовой


Таблица 1.6 Таблица " Студенты"  4НФ

Id группы

Текстовый

Id зачётной книжки

Числовой


Смысла проводить нормализацию, дальше нет, мы устранили избыточность. Поэтому остановимся на 4НФ.

 

Вывод: для реализации базы данных «БД «Кафедра информационно-компьютерных технологий»» построили ER – модель в виде сущность – сущность, отношения находятся в 4НФ.

 

 

  1. Разработка БД «БД «Кафедра информационно-компьютерных технологий»»

2.1.  Проектирование  базы данных

Данная курсовая работа содержит базу данных «kafedra». Данная база данных состоит из семи таблиц в соответствие с предметной областью. Подробное описание таблиц содержится далее.

База данных «Кафедра информационно-компьютерных технологий» содержит в себе семь таблиц:

  • Schedule group – расписание занятий на семестр (по группам);
  • Schedule teacher – расписание для преподавателей;
  • Load teacher clock – нагрузки по часам для преподавателей;
  • Lists scientific staff – список научных кадров;
  • Curriculum curse – учебный план каждого курса;
  • Lists telephone – список телефонов сотрудников;
  • Lists student diploma – список студентов – дипломников.

Для создания проекта базы данных выполняем следующее:

После старта Visual FoxPro выбираем меню File>New, и в окне New выбираем Project (рисунок 1), потом нажимаем кнопку Wizard.

                 

Рис.1 Рис.1.2

Нам будет предложено указать  имя файла проекта и его расположение (рисунок 1.2).

После этого, теперь перейдем к созданию самой базы данных:

В менеджере проекта (Project Manager) открываем закладку Date, устанавливаем курсор на Databases и клацаем мышкой на кнопку New (рисунок 1.3).

                  

Рис.1.3 Рис.1.4

В предложенной форме  создания новой базы данных выбираем кнопку создания новой базы данных – Create New Database (рисунок 1.4). Вам будет предложено указать имя и место расположения базы данных (рисунок 1.5). Её следует размещать в папке ..\Data\.


 
Рис.1. 5

 

2.1.1. Создание таблиц и заполнение их текстовой информацией

Далее в окне, открывшемся  конструктора базы данных (Database Designer) выбираем в контекстно-зависимом меню (правая кнопка мыши) опцию New Table и создаем таблицу (рисунок 2.1).

 

               

Рис.2.1 Рис.2.2

В предложенной форме создания новой таблицы нажимаем на кнопку New Table (рисунок 2.2). Аналогично базе данных обозначаем имя и расположение таблицы. В открытом на экране конструкторе таблиц задаем структуру (рисунок 2.3).  В столбик Name записываем имя поля, в Type выбираем тип поля, в третьем Width определяем длину поля в символах, в пятом Index указываем тип индекса – по возрастанию или убыванию Ascending/Descending, в шестом Null указываем допустимо ли для этого поля значение равное Null. Именовать поля можно и символами кириллицы, но не рекомендуется. Название полей на русском языке можно отобразить при вводе в поле Caption псевдоним поля на нужном языке.

Рис. 2.3

На рисунке 2.4 мы видим, как задается индекс.


       
Рис.2.4

      В таблице 2 мы видим типы индексов.

Таблица 2.

Тип индекса

Описание

Regular

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

Unique

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

Candidate

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

Primаry

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


 

Таблица в режиме Modify (рисунок 2.5).


 
Рис.2.5

      Теперь заполняем текстовой информацией таблицы. Таблица в режиме Browse (рисунок 2.6).


 

 

 

 

 

 

Рис.2.6

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

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

Связь между таблицами  создается путём перетаскивания ключевого поля из одной таблицы  в другую.

Таблица «Schedule_group» содержит поля:

  • Id_group – Id группы;
  • Fio_teacher – ФИО преподавателя;
  • Audience – аудитория.

Заполняем текстовой информацией рисунок 3.1: 

Рис.3.1

Таблица «Schedule_teacher» содержит поля:

  • Audience – аудитория;
  • Subject – предмет;
  • Id group – Id группы;
  • Fio_teacher – ФИО преподавателя.

Заполняем текстовой информацией рисунок 3.2:

Рис.3.2

Таблица «Curriculum_course» содержит поля:

  • Kurs – курс;
  • Fio_teacher – ФИО преподавателя;
  • Id_group – Id группы;
  • Subject – предмет;
  • Hour – часы.

Заполняем текстовой информацией рисунок 3.3:

Рис.3.3

Таблица «Load_teacher_clock» содержит поля:

  • Hour – часы;
  • Id group – Id группы;
  • Subject – предмет;
  • Fio_teacher – ФИО преподавателя.

Заполняем текстовой информацией рисунок 3.4:

Рис.3.4

Таблица «Lists_telephone» содержит поля:

  • Id_employee – Id сотрудника;
  • Post – должность;
  • Telephone_number – номер телефона.

Заполняем текстовой информацией рисунок 3.5:

 

Рис.3.5

Таблица «Lists_student_diploma» содержит поля:

  • Fio_teacher – ФИО преподавателя;
  • Student _record_book – Id зачетной книжки.

Заполняем текстовой информацией рисунок 3.6:

Рис.3.6

Таблица «Lists_scientific_staff» содержит поля:

  • Id_employee – Id сотрудника;
  • Scientific_direction – научное направление;
  • Fio_teacher – ФИО преподавателя;
  • Scientific_degree – научная степень.

Заполняем текстовой информацией рисунок 3.7:

Рис.3.7

Таким образом образовались связи «многие-ко-многим». Связи отображены на рисунке 3.8:

Информация о работе БД «Кафедра информационно-компьютерных технологий»