Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3курс 2сем / курсач / KR_Ianysheva_4716.docx
Скачиваний:
29
Добавлен:
16.04.2021
Размер:
6.09 Mб
Скачать
  1. Анализ сущностей и связей между ними

    1. Ключевые поля

Классы: Код класса

Предметы: Код предмета

Ученики: Код учителя

Учителя: Код учителя

    1. Характеристики связей

Сущность «Классы» имеет ключевой атрибут «Код класса» и связывается с сущностью «Ученики» через атрибут «Код класса».

Сущность «Предметы» имеет ключевой атрибут «Код предмета» и связывается с сущностью «Учителя» через атрибут «Код предмета».

Сущность «Учителя» имеет ключевой атрибут «Код учителя» и связывается с сущностью «Заказы» через атрибут «Номер ткани».

Рисунок 1 – Характеристика связей

Рисунок 2 – ER-диаграмма

Рисунок 3 – Схема данных

Рисунок 4 – Предварительная схема данных

Рисунок 5 – Схема данных с не ключевыми атрибутами

  1. Составление требуемых запросов к базе данных (на языке sql)

Было создано 7 запросов на языке SQL:

  • Информация об учителе;

  • Преподаватель предмета в данном классе;

  • Ф.И.О. классного руководителя в данном классе;

  • Выдача информация об ученике;

  • Состав класса;

  • Перевод ученика в следующий класс (запрос на обновление);

  • Формирование архива по окончании учеником школы (переводе в другую).

Запрос 1:

Информация об учителе Кутякова, результат продемонстрирован на рисунке 6.

Листинг программного кода:

SELECT Учителя.*

FROM Учителя

WHERE (((Учителя.ФИО) Like "Кутякова*"));

Рисунок 6 – Результат выполнения запроса

Запрос 2:

Преподаватель предмета Истории в 6 классе, результат продемонстрирован на рисунке 7.

Листинг программного кода:

SELECT Предметы.Предмет, Учителя.ФИО, Классы.НомерКласса

FROM (Предметы INNER JOIN Учителя ON Предметы.Код = Учителя.КодПредмета) INNER JOIN Классы ON Учителя.Код = Классы.КодУчителя

WHERE (((Предметы.Предмет) Like "История*") AND ((Классы.НомерКласса)=6));

Рисунок 7 – Результат выполнения запроса

Запрос 3:

Ф.И.О. классного руководителя в 8 классе, результат продемонстрирован на рисунке 8.

Листинг программного кода:

SELECT Учителя.ФИО, Классы.НомерКласса

FROM Учителя INNER JOIN Классы ON Учителя.Код = Классы.КодУчителя

WHERE (((Классы.НомерКласса)=8));

Рисунок 8 – Результат выполнения запроса

Запрос 4:

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

Листинг программного кода:

SELECT Ученики.*

FROM Ученики

WHERE (((Ученики.ФИО) Like "К*"));

Рисунок 9 – Результат выполнения запроса

Запрос 5:

Состав 9 класса, результат продемонстрирован на рисунке 10.

Листинг программного кода:

SELECT Ученики.ФИО

FROM Классы INNER JOIN Ученики ON Классы.Код = Ученики.КодКласса

WHERE НомерКласса=9;

Рисунок 10 – Результат выполнения запроса

Запрос 6:

Перевод ученика в следующий класс (запрос на обновление), результат продемонстрирован на рисунке 11 и 12.

Листинг программного кода:

UPDATE Классы SET Классы.НомерКласса = [НомерКласса]+1;

Рисунок 11 – Исходная таблица

Рисунок 12 – Результат выполнения запроса

Запрос 7:

Формирование архива по окончании учеником школы (переводе в другую)., результат продемонстрирован на рисунке 13.

Листинг программного кода:

INSERT INTO Архив ( Код, ФИО, Пол, ДатаРождения, АдресПрописки, ДатаПоступленияВшколу, СведенияОродителях, НомерКонтактногоТелефона, КодКласса )

Рисунок 13 – Результат выполнения запроса

Соседние файлы в папке курсач