Учебная работа. Реферат: База данных Кафедра
ВВЕДЕНИЕ
Высшее учебное заведение сейчас – это непростой учебно-хозяйственный комплекс с бессчетными наружными и внутренними связями. И управление Университетом, его информационными потоками, учебным действием, документооборотом и иными действиями представляет собой сложную систему, маленькие и большие задачки которой тесновато соединены меж собой.
Система управления ВУЗом обязана представлять собой гибкую, оживленную систему, позволяющую отлично разглядывать намеченные планы, оперативно учесть все конфигурации и новейшие тенденции. Огромные способности для совершенствования управления каждым ВУЗом предоставляет внедрение вычислительной техники и средств связи. В истинное время накоплен определённый опыт разработки и внедрения автоматических систем управления ВУЗом.
В организационной системе более трудозатратными являются процессы, связанные с обработкой инфы – сбор, скопление, преобразование, отображение, хранение, передача и вывод. Убыстрить эти процессы и облегчить труд персонала Университета дозволяет АСУ.
Фактически все современные виды деятель человека невообразимы без использования современных информационных средств, компьютерных технологий. В Таразском Муниципальном Институте на кафедре «Компьютерные системы» готовят профессионалов по самым современным, многообещающим и престижным специальностям, таковым как вычислительная техника и программное обеспечение, информационные системы, компьютерные системы управления. Деятельность кафедры связана с учетом огромного количества инфы, которую нужно классифицировать.
Целью данного проекта является создание ИС для автоматизации учета и анализа инфы (данных) о успеваемости студентов кафедры «Компьютерные системы». нужно не только лишь упорядочить информацию, да и упростить процессы ее анализа и принятия нужных управленческих решений.
Задачками данного проекта являются:
— выявить необходимость автоматизации информационных потоков действий деятельности кафедры;
— проектирование базы данных в ERWin и генерация ее в Interbase;
— создание клиент-приложения в объектно-ориентированной среде программирования Delphi7.
Целью всех выполняемых действий являются:
— заавтоматизировать процесс регистрации, учета инфы;
— уменьшить время поиска нужных данных;
— улучшить хранение инфы, нужной для деятель кафедры.
1. АНАЛИЗ ПРЕДМЕТНОЙ области
1.1. Постановка задачки
В реальный момент на кафедре «Компьютерные системы» студенты учатся по фронтам 050602 «Информатика», 050703 «Информационные системы», 050704 «Вычислительная техника и программное обеспечение».
В Таразском Муниципальном Институте с 2004 года обучение делается по кредитной технологии. Занятия организуются и проводятся в согласовании с учебными планами направлений и специальностей и рабочими программками дисциплин, входящих в учебные планы. Разработка учебных планов, составление различных отчетов и т.п. – вся эта работа проводится вручную, занимая значительную часть времени работы заведующего кафедрой. В течение семестра студенты проходят две промежные аттестации баллы, за которые вносятся в первую и вторую промежную ведомость. Выставление баллов происходит по определенным аспектам: лекционное занятие, практическое занятие и СРС, (которое содержит в себе баллы за курсовую работу, если таковая имеется). В конце семестра (по истечении 15 недель) студенты сдают экзамены по данным дисциплинам, приобретенная оценка вносится в экзаменационную ведомость. Потом на базе 3-х ведомостей: 2-ух промежных (накопительных) и экзаменационной формируется итоговая ведомость, которая содержит в себе итоговую оценку по дисциплине в цифровом и буквенном выражении, которая потом идет в транскрипт студента. В итоге приобретенные данные анализируются: делается анализ баллов приобретенных студентами по итогам семестра, сдача курсовых работ, также баллов по ним; просматриваются и редактируются по мере необходимости учебные планы. По данной инфы формируются отчеты для заведующего кафедрой, также в деканат. Деканат, получает информацию для контроля организации учебного процесса по специальностям и кафедрам факультета, набор документов по текущей успеваемости студентов факультета и рейтинговые оценки за экзаменационные сессии. Любой заведующий кафедрой получает животрепещущий рабочий учебный план специальности и перечень дисциплин кафедры, промежные и экзаменационные ведомости по дисциплинам кафедры для внесения рейтинговых баллов, имеет доступ к справочнику и пополняет фонд кафедры рабочих учебных программ.
Разработка и корректировка учебных планов специальностей ведется сотрудниками кафедр. На шаге получения эталонов специальностей решаются последующие задачки:
· ввод данных о неотклонимых циклах дисциплин;
· корректировка контрольных характеристик.
На шаге разработки учебных планов:
· ввод данных о дисциплинах, назначенных кафедрой, дисциплинах специализации, дисциплинах по выбору студента;
· ввод данных о распределении занятий и курсовых работ по семестрам.
Обработать вручную таковой размер инфы достаточно таки трудно. Конкретно потому было принято решение сделать автоматическую систему для учета и анализа успеваемости студентов, также контроля учебных планов.
Исходя из убеждений реализации проектируемая система обязана удовлетворять последующим требованиям:
· системность и информационная сопоставимость подсистем и частей подсистемы, т.е. создание во всей информационной системе взаимоувязанной совокупы форм обмена информацией;
· методическое единство, т.е. разработка разных подсистем на базе единых принципов, и обеспечение связи разных подсистем, входящих в состав системы (характеристики, формы документов);
Как следует, результатом данной работы должен стать проект, удовлетворяющий требованиям заведующего кафедрой «Компьютерные системы» по учету хранимой инфы о успеваемости студентов кафедры.
1.2. Входные/выходные данные
Начальными данными являются:
— данные о студенте (ФИО, группа);
— данные о педагоге (ФИО, должность);
— данные о группах (наименование, предводитель, эдвайзер, год поступления);
— сведения о специальностях (наименование, год введения);
— данные о дисциплинах (наименования, кредиты, наличие курсовой работы).
На базе начальных данных формируется:
— рабочий учебный план, который носит справочный нрав;
— ведомость успеваемости студентов.
Выходные документы/данные в деятель кафедры:
— отчет «Рабочий учебный план»;
— отчет Дисциплин, по которым есть курсовые работы;
— отчет по дисциплинам с учетом итогового балла и балла приобретенного по курсовой работе, если таковая имеется;
— отчет по итоговым баллам студентов по дисциплинам.
2. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
2. 1. анализ узнаваемых подходов к решению препядствия
На нынешний денек есть два главных подхода к разработке ПО ИС, один из которых именуется
либо
. В его базу положен принцип многофункциональной декомпозиции, при которой структура системы описывается в определениях иерархии ее функций и передачи инфы меж отдельными многофункциональными элементами. 2-ой,
употребляет объектную декомпозицию. структура системы описывается в определениях объектов и связей меж ними, а объект системы владеет своим своим поведением, моделирующим задачки и так дальше. процесс разбиения длится прямо до определенных процедур. При всем этом автоматизируемая система сохраняет целостное системы «снизу-вверх», от отдельных задач ко всей системе, целостность пропадает, появляются препядствия при описании информационного взаимодействия отдельных компонент.
Принципиальным качеством объектно-ориентированного подхода является согласованность моделей деятель организации и моделей проектируемой системы от стадии формирования требований до стадии реализации. Объектно-ориентированный подход владеет преимуществ, таковых как:
· объектная декомпозиция дает возможность создавать ПС наименьшего размера методом использования общих устройств. Внедрение объектно-ориентированного подхода значительно увеличивает уровень унификации разработки и пригодность для повторного использования программ, также проектов;
· объектная декомпозиция уменьшает риск сотворения сложных систем ПО , т.к. она подразумевает эволюционный путь развития системы на базе относительно маленьких подсистем;
· объектная модель дозволяет полностью применять выразительные способности объектных и объектно-ориентированных языков программирования.
Основным же достоинством объектно-ориентированного подхода будет то, что объектно-ориентированные системы наиболее открыты и легче поддаются внесению конфигураций, т.к. их система базируется на устойчивых формах. Переход на новейшую технологию связан с высочайшими исходными затратами, также с преодолением психических проблем. Это относится к недочетам объектно-ориентированного подхода. Но все-же объектно-ориентированная модель более правильно отражает настоящий мир, представляющий из себя совокупа взаимодействующих объектов. Объектно-ориентированный подход не дает незамедлительной отдачи. Эффект от его внедрения начинает сказываться опосля разработки 2-3 проектов [6].
В истинное время на практике количество CASE-средств, поддерживающих объектно-ориентированный подход, невелико по сопоставлению с поддерживающими структурный подход. В том числе, диаграммы, отражающие специфику объектно-ориентированного подхода (диаграммы классов, объектов и т.д.), еще наименее наглядны и плохо понимаемы непрофессионалами. Примерами объектно-ориентированных CASE-средств являются: Rational Rose конторы Rational Software и Paradigm Plus конторы Computer Associates, созданные для автоматизации шагов анализа и проектирования ПО .
Современные CASE-средства, поддерживающих структурный подход, обхватывают необъятную область поддержки бессчетных технологий проектирования ИС: от обычных средств анализа и документирования до полномасштабных средств автоматизации, покрывающих весь актуальный цикл ПО . На нынешний денек русский Рынок программного обеспечения располагает последующими более развитыми CASE-средствами: Vantage Team Builder (Westmount I-CASE); Designer/2000; Silverrun; ERwin+BPwin; S-Designor; CASE.Аналитик.
ERwin — современное средство проектирования баз данных.
Отличительной чертой ERwin/ERX является высочайшая степень обеспечения согласованного взаимодействия меж средствами сотворения баз данных и средствами разработки приложений. ERwin поддерживает все более пользующиеся популярностью реляционные СУБД, включая Oracle; Sybase; Informix; Microsoft SQL Server; FoxPro; InterBase; Paradox; Access и др. одна и та же модель быть может применена для сотворения нескольких баз данных либо для переноса приложения с платформы одной СУБД на другую. ERwin можно применять вместе со почти всеми пользующимися популярностью средствами разработки приложений: Delphi, PowerBuilder, Visual Basic, Oracle Designer/2000 и др. [6]
Главные свойства:
· поддержка обычной нотации IDEF1X для ER диаграмм моделей данных, нотации IE и специальной нотации, созданной для проектирования хранилищ данных – DIMENSIONAL;
- возможность импорта/экспорта данных из BРwin, Oracle Designer;
- поддержка триггеров, хранимых процедур и шаблонов;
- развитые средства проверки правильности моделей данных;
- автоматическая генерация SQL DDL для сотворения баз данных;
· глубочайшая Интеграция с продуктами Oracle, Sybase, Centura, Microsoft на базе одного репозитория и действенного обмена проектами; импорт/экспорт с Rational Rose;
· автоматическая генерация экранных форм приложений для PowerBuilder, Delphi, Visual Basic, сделанных на базе спроектированной модели данных.
2.2. Проектирование базы данных в ERwin
Для сотворения ER – диаграммы в проекте употребляется программное средство ERwin.
В базе данных применены домены.
домен — это возможное огромное количество значений обычного типа данных, он имеет сходство с подтипом данных в неких языках программирования. домен определяется 2-мя элементами — типом данных и логическим выражением, которое применяется к данным. Если итог этого выражения равен значению «правда», то экземпляр данных принадлежит домену [6].
Таблица 1- Домены, применяемые в диаграмме.
Логическое имя домена
Физическое имя домена
Родительский домен
Number
Number
Number
Number
Number
Number
Number
Number
Number
String
String
String
String
String
String
String
number
В диаграмму входят такие сути:
Суть
включает:
o
o
Суть
включает:
o
o
o
Суть
включает:
o
o
o
o
Суть
включает:
o
o
o
Суть
включает:
o
o
o
o
включает:
o
o
o
o
o
o
o
o
o
o
o
o
Физически модель, напротив, зависит от определенной базы данных, избираемой юзером. Таковым образом, одной логической модели может соответствовать несколько физических моделей. Не считая того, потому что в физической модели речь идет уже о реально имеющихся в БД физических объектах, то непременно должны быть определены типы данных и атрибутов.
На логическом уровне
данные представляются так, как они смотрятся в настоящем мире. Объектами логического уровня являются сути и атрибуты. Модель логического уровня является всепригодной и не связана с определенной базой данных [6.
Потом генерируем SQL код сначало установив программку выбрав Server/Target Interbase, потом выбрав Server Tasks/Schema Generation, установив нужные характеристики жмем клавишу Preview для просмотра сгенерированного SQL кода. Итак, получив SQL код, мы можем перейти к последующему шагу проектирования.
Набросок 1- Диаграмма физически
Набросок 2 — Диаграмма на логическом уровне.
2.3. Создание базы данных в INTERBASE
2.3.1.
INTERBASE
и область его внедрения
InterBase представляет собой полнофункциональный SQL- . баз данных- это программный процесс, который производится на узле сети, где размещен основной комп либо на физическом уровне размещена сама база данных. процесс сервера- единственный процесс на любом узле, который может исполнять прямые операции ввода-вывода для файлов базы данных.
Клиенты отправляют запросы серверному процессу, чтоб выполнить разные деяния в базе данных, включая:
- Поиск в базе данных по данным условиям;
- Сопоставление, сортировку и момент к серверу.
Серверный процесс является вполне сетевым, он поддерживает запросы на подключение от остальных узлов сети и этот же самый протокол InterBase прикладной программки, что и клиентские процессы.
несколько клиентов могут быть соединены с многопоточным действием сервера сразу.
регулирует доступ к отдельным записям данных в границах базы данных и обеспечивают монопольный доступ к записям, когда клиенты выдают запросы на изменение данных в записях.
Различительными свойствами InterBase являются:
· Высочайшая производительность и надежность сервера при малых требованиях к техническим средствам.
· Поддержка эталона SQL-92, обеспечивающая переносимость приложений.
· Относительно низкая стоимость продукта.
· Простота установки и поддержки сервера. Удачный и не требующий специальной подготовки механизм администрирования базой данных.
Все это делает InterBase красивым выбором для реализации корпоративных систем малого и среднего масштаба (с количеством юзеров в несколько 10-ов). При реализации весьма больших проектов (с сотками либо наиболее юзеров) стоит, наверняка, разглядеть наиболее массивные серверы – типа Oracle либо Informix [1].
2.3.2. Уровни реализации языка
SQL
По собственному существу SQL предназначен лишь для описания взаимодействия с базой данных. SQL не содержит средств, нужных для разработки законченных программ и может употребляться лишь как их часть. Зависимо от предназначения SQL может применять один из 3-х уровней реализации.
1. Интерактивный либо автономный SQL(ISQL) дает возможность юзерам конкретно извлекать информацию из базы данных либо записывать ее в базу данных. Этот уровень доступен средством соответственных утилит либо особых обычных средств для работы с базами данных. В InterBase это реализуется таковыми утилитами, как Isql.exe и Wisql32.exe. С помощью их информация быть может загружена в базу данных либо извлечена из нее и выведена на экран, печать либо файл.
2. Статический SQL (SQL)- фиксированный (исполнимый), т.е. заблаговременно приготовленный и записанный , а не создаваемый в процессе выполнения программки SQL код, обычно применяемый в приложениях. Существует две версии статического SQL. Интегрированный либо внедренный SQL – это код SQL, включенный в начальный код программки, написанной на том либо ином алгоритмическом языке. Применяемый язык при всем этом именуют базисным. InterBase поддерживает внедренный SQL. Другое внедрение статического SQL- модульный язык. В этом случае модули SQL присоединяются к приложению на шаге компоновки.
3. Динамический SQL (DSQL) – код SQL, генерируемый приложением во время его выполнения. Динамический SQL подменяет статический в тех вариантах, когда нужный код не быть может определен во время написания приложения, потому что он сам зависит от действий юзера во время выполнения приложения.
В InterBase употребляются все 3 уровня реализации SQL. нужно держать в голове, что на различных уровнях доступны не все команды языка. Не считая того, синтаксис установок различных уровней может различаться. При описании синтаксиса соответственных установок оговаривается уровень реализации, на который нацелен это синтаксис. Почти всегда, правда этот синтаксис является единым [8].
2.3.3. Скорость доступа к данным
Скорость доступа к данным определяется объемом просматриваемой в процессе подборки инфы. При отсутствии критерий для подборки (фильтрации) и упорядочения просмотр осуществляется постоянно в физическом порядке, обеспечивая наивысшую скорость поиска. Когда задаются некие условия, то скорость поиска быть может значительно увеличена, если данные, участвующие в критериях подборки тем либо другим методом упорядочены. В этом случае оказывается вероятным уменьшить размер просматриваемых данных, сходу исключив те, которые не удовлетворяют условиям подборки.
В InterBase упорядочение данных достигается заданием индексов по интересующему полю либо группе полей. Индекс представляет собой перечень значений индексных полей, в каком любому набору значений сопоставляется указатель на надлежащие строчки таблиц. Сами индексы организуются, как правило, в виде бинарных деревьев либо списков, что дозволяет вести довольно резвый поиск по ним. При всем этом размер памяти, занимаемый индексом, относительно невелик.
Следует держать в голове, что при всяком обновлении данных должны обновляться и индексы. Таковым образом, платой за резвый поиск является повышение издержек времени на обновление данных. Не считая того, сами индексы опосля огромного числа обновлений стают несбалансированными, вследствие чего же время поиска по ним увеличивается. Их можно перестроить, но это также просит издержек времени.
В этих критериях при проектировании базы данных нужно отыскивать разумный соглашение меж требованиями по убыстрению поиска данных и требования по скорости их обновления. А именно, внедрение индексов для маленьких по размеру таблиц совершенно не оправдано. Если имеется индекс по группе полей, то поиск по первому из полей групп может прямо применять этот индекс, как следует, нет смысла по нему созодать отдельный индекс. Если поиск по любым полям редок, то построение по ним индекса тоже не отлично. К огорчению, наиболее определенные советы по определению состава индексов чуть ли вероятны. Лучший выбор зависит и от структуры базы и от нрава ее использования [8].
2.4. Этапы сотворения базы данных в INTERBASE
Первым шагом является создание базы данных:
Базы данных InterBase-сервера хранятся в виде файлов, имеющих расширение .
. для сотворения новейшей БД в окне программки
выберем команду
В показавшемся диалоговом окне сотворения базы данных нужно ввести последующие данные:
¨ Введите в поле
заглавие базы данных: date_as;
¨ В первой строке таблицы
укажите полное имя базы данных: C:DATEdate.gdb и ее размер в страничках: 230;
Дальше укажем в таблице
доп сведения о базе данных:
¨
(размер странички) — 4096. Это
¨
(набор знаков по дефлоту) выберем из перечня WIN1251. Это нужно для того, чтоб в нашей базе данных можно было сохранять строковые данные, содержащие знаки кириллицы.
¨
— вводим 3 [5].
Набросок 3 — Диалоговое окно сотворения базы данных
Опосля всего жмем ОК
.
программка IBConsole делает лишь файл базы данных, а каталог, в каком создается база данных, должен уже существовать на твердом диске. к примеру, в нашем случае, на диске С:
обязана существовать случае база данных сотворена не будет, а на дисплее покажется сообщение о ошибке.
2-ой этап- создание объектов базы данных. Подключившись к базе данных, два раза щелкнув по ее значку, увидим все составляющие входящие в базу данных. Для работы с базами данных в составе IBConsole имеется доп инструмент — программка для интерактивной работы с SQL-запросами «Interactive SQL». Для ее пуска следует избрать в меню пункт Tools®Interactive SQL. Эта программка дозволяет набирать SQL-запросы и выполнить, сходу же видя итог. Потому окно программки делится на две области: верхнюю — область SQL-запросов и нижнюю — область результатов.
При помощи уже имеющегося кода мы сделаем в нашей базе данных таблицы, индексы, триггеры ссылочной целостности.
Создание доменов
Столбцы в разных таблицах базы данных могут содержать однотипные данные. Не считая того, виды контроля этих данных также могут быть схожими. В этих критериях описания данных и способов их контроля целенаправлено выполнить один раз, тогда при описании таблиц довольно указывать лишь имя соответственного описания данных. Для этих целей и служат описания доменов. Перед тем как создавать столбцы, которые ссылаются на домены, нужно задать описания доменов. Для этих целей существует команда CREAT Domain. В итоге ее выполнения создается шаблон, на который можно ссылаться в командах сотворения и модификации таблиц.
Более полезно внедрение доменов, когда огромное число таблиц содержит схожие типы данных.
Столбцы, базирующиеся на доменах, наследуют свойства домена, при этом часть из их быть может предопределена в локальных описаниях столбцов. До этого чем создавать домены, нужно выполнить проектирование базы данных, включающее проектирование системы таблиц и их нормализацию [3].
SQL коды для сотворения доменов:
CREATE Domain t_disciplina_p VARCHAR(80);
CREATE DOMAIN t_disciplina_s VARCHAR(50);
CREATE Domain t_doljnost VARCHAR(50);
CREATE DOMAIN t_examen INTEGER;
CREATE Domain t_fio VARCHAR(50);
CREATE DOMAIN t_gruppa VARCHAR(20);
CREATE Domain t_itog INTEGER;
CREATE DOMAIN t_kol_vo_kreditov INTEGER;
CREATE Domain t_lc1 INTEGER;
CREATE DOMAIN t_lc2 INTEGER;
CREATE Domain t_pr1 INTEGER;
CREATE DOMAIN t_pr2 INTEGER;
CREATE Domain t_semestr INTEGER;
CREATE DOMAIN t_specialnost_p VARCHAR(80);
CREATE Domain t_specialnost_s VARCHAR(20);
CREATE DOMAIN t_srs1 INTEGER;
CREATE Domain t_srs2 INTEGER;
Выполнив SQL коды получим:
Набросок 4 — Окно IBConsole опосля сотворения доменов
Создание таблиц и индексов
Перед тем как перейти к созданию таблиц, нужно выполнить проектирование базы данных и нормализацию таблиц.
Дальше следует найти, какие таблицы и с какими столбцами (полями) подлежат созданию. Сделать набор нужных доменов и лишь опосля этого можно перейти к физическому вводу описаний таблиц.
При разработке таблицы мы должны задать, как минимум, ее имя и список полей с их атрибутами и контрольными ограничениями. Не считая того, при разработке таблицы можно задать ее первичный ключ, наружные ключи, задающие требования по поддержанию логической целостности, доп виды контроля на уровне записей [4].
Набросок 5 — Окно Interactive SQL при разработке таблицы группа и неповторимого индекса для данной таблицы.
Набросок 6 — Таблица
Выполнив данный код нажав комбинацию кнопок Ctrl+Enter мы получим таблицу, в которую потом мы можем внести записи. Но стоит увидеть т.к. меж таблицей Student и Gruppa существует связь по полю Gruppa, то перед наполнением таблицы Student, нужно заполнить надлежащие значения в таблицу Gruppa, по другому на дисплее покажется сообщение о ошибке.
SQL коды для сотворения таблиц и индексов:
3-ий шаг. Создав все объекты мы сможем узреть их на дереве нашей базы (рис.7).
Потом нужно заавтоматизировать неповторимые значения таблиц, т.к. при работе с глобальной базой данных указать неповторимое несколько юзеров. Угадать крайнее вставленное значение неповторимого значения фактически нереально, так что нужно как-то заавтоматизировать этот процесс. С данной нам целью в базе данных предусмотрены особые объекты – генераторы.
— это именованная числовая переменная, значение которой можно наращивать при помощи специальной функции gen_id. Для того, чтоб можно было воспользоваться генератором, его нужно сделать и инициализировать. Для сотворения генератора употребляется оператор (запрос).
Набросок 7 — Окно IBConsole опосля сотворения таблиц
Разглядим установку генератора для таблицы Student(Студент), где неповторимым является kod_student (номер студента). Сделаем генератор, ворачивающий неповторимое значение для поля kod_student в таблице STUDENT и установим стартовое
CREATE GENERATOR kod_student_gen
Набросок 8 — Окно IBConsole опосля сотворения генераторов.
сейчас присвоим нашему генератору изначальное необходимо инициализировать генератор большим имеющимся в базе значением поля kod_student. Поглядеть его можно, набрав в окне ISQL запрос
select MAX(kod_student) from STUDENT
В окне результатов покажется приблизительно последующее:
MAX
===
4
SET GENERATOR kod_student_gen TO 4
сейчас текущее
При помощи генератора kod_student_gen автоматизировано получение неповторимого числового значения для главного поля kod_student, но при каждой вставке новейшей записи приходится вызывать функцию gen_id(kod_student_gen,1). дозволяет заавтоматизировать и эту задачку c помощью механизма, который именуется
.
Триггер — это некая процедура, обрабатываемая автоматом SQL-сервером при появлении определенного действия в базе данных
Конкретно из программки к триггерам обратиться недозволено. Недозволено и передавать им входные характеристики и получать от их значения выходных характеристик. Триггеры постоянно реализуют
. Триггер связан с определенной таблицей базы и никогда не вызывается юзером впрямую. Заместо этого он срабатывает (еще молвят — «стреляет») при попытке выполнить действие, данное в его определении.
По событию конфигурации таблицы БД триггеры различаются на вызываемые при:
¨ добавлении новейшей записи
¨ изменении имеющейся записи
¨ удалении записи
По отношению к событию, влекущему их вызов, триггеры различаются на:
· Выполняемые до пришествия действия
· Выполняемые опосля пришествия действия
· Автоматическое обеспечение каскадных действий в дочерних таблицах при изменении, удалении записи в родительской таблице производится на сервере. Юзеру нет необходимости хлопотать о программной реализации каскадных действий, так как каскадные действия делает , что понижает загрузку сетевого трафика.
· конфигурации в триггерах не манят необходимости конфигурации программного кода в клиентских приложениях и не просит распространения новейших версий клиентских приложений у юзеров [8].
При операциях вставки, удаления и конфигурации записи в теле триггера можно обращаться к значениям полей текущей записи с помощью особых переменных NEW и OLD, к примеру, выяснить запрос:
Этот триггер будет срабатывать перед вставкой записи в таблицу STUDENT, присваивая полю kod_student неповторимое kod_student_gen:
Потом получим еще два генератора и два триггера для таблиц PREPODAVATEL и DISCIPLINA, чтоб заавтоматизировать вставку новейших записей. Ниже представлены SQL коды для реализации этих задач:
Для таблицы PREPODAVATEL
Для таблицы DISCIPLINA
3.
РЕАЛИЗАЦИЯ БД В СРЕДЕ ПРОГРАММИРОВАНИЯ
DELPHI
3.1. Формирование справочной системы
База данных содержит в себе 7 таблиц:
и
При этом
являются справочными для таблиц
и
. Потому сначало разглядим автоматизацию работы данных таблиц. Данные таблицы содержатся на одной форме на компоненте PageControl1, на которой мы создаем 5 страничек, выбрав в контекстном меню PageControl1/New Page. В итоге мы получаем TabSheet1.Caption=Перечень студентов, TabSheet2. Caption =Перечень групп, TabSheet3. Caption =Перечень дисциплин, TabSheet4. Caption =Перечень специальностей, TabSheet5. Caption =Перечень педагогов. Для соединения с базой данных поставим на форму DataBase1, установив его характеристики AliasName=date_as, DatabaseName=date, Connected=true.
3.1.1. Формирование системы
Gruppa
Перейдя на страничку Перечень групп расположим на ней Table1, Table2, 2 DataSource, 2 DbGrid, 3 клавиши Button, 4 текстовых поля Edit, 4 Label и 1 GroupBox. Потом установим для их характеристики (см. набросок 9):
Набросок 9 — Страничка «Перечень групп»
Соединяем Table1, Table2 с базой данных устанавливая свойство DatabaseName=date. Также для таблицы Table1 устанавливаем имя таблицы, из которой мы берем записи Tablename=Student, Datasource6 устанавливаем Table1. Для таблицы Table2 устанавливаем имя таблицы, из которой мы берем записи Tablename=Gruppa, Datasource2 устанавливаем Table2. Для того чтоб связать таблицы Table1 и Table2, таковым образом чтоб установив в таблице Gruppa курсор на ту либо иную группу в таблице Student выводились лишь те записи, которые соответствуют данной группе. Для этого установим у Table1 Student характеристики: Mastersource=Datasource2, MasterFields=gruppa (глядеть набросок), IndexFieldName=gruppa.
Для того чтоб внести новейшую группу нужно внести значения Группу, Год поступления и Эдвайзера в надлежащие Edit4, Edit5, Edit6, потом надавить клавишу «Вставить», ниже представлен обработчик OnClick:
Набросок 10 — процесс соединения MasterFields для таблиц
Для удаления записи из таблицы, воспользуемся клавишей «Удалить», вставив в обработчик действия OnClick последующую строку:
table2.Delete;, которая удалит сведения о группе, на которой стоит курсор.
Также вероятен поиск по группе. Для этого нам нужно ввести заглавие группы которую нужно отыскать и надавить клавишу «Поиск». Код данной процедуры:
Итак мы автоматизировали работу с записями о группах, которая дозволяет нам работать с сведениями о группах, также просматривать перечень студентов избранной группы.
3.1.2. Формирование системы
Student
Перейдя на страничку Перечень студентов расположим на ней Query4, DataSource1, DbGrid, 2 клавиши Button,2 текстовых поля Edit, 2 Label и 4 SpeedButton. Потом установим для их характеристики (см. набросок 11).
Соединить Query с базой данных, установив DatabaseName=date и записав в SQL: select fio, gruppa from student. Установить у DataSource1 Dataset=Query4, чтоб он хранил набор данных Query, а для Dbrid установить DataSource1, чтоб в таблице мы могли узреть итог запроса. 4 SpeedButton нужны нам для перемещения по записям в таблице переходя: на последующую запись, первую, последнюю и предшествующую. Для этого мы запишем в обработчик событий для каждой из клавиш подобающую строку:
query4.Next;//последующая;
query4.First;//1-ая;
query4.Last;//крайняя;
query4.Prior;//предшествующая.
Для того чтоб внести в таблицу соответственное
Набросок 11 — Страничка «Перечень студентов»
Для удаления записи из таблицы, воспользуемся клавишей «Удалить», вставив в обработчик действия OnClick последующую строку:
Т.к. удаление записи является невозвратной, то нужно для query4 записать событие:
Итак мы автоматизировали работу с таблицей Student, которая дозволяет работать с записями. На рисунке представлена форма в откомпилированном виде:
Набросок 12 — процесс удаления студента из перечня
3.1.3. Формирование системы
Disciplina
Перейдя на страничку Перечень дисциплин расположим на ней Query1, DataSource 3, 1 DbGrid, 2 клавиши Button, 2 текстовых поля Edit, 2 Label. Потом установим для их характеристики (см. набросок 13):
Набросок 13 — Страничка «Перечень дисциплин»
Установим соединение Query1, DataSource 3, DbGrid (также как и в прошлом параграфе). Установим для Query1 свойство SQL равным:
select disciplina_p, disciplina_s from Disciplina
Order by disciplina_p;
Обработчики событий для «Внести»:
Обработчики событий для «Удалить»:
Т.к. удаление записи является невозвратной, то нужно для query1 записать событие:
3.1.4. Формирование системы
Specialnost
Перейдя на страничку Перечень специальностей расположим на ней Query2, DataSource 4, 1 DbGrid, 2 клавиши Button, 4 текстовых поля Edit, 4 Label. Потом установим для их характеристики (см. набросок 14).
Установим для Query2 свойство SQL равным:
select * from specialnost;
Обработчики событий для «Внести»:
Набросок 14 — Страничка «Перечень специальностей»
Обработчики событий для «Удалить»:
Т.к. удаление записи является невозвратной, то нужно для query2 записать событие:
3.1.5. Формирование системы
Prepodavatel
Перейдя на страничку Перечень педагогов расположим на ней Query3, DataSource 5, 1 DbGrid, 2 клавиши Button, 2 текстовых поля Edit, 2 Label. Потом установим для их характеристики (см. набросок 15).
Установим для Query3 свойство SQL равным:
select fio, doljnost from prepodavatel
order by fio;
Обработчики событий для «Вставить»:
Набросок 15 — Страничка «Перечень педагогов»
Обработчики событий для «Удалить»:
Query3.Delete;
Т.к. удаление записи является невозвратной, то нужно для query3 записать событие:
3.2. Автоматизация работы системы
Vedomost
Для автоматизации работы с таблицей Vedomost разместим на форме 2Query,1DataSource, 1DBgrid, 5Combobox, 1GroupBox, 3Checkbox, 2Button, 5Label. Установим значения компонент, как на рисунке 16.
Набросок 16 – Ведомость
Соединим Query1 и Query2 с базой данных. Установим значения шифра специальности, группы, семестра, дисциплины, педагога и нажав клавишу «Вывести» в DBgrid мы увидим выставленные оценки студентов. тут мы применяем уже не статический, а динамический SQL, т.е. SQL-код для подборки стоит уже не в свойствах компонента Query, а применяется программно.
Для наполнения Combobox необходимыми значениями полей из различных таблиц мы объявляем в переменные:
sp_shifr: TstringList;//перечень шифров специальностей из таблицы Specialnost
sp_gr: TstringList;//перечень групп из таблицы Gruppa
sp_sem: TstringList;//перечень семестров из таблицы Disciplina
sp_disc: TstringList;//перечень дисциплин из таблицы Disciplina
sp_prep: TstringList; //перечень педагогов из таблицы Prepodavarel
А для того, чтоб в Combobox возникли значения нужно написать обработчик действия FormCreate для Form2
Дальше для того, чтоб для обозначенных критерий подборки в таблице DBgrid вышли надлежащие им данные нужно выполнить последующий динамический запрос, который будет производиться при нажатии клавиши «Вывести». Ниже представлен код данной процедуры:
В итоге при установлении всех критерий подборки и нажатии клавиши «Вывести» мы получим данные о успеваемости за весь семестр. Но если нам нужно выяснить данные лишь первой аттестационной ведомости, 2-ой аттестационной ведомости либо итоговой ведомости, мы можем избрать при помощи 1-го из 3-х Checkbox, которые сгруппированы в GroupBox.
Т.е. при нажатии Checkbox1 мы увидим данные первой аттестационной ведомости
Набросок17 — Ведомость при выполнениях критерий подборки
3.3. Автоматизация работы системы
Uchebnii
_
plan
Для автоматизации работы с таблицей Uchebnii_plan разместим на форме 3Query, 2DataSource, 1DBgrid, 2Combobox, 2Checkbox, 3Button, 4Label. Установим значения компонент, как на рисунке 18.
Набросок 18 — Учебный план
Соединим Query1 и Query2, Query3 с базой данных. Установим значения дисциплины, шифра специальности и нажав клавишу «Показать» в Edit1, Edit2 мы увидим семестр и количество кредитов, также просмотр всего учебного плана. тут мы применяем уже не статический, а динамический SQL, т.е. SQL-код для подборки стоит уже не в свойствах компонента Query, а применяется программно.
Для наполнения Combobox необходимыми значениями полей из различных таблиц мы объявляем в переменные:
sp_shifr: TstringList;//перечень шифров специальностей из таблицы Specialnost
sp_disc: TstringList;//перечень дисциплин из таблицы Disciplina
А для того, чтоб в Combobox возникли значения нужно написать обработчик действия FormCreate для Form3:
Дальше для того, чтоб для обозначенных критерий подборки в таблице DBgrid вышли надлежащие им данные нужно выполнить последующий динамический запрос, который будет производиться при нажатии клавиши «Вывести».
Весь перечень входящий в учебный план мы увидим нажав клавишу «Вывести все записи». Ниже представлен код данной процедуры:
Набросок 19 — Учебный план в откомпилированном виде.
ЗАКЛЮЧЕНИЕ
Автоматизация технологических и управленческих действий, без которой не мыслимо действенное решение задач управления фабричным либо торговым предприятием, банком либо учебным заведением, гос структурой, основывается на переработке огромных размеров инфы.
Эффективность автоматических информационных управляющих систем в значимой мере зависит от того, как обеспечивается скорость доступа к данным, их полнота, достоверность, непротиворечивость. И фактически всюду информационная система представляет собой интегрированную систему, ядро которой представляет база данных. Главным направлением в разработке автоматических информационных систем в истинное время является ориентация на внедрение СУБД, базирующихся на SQL– серверах [7].
Данная самостоятельная работа посвящена проектированию системы учета и анализа успеваемости студентов кафедры «Компьютерные системы». Целью проектирования является увеличение эффективности работы кафедры «Компьютерные системы», понижение трудозатратности действий обработки инфы.
На нынешний денек понижение времени принятия управленческих решений является животрепещущим для управляющих организаций, потому что это дозволит более отлично работать организации.
Для физической реализации базы данных в качестве мотивированной СУБД применена Delphi7. Данная система дозволяет хранить и обрабатывать информацию о студентах кафедры, группах, специальностях, дисциплинах и педагогах, также дозволяет создавать рабочий учебный план и создавать учет успеваемости студентов по результатам аттестаций и экзамена. В качестве сервера для администрирования базы данных был избран Interbase, т.к. InterBase представляет собой полнофункциональный SQL- . Языком администрирования InterBase является интерактивный SQL, который употребляется в особых утилитах (типа WISQL либо DBD), позволяющих в интерактивном режиме вводить запросы с внедрением установок SQL, посылать их для выполнения на и получать результаты в созданном для этого окне. Интегрированный SQL употребляется в прикладных программках, позволяя им посылать запросы к серверу и обрабатывать приобретенные результаты, в том числе сочитая set-ориентированный и record-ориентированный подходы.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Архангельский А.Я. Delphi5. Спр-ное пособие. – М.: ЗАО Изд. БИНОМ,2001
2. Астахова И.Ф. и др. SQL в примерах и задачках. Из-во Питер, 2001
3. Бобровский С. Delphi5. Учеб. курс. Изд. дом ПИТЕР, 2001
4. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. – М.: деньги и статистика, 1989
5. Бондарь А. InterBase и Firebird. Прак. рук-во для умных польз. и нач. разрабов. «БХВ-Петербург», 2007
6. Боровиков В.В. MS ACCESS 2002. Программирование и разработка БД и приложении. М.Фин. и стат-ка,2002
7. Дарахвилидзе П., Марков Е. Программирование в Delphi7. Санкт-Петербург, «БХВ-Петербург», 2003
8. Дейв Энсон, Йен Стивенсон. Проектирование баз данных. Oracle. /Пер. с англ. –К.:Издательская группа BHV, 1999
9. Диго С.М. Проектирование и внедрение баз данных. М.: ФС, 1995
10. Епанешников . А.М. Епанешников В.А. Delphi. Проектирование СУБД. М., Диалог МИФИ 2001
11. Калянов Г.М. CASE-технологии. Консалтинг и автоматизации бизнес-процессов. 2-е изд. –М.:Жгучая линия¾Телеком, 2000
12. Кандзюба С.П., Громов В.Н. Delphi6/7. Базы данных и приложения. Лекции и упражнения. -К.:Издательство «ДиаСофт ЮП», 2002
13. Кириллов В.В. Структурированный язык запросов SQL. – СПб.: ИТМО, 1994
14. Культин Н.Б. Delphi6. Программирование на Object Pascal. Изд-во.: БХВ Санкт-Петербург, 2002
15. Маклаков С.В. BPWin и ERWin. CASE —средства разработки информационных систем. М. ДИАЛОГ-МИФИ, 2000
16. Маклаков С.В. Моделирование бизнес-процессов с BPWin4.0. М. ДИАЛОГ-МИФИ, 2002
17. Петров В.Н. Информационные системы. СПб.: Питр,2002
18. Томас Конноли, Каролин Бегг, Анна Срачан. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. М., СПб., К., 2000 2- изд
19. Фаронов В.В. Delphi 3. Учебный курс. М.:”Ноллидж”, 1998
20. Федоров А., Елманова Н. Базы данных для всех. – М.: КомпьПресс, 2001
21. Фролов А.В., Фролов Г.В. БД в Вебе: Прак РУК. по созд Web-приложений с БД. М.: Изд-во-ТД “Русс. Ред”, 2000
22. Хомоненко А.Д., Цыганков В.М., Мальцев М.Г. Базы данных. . ¾ СПб.:КОРОНА принт, 2000
23. Шейкер Т.Д. Разработка приложений в системе Delphi. Владивосток: Изд-во ДВГТУ, 2006.
24. Шумаков П.В. Delphi3 и разработка приложений БД. М.Изд-во «Нолидж», 1998
25. Чекалов А.П. Базы данных: от проектирования до разработки приложения. – СПб.: БХВ-Петербург, 2003
26. Чекалов А.П. Базы данных: Delphi, SQL сервера. – СПб.: БХВ-Петербург, 2003
ПРИЛОЖЕНИЯ
ТЕМЫ САМОСТОЯТЕЛЬНЫХ
РАБОТ
по дисциплине
для студентов специальностей Информатика, ИС, ВТиПО
1. Проектирование базы данных контроля экспортно-импортных денежных операций банка
1. Проектирование базы данных учета вещественных ценностей
2. Проектирование базы данных распределения и использования аква ресурсов
3. Проектирование базы данных расчета сдельной зарплаты
4. Проектирование базы данных ссудного ранца
5. Проектирование базы данных расчетно-кредитного отдела банка
6. Проектирование БД формирования себестоимости готовой продукции
7. Проектирование базы данных расчетов с пользователями
8. Проектирование базы данных сбора страховых платежей и их возмещения
9. база данных расчетов с абонентами за телекоммуникационные услуги
10. Проектирование базы данных выдачи и погашения кредитов
11. Проектирование базы данных учета вещественных припасов на обратном складе
12. Проектирование базы данных налогообложения физических лиц
13. Проектирование базы данных накопительного пенсионного фонда
14. Проектирование базы данных клиентов кредитного отдела
15. Проектирование базы данных пассажирского автотранспорта
16. Проектирование базы данных регистрации кассовых аппаратов
17. Проектирование базы данных регистрации личных налогоплательщиков (ИНН)
18. Проектирование базы данных Жд перевозок
19. Проектирование базы данных кассы автовокзала
20. Проектирование базы данных формирования библиотечного фонда
21. Базы данных диссертационного фонда научно-технической библиотеки
22. Базы данных регистрации и учета архивных документов
23. Формирование информационного фонда адресного бюро
24. Формирование информационного фонда агентства по продаже, покупке и обмену жилищного фонда
25. Формирование информационного фонда справочного бюро абонентов телекоммуникационных услуг
26. Базы данных учета документов отдела кадров
27. Формирование каталога информационно-педагогического модуля
28. Проектирование базы данных по продаже каров
29. Проектирование базы данных по продаже коммерческой недвижимости
30. Проектирование базы данных строительного оборудования и материалов
31. Проектирование базы данных по продаже девайсов индивидуальных компов
32. Проектирование базы поисковых каталогов юридических услуг
33. Проектирование базы данных бюро по трудоустройству населения
34. Проектирование муниципального земляного кадастра
35. Проектирование базы картографической инфы для автовладельцев
36. Проектирование базы данных сбыта готовой продукции
37. Проектирование базы данных учета главных средств.
38. Проектирование базы данных складского учета
39. Автоматизация учета труда и его оплаты
40. Проектирование базы данных оперативного учета производства.
41. Проектирование базы данных расчета с абонентами энергокомбината.
42. Проектирование базы данных налогообложения юридических лиц.
43. Проектирование базы данных «Депозиты»
44. Проектирование базы данных учета употребления воды популяцией
45. Проектирование базы данных отдела кадров
Примерная структура и трудозатратность выполнения самостоятельной
работы
Структура и трудозатратность выполнения СРС
№
Наименование разделов
Планируемая трудозатратность
(в % от общего размера)
Ти
тульный лист
Бланк задания
Содержание работы
Техническое
задание
5%
Введение
5%
1
Проектирование модели данных предметной области с внедрением CASE-
средств
40%
1.1
Постановка задач. анализ и моделирование предметной области. Выделение объектных областей.
1.2
Проектирование ERD (Entity-Relationship Diagrams) модели данных объектных областей при помощи программки ERwin.
1.3
Определение ограничений БД, установление ссылочной целостности, проектирование индексов
1.4
Проектирование глобальной инфологической модели данных предметной области
2
Реализация
БД в SQL-сервере InterBase/ Firebird
30%
2.1
Определение доменов, таблиц БД, представлении
2.2
Описание ключей: первичных, других, индексных.
2.3
Проектирование генераторов, триггеров и хранимых процедур
2.4
Организация защиты БД.
3
Организация доступа к данным. программка IBExpert
15%
Заключение
3%
Перечень использованной литературы
Приложения:
А: Начальные данные для сотворения БД
В: Описание объектов БД
защита самостоятельной работы студента
2%
]]>