Главная страница
Навигация по странице:

  • Содержание

  • СУБД – системы управления базами данных

  • Раздел 5. Структура базы данных

  • Запрос №1 на языке SQL : Запрос

  • Запрос №2 на языке SQL

  • Запрос №3 на языке SQL

  • Запрос №4 на языке SQL : Запрос

  • Запрос №5 на языке SQL

  • Запрос №6 на языке SQL : Запрос

  • Запрос №7 на языке SQL

  • Запрос №8 на языке SQL : Запрос

  • Запрос №9 на языке SQL : Запрос

  • Подзапрос: 126-1

  • Подзапрос второго прядка: 126-1-1

  • Запрос №10 на языке SQL

  • ПЗ ИНФОРМАТИКА. Пояснительная записка к курсовой работе База данных вуз По дисциплине Информатика


    Скачать 1.16 Mb.
    НазваниеПояснительная записка к курсовой работе База данных вуз По дисциплине Информатика
    Дата31.05.2019
    Размер1.16 Mb.
    Формат файлаdocx
    Имя файлаПЗ ИНФОРМАТИКА.docx
    ТипПояснительная записка
    #79698




    Пояснительная записка к курсовой работе «База данных ВУЗ»

    По дисциплине «Информатика»

    Выполнил

    Студент Фт-180013 Даурова К. В.

    Проверил

    Доцент к.т.н. Маркина С. Э.

    Содержание



    Введение

    База данных — это набор данных для информационных сетей и пользователей, хранящийся в особом, организованном виде. Вид хранения данных определяется заданной структурой (схемой) базы данных и правилами ее управления.

    Сами по себе, базы данных бесполезны, если нет возможности ими управлять. Под управлением базой данных понимаем возможность индивидуального или коллективного добавления информации, её сортировку, частичное или полное копирование и перемещение, объединение двух или нескольких баз данных. Для управления базами данных созданы программные продукты, являющиеся программным обеспечением баз данных. Называются они СУБД – системы управления базами данных. Мы использовали Access.

    Компьютерная база данных — это уже хранилище упорядоченных объектов. В одной базе данных может быть больше одной таблицы. Например, система отслеживания складских запасов, в которой используются три таблицы, — это не три базы данных, а одна. В базе данных Access (если её специально не настраивали для работы с данными или кодом, принадлежащими другому источнику) все таблицы хранятся в одном файле вместе с другими объектами, такими как формы, отчеты, макросы и модули. Для файлов баз данных, созданных в формате Access 2007 (который также используется в Access 2016, Access 2013 и Access 2010), используется расширение ACCDB, а для баз данных, созданных в более ранних версиях Access, — MDB. С помощью Access 2016, Access 2013, Access 2010 и Access 2007 можно создавать файлы в форматах более ранних версий приложения (например, Access 2000 и Access 2002–2003).

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

    1. Таблицы

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

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

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

    1. Формы

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

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

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

    1. Отчеты

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

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

    1. Запросы

    изображение кнопки Запросы могут выполнять множество функций в базе данных. Одна из их основных функций — находить информацию в таблицах. Нужная информация обычно содержится в нескольких таблицах, но, если использовать запросы, её можно просматривать в одной. Кроме того, запросы дают возможность фильтровать данные (для этого задаются критерии поиска), чтобы отображались только нужные записи.

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

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

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

    1. Макросы

    изображение кнопки Изображение кнопки макросы в Access — это нечто вроде упрощенного языка программирования, с помощью которого можно сделать базу данных более функциональной. Например, если к кнопке команды в форме добавить макрос, то он будет запускаться всякий раз при нажатии этой кнопки. Макросы состоят из команд, с помощью которых выполняются определенные задачи: открываются отчеты, выполняются запросы, закрывается база данных и т. д. Используя макросы, можно автоматизировать большинство операций, которые в базе данных вы делаете вручную, и, таким образом, значительно сэкономить время.

    1. Модули

    выноска 4 Подобно макросам, модули — это объекты, с помощью которых базу данных можно сделать более функциональной. Но если макросы в Access составляются путем выбора из списка макрокоманд, модули создаются на языке Visual Basic для приложений (VBA). Модули представляют собой наборы описаний, инструкций и процедур. Существуют модули класса и стандартные модули. Модули класса связаны с конкретными формами или отчетами и обычно включают в себя процедуры, которые работают только с этими формами или отчетами. В стандартных модулях содержатся общие процедуры, не связанные ни с каким объектом. Стандартные модули, в отличие от модулей класса, перечисляются в списке Модули в области навигации.

    Раздел 1. Задание

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

    Запросы:

    1. (1) Сколько студентов в сессию С группы Гр получили «отлично»?

    2. (21) Представить список юношей курса К факультета Ф.

    3. (52) Результаты сдачи экзаменов по сессиям студентами курса К

    факультета Ф.

    1. (31) Средний балл в сессию С студентов курса К факультета Ф.

    2. (40) Представить список студентов курса К факультета Ф.

    3. (56) Результаты сдачи сессии С по курсу К факультета Ф, сгруппированные по предметам (количество удовлетворительных).

    4. (162) Представить список студенческих супружеских пар бюджетников по факультету Ф.

    5. (106) Сколько студентов факультета Ф сдали сессию С только на «хорошо» и «отлично»?

    6. (126) Какую сессию специальность Сп сдала лучше всех (максимальный средний балл).

    7. (25) Представить список двоечников группы Гр в сессию С.

    Раздел 2. Модель данных

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

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

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

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

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

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

    Первая нормальная форма

    Отношение называется нормализированным или приведенным к первой нормальной форме, если все его атрибуты простые (далее неделимые):

    Отношение Студенты=( № студенческого; Фамилия; Имя; Отчество; День рождения; Факультет; Специальность; Пол; Группа; Есть дети; Иногородний; Вид обучения; Курс);

    Отношение Оценки=( № зачетной книжки; № сессии; № предмета; Оценка).

    Эти отношения находятся в первой нормальной форме.

    Вторая нормальная форма

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

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

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

    Такое определение функциональной зависимости позволяет при анализе всех взаимосвязей реквизитов предметной области выделить самостоятельные информационные объекты.

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

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

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

    Третья нормальная форма

    Понятие третьей нормальной формы основывается на понятии не транзитивной зависимости.

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

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

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

    Итак, в первой нормальной форме была представлена совокупность информационных объектов, отображающих учебный процесс в ВУЗе. Данную совокупность привели к третьей нормальной форме. В итоге получили 9 таблиц:

    • Таблица «Студенты» - отображает личные данные студента: № студенческого, фамилия, имя, отчество, дата рождения, факультет, специальность, пол, группа, наличие детей, отметка иногородний, вид обучения, курс.

    • Таблица «Оценки» - отображает сведения о достижениях в учебе: номер зачетной книжки (совпадает с номером студенческого), сессия, код предмета, оценка.


    Эти две таблицы являются основными, остальные таблицы – вспомогательные, такие как «Факультеты», «Отметки», «Предметы», «Пол», «Звания преподавателей», «Специальности», «Преподаватели», таким образом, все таблицы связанны.
    Раздел 3. Таблицы
    Ниже приведены все таблицы или фрагменты таблиц, использовавшихся в работе (см. рис. 3.1 – 3.11).


    3.1 – фрагмент таблицы «Список студентов»



    3.2 – таблица «Группы»

    3.3 – таблица «Отметки»


    3.4 – фрагмент таблицы «Оценки»


    3.5 – таблица «Пол»


    3.6 – таблица «Предметы»


    3.7 –таблица «Сессии»


    3.8 – таблица «Специальность»


    3.9 – фрагмент таблицы «Брак»


    3.10 – таблица «Факультет»


    3.11 – таблица «Форма обучения»

    Раздел 4. Схема данных
    Таблицы связаны между собой следующим образом:



    Раздел 5. Структура базы данных
    Ниже приведены схемы таблиц, использующихся в работе (см. рис. 5.1 – 5.11).
    5.1. – структура таблицы «Список студентов»
    5.2 – структура таблицы «Группы»
    5.3 – структура таблицы «Отметки»
    5.4 – структура таблицы «Оценки»
    5.5 – структура таблицы «Пол»
    5.6 – структура таблицы «Предметы»
    5.7 – структура таблицы «Сессии»
    5.8 – структура таблицы «Специальность»
    5.9 – структура таблицы «Брак»
    5.10 – структура таблицы «Факультет»
    5.11 – структура таблицы «Форма обучения»

    Раздел 6. Запросы

    Раздел «Запросы» будет содержать запросы, написанные на международном стандарте языков программирования – SQL.

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

    Язык SQL или Structured Query Language (язык структурированных запросов) это, прежде всего, информационно-логический язык для описания, изменения и извлечения данных, хранимых в реляционных базах данных. SQL считается языком программирования, в общем случае (без ряда современных расширений) не является тьюринг-полным, но вместе с тем стандарт языка спецификацией SQL/PSM предусматривает возможность его процедурных расширений.

    Запрос №1: Сколько студентов в сессию С группы Гр получили «отлично»?

    Запрос основан на таблицах «Список студентов», «Отметки», «Сессии» и «Специальность» через подзапрос, «конструктор» которого представлен на рис. 6.1.2. Конструктор самого запроса представлен на рис. 6.1.1 Поля ввода данных представлены на рис. 6.1.3 Результат выполнения запроса представлен на рис. 6.1.4

    6.1.1 – конструктор запроса №1

    6.1.2 – конструктор подзапроса



    6.1.3 – поля ввода данных

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

    Запрос №1 на языке SQL:

    Запрос: SELECT Count([ЗАПРОС 1-1].Фамилия) AS [КОЛИЧЕСТВО ОТЛИЧНИКОВ]

    FROM [ЗАПРОС 1-1];

    Подзапрос: SELECT Отметка.Наименование, [Список студентов].Фамилия, [Список студентов].Имя, Сессии.Номер, Специальность.[Номер специальности]

    FROM Отметка, Специальность INNER JOIN (Сессии INNER JOIN [Список студентов] ON Сессии.[Номер] = [Список студентов].Курс) ON Специальность.[Номер специальности] = [Список студентов].Специальность

    GROUP BY Отметка.Наименование, [Список студентов].Фамилия, [Список студентов].Имя, Сессии.Номер, Специальность.[Номер специальности]

    HAVING (((Отметка.Наименование)="ОТЛИЧНО") AND ((Сессии.Номер)=[ВВЕДИТЕ НОМЕР СЕССИИ 1 ИЛИ 2]) AND ((Специальность.[Номер специальности])=[ВВЕДИТЕ НОМЕР СПЕЦИАЛЬНОСТИ 1 - МЕДИЦИНСКАЯ БИОФИЗИКА, 2 - АНИМАЦИЯ И ДИЗАЙН, 3 - МЕХАНИКА И МАШИНОСТРОЕНИЕ, 4 - ТУРИЗМ, 5 - ПЕРЕВОД И ЛОКАЛИЗАЦИЯ, 6 - ИНЖЕНЕРНОЕ ПРОГРАММИРОВАНИЕ]));

    Запрос №2: Представить список юношей курса К факультета Ф.

    Запрос основан на таблицах «Список студентов» и «Пол». Конструктор запроса представлен на рис. 6.2.1. Поля ввода данных представлены на рис. 6.2.2. Результат выполнения запроса представлен на рис. 6.2.3.

    6.2.1 – конструктор запроса №2

    6.2.2 – поля ввода данных

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

    Запрос №2 на языке SQL:

    SELECT [Пол 1].Пол, [Список студентов].Фамилия, [Список студентов].Курс, [Список студентов].Факультет

    FROM [Пол 1] INNER JOIN [Список студентов] ON [Пол 1].Пол = [Список студентов].Пол

    GROUP BY [Пол 1].Пол, [Список студентов].Фамилия, [Список студентов].Курс, [Список студентов].Факультет

    HAVING ((([Список студентов].Курс)=[ВВЕДИТЕ КУРС 1 ИЛИ 2]) AND (([Список студентов].Факультет)=[ВВЕДИТЕ ФАКУЛЬТЕТ 1 ИЛИ 2]));

    Запрос №3: Результаты сдачи экзаменов по сессиям студентами курса К факультета Ф.

    Запрос основан на таблицах «Список студентов», «Оценки», «Отметки» и «Предметы». Конструктор запроса представлен на рис. 6.3.1. Поля ввода данных представлены на рис. 6.3.2. Результат выполнения запроса представлен на рис. 6.3.3.

    6.3.1 – конструктор запроса №3

    6.3.2 – поля ввода данных

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

    Запрос №3 на языке SQL:

    SELECT [Список студентов].Фамилия, [Список студентов].Имя, [Список студентов].Факультет, [Список студентов].Курс, Предметы.[Название предмета], Оценки.Оценка, Отметка.Наименование

    FROM Отметка INNER JOIN ([Список студентов] INNER JOIN (Предметы INNER JOIN Оценки ON Предметы.Код = Оценки.Предмет) ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Отметка.Цифра = Оценки.Оценка

    GROUP BY [Список студентов].Фамилия, [Список студентов].Имя, [Список студентов].Факультет, [Список студентов].Курс, Предметы.[Название предмета], Оценки.Оценка, Отметка.Наименование

    HAVING ((([Список студентов].Факультет)=[ВВЕДИТЕ ФАКУЛЬТЕТ 1 - ФТИ, 2 - УГИ]) AND (([Список студентов].Курс)=[ВВЕДИТЕ КУРС]));
    Запрос №4: Средний балл в сессию С студентов курса К факультета Ф.

    Запрос основан на таблицах «Список студентов», «Сессии», «Отметки» и на подзапросе. Конструктор запроса представлен на рис. 6.4.1. Конструктор подзапроса представлен на рис. 6.4.2. Поля ввода данных представлены на рис. 6.4.3. Результат выполнения запроса представлен на рис. 6.4.4.

    6.4.1 – конструктор запроса №4

    6.4.2 – конструктор подзапроса



    6.4.3 – поля ввода данных

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

    Запрос №4 на языке SQL:

    Запрос: SELECT Count([ЗАПРОС 31-1].Фамилия) AS ФАМИЛИЯ, Avg([ЗАПРОС 31-1].Цифра) AS [СРЕДНИЙ БАЛЛ]

    FROM [ЗАПРОС 31-1];

    Подзапрос: SELECT Сессии.Номер, [Список студентов].Курс, [Список студентов].Факультет, Отметка.Цифра, [Список студентов].Фамилия

    FROM Отметка, Сессии INNER JOIN [Список студентов] ON Сессии.Номер = [Список студентов].Курс

    GROUP BY Сессии.Номер, [Список студентов].Курс, [Список студентов].Факультет, Отметка.Цифра, [Список студентов].Фамилия

    HAVING (((Сессии.Номер)=[ВВЕДИТЕ НОМЕР СЕССИИ]) AND (([Список студентов].Курс)=[ВВЕДИТЕ НОМЕР КУРСА 1 ИЛИ 2]) AND (([Список студентов].Факультет)=[ВВЕДИТЕ НОМЕР ФАКУЛЬТЕТА 1 - ФТИ ИЛИ 2 - УГИ]));
    Запрос №5: Представить список студентов курса К факультета Ф.

    Запрос основан на таблицах «Список студентов». Конструктор запроса представлен на рис. 6.5.1. Поля ввода данных представлены на рис. 6.5.2. Результат выполнения запроса представлен на рис. 6.5.3.
    6.5.1 – конструктор запроса №5
    6.5.2 – поля ввода данных
    6.5.3 – результат выполнения запроса

    Запрос №5 на языке SQL:

    SELECT [Список студентов].[Номер студенческого], [Список студентов].Фамилия, [Список студентов].Имя

    FROM [Список студентов]

    WHERE ((([Список студентов].Курс)=[ВЫБЕРИТЕ КУРС 1 ИЛИ 2]) AND (([Список студентов].Факультет)=[ВЫБЕРИТЕ ФАКУЛЬТЕТ 1 - ФТ ИЛИ 2 - УГИ]));


    1. Запрос №6: Результаты сдачи сессии С по курсу К факультета Ф, сгруппированные по предметам (количество удовлетворительных).

    Запрос основан на таблицах «Список студентов», «Отметка» и «Специальность», «Сесии» а также на подзапросе подзапроса. Конструктор запроса представлен на рис. 6.6.1. Конструктор подзапроса представлен на рис. 6.6.2. Поля ввода данных представлены на рис. 6.6.3. Результат выполнения запроса представлен на рис. 6.6.4.

    6.6.1 – конструктор запроса №6
    6.6.2 – конструктор подзапроса
    6.6.3 – поля ввода данных
    6.6.4 – результат выполнения запроса
    Запрос №6 на языке SQL:

    Запрос: SELECT Count([ЗАПРОС 56-1].Фамилия) AS [РЕЗУЛЬТАТ СДАЧИ СЕССИИ]

    FROM [ЗАПРОС 56-1];

    Подзапрос: SELECT [Список студентов].Фамилия, [Список студентов].Имя, Сессии.Номер, [Список студентов].Курс, [Список студентов].Факультет, Отметка.Наименование

    FROM Отметка, Специальность INNER JOIN (Сессии INNER JOIN [Список студентов] ON Сессии.Номер = [Список студентов].Курс) ON Специальность.[Номер специальности] = [Список студентов].Специальность

    GROUP BY [Список студентов].Фамилия, [Список студентов].Имя, Сессии.Номер, [Список студентов].Курс, [Список студентов].Факультет, Отметка.Наименование

    HAVING (((Сессии.Номер)=[ВВЕДИТЕ НОМЕР СЕССИИ 1 ИЛИ 2]) AND (([Список студентов].Курс)=[ВВЕДИТЕ КУРС 1 ИЛИ 2]) AND (([Список студентов].Факультет)=[ВВЕДИТЕ НОМЕР ФАКУЛЬТЕТА 1 - ФТИ, 2 - УГИ]) AND ((Отметка.Наименование) Like "УДОВЛЕТВОРИТЕЛЬНО"));

    Запрос №7: Представить список студенческих супружеских пар бюджетников по факультету Ф.

    Запрос основан на таблицах «Список студентов» и «Брак». Конструктор запроса представлен на рис. 6.7.1. Результат выполнения запроса представлен на рис. 6.7.2.

    6.7.1 – конструктор запроса №7

    6.7.2 – результат выполнения запроса
    Запрос №7 на языке SQL:

    SELECT [Список студентов].[Форма обучения], Брак.[Фамилия жены], Брак.[Имя жены], Брак.[Факультет жены], Брак.[Фамилия мужа], Брак.[Имя мужа], Брак.[Факультет мужа]

    FROM Брак INNER JOIN [Список студентов] ON Брак.[Код пары] = [Список студентов].[Код пары]

    GROUP BY [Список студентов].[Форма обучения], Брак.[Фамилия жены], Брак.[Имя жены], Брак.[Факультет жены], Брак.[Фамилия мужа], Брак.[Имя мужа], Брак.[Факультет мужа]

    HAVING ((([Список студентов].[Форма обучения])=1) AND ((Брак.[Факультет жены])=1) AND ((Брак.[Факультет мужа])=1));
    Запрос №8: Сколько студентов факультета Ф сдали сессию С только на «хорошо» и «отлично»?

    Запрос основан на таблицах «Список студентов», «Сессии», «Отметки» и подзапросе. Конструктор запроса представлен на рис. 6.8.1. Конструктор подзапроса представлен на рис. 6.8.2. Поля ввода данных представлены на рис. 6.8.3. Результат выполнения запроса представлен на рис. 6.8.4.

    6.8.1 – конструктор запроса №8


    6.8.2 – конструктор подзапроса
    6.8.3 – поля ввода данных
    6.8.4 – результат выполнения запроса

    Запрос №8 на языке SQL:

    Запрос: SELECT Count([ЗАПРОС 106-1].Фамилия) AS [СТУДЕНТЫ НА "ХОРОШО" И "ОТЛИЧНО"]

    FROM [ЗАПРОС 106-1];

    Подзапрос: SELECT [Список студентов].Фамилия, [Список студентов].Факультет, Сессии.Номер

    FROM Отметка, Сессии INNER JOIN [Список студентов] ON Сессии.Номер = [Список студентов].Курс

    WHERE (((Отметка.Наименование) Like "ХОРОШО" Or (Отметка.Наименование)="ОТЛИЧНО"))

    GROUP BY [Список студентов].Фамилия, [Список студентов].Факультет, Сессии.Номер

    HAVING ((([Список студентов].Факультет)=[ВВЕДИТЕ НОМЕР ФАКУЛЬТЕТА 1 ИЛИ 2]) AND ((Сессии.Номер)=[ВВЕДИТЕ НОМЕР СЕССИИ 1 ИЛИ 2]));

    Запрос № 9: Какую сессию специальность Сп сдала лучше всех (максимальный средний балл).

    Запрос основан на таблицах «Список студентов», «Отметки», «Специальность», «Оценки», «Сессии» и подзапросах. Конструктор запроса представлен на рис. 6.9.1 конструкторы подзапросов представлены на рис. 6.9.2. Конструкторы подзапросов второго порядка представлены на рис. 6.9.3. Результат выполнения запроса представлен на рис. 6.9.4.

    6.9.1 – конструктор запроса №9







    6.9.2 – конструкторы подзапросов



    6.9.3 – конструкторы подзапросов второго порядка

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

    Запрос №9 на языке SQL:

    Запрос: SELECT Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-5] INNER JOIN (((((Сессии INNER JOIN [ЗАПРОС - 126-1] ON Сессии.[Номер сесcии] = [ЗАПРОС - 126-1].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-2] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-2].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-3] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-3].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-4] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-4].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-6] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-6].[Номер сесcии]) ON [ЗАПРОС 126-5].[Номер сесии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии], [ЗАПРОС - 126-1].[Avg-Среднее значение отметки], [ЗАПРОС 126-2].[Avg-Среднее значение], [ЗАПРОС 126-3].[Avg-Среднее значение], [ЗАПРОС 126-4].[Среднее значение], [ЗАПРОС 126-5].[Среднее значение], [ЗАПРОС 126-6].[Avg-Среднее значение]

    HAVING (((Сессии.[Номер сесcии])=2));

    Подзапрос:

    126-1: SELECT Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-5] INNER JOIN (((((Сессии INNER JOIN [ЗАПРОС - 126-1] ON Сессии.[Номер сесcии] = [ЗАПРОС - 126-1].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-2] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-2].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-3] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-3].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-4] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-4].[Номер сесcии]) INNER JOIN [ЗАПРОС 126-6] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-6].[Номер сесcии]) ON [ЗАПРОС 126-5].[Номер сесии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии], [ЗАПРОС - 126-1].[Avg-Среднее значение отметки], [ЗАПРОС 126-2].[Avg-Среднее значение], [ЗАПРОС 126-3].[Avg-Среднее значение], [ЗАПРОС 126-4].[Среднее значение], [ЗАПРОС 126-5].[Среднее значение], [ЗАПРОС 126-6].[Avg-Среднее значение]

    HAVING (((Сессии.[Номер сесcии])=2));

    126-2: SELECT Avg([ЗАПРОС 126-2-1].[Среднее значение]) AS [Avg-Среднее значение], Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-2-1] INNER JOIN Сессии ON [ЗАПРОС 126-2-1].[Номер сесcии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии];

    126-3: SELECT Avg([ЗАПРОС 126-3-1].[Среднее значение]) AS [Avg-Среднее значение], Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-3-1] INNER JOIN Сессии ON [ЗАПРОС 126-3-1].[Номер сесcии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии];

    126-4: SELECT Avg([ЗАПРОС 126-4-1].[Среднее значение]) AS [Среднее значение], Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-4-1] INNER JOIN Сессии ON [ЗАПРОС 126-4-1].[Номер сесcии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии];

    126-5: SELECT Avg([ЗАПРОС 126-5-1].[Среднее значчение]) AS [Среднее значение], Сессии.[Номер сесcии] AS [Номер сесии]

    FROM Сессии INNER JOIN [ЗАПРОС 126-5-1] ON Сессии.[Номер сесcии] = [ЗАПРОС 126-5-1].[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии];

    126-6: SELECT Avg([ЗАПРОС 126-6-1_1].[Среднее значение]) AS [Avg-Среднее значение], Сессии.[Номер сесcии]

    FROM [ЗАПРОС 126-6-1] AS [ЗАПРОС 126-6-1_1] INNER JOIN Сессии ON [ЗАПРОС 126-6-1_1].[Номер сесcии] = Сессии.[Номер сесcии]

    GROUP BY Сессии.[Номер сесcии];

    Подзапрос второго прядка:

    126-1-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значение отметки], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN ((Специальность INNER JOIN [Список студентов] ON Специальность.[Номер специальности] = [Список студентов].Специальность) INNER JOIN (Отметки INNER JOIN Оценки ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=1));

    126-2-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значение], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN (Специальность INNER JOIN (Отметки INNER JOIN ([Список студентов] INNER JOIN Оценки ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON Специальность.[Номер специальности] = [Список студентов].Специальность) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=2));

    126-3-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значение], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN ((Специальность INNER JOIN [Список студентов] ON Специальность.[Номер специальности] = [Список студентов].Специальность) INNER JOIN (Отметки INNER JOIN Оценки ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=3));

    126-4-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значение], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN (Отметки INNER JOIN ((Специальность INNER JOIN [Список студентов] ON Специальность.[Номер специальности] = [Список студентов].Специальность) INNER JOIN Оценки ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=4));

    126-5-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значчение], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN (Специальность INNER JOIN ([Список студентов] INNER JOIN (Отметки INNER JOIN Оценки ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Специальность.[Номер специальности] = [Список студентов].Специальность) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=5));

    126-6-1: SELECT Специальность.[Номер специальности], [Список студентов].Фамилия, Avg(Отметки.Цифра) AS [Среднее значение], Сессии.[Номер сесcии]

    FROM Сессии INNER JOIN ((Специальность INNER JOIN [Список студентов] ON Специальность.[Номер специальности] = [Список студентов].Специальность) INNER JOIN (Отметки INNER JOIN Оценки ON Отметки.[Код отметки] = Оценки.[Код отметки]) ON [Список студентов].[Номер студенческого] = Оценки.[Номер студенческого]) ON Сессии.[Номер сесcии] = [Список студентов].Курс

    GROUP BY Специальность.[Номер специальности], [Список студентов].Фамилия, Сессии.[Номер сесcии]

    HAVING (((Специальность.[Номер специальности])=6));

    Запрос №10: Представить список двоечников группы Гр в сессию С.

    Запрос основан на таблице «Список студентов», «Отметки» и «Сессии». Конструктор запроса представлен на рис. 6.10.1. Поля ввода данных представлены на рис. 6.10.2. Результат выполнения запроса представлен на рис. 6.10.3.

    6.10.1 – конструктор запроса №10

    6.10.2 – поля ввода данных

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

    Запрос №10 на языке SQL:

    SELECT [Список студентов].Фамилия, [Список студентов].Имя, [Список студентов].[Номер группы], Сессии.Номер, Отметка.Цифра

    FROM Отметка, Сессии INNER JOIN [Список студентов] ON Сессии.Номер = [Список студентов].Курс

    GROUP BY [Список студентов].Фамилия, [Список студентов].Имя, [Список студентов].[Номер группы], Сессии.Номер, Отметка.Цифра

    HAVING ((([Список студентов].[Номер группы])=[ВВЕДИТЕ НОМЕР ГРУППЫ 1, 2, 3, 4, 5, 6]) AND ((Сессии.Номер)=[ВВЕДИТЕ НОМЕР СЕССИИ 1 ИЛИ 2]) AND ((Отметка.Цифра) Like "2"));

    Раздел 7. Формы

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

    Простая форма «Состоящие в браке»



    Форма «Оценки студентов» с подчинённой формой «Оценки»



    Раздел 8. Отчеты

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

    Отчёт к запросу № 8

    Отчёт к запросу № 5

    Заключение

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

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

    Средствами СУБД Microsoft Access создан удобный пользовательский интерфейс. Приложение позволяет решать все задачи, сформулированные в задании на курсовую работу. Это позволяет сделать вывод, что задание выполнено полностью.

    Список литературы

    1. Информатика: Учебник – 3 переработанное издание / Под ред. Проф. Н.В. Макаровой – М.: Финансы и статистика – 1999.

    2. Проектирование баз данных и экспертных систем. Инфологический аспект. Методические указания / В.П. Денисов. Екатеринбург; УГТУ-УПИ, 2004. 46с.

    3. Работа в пакете MS OFFICE: СУБД ACCESS: Методические указания к лабораторным работам по курсу «Информатика» С.Э. Маркина. Екатеринбург: ГОУ ВПО УГТУ-УПИ, 2003. 36с.

    4. Учебно-методическое пособие «Базовый компьютерный инструментарий государственного гражданского служащего Республики Марий Эл (практикум)». Йошкар-Ола: МОСИ, 2011. 115с.

    5. [Электронный ресурс] : https://support.office.com/ru-ru/article/Основные-сведения-о-базах-данных-a849ac16-07c7-4a31-9948-3c8c94a7c204:

    Екатеринбург

    2019


    написать администратору сайта