Файл: Проектирование БД для контроля сессионной успеваемости студентов ВУЗа.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.03.2023

Просмотров: 252

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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

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

2.2 Архитектура и основные виды СУБД

На заре развития реляционных СУБД комитет ANSI-SPARC предложил трехуровневую организацию архитектуры СУБД. Во многом данная архитектура схожа с архитектурой реляционной модели данных, но включает лишь три уровня:

- уровень представления баз данных (внешний);

- логический (концептуальный) уровень представления баз данных;

- физический (внутренний) уровень.

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


Исходя из предложенной архитектуры и функции СУБД, выделяются следующие компоненты СУБД [13 c.27-28]:

- ядро СУБД;

- интерпретатор языка SQL, а в некоторых реализациях СУБД и компилятор языка SQL;

- модули управления внешней и внутренней памятью;

- набор различных утилит.

Ядро СУБД отвечает за управление данными, управление транзакциями и журнализацию. Соответственно, можно выделить такие компоненты ядра, как менеджер данных, менеджер транзакций и менеджер журнала. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую [22].

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

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

Модуль управления буферами оперативной памяти предназначен для решения задач эффективной буферизации, которая используется практически для выполнения всех остальных функций СУБД [22].

Наконец, в отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД, а иногда даже с проникновением внутрь ядра [22].

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

На сегодняшний момент файл-серверные СУБД являются уже устаревшими. В данных СУБД данные располагаются на выделенном файл-сервере. Доступ к данным осуществляется с локальных станций, объединенных в общую сеть. Данная архитектура содержит ряд недостатков [22]:


- при выполнении операций добавления и изменения данных СУБД осуществляет блокировку целых файлов;

- высокая нагрузка на вычислительную сеть;

- низкое обеспечение надежности и безопасности данных.

К файл-серверным СУБД относятся: MS Access, dBase, Paradox, FoxPro, Visual FoxPro.

Клиент-серверные СУБД являются развитием технологии файл-серверных СУБД с одним отличием, управлением базами данных осуществляется сервером монопольно, а клиентские приложения получаю лишь результаты своих запросов. Данная реализация очень требовательна к вычислительным ресурсам сервера, но дает несомненный выигрыш в экономии нагрузки на сеть передачи данных и ресурсам рабочих станций. К тому же увеличивается надежность и безопасность операций с базами данных. Особенно выигрышна данная архитектура в базах данных, в которых будут преобладать частые операции поиска, так как при выполнении данной операции запросы поступают на сервер, затем на сервере осуществляются все необходимые дополнительные запросы и передает клиенту уже конечный результат, который тот в свою очередь передают прикладному процессу пользователя [22]. Примером СУБД данного вида могут служить следующие системы: DB2, MS SQL Server, MySQL, PostgreSQL, Firebird, Interbase, Sybase, Oracle, ЛИНТЕР.

И последней разновидностью СУБД, которая сегодня находит все большее применение, благодаря распространению различных мобильных компьютеров это встраиваемые СУБД. Встраиваемые СУБД — это не отдельное приложение (набор приложений), а отдельно распространяемая библиотека доступная разработчикам прикладного программного обеспечения. Основными достоинствами данных систем является:

- скорость работы гораздо выше, чем у других видов СУБД;

- отсутствие выделенного сервера;

- не требуют больших затрат на сопровождение;

- низкая требовательность к ресурсам компьютера.

При этом одним из существенных недостатков данного рода СУБД является ориентированность на те или иные языки программирования.

Примеры данного вида СУБД: MS SQL Server Compact, SQLite, MySQL, ScimoreDB, TurboDB, VistaDB OpenEdge, BerkeleyDB, Firebird, Sav Zigzag.

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


3. ПРОЕКТИРОВАНИЕ ДЛЯ КОНТРОЛЯ СЕССИОННОЙ УСПЕВАЕМОСТИ СТУДЕНТОВ ВУЗА, В MICROSOFT ACCESS

Access - это СУБД предназначенная для хранения и поиска информации, её представления в удобном виде и автоматизации часто повторяющихся операций. Чтобы реализовать базу данных в Access надо ввести через режим конструктора свою модель. Для начала надо ввести название таблиц и всех их атрибутов. Здесь же задается тип данных и первичный ключ.

Затем реализуем реляционную модель третей нормальной формы в схеме данных.

Для ввода данных в таблицы мы можем воспользоваться специально созданными формами.

Например, для заполнения таблицы «Студент» была создана форма «Сведения о студенте».

Рисунок 1 - Форма «Сведения о студенте»

Так же данные можно вводить непосредственно в таблицу, но это не всегда удобно.

При вводе данных в таблицы в Microsoft Access нужно быть предельно внимательным, так как можно не заметив изменить какие-либо важные данные (Access не выдает при этом ни каких предупреждений). И хорошо, если это заметите сразу. Потом найти ошибку будет гораздо труднее.

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

Рисунок 2 - Пример ввода данных непосредственно в таблицу

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

Рисунок 3 - Каскадное отображение таблиц

В Access используется каскадное отображение таблиц. Например, открыв таблицу «Ведомость» и нажав на значок «+» слева, мы увидим связь с результатами сдачи студентами этой дисциплины.

Рисунок 4 - Каскадное отображение таблицы «Ведомость»

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

В таком виде удобно исправлять неверные связи. Возможность же править данные при каскадном отображении делает MS Access ещё более привлекательным для создания сложных комплексов автоматизированного учета данных.


Рисунок 5 - «Каскад» из нескольких связей

Единственным «недостатком» такого рода изображения можно считать большой объём места на экране, заминаемое «полной» схемой.

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

Рисунок 6 - Мастер запросов

Проверим их работоспособность согласно задания

Рисунок 7 - Запрос

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

Рисунок 8 - Конструктор запросов

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

Чтобы войти в режим SQL в access нужно в поле конструктора запроса нажать правой кнопкой и в появившемся окне нажать “Режим SQL”.

Рисунок 9 - Пример SQL-запроса

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

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

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

Кнопка «Список студентов» выводит для просмотра форму «Список студентов», с возможностью редактирования и добавления данных.

Рисунок 11 - Таблица «Список студентов»

Если нажать на номер студента будет выведена форма с данными о успеваемости студента без возможности редактирования содержимого. Редактирование успеваемости производится через специальную форму «Ведомость».

Рисунок 12 - «Ведомость»

В верхнем левом углу формы находится ссылка «Новый студент», которая вызывает чистую форму «Студент» для добавления учащихся.