- •Введение
- •Техническое задание
- •1. Описание предметной области
- •1.1 Общее описание предметной области
- •1.2 Описание входных документов и сообщений
- •1.3 Описание выходных документов и сообщений
- •1.4 Описание запросов к базе данных Запрос для отчёта
- •Запрос на выборку (Из одного города и факультета)
- •Запрос на выборку (Поиск по фио)
- •Запрос на выборку (Поиск студента по дате рождения)
- •Запрос на выборку (Средний бал #1)
- •Запрос на выборку (Средний балл: БаллыЕгэ)
- •Запрос на выборку (Стипендия с надбавкой 15%)
- •2.2. Нормализованная реляционная модель
- •3. Реализация базы данных в среде целевой субд
- •3.1. Структура базы данных а) состав файлов/таблиц баз данных
- •Б) структура и ключи файлов/таблиц баз данных
- •В) схема данных
- •3.2. Реализация ограничений базы данных
- •3.3. Интерфейс пользователя
- •Заключение
- •Список использованных источников
- •Приложения а. Глоссарий
Запрос на выборку (Поиск студента по дате рождения)
SELECT Студенты.ФИО, Студенты.ДатаРождения, Студенты.Город, Студенты.Стипендия
FROM Студенты
WHERE (((Студенты.ДатаРождения)<=[Введите дату рождения]));
Рисунок 17 – Информационное сообщение запроса данных «Поиск студента по дате рождения»
Рисунок 18 – Результат выполнения «Поиск студента по дате рождения»
Запрос на выборку (Средний бал #1)
SELECT Студенты.КодСтудента, Студенты.ФИО, Студенты.КодГруппы, Оценки.КодДисциплины, Avg(Оценки.[Оценка за экзамен]) AS [Средний балл]
FROM Студенты INNER JOIN (Дисциплины INNER JOIN Оценки ON Дисциплины.КодДисциплины = Оценки.КодДисциплины) ON Студенты.КодСтудента = Оценки.КодСтудента
GROUP BY Студенты.КодСтудента, Студенты.ФИО, Студенты.КодГруппы, Оценки.КодДисциплины;
Рисунок 19 – Схема данных «Средний бал #1»
Запрос на выборку (Средний балл: БаллыЕгэ)
SELECT Группы.НомерГруппы, Avg(Студенты.БаллыЕГЭ) AS [Средний балл]
FROM Группы INNER JOIN Студенты ON Группы.КодГруппы = Студенты.КодГруппы
GROUP BY Группы.НомерГруппы;
Рисунок 20 – Схема данных «Средний балл: БаллыЕГЭ»
Рисунок 21 – Результат выполнения «Средний балл: БаллыЕГЭ»
Запрос на выборку (Стипендия с надбавкой 15%)
SELECT Студенты.ФИО, Avg(Оценки.Оценки) AS [Avg-Оценки], Студенты.Стипендия, [Студенты]![Стипендия]*0.15 AS Надбавка, [Студенты]![Стипендия]+[Студенты]![Стипендия]*0.15 AS [Стипендия с надбавкой]
FROM Студенты INNER JOIN Оценки ON Студенты.КодСтудента = Оценки.КодСтудента
GROUP BY Студенты.ФИО, Студенты.Стипендия, [Студенты]![Стипендия]*0.15, [Студенты]![Стипендия]+[Студенты]![Стипендия]*0.15
HAVING (((Avg(Оценки.Оценки))=5));
Рисунок 22 – Результат выполнения «Стипендия с надбавкой 15%»
Запрос на добавление (Оценки по Истории в таблицу Копия Оценки)
INSERT INTO [Копия Оценки] (КодСтудента, КодДисциплины, Оценки)
SELECT [Оценки по Истории].КодСтудента, [Оценки по Истории].КодДисциплины, [Оценки по Истории].Оценки
FROM [Оценки по Истории];
Запрос на обновление (Код студента поля город таблицы Студенты)
UPDATE Студенты SET Студенты.Город = [Введите новое значение для поля город]
WHERE (((Студенты.КодСтудента)=[Введите код студента]));
Запрос на создание таблицы (Оценки по Истории)
SELECT Оценки.*, Дисциплины.НазваниеДисциплины INTO [Оценки по Истории]
FROM Дисциплины INNER JOIN Оценки ON Дисциплины.КодДисциплины = Оценки.КодДисциплины
WHERE (((Дисциплины.НазваниеДисциплины)="История"));
Рисунок 23 – Схема данных «Оценки по Истории»
Запрос на удаление (История из таблицы Копия Оценки)
DELETE [Копия Оценки].*, Дисциплины.НазваниеДисциплины
FROM [Копия Оценки] INNER JOIN Дисциплины ON [Копия Оценки].КодДисциплины = Дисциплины.КодДисциплины
WHERE (((Дисциплины.НазваниеДисциплины)="История"));
Рисунок 24 – Схема данных «История из таблицы Копия Оценки»
Запрос: перекрестный запрос (Распределение по городам)
TRANSFORM Count(Студенты.КодСтудента) AS [Count-КодСтудента]
SELECT Группы.НомерГруппы
FROM Группы INNER JOIN Студенты ON Группы.КодГруппы = Студенты.КодГруппы
GROUP BY Группы.НомерГруппы
PIVOT Студенты.Город;
2. Разработка модели базы данных
В проектировании структуры базы данных применяется метод семантического моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опираясь на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм сущность-связь.
Существуют различные варианты отображения ERD, но все варианты диаграмм сущность-связь исходят из одной идеи – рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.
Сущность – представление набора реальных или абстрактных объектов, которые можно выделить в одну группу, так как они имеют одинаковые характеристики и могут принимать участие в похожих связях.
Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.
Все сущности должны обладать уникальным идентификатором первичным ключом PK, то есть каждый экземпляр сущности должен однозначно идентифицироваться и отличаться от всех других экземпляров данного типа сущности.
Сущность в модели изображается в виде прямоугольника, который разделен горизонтальными линиями на части. В этих разделах указывается имя сущности, первичный ключ, атрибуты и внешние ключи FK (взаимосвязи между двумя сущностями).
Атрибут – поименованная характеристика сущности, которая принимает значение из некоторого множества значений. В модели атрибут выступает в качестве средства, с помощью которого моделируются свойства сущностей.
Связь – средство представления отношения между сущностями. Одна сущность может быть связана с другой сущностью или сама с собой.
Каждая связь может иметь один из следующих типов связи:
Связь типа один-к-одному означает, что один экземпляр первой сущно- сти связан с одним экземпляром второй сущности. Связь один-к-одному ча- ще всего свидетельствует о том, что на самом деле мы имеем всего одну сущность, неправильно разделенную на две.
Связь типа один-ко-многим означает, что один экземпляр первой сущности связан с несколькими экземплярами второй сущности. Это наиболее часто используемый тип связи.
Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности. [5]
2.1. ER-модель
На следующем этапе моделирования информационной системы необходимо из описания предметной области извлечь информацию и выделить сущности, их атрибуты и взаимосвязи между ними. На рисунке 0 представлена логическая ER-диаграмма проектируемой информационной системы.
Рисунок 25 – Логическая ERD учета успеваемости студентов
ER-диаграмма позволяет рассмотреть систему целиком и выяснить требования, необходимые для ее разработки, касающиеся хранения информации.