Разработка базы данных - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Проектирование базы данных было Подробно описано в главе 7. Благодаря графической оболочке MySQL Workbench для MySQL все SQL запросы на создание таблиц формируются автоматически. В оболочке нужно лишь задать имена столбцов, их тип и несколько параметров, таких как первичный ключ или автоматическое проставление ID. Здесь же есть возможность указать столбцы, являющиеся внешними ключами к другим таблицам. Пример лишь одного SQL запроса на создание таблицы, который генерирует MySQL Workbench, приведен ниже.
CREATE TABLE 'grades' (
'lesID' int(4) NOT NULL,
'studID' int(4) NOT NULL,
'grade' decimal(4,2) DEFAULT NULL,
'date' date DEFAULT NULL,
'teachID' int(4) DEFAULT NULL,
'weigth' decimal(2,1) DEFAULT NULL,
KEY 'IDstud_idx' ('studID'),
KEY 'IDteach_idx' ('teachID'),
KEY 'IDless_idx' ('lesID'),
CONSTRAINT 'IDless' FOREIGN KEY ('lesID') REFERENCES 'lessons' ('lesId') ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT 'IDstud' FOREIGN KEY ('studID') REFERENCES 'students' ('studId') ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT 'IDteach' FOREIGN KEY ('teachID') REFERENCES 'teachers' ('teachId') ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Далее следовало лишь частично заполнить таблицы информацией для того, чтобы было с чем работать далее при разработке клиентской части.
Следующим шагом, который необходимо выполнить для больших баз данных, является разработка триггеров. Триггеры выполняются до или после операций над таблицами, к которым они приписаны, а их использование повышает скорость работы СУБД над данными. В основном триггеры помогают обеспечивать целостность базы данных, чем ускоряют работу администратора базы данных. Например, если из родительской таблицы удалить строку, то перед этим из дочерней таблицы, где находится внешний ключ на родительскую, необходимо удалить все данные, относящиеся к удаленной строке. Если этого не будет сделано, то СУБД выдает ошибку и просит сначала удалить все внешние ключи на данную строку. В разрабатываемой системе подобные триггеры необходимы для таблиц "Курс", "Преподаватель" и "Занятие", которые могут меняться чаще всего. Пример создания триггеров для таблицы "Курс":
CREATE DEFINER='root'@'localhost' TRIGGER 'sysmp'.'kurs_BEFORE_DELETE' BEFORE DELETE ON 'kurs' FOR EACH ROW
BEGIN
Delete from kurs_group where OLD. kursId = idkurs;
delete from kurs_year where OLD. kursId = idKurs;
delete from formula where OLD. kursId = kursID;
Delete from lessons where OLD. kursId = kursID;
delete from kurs_teach where OLD. kursId = idkursKT;
END
Данный триггер начинает свою работу перед удалением какой-либо строки в таблице "Курс". Перед удалением строки из таблицы триггеры удаляют другие записи, в которых содержится внешний ключ, указывающий на ID родительской таблицы. При этом, если в дочерних таблицах тоже прописаны какие-либо триггеры для события удаления, то они выполняются в то же время, обеспечивая целостность хранимых данных.
Более сложный триггер нужен для поддержания целостности связки других таблиц, а именно "Занятие" и "Оценка". Необходимо, чтобы при внесении нового занятия в базу, в таблице "Оценка" для каждого студента по данному занятию создавалась пустая оценка и дата сдачи. Достигается это с помощью следующего триггера:
CREATE DEFINER='root'@'localhost' TRIGGER 'sysmp'.'lessons_AFTER_INSERT' AFTER INSERT ON 'lessons' FOR EACH ROW
BEGIN
Declare c int;
declare n int;
Declare ni cursor for SELECT COUNT(*) FROM students where new. grID = 'students'.'group';
Declare i cursor for select studId from students where new. grID = 'students'.'group';
open ni;
fetch ni into n;
close ni;
SET @j = 0;
Open i;
while @j < n do
Fetch i into c;
insert into grades(lesID, studID) value (new. lesId, c);
set @j = @j + 1;
end while;
close i;
END
В данном случае необходимо использование курсоров, которые являются хранилищем результата запроса, которые в них требуется записать. Первый курсор сохраняет количество студентов, которые учатся в заданной группе, а второй указатель получает ID этих студентов. Далее с помощью результата первого курсора запускается цикл, в котором из второго курсора извлекается необходимая информация, после чего происходит внесение новой строки в таблицу "Оценка".
Все остальное обеспечение целостности данных связано с вводимой информацией, проверка которой возложена на клиентское приложение. Разработка базы данных на этом считается завершенной.
Похожие статьи
-
В ходе разработки было создано пять форм, обеспечивающих взаимодействие между пользователем и приложением: - начальное окно выбора учебного года, курса и...
-
Разработка клиент-серверной части проекта, то есть связь между клиентским приложением и базой данных, реализуется при помощи специальной библиотеки MySQL...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Введение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
Тема разработки автоматизированной системы контроля успеваемости и вычисления оценок слабо освещена в научной литературе со стороны вычислительной части...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
После выполнения задачи по Подбору и анализу литературы, настало время поиска и сравнительного анализа уже существующих решений задачи контроля...
-
Структура системы В ходе разработки выпускной квалификационной работы использовались базы данных, созданные в среде MySQL Workbench, и создано клиентское...
-
К расчету оценки необходимо подходить с большой ответственностью, поскольку это основной элемент системы. Но изначально необходимо определить, за что и...
-
Следующей задачей было изучение литературы по теме и ее анализ. Для этого использовались публикации из российских источников с целью учета особенностей...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
2.1 Описание структуры базы данных Реляционная схема базы данных для ЦЗН представлена следующими таблицами: "ПО" - содержит список единиц программного...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
Для работы с базами данных созданы системы управлением базами данных. Существует довольно большое количество СУБД, особенно предназначенных для работы с...
-
Алгоритм работы. В результате работы АИС генерируются три xml документа - два со структурой сравниваемых баз данных и один с результатами сравнения. В...
-
Следующим этапом, когда документация найдена, источники изучены, а другие решения проанализированы, является реализация автоматизированной системы...
-
Заключение - Разработка и тестирование автоматизированной системы контроля успеваемости студентов
В итоге выполнения выпускной квалификационной работы были достигнуты и получены следующие результаты: - собраны и приняты полезные сведения о системе...
-
Для тестирования процесса расчета оценок будет специально создан учебный курс с двумя модулями, один из которых будет включать экзамен, а другой - нет. В...
-
В связи с увеличением числа сотрудников, работающих в компании, а также с расширением рабочего проекта, возникла проблема, связанная с версионностью...
-
В качестве основы расчета оценки стоимости разработки информационной системы была выбрана модель - COCOMO II. Согласно описываемой модели расчеты должны...
-
Нормализация Базы Данных - Разработка информационной системы "Магазин компьютерных товаров"
Результатом работы с АИС магазина компьютерных товаров является чек, который оформляет продавец. В этом чеке должна содержаться информация о количестве...
-
SimpleXML. В PHP версии 5.0 и выше появилось расширение для работы с xml структурой. Библитека SimpleXML содержит большое количество методов для работы с...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Регистрация нового пользователя в системе возможна двумя способоами: 1) Самостоятельная регистрация пользователя; 2) Регистрация пользователя...
-
База данных представляет собой информационную модель того объекта (организации или предприятия), информация о котором требуется пользователю для...
-
Пользовательский интерфейс должен позволять заводить в базе данных информацию о новых охранниках, обслуживаемых объектах, автоматизировать составление...
-
Оценка стоимости разработки программного обеспечения, или, в частности информационной системы, - один из самых важных, сложных и в то же время неизбежных...
-
В дальнейшем будут развиваться другие способы получения информации о погоде (спутниковые и радиолокационные). Достоинства: - точность информации о погоде...
-
Физическая модель базы данных определяет способ размещения данных в среде хранения и способ доступа к этим данным, которые поддерживаются на физическом...
-
Программный интерфейс для базы данных я разрабатывал в объектно-ориентрованной среде Delphi, с помощью Embarcadero RAD Studio. Конструктор форм Delphi в...
-
Разработка концептуальной модели АИС - Проектирование автоматизированной информационной системы
Любая деятельность компании отражается в документах, и, чтобы улучшить качество рабочих бизнес-процессов, необходимо улучшить документооборот, т. е....
-
Типы данных и команды SQL - Разработка информационной системы "Магазин компьютерных товаров"
Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Требования к функциональным характеристикам система должна обеспечивать выполнение следующих функций: - Актуальная информативность Исходные данные:...
-
Для того чтобы оценить экономическую выгоду от внедрения АИС необходимо вычислить трудозатраты компании направленные непосредственно на реализацию...
-
В рамках выпускной квалификационной работы была разработана автоматизированная информационная система, предназначенная как для автоматического, так и для...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Обзор и анализ нормативных документов Для начала решения поставленных задач необходимо было изучить нормативную документацию НИУ ВШЭ, которая касается...
-
Запросы на выборку - Банки и базы данных. Системы управления базами данных
Запросы используются для получения пользователем информации, содержащейся в БД, в удобном для него виде. Результат запроса отображается для пользователя...
-
Структура SQL - Банки и базы данных. Системы управления базами данных
Широкое развитие информационных систем и связанная с этим унифицированность информационного пространства привело к необходимости создания стандартного...
Разработка базы данных - Разработка и тестирование автоматизированной системы контроля успеваемости студентов