скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Автоматизация учета студентов в ВУЗе

Пусть R – отношение, в котором существуют подмножества множества атрибутов х и у. Тогда х→у (у функционально зависит от х) тогда и только тогда, когда для каждого допустимого значения R каждое значение х связано только с одним у. Если совпадение по х, то и по у.Если х – потенциальный ключ, то все атрибуты этого отношения всегда функционально от него зависят. На рисунке 3.5 изображена схема функциональных зависимостей.

Рис.3.5 Схема функциональных зависимостей таблиц


3.3.2 Описание нормальных форм

Докажем, что спроектированная БД нормализована до третей нормальной формы. Так как, по определению, если БД находится в третьей нормальной форме, то она находится и в первой и во второй нормальных формах, то докажем сперва, что данная БД находится в первой нормальной форме.

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

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

Повторяющимися являются поля, содержащие одинаковые по смыслу значения.

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

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

Итак, ограничениям, накладываемым второй нормальной формой, разрабатываемая БД удовлетворяет.

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

Все таблицы данной БД удовлетворяют этому условию, следовательно, БД находится в третьей нормальной форме.


3.3.3 Описание РМД

Объекты данной предметной области предоставляются в виде таблиц, свойства становятся атрибутами либо полями. Таблиц и полей с одинаковыми названиями быть не может. В каждой таблице выделяется свойство, которое является ключевым. В каждой таблице первичным ключом будет первичное поле (#). По правилу построения РМД, ключевое поле из таблицы, объект которой связан с другим объектом отношением , добавляется в таблицу, которое соответствует отношению «много» (). Таких связей получается 5. «Студент» связан с объектом «Группа» отношением , значит, первичным ключом у нас является код группы (# КГр) и подсоединяем его к таблице «Студент», где записываем внешний ключ (КГр #). Аналогичным образом мы проделываем остальные таблички:

·                    таблицу «Специальность», где первичный ключ (счетчик) (#КСп), соединяем стрелочкой с таблицей «Группа» (КСп # );

·                    «Факультет» (#КФ) соединяем с таблицей «Специальность», где внешним ключом будет (КФ#);

·                    таблицу «Общежитие» (первичный ключ(#КО)) соединяем с «Комната» (КО#);

·                    «Студент» (#КСт) соединяем с «Проживает» (КСт #).

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

В нашей схеме присутствует только одна такая связь, т.е. к таблице отношения «Проживает», где счетчиком является (#КПр), присоединяется внешний ключ (#КК(код комнаты)), внешний ключ (Ст#) и свойства отношения: дата заселения и дата выселения. На рис. 2 показана схема РМД.

Таким образом, после рассмотрения приведенных выше моделей данных для разработанной в пункте 3 схемы «объект-отношение» была выбрана реляционная модель, которая проста и понятна для пользователя и отвечает требованиям изучаемого курса.


4 Программная реализация СУБД

4.1 Описание таблиц

Таблица «Студент» справочник студентов.

Код студента – код студента, тип счетчик, первичный ключ, содержит уникальное значения без повторений.

ФИО фамилия, имя и отчество студента, тип текстовый, размер 50 символов, поле обязательное, индексированное, допускаются совпадения.

зачетки – содержит номер зачетки, тип текстовый, размер 10 символов, содержит маску ввода: 00\/000, условие на значение:>0, если вводится неправильное значение, выводится сообщение об ошибке ”Некорректный ввод”; поле обязательное, индексированное, совпадения не допускаются.

Дата рождения – содержит дату рождения, тип дата/время, имеет краткий формат даты, маска ввода 00.00.0000;0;_, условие на вводимое значение <Now()-365*16 (т.е. студенту должно быть не меньше 16 лет), если вводится неправильное значение, выводится сообщение об ошибке, обязательное поле, индексированное, допускаются повторения.

Домашний адрес – содержит адрес проживания студента, тип текстовый, размер 50 символов, поле обязательное, индексированное, допускаются совпадения.

Контактный телефон - содержит номер телефона, тип текстовый, размер 20 символов, содержит маску ввода: 0\-000\-000\-00\-00;;_ . Поле необязательное, индексированное, не допускаются совпадения.

Пол - содержит пол студента, тип текстовый, размер-10 символов, обязательное поле, индексированное поле, совпадения допускаются, поле со списком, тип источника строк- список значений, источник строк – мужской; женский.

Форма обучения- содержит информацию о форме обучения студента, тип текстовый, размер- 10 символов, обязательное поле, индексированное поле, совпадения допускается, поле со списком, тип источника строк- список значений, источник строк- очная; заочная.

ФИО матери - фамилия, имя, отчество матери студента, тип текстовый, размер 50 символов, поле обязательное, индексированное, допускаются совпадения.

ФИО отца - фамилия, имя, отчество отца студента, тип текстовый, размер 50 символов, поле обязательное, индексированное, допускаются совпадения.

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

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

Группа- код группы, тип числовой, размер поля - длинное целое, обязательное поле, поле со списком, тип источника - таблица или запрос: SELECT Группа.[Код группы], Группа.[Название группы] FROM Группа ORDER BY [Название группы];.

Таблица «Группа» содержит информацию о группах, в которых учатся студенты.

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

Название группы - тип текстовый, размер-10 символов, обязательное и индексированное поле, совпадения не допускаются.

Год набора - тип дата/время, размер 20 символов, маска ввода- 00.00.0000;0;_, обязательное и индексированное поле, совпадения допускаются, условие назначения: >Date()-(5*365). Если вводится неправильное значение, то выводится сообщение об ошибке.

Буква - тип текстовый, размер 5 символов, обязательное и индексированное поле, совпадения допускаются. Если вводится неправильное значение, то выводится сообщение об ошибке. Поле со списком, тип источника строк - список значений, источник строк – а; б; в; г; -;.

Специальность- код специальности, тип числовой, обязательное поле, размер поля - длинное целое. Тип источника строк -таблица или запрос, источник строк- SELECT Специальность.[Код специальности], Специальность.[Краткое название] FROM Специальность ORDER BY [Краткое название].

Таблица «Специальность» справочник специальностей факультетов.

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

Полное название - тип текстовый, размер 50 символов, обязательное и индексированное поле, совпадения не допускаются.

Краткое название - тип текстовый, размер 10 символов, необязательное поле, без повторений.

Шифр - тип текстовый, размер 20 символов, содержит маску ввода: 0000000.0.00;. Обязательное и индексированное поле, без повторений.

Факультет - код факультета, тип числовой, обязательное поле, размер поля - длинное целое. Тип источника строк - таблица или запрос, источник строк- SELECT Факультет.[Код факультета], Факультет.[Краткое название] FROM Факультет ORDER BY [Краткое название];

Таблица «Факультет» содержит информацию о всех факультетах ВУЗа.

Код факультет - тип счетчик, первичный ключ, содержит уникальные значения без повторений.

Полное название - тип текстовый, размер 50 символов, обязательное и индексированное поле, совпадения не допускаются.

Краткое название - тип текстовый, размер 10 символов, необязательное поле, без повторений.

ФИО декана - тип текстовый, размер 50 символов, поле обязательное, индексированное, не допускаются совпадения.

телефона деканата - тип текстовый, размер 20 символов, маска ввода: 000\-00\-00; поле обязательное, индексированное, совпадения не допускаются.

Таблица «Комната» содержит информацию о комнатах общежития.

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

Количество мест - тип числовой, размер 5 символов, обязательное и индексированное поле, совпадения допускаются. Значение по умолчанию: 0, условие на значение: >0, если вводится неправильное значение, то выдается ошибка.

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

комнаты - тип числовой, содержит маску ввода: 0”.”000, обязательное поле, индексированное, совпадения допускаются. Значение по умолчанию: 0, условие на значение: >0, если вводится неправильное значение, то выдается ошибка.

Общежитие- код общежитие, тип числовой, обязательное поле, размер поля - длинное целое. Тип источника строк - таблица или запрос, источник строк: SELECT Общежитие.[Код общежития] FROM Общежитие ORDER BY [Код общежития];

Таблица «Общежитие» содержит информацию о общежитиях, которые принадлежат ВУЗу.

Код Общежитие - тип счетчик, первичный ключ, содержит уникальные значения без повторений.

Адрес тип текстовый, размер 50 символов, поле обязательное, индексированное, не допускаются совпадения.

Телефон - тип текстовый, размер 20 символов, маска ввода: 000\-00\-00; поле обязательное, индексированное, совпадения не допускаются.

ФИО Коменданта- тип текстовый, размер 50 символов, поле обязательное, индексированное, не допускаются совпадения.

Таблица «Проживает» - дополнительная таблица, созданная для исключения связи «многие-ко-многим». Таблица содержит информацию о дате заселения (выселения) студентов в (из) общежитие (ия).

Код проживает - тип счетчик, первичный ключ, содержит уникальные значения без повторений.

Студент - код студента, тип числовой, обязательное поле, размер поля- длинное целое. Подстановка из таблицы «Студент», отображается поле «Студент» таблицы «Студент».

Комната - код комнаты, тип числовой, обязательное поле, размер поля- длинное целое. Тип источника строк - таблица или запрос, источник строк: SELECT Комната.[Код комнаты], Комната.[№ комнаты] FROM Комната ORDER BY [№ комнаты];

Дата заселения - тип дата/время, размер 20 символов, маска ввода- 00.00.0000;0;_, обязательное и индексированное поле, совпадения допускаются.

Дата заселения - тип дата/время, размер 20 символов, маска ввода- 00.00.0000;0;_, обязательное и индексированное поле, совпадения допускаются.

4.2 Описание реализованных запросов к БД

В данном КП были реализованы следующие запросы к БД:

Запрос1 является запросом на выборку.

Осуществляется поиск повторений для таблицы «Студент».

Вид в режиме SQL:

SELECT Студент.Группа, Студент.ФИО

FROM Студент

WHERE (((Студент.Группа) In (SELECT [Группа] FROM [Студент] As Tmp GROUP BY [Группа] HAVING Count(*)>1 )))

ORDER BY Студент.Группа;

Результат выполнения запроса 1 представлен на рисунке 4.2.1

Рис. 4.2.1- Результат выполнения запроса 1

Запрос 2 является запросом на создание таблицы.

Создается новая таблица, куда вносится новая информация.

Вид в режиме SQL:

SELECT Студент.ФИО, Общежитие.[Код общежития] INTO New

FROM Студент INNER JOIN (Общежитие INNER JOIN (Комната INNER JOIN Проживает ON (Комната.[Код комнаты] = Проживает.Комната) AND (Комната.[Код комнаты] = Проживает.Комната)) ON Общежитие.[Код общежития] = Комната.Общежитие) ON Студент.[Код студента] = Проживает.Студент

WHERE (((Общежитие.[Код общежития])=2));

Результат выполнения запроса 2 представлен на рисунке 4.2.2

Рис. 4.2.2- Результат выполнения запроса 2

Запрос 3 является запросом на добавление.

Выполняется заполнение архива.

Вид в режиме SQL:

INSERT INTO Архив ( ФИО, №Зачетки, [Дата рождения], [Домашний адресс], [Контактный телефон], Пол, [Форма обучения], [ФИО матери], [ФИО отца], [Контактная информация отца], [Контактная информация матери], Группа )

SELECT Студент.ФИО, Студент.№Зачетки, Студент.[Дата рождения], Студент.[Домашний адрес], Студент.[Контактный телефон], Студент.Пол, Студент.[Форма обучения], Студент.[ФИО матери], Студент.[ФИО отца], Студент.[Контактная информация отца], Студент.[Контактная информация матери], Студент.Группа

FROM Студент

WHERE (((Студент.[Дата рождения])<Now()-365*25));

Результат выполнения запроса 3 представлен на рисунке 4.2.3

Рис. 4.2.3- Результат выполнения запроса 3

Запрос 4 является запросом на удаление.

Выполняется очистка всей информации в архиве.

Вид в режиме SQL:

DELETE Архив.*

FROM Архив;

Результат выполнения запроса 4 представлен на рисунке 4.2.4


Рис. 4.2.4- Результат выполнения запроса 4

Запрос 5 является запросом на удаление.

Осуществляется удаление старых записей.

Вид в режиме SQL:

DELETE Студент.ФИО, Студент.№Зачетки, Студент.[Дата рождения]

FROM Студент

WHERE (((Студент.[Дата рождения])<Now()-365*25));

Результат выполнения запроса 5 представлен на рисунке 4.2.5

Рис. 4.2.5- Результат выполнения запроса 5

4.3 Описание разработанных форм

Форма «Главная» ( см. рисунок 4.3.1).

Форма «Главная» запускается при запуске программы. Форма имеет три кнопки выбора пользователей – «Гость», «Пользователь» и «Администратор». При нажатии кнопки «Гость», форма «Главная» закрывается и запускается форма «Вход», кнопки «Пользователь» - «Главная» закрывается, запускается «Введите пароль», кнопки «Администратор» - «Главная» закрывается, запускается «Введите пароль». Об этих формах подробно чуть позже. Также находится кнопка «Выход», при нажатии которой закрывается форма и происходит выход из программы. В центре формы – текст с выбором уровня доступа к базе данных. Под кнопками выводятся текущие дата и время.

Рис. 4.3.1- Форма «Главная» в режиме «Вид»

Страницы: 1, 2, 3


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.