96990

База данных учебных планов изучаемых дисциплин направления ПМИ

Курсовая

Информатика, кибернетика и программирование

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

Русский

2015-10-12

1.88 MB

4 чел.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«УЛЬЯНОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра «Прикладная математика и информатика»

КУРСОВАЯ РАБОТА

По дисциплине: _______       _Базы Данных__________________________

_______________________________________________________________

(наименование дисциплины)

тема работы: ___База данных учебных планов, изучаемых дисциплин       направления ПМИ_____________________________________________

                                                      (наименование работы)

                         

Автор работы                   ______________               Жданкина А.А., ПМд-31

(подпись)           (ФИО, группа)

Руководитель работы      ______________              Афанасьева Т. В.

(подпись)                    (ФИО)

Оценка                              ______________

                                                   

Ульяновск

2013

Оглавление

[1] Оглавление

[2] Введение

[3] Постановка задачи

[3.1]  Задание

[3.2]  Общие требования к разработке приложений БД

[3.3] Перечень и способы самостоятельно решаемых задач

[3.4] Критерии оценки полученных компетенций по курсовой работе

[4] Теоретическая часть

[4.1]  Основные понятия и классификация систем управления базами данных

[4.2] Модели организации данных

[4.3] Реляционные базы данных

[4.4] Проектирование реляционных баз данных

[4.5] 5. Назначение и принцип работы SQL

[5]
Проектирование Базы данных

[5.1] Инфологическая модель

[5.2] Логическая модель

[5.3] Структура таблиц

[5.4] Проектирование SQL-запросов.

[6] Реализация базы данных

[6.1] Структура и функции системы

[6.2] Руководство для пользователя

[7] Руководство для программиста

[7.1] Создание таблиц

[7.2] Создание приложения в Delphi.

[7.3] Таблица. Заполнение данными. Отображение данных.

[7.4] Создание поля с информацией (Memo)

[7.5] Создание кнопок.

[7.6] Создание подписей к таблицам.

[7.7] Создание выпадающего списка.

[7.8] Создание отчетов.

[8] Листинг программы

[9] Заключение

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

Введение

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

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

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

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

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

Постановка задачи

  1.   Задание

Вариант 5

БД учебных планов, изучаемых дисциплин направления ПМИ

Имеется учебный план, содержащий год создания и список изучаемых дисциплин. Дисциплины имеют поля: Название дисциплины, Код дисциплины, Номер учебного плана, Количество часов лекций, Количество часов практик, Количество часов на лабораторные работы, Всего часов, Количество часов в неделю, Форма отчетности по дисциплине, Семестр изучения. Форма отчетности по дисциплине – экзамен, зачет, курсовая работа. Также имеется список студенческой группы и список преподавателей. Для связи между таблицами есть две дополнительные таблицы – Студент-Изучает и Преподаватель-Преподпет.

Требуется:

  1.  Сформировать список зачетов и экзаменов для каждого семестра.
  2.  Сформировать экзаменнационно-зачетные ведомости/ основные и дополнительные/ по каждому предмету.
  3.  Подсчитать общее количество аудиторных часов в неделю / в семестре 17 недель/. 
  4.  Подготовить удобные формы для заполнения электронных экзаменнационных ведомостей. 
  5.  Подготовить вкладыш для диплома каждого студента.
  6.  Выдать список группы в порядке убывания среднего балла.

  1.   Общие требования к разработке приложений БД
  2.  База данных должна содержать
    1.  Таблицы, для хранения данных, не менее 3–х таблиц. Каждая таблица должна содержать не менее 10 записей.
    2.  Формы для удобного просмотра, ввода, редактирования и поиска данных, формирования и отображения запросов. На форме должны присутствовать пояснения, подсказки. При заполнении полей формы, для известных наборов значений использовать возможность выбора значений из списка. Формы должны быть по возможности связанными, для оптимизации навигации по записям. На форме по возможности должно располагаться максимум информации для пользователя. Предусмотреть обработку возникающих семантических ошибок.
    3.  Отчеты, содержащие все таблицы, формы, запросы
    4.  Меню для доступа к различным объектам базы данных
    5.  Справку, содержащую полное описание задания
  3.  Для программирования базы данных необходимо использовать дополнительную литературу по языку SQL, системе программирования DELPHI.

  1.  Перечень и способы самостоятельно решаемых задач
  2.  Анализ постановки задачи и предметной области.
  3.  Инфологическое проектирование, обоснование информационных объектов, доменов, атрибутов, связей, составление инфологической модели.
  4.  Логическое проектирование, построение и обоснование базовых отношений, нормализация.
  5.  Проектирование Sql-запросов.
  6.  Программирование структуры и общих функций в базе данных.
  7.  Проектирование БД в программной среде.
  8.  Разработка интерфейса программы.
  9.  Оформление пояснительной записки.



  1.  Критерии оценки полученных компетенций по курсовой работе 

Критерии заполняются преподавателем при защите работы, приведенные
в таблице 1. На основе средней оценки выставляется оценка за курсовую работу.

Таблица 1. Оценка компетенций

Название компетенций

Объект оценивания

Балл(0-5)

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

Полученные  результаты(БД) (объем, структура, соответствие заданию)

Письменная коммуникация

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

Знать и применять элементы системы программирования DELPHI

Компоненты приложения БД, ответы на вопросы о реализации БД

Знать и применять элементы технологии БД

Ответы на вопросы, связанные с проектированием, возможно в формате теста

Понимать потребности в применении технологии БД

Введение пояснительной записки

Планирование работы, организация работы

Сроки выполнения работ

Самостоятельно решать задачи

Перечень и способы самостоятельно решаемых задач

Устная коммуникация

Публичная защита БД

Способность к анализу,

синтезу

Инфологическая, логическая  модель БД

Стремление к качеству результата

Качество выполненных работ, эргономические показатели, качество функционирования.

Способность порождать новые идеи

Качество интерфейса, дополнительные функции БД, не учтенные в задании.

Способность к управлению(поиску) информацией

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

 

Теоретическая часть

  1.   Основные понятия и классификация систем управления базами данных

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

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

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

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

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

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

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

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

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

Выделяют следующие виды СУБД :

* полнофункциональные СУБД;

* серверы БД;

* средства разработки программ работы с БД.

Полнофункциональные СУБД представляют собой традиционные СУБД. К ним относятся dBaseIVMicrosoft AccessMicrosoft FoxPro и др.

Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД обеспечивают обработку запросов клиентских программ обычно с помощью операторов SQL. Примерами серверов БД являются: Microsoft SQL ServerInterBase и др.

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

Средства разработки программ работы с БД могут использоваться для создания следующих программ:

* клиентских программ;

* серверов БД и их отдельных компонентов;

* пользовательских приложений.

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

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

* возможность организации совместной параллельной работы многих пользователей;

  *  масштабируемость;

*  переносимость на различные аппаратные и программные платформы;

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

* обеспечение безопасности хранимых данных и развитой структурированной системы доступа к ним.

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

* относительная простота эксплуатации, позволяющая создавать на их основе работоспособные пользовательские приложения;

  * относительно ограниченные требования к аппаратным ресурсам.

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

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

 

* язык описания данных — высокоуровневый непроцедурный язык
декларативного типа, предназначенный для описания логической
структуры данных

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

Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE — язык запросов по образцу и SQL  — структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов.

СУБД реализует следующие основные функции низкого уровня:

* управление данными во внешней памяти;

* управление буферами оперативной памяти;

* управление транзакциями;

* ведение журнала изменений в БД;

* обеспечение целостности и безопасности БД.

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

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

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

Транзакции присущи три основных свойства:

* атомарность (выполняются все входящие в транзакцию операции или ни одна);

* сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций);

* долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции).

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

Ведение журнала изменений выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных и программных сбоев.

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

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

  1.  Модели организации данных

В иерархической модели объекты-сущности и отношения предметной области представляются наборами данных, которые имеют древовидную (иерархическую) структуру. Иерархическая модель данных была исторически первой. На ее основе в конце 60-х — начале 70-х годов были разработаны первые профессиональные СУБД.

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

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

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

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

Системы на основе сетевой модели не получили широкого распространения на практике.

Реляционная модель данных предложена сотрудником фирмы IВМ Эдгаром Коддом и основывается на понятии отношения (relation).

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

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

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

  1.  Реляционные базы данных

Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Термины РМД представлены в табл. 3.1

Таблица 3.1 Термины реляционной модели

Терминреляционноймодели

Эквивалентный

термин

Отношение

Таблица

Схема отношения

Строка заголовков столбцов таблицы (заголовок таблицы)

Кортеж

Строка таблицы, запись

Сущность

Описание свойств объекта

Атрибут

Столбец, поле

Домен

Множество допустимых значений

атрибута

Первичный ключ

Уникальный идентификатор

Кардинальность

Количество строк

Степень

Количество столбцов

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

1. Значения атрибутов должны быть атомарными (иными словами,
каждое значение, содержащееся на пересечении строки и колонки,
должно быть не расчленяемым на несколько значений).

2. Значения каждого атрибута должны принадлежать к одному и тому же типу.

3. Каждая запись в таблице уникальна.

4. Каждое поле имеет уникальное имя.

5. Последовательность полей и записей в таблице не существенна.

Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащую некоторые данные.

Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.

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

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

Каждое отношение всегда имеет комбинацию атрибутов, которая может служить ключом.

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

Ключи обычно используют для достижения следующих целей:

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

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

» организации связывания таблиц.

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

Атрибуты отношения К2, составляющие внешний ключ, не являются ключевыми для данного отношения.

С помощью внешних ключей устанавливаются связи между отношениями.

  1.  Проектирование реляционных баз данных

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

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

Этапы концептуального проектирования:

      * изучение предметной области для формирования общего представления о ней;

* выделение и анализ функций и задач разрабатываемой ИС;

      *   определение основных объектов-сущностей предметной области
и отношений между ними;

*   формализованное представление предметной области.

При проектировании схемы реляционной БД можно выделить следующие процедуры:

*определение перечня таблиц и связей между ними;

      *определение перечня полей, типов полей, ключевых полей каждой таблицы (схемы таблицы), установление связей между таблицами через внешние ключи;

   *установление индексирования для полей в таблицах;

      *  разработка списков (словарей) для полей с перечислительными
данными;

*  установление ограничений целостности для таблиц и связей;

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

Логическое проектирование заключается в определении числа и структуры таблиц, разработке запросов к БД, отчетных документов, создании форм для ввода и редактирования данных в БД и т. д.

Одной из важнейших задач логического проектирования БД является структуризация данных. Выделяют следующие подходы к проектированию структур данных:

*объединение информации об объектах-сущностях в рамках одной таблицы (одного отношения) с последующей декомпозицией на нескольковзаимосвязанных таблиц на основе процедуры нормализации отношений;

* формулирование знаний о системе (определение типов исходных данных и взаимосвязей) и требований к обработке данных, получение с помощью СА5Е-системы готовой схемы БД или даже готовой прикладной информационной системы;

* осуществление системного анализа и разработка структурных моделей.

5. Назначение и принцип работы SQL

SQL (часто произносится как "сиквэл", сокращенное название от Structured Query Language) символизирует собой Структурированный Язык Запросов.

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

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

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


Проектирование Базы данных

  1.  Инфологическая модель

При создании инфологической модели была проанализирована предметная область заданной базы данных «Учебные планы, изучаемых дисциплин направления ПМИ». Было выделено 4 объекта: Учебный план, Дисциплина, Студент, Преподаватель, а также две дополнительные таблица, осуществляющие связь между студентами и дисциплинами, а также между преподавателями и дисциплинами. Объект Учебный план имеет атрибуты: Год создания, Номер учебного плана. Объект Дисциплина имеет такие атрибуты: Название дисциплины, Код дисциплины, Номер учебного плана, Количество часов лекций, Количество часов практик, Количество часов на лабораторные работы, Всего часов, Количество часов в неделю, Форма отчетности по дисциплине, Семестр изучения. Объект Судент имеет атрибуты: Номер зачетной книжки, ФИО. И объект Преподаватель имеет атрибуты: ФИО, Табельный номер, Кафедра, Должность, Телефон. Объекты Учебный план и Дисциплина связаны в отношении 1:n, объекты Дисциплина и Студент связаны отношением 1:n, и объекты Дисциплина и Преподаватель связаны отношением 1:n.

 

При описании инфологической модели использовались  ER-диаграммы:


  1.  Логическая модель

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

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

Для создания логической модели каждому объекту была поставлена в соответствие таблица, с определенным набором полей. Так как Объекты Дисциплина и Преподаватель связаны в отношении 1:n, то появляется дополнительная таблица для представления связи между объектами Дисциплина и Преподаватель: Преподает.

Всего у нас 4 объекта и следовательно будет 4 таблицы для их представления, объект Учебный план является только информационным, так как работа базы данных осуществляется только с одним учебным планом:

- Disciplina;

- Student;

- Prepod;

Но между двумя объектами имеется  связь 1:n, поэтому нам необходимо ввести еще одну таблицу для представления связей между этими таблицами. Это будет таблица Преподает (Disciplina-Prepodavatel) и таблица Изучает(Disciplina- Student) .

Представленную базу данных можно отнести к 5-ой нормальной форме, т.к. она относится к 3-ей нормальной форме и первичный ключ является простым. Логическая схема реализована в Microsoft Access.

  1.  Структура таблиц

Исходная база данных состоит из 5 таблиц (таблицу Учебные планы не считаем, так как используется один учебный план).

Расшифровка полей:

  •  Disciplina.db
    •  Nazv– название дисциплины, тип поля: String;
    •  Kod – уникальный код дисциплины: LongInt;
    •  Semestr – семестр, в котором она преподается: String;
    •  KolLeKCh – количество лекций по данной дисциплине: LongInt;
    •  KolPraktCh – количество практик по данной дисциплине: LongInt;
    •  KolLabRabCh – количество лекций по данной дисциплине: LongInt;
    •  VsegoCh – общее количество часов: LongInt;
    •  NomerYP – номер учебного плана, в котором содержится дисциплина: LongInt.
  •  Student.db
    •  NomerStudBileta –  номер студенческого билета: LongInt;
    •  FIO – фамилия студента: ShortInt;
  •  Prepodaet.db(Disciplina-Prepodavatel)
    •  KodDiscip– код дисциплины:  LongInt;
    •  TabNomerPrepod – табельный номер преподавателя, который преподает соответствующую дисциплину : LongInt;
    •  FIO– ФИО преподавателя, который преподает соответствующую дисциплину: String.
  •  Prepod.db
    •  FIO – ФИО преподаваля: String;
    •  TabelNomerPrepodavatelya – уникальный табельный номер преподавателя: LongInt;
    •  Kafedra – кафедра, на которой он работает: String;
    •  Dolshnost – Должность преподавателя: String;
    •  Telefon– контактный телефон преподавателя: String.
  •  Izuchaet.db(Disciplina- Student)
    •  KodDiscip– код дисциплины:  LongInt;
    •  NomerStudBileta – номер студенческого билета студента, изучающего дисциплину: LongInt;
    •  FIO– ФИО студента, который изучает соответствующую дисциплину: String;
    •  Ocenka – оценка студента по изучаемой дисциплине: LongInt;.

  1.  Проектирование SQL-запросов.

  1.  Сформировать список зачетов и экзаменов для каждого семестра.

select Nazv,FormaOtchet

from Disciplina

where Semestr=:s and

(Disciplina.FormaOtchet='Зачет' or Disciplina.FormaOtchet='Экзамен') ;

  1.  Сформировать экзаменнационно-зачетные ведомости/ основные и дополнительные/ по каждому предмету.

Основная ведомость:

select Prepodaet.FIO, Disciplina.ObsheeKolChVNed,Disciplina.Semestr,Izuchaet.FIO,Izuchaet.Ocenka,Disciplina.Nazv

from Disciplina, Prepodaet,Izuchaet

where Disciplina.KodDiscip=Prepodaet.KodDiscip

and Disciplina.KodDiscip=Izuchaet.KodDiscip

and (Disciplina.FormaOtchet='Экзамен' or Disciplina.FormaOtchet='Зачет')

and Nazv=:p;

Дополнительная ведомость(для студентов, имеющих 2):

select Disciplina.Nazv,Prepodaet.FIO, Disciplina.ObsheeKolChVNed,Izuchaet.FIO,Disciplina.Semestr,Izuchaet.Ocenka

from Izuchaet,Disciplina,Prepodaet

where Izuchaet.Ocenka='2'

and Disciplina.KodDiscip=Izuchaet.KodDiscip

and Disciplina.KodDiscip=Prepodaet.KodDiscip

and (Disciplina.FormaOtchet='Экзамен' or Disciplina.FormaOtchet='Зачет');

  1.  Подсчитать общее количество аудиторных часов в неделю / в семестре 17 недель/. 

Update Disciplina

set ObsheeKolChVNed=VsegoCh/17;

  1.  Подготовить вкладыш для диплома каждого студента:

select Disciplina.Nazv, Izuchaet.Ocenka,  Izuchaet.FIO

from Izuchaet, Disciplina

where Disciplina.KodDiscip=Izuchaet.KodDiscip

and Disciplina.FormaOtchet='Экзамен'

and FIO=:p;

Select AVG(Ocenka) as SrBall

From Izuchaet

where FIO=:p

Group by FIO

Order by SrBall desc;

  1.  Выдать список группы в порядке убывания среднего балла:

Select FIO, AVG(Ocenka) as SrBall

From Izuchaet

Group by FIO

Order by SrBall desc;

Реализация базы данных

  1.  Структура и функции системы

Курсовая  работа состоит из одного проекта “Project1” и 13 модулей.

  1.  Unit1 – здесь хранится форма, которая представляет собой титульный лист.  Используются компоненты: Memo, Button.
  2.  Unit2 – здесь хранится форма, которая представляет собой начальную страницу базы данных. Здесь используются компоненты: Button, Memo.  
  3.  Unit3 – здесь хранится форма, которая содержит в виде вкладок все таблицы базы данных.  Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  4.  Unit4 – здесь хранится форма, на которой отображается задание. Здесь используются компоненты: Memo, Button.
  5.  Unit5 – здесь хранится форма, на которой отображается дополнительная экзаменационная ведомость. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  6.  Unit6 – здесь хранится форма, на которой отображается список экзаменов и зачетов. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  7.  Unit7 – здесь хранится форма, на которой отображается основная экзаменационная ведомость. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  8.  Unit8 – здесь хранится форма, на которой отображается список группы в порядке убывания. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  9.  Unit9 – здесь хранится форма, на которой отображается вкладыш в диплом. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  10.  Unit10 – здесь хранится форма, на которой отображается форма по заполнению электронной ведомости. Здесь используются компоненты: Memo, Button, TabSheet, Table, DBGrid, DBNavigator, Label, Query.
  11.  Unit11 – здесь хранится форма, на которой отображается меню. Здесь используются компоненты: Memo, Button, Label.
  12.  Unit12 – здесь хранится форма, на которой отображается отчет по созданию электронной экзаменационной ведомости. Здесь используются компоненты: Memo и Button, RVProject, RVQueryConnnection  и Query.
  13.  Unit13 – здесь хранится форма, на которой отображается отчет по созданию вкладыша в диплом. Здесь используются компоненты: Memo и Button, RVProject, RVQueryConnnection  и Query.

  1.  Руководство для пользователя

  1.  Запускаем проект. Перед нами появляется титульный лист курсовой работы

Здесь мы можем сразу войти в базу данных, а можем посмотреть задание и вернуться к этой форме. Выбираем «Показать задание»

  1.  Перед нами появляется окно с информацией по заданию курсовой работы

 

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

  1.  Ознакомившись с информацией на данной странице, нажимаем на кнопку «Вход»

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

  1.  Также с этого окна мы можем перейти к запросам. Нажимаем на соответствующую кнопку.

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

  1.  Нажимаем на кнопку «Просмотреть список зачетов и экзаменов для каждого семестра»

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

  1.  Нажимаем на кнопку «Перейти к основной экзаменационной ведомости»

Здесь необходимо выбрать название дисциплины из выпадающего списка, затем ввести это название в окошечко под выпадающем списке и нажать на кнопку «Выполнить». Запрос покажет общее количество часов в неделю на изучение введенной вами дисциплины, а так же отобразит список студентов, изучающих данную дисциплину и их оценку за эту дисциплину. Внимание! Поле оценка заполняется на форме с таблицами внутри вкладки Студент-Дисциплина. Так же на этом листе можно сформировать дополнительную экзаменационную ведомость. Для студентов, имеющих оценку 2. С этого листа мы можем вернуться обратно к запросам.

  1.  Нажимаем на кнопку «Перейти к дополнительной экзаменационной ведомости»

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

  1.  Нажимаем на кнопку «Сформировать вкладыш для диплома»

Здесь необходимо ввести ФИО выпускника, выбрав соответствующего студента из выпадающего списка. Далее нажать на клавишу. И тогда по запросу заполнится столбец «Дисциплина» списком изученных дисциплин на 5 лет обучения, а также появятся  соответствующие им оценки. На этом же листе можно просмотреть электронную версию вкладыша, нажав на кнопку «Версия для печати». После просмотра данной версии необходимо просто закрыть открывшееся окно на красный крестик в правом верхнем углу экрана.

  1.   Нажимаем на кнопку «Прсмотреть список группы в порядке убывания среднего балла»

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

  1.   Далее перейдем к отчету по формированию электронной экзаменационной ведомости. Для этого под надписью «Отчеты» нажмем на соответствующую кнопку

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

Далее нажимаем на соответствующую кнопку для просмотра получившейся ведомости

Здесь мы видим название выбранной нами дисциплины, ФИО преподавателя этой дисциплины. А так же список студентов, которые изучали данную дисциплину. Для выхода из отчета просто нажмите на крестик в правом верхнем углу экрана. Возвращаемся на предыдущий лист. С этого листа мы можем вернуться обратно к запросам.

Руководство для программиста

  1.  Создание таблиц

Для создания таблиц использовался утилит Database Desktop. Его можно запустить - Пуск/Программы/Borland Delphi 7/ Database Desktop. Необходимо настроить рабочий каталог утилиты. Выберете команду File/Working Directory и установите ваш рабочий каталог. Для создания таблицы  выберете команду File/New/Table. Затем необходимо выбрать тип таблицы. Тип PARADOX 7    можно считать наилучшим для файл-серверных таблиц.

1. Создание таблицы YchebPlan(Учебный план):

  1.  Создание таблицы Disciplina(Дисциплина):

  1.  Создание таблицы Student:

  1.  Создание таблицы Prepodaet (Дисциплина-Преподаватель):

5. Создание таблицы Prepod  (Преподаватель):

  1.   Создание таблицы Izuchaet (Дисциплина-Студент):

  1.  Создание приложения в Delphi.

Для того чтобы создать новое приложение, нужно в меню File выбрать пункт New/Application. Появляется форма и модуль (в целом это называется проект), теперь можно помещать на форму необходимые компоненты. При необходимости можно создать еще форму (и не одну), для этого нужно в меню File выбрать пункт New/ Form.

  1.  Таблица. Заполнение данными. Отображение данных.

Для того чтобы отобразить таблицу на форме, нужно поместить на нее компоненты:

  •  Table (на вкладке BDE) – В инспекторе объектов на вкладке «Параметры» в свойстве Tablename выбрать нужную таблицу.

  •  DBGrid (на вкладке DataControls) - необходим для отображения таблицы на форме, в Инспекторе объектов в свойстве DataSource указать нужный источник данных.

  •  DBNavigator (на вкладке DataControls) - необходим для перемещения по записям таблицы. В инспекторе Объектов в свойстве DataSource  указывается тот же источник данных, что и в  DBGrid. Функции навигатора доступны при щелчке на его кнопках во время работы приложения, Компонент содержит 10 кнопок.

  •  DataSource (вкладка Data Access) - компонент промежуточного уровня, для доступа к данным. Служит посредником между таблицами СУБД и экранными элементами управления (DBGrid, DBNavigator).

  1.  Создание поля с информацией (Memo)

На форму помещается помещается компонент Memo, который располагается на вкладке Standard.

В инспекторе объектов на вкладке «Параметры» в свойстве Lines вводится необходимый для отображения  текст

  1.  Создание кнопок.

Для корректного закрытия формы на нее помещается компонент Button, который располагается на вкладке Standard.

Для того чтобы кнопка работала  необходимо в Обработчике событий OnClick указать:

       procedure TForm1.N5Click(Sender: TObject);

begin

Form2.Show;

Form1.Close;

end;

  1.  Создание подписей к таблицам.

Для подписи таблицы в курсовой работе был  использован  компонент Lable, расположенный на вкладке Standard. В Инспекторе Объектов в свойстве Caption  нужно просто написать текст.

  1.  Создание выпадающего списка. 

Для выбора команды из имеющегося списка используется компонент ComboBox (выпадающий список). Его заполнение можно осуществить таким образом

В Инспекторе Объектов в свойстве Items необходимо написать:

  1.  Создание отчетов.

Отчет создается с помощью инструмента QReports,который необходимо сначало подключть: Component->install packages->add открыть папку bin выбрать файл dclqrt70.bpl нажать OK и тогда появится вкладка с компонентами QReport. Используемые мной компоненты:

Компонент

Тип

Описание


отчет

QuickRep

Используется для введения в приложение средств печати отчетов QuickReport. Компонент невизуальный.


детали

QRSubDetail

Используется для компоновки в отчет дополнительных данных. Компонент визуальный.


полоса

QRBand

Используется для построения отчетов путем размещения на нем печатаемых компонентов. Компонент визуальный.

Листинг программы

Описание проекта

program Project1;

uses

 Forms,

 Unit1 in 'Unit1.pas' {Form1},

 Unit2 in 'Unit2.pas' {Form2},

 Unit3 in 'Unit3.pas' {Form3},

 Unit4 in 'Unit4.pas' {Form4},

 Unit5 in 'Unit5.pas' {Form5},

 Unit6 in 'Unit6.pas' {Form6},

 Unit7 in 'Unit7.pas' {Form7},

 Unit8 in 'Unit8.pas' {Form8},

 Unit9 in 'Unit9.pas' {Form9},

 Unit10 in 'Unit10.pas' {Form10},

 Unit11 in 'Unit11.pas' {Form11},

 Unit12 in 'Unit12.pas' {Form12},

 Unit13 in 'Unit13.pas' {Form13},

 Unit14 in 'Unit14.pas' {Form14};

{$R *.res}

begin

 Application.Initialize;

 Application.CreateForm(TForm1, Form1);

 Application.CreateForm(TForm2, Form2);

 Application.CreateForm(TForm3, Form3);

 Application.CreateForm(TForm4, Form4);

 Application.CreateForm(TForm5, Form5);

 Application.CreateForm(TForm6, Form6);

 Application.CreateForm(TForm7, Form7);

 Application.CreateForm(TForm8, Form8);

 Application.CreateForm(TForm9, Form9);

 Application.CreateForm(TForm10, Form10);

 Application.CreateForm(TForm11, Form11);

 Application.CreateForm(TForm12, Form12);

 Application.CreateForm(TForm13, Form13);

 Application.CreateForm(TForm14, Form14);

 Application.Run;

end.

Описание модуля Unit1

unit Unit1;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 TForm1 = class(TForm)

   Memo1: TMemo;

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   procedure Button3Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

  

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form1: TForm1;

implementation

uses Unit2, Unit4, Unit6, Unit7, Unit5, Unit8, Unit9, Unit10;

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);

begin

Form2.show;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

Form1.Close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

Form4.show;

end;

end.

Описание модуля Unit2

unit Unit2;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 TForm2 = class(TForm)

   Memo1: TMemo;

   GroupBox1: TGroupBox;

   Button1: TButton;

   Button2: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form2: TForm2;

implementation

uses Unit3;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);

begin

Form3.show;

Form2.Close;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Close;

end;

end.

Описание модуля Unit3

unit Unit3;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables,

 StdCtrls, QuickRpt, QRCtrls;

type

 TForm3 = class(TForm)

   PageControl1: TPageControl;

   TabSheet1: TTabSheet;

   TabSheet2: TTabSheet;

   TabSheet3: TTabSheet;

   TabSheet4: TTabSheet;

   TabSheet5: TTabSheet;

   TabSheet6: TTabSheet;

   DataSource1: TDataSource;

   DataSource2: TDataSource;

   DataSource3: TDataSource;

   DataSource4: TDataSource;

   Table1: TTable;

   Table2: TTable;

   Table3: TTable;

   Table4: TTable;

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   DBGrid2: TDBGrid;

   DBNavigator2: TDBNavigator;

   DBGrid3: TDBGrid;

   DBNavigator3: TDBNavigator;

   DBGrid4: TDBGrid;

   DBNavigator4: TDBNavigator;

   DBGrid5: TDBGrid;

   DBNavigator5: TDBNavigator;

   DBGrid6: TDBGrid;

   DBNavigator6: TDBNavigator;

   Button1: TButton;

   DataSource5: TDataSource;

   DataSource6: TDataSource;

   Table5: TTable;

   Table6: TTable;

   Query1: TQuery;

   Button2: TButton;

   Label1: TLabel;

   Memo1: TMemo;

   Label3: TLabel;

   Button3: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   

  

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form3: TForm3;

implementation

uses Unit5, Unit11;

{$R *.dfm}

procedure TForm3.Button1Click(Sender: TObject);

begin

Form11.show;

Form3.close;

end;

procedure TForm3.Button2Click(Sender: TObject);

begin

Query1.ExecSQL;

Form3.Refresh;

end;

procedure TForm3.Button3Click(Sender: TObject);

begin

Form3.close;

end;

end.

Описание модуля Unit4

unit Unit4;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 TForm4 = class(TForm)

   Memo1: TMemo;

   Button1: TButton;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form4: TForm4;

implementation

uses Unit1;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);

begin

Form1.show;

end;

end.

Описание модуля Unit 5

unit Unit5;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, Mask, DBCtrls, ExtCtrls;

type

 TForm5 = class(TForm)

   DataSource1: TDataSource;

   DBGrid1: TDBGrid;

   Query1: TQuery;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   DBEdit3: TDBEdit;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Label4: TLabel;

   DBNavigator1: TDBNavigator;

   Button1: TButton;

   procedure ComboBox1Change(Sender: TObject);

   procedure Edit1Change(Sender: TObject);

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form5: TForm5;

implementation

uses Unit11;

{$R *.dfm}

procedure TForm5.ComboBox1Change(Sender: TObject);

begin

Query1.Active:=true;

end;

procedure TForm5.Edit1Change(Sender: TObject);

begin

Query1.Open;

end;

procedure TForm5.Button1Click(Sender: TObject);

begin

Form11.show;

Form5.Close;

end;

end.

Описание модуля Unit 6

unit Unit6;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls;

type

 TForm6 = class(TForm)

   Button1: TButton;

   Edit1: TEdit;

   DataSource1: TDataSource;

   DBGrid1: TDBGrid;

   Query1: TQuery;

   Label1: TLabel;

   DBNavigator1: TDBNavigator;

   Label2: TLabel;

   Memo1: TMemo;

   Button2: TButton;

   Label3: TLabel;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form6: TForm6;

implementation

uses Unit11;

{$R *.dfm}

procedure TForm6.Button1Click(Sender: TObject);

begin

Query1.Close;

if not Query1.Prepared then

Query1.Prepare;

if length (edit1.text)<>0 then

Query1.Params[0].Value:=edit1.Text

else

begin

Query1.Params[0].Value:=0;

edit1.Text:='Введите номер семестра!';

end;

Query1.Open;

end;

procedure TForm6.Button2Click(Sender: TObject);

begin

Form11.show;

Form6.Close;

end;

end.

Описание модуля Unit 7

unit Unit7;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls, Grids, DBGrids, DBTables, DB, Mask, DBCtrls, ExtCtrls,

 QRCtrls, QuickRpt;

type

 TForm7 = class(TForm)

   Label1: TLabel;

   Label2: TLabel;

   DataSource1: TDataSource;

   Query1: TQuery;

   Edit2: TEdit;

   Button1: TButton;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   Label3: TLabel;

   DBGrid1: TDBGrid;

   Label4: TLabel;

   Label5: TLabel;

   DBNavigator1: TDBNavigator;

   Button2: TButton;

   Label6: TLabel;

   Label7: TLabel;

   Memo1: TMemo;

   ComboBox1: TComboBox;

   Label8: TLabel;

   Button3: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form7: TForm7;

implementation

uses Unit5, Unit11;

{$R *.dfm}

procedure TForm7.Button1Click(Sender: TObject);

begin

Query1.Close;

if not Query1.Prepared then

Query1.Prepare;

if length (edit2.text)<>0 then

Query1.Params[0].Value:=edit2.Text

else

begin

Query1.Params[0].Value:=0;

edit2.Text:='Введите название!';

end;

Query1.Open;

end;

procedure TForm7.Button2Click(Sender: TObject);

begin

Form5.show;

Form7.close;

end;

procedure TForm7.Button3Click(Sender: TObject);

begin

Form11.show;

Form7.close;

end;

end.

Описание модуля Unit 8

unit Unit8;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;

type

 TForm8 = class(TForm)

   Label4: TLabel;

   DataSource1: TDataSource;

   Query1: TQuery;

   DBGrid1: TDBGrid;

   DBNavigator1: TDBNavigator;

   Button1: TButton;

   Memo1: TMemo;

   procedure Button1Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form8: TForm8;

 

implementation

uses Unit11;

{$R *.dfm}

procedure TForm8.Button1Click(Sender: TObject);

begin

Form11.show;

Form8.close;

end;

end.

Описание модуля Unit 9

unit Unit9;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, Grids, DBGrids, DB, DBTables, StdCtrls, Mask, DBCtrls, ExtCtrls;

type

 TForm9 = class(TForm)

   Edit1: TEdit;

   Query1: TQuery;

   DataSource1: TDataSource;

   DBGrid1: TDBGrid;

   Button1: TButton;

   Query2: TQuery;

   DataSource2: TDataSource;

   Button2: TButton;

   DBEdit1: TDBEdit;

   DBNavigator1: TDBNavigator;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Name: TComboBox;

   Button3: TButton;

   Memo1: TMemo;

   Label4: TLabel;

   Button4: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form9: TForm9;

implementation

uses Unit11, Unit13;

{$R *.dfm}

procedure TForm9.Button1Click(Sender: TObject);

begin

Query1.Close;

if not Query1.Prepared then

Query1.Prepare;

if length (edit1.text)<>0 then

Query1.Params[0].Value:=edit1.Text

else

begin

Query1.Params[0].Value:=0;

edit1.Text:='Введите имя выпускника!';

end;

Query1.Open;

end;

procedure TForm9.Button2Click(Sender: TObject);

begin

Query2.Close;

if not Query2.Prepared then

Query2.Prepare;

if length (edit1.text)<>0 then

Query2.Params[0].Value:=edit1.Text

else

begin

Query2.Params[0].Value:=0;

edit1.Text:='Введите номер семестра!';

end;

Query2.Open;

end;

procedure TForm9.Button3Click(Sender: TObject);

begin

Form11.show;

Form9.close;

end;

procedure TForm9.Button4Click(Sender: TObject);

begin

Form13.QuickRep1.Preview;

end;

end.

Описание модуля Unit 10

unit Unit10;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, ExtCtrls, QuickRpt, StdCtrls, DB, DBTables, Mask, DBCtrls,

 Grids, DBGrids;

type

 TForm10 = class(TForm)

   Button1: TButton;

   Query1: TQuery;

   DataSource1: TDataSource;

   DBEdit1: TDBEdit;

   DBEdit2: TDBEdit;

   Label1: TLabel;

   Label2: TLabel;

   Edit1: TEdit;

   Button2: TButton;

   Label3: TLabel;

   ComboBox1: TComboBox;

   Label4: TLabel;

   Label5: TLabel;

   Memo1: TMemo;

   Label6: TLabel;

   Label7: TLabel;

   Button3: TButton;

   procedure Button1Click(Sender: TObject);

   procedure Button2Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

  

 

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form10: TForm10;

implementation

uses Unit3, Unit7, Unit12, Unit11;

{$R *.dfm}

procedure TForm10.Button1Click(Sender: TObject);

begin

Form12.QuickRep1.Preview;

end;

procedure TForm10.Button2Click(Sender: TObject);

begin

Query1.Close;

if not Query1.Prepared then

Query1.Prepare;

if length (edit1.text)<>0 then

Query1.Params[0].Value:=edit1.Text

else

begin

Query1.Params[0].Value:=0;

edit1.Text:='Введите название!';

end;

Query1.Open;

end;

procedure TForm10.Button3Click(Sender: TObject);

begin

Form11.show;

end;

end.

Описание модуля Unit 11

unit Unit11;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, StdCtrls;

type

 TForm11 = class(TForm)

   Button1: TButton;

   Button2: TButton;

   Button3: TButton;

   Button4: TButton;

   Button5: TButton;

   Button6: TButton;

   Memo1: TMemo;

   Label1: TLabel;

   Label2: TLabel;

   Label3: TLabel;

   Button7: TButton;

   Label4: TLabel;

   Label5: TLabel;

   procedure Button2Click(Sender: TObject);

   procedure Button1Click(Sender: TObject);

   procedure Button4Click(Sender: TObject);

   procedure Button3Click(Sender: TObject);

   procedure Button5Click(Sender: TObject);

   procedure Button6Click(Sender: TObject);

   procedure Button7Click(Sender: TObject);

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form11: TForm11;

implementation

uses Unit7, Unit6, Unit5, Unit9, Unit8, Unit3, Unit10;

{$R *.dfm}

procedure TForm11.Button2Click(Sender: TObject);

begin

Form7.show;

Form11.Close;

end;

procedure TForm11.Button1Click(Sender: TObject);

begin

Form6.show;

Form11.Close;

end;

procedure TForm11.Button4Click(Sender: TObject);

begin

Form5.show;

Form11.Close;

end;

procedure TForm11.Button3Click(Sender: TObject);

begin

Form9.show;

Form11.Close;

end;

procedure TForm11.Button5Click(Sender: TObject);

begin

Form8.show;

Form11.Close;

end;

procedure TForm11.Button6Click(Sender: TObject);

begin

Form3.show;

Form11.Close;

end;

procedure TForm11.Button7Click(Sender: TObject);

begin

Form10.show;

Form11.close;

end;

end.

Описание модуля Unit 12

unit Unit12;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, QRCtrls, QuickRpt, ExtCtrls;

type

 TForm12 = class(TForm)

   QuickRep1: TQuickRep;

   QRBand1: TQRBand;

   QRLabel1: TQRLabel;

   QRBand2: TQRBand;

   QRDBText1: TQRDBText;

   QRDBText2: TQRDBText;

   QRSubDetail1: TQRSubDetail;

   QRDBText3: TQRDBText;

   QRDBText4: TQRDBText;

   QRLabel2: TQRLabel;

   QRLabel3: TQRLabel;

   QRLabel4: TQRLabel;

   QRLabel5: TQRLabel;

   QRSysData1: TQRSysData;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form12: TForm12;

implementation

USES Unit10;

{$R *.dfm}

end.

Описание модуля Unit 13

unit Unit13;

interface

uses

 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

 Dialogs, QuickRpt, QRCtrls, ExtCtrls;

type

 TForm13 = class(TForm)

   QuickRep1: TQuickRep;

   QRBand1: TQRBand;

   QRLabel1: TQRLabel;

   QRBand2: TQRBand;

   QRDBText1: TQRDBText;

   QRLabel2: TQRLabel;

   QRSubDetail1: TQRSubDetail;

   QRDBText2: TQRDBText;

   QRDBText3: TQRDBText;

   QRLabel3: TQRLabel;

   QRLabel4: TQRLabel;

 private

   { Private declarations }

 public

   { Public declarations }

 end;

var

 Form13: TForm13;

implementation

USES Unit9;

{$R *.dfm}

Заключение

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

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

При разработке базы данных «Учебные планы, изучаемых дисциплин направления ПМИ» были получены следующие навыки и проявлены следующие компетенции:

  •  Понимание требования к заданию и следование им
  •  Проявление письменной коммуникации
  •  Знание элементов системы программирования  Delphi7
  •  Знание и применение элементов технологии БД
  •  Способность к анализу и синтезу
  •  Стремление к качеству результата
  •  Способность к управлению информацией

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

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

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

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

1. Л.С. Блюдина. Проектирование баз данных в среде Delphi. Ульяновск:  Венец, 2001.

2. Т.С. Карпова. Базы данных: модели, разработка, реализация. СПб.: Питер, 2001.

3. Культин Н.Б. «Основы программирования в Delphi 7». BHV: СПБ, 2008.

4. Е.Марков «Программирование в Delphi 7». BHV: СПБ. 2003г.

5. А.Я. Архангельский. «Приемы программирования в Delphi». СПб.: «Бином-Пресс», 2006.

6.  С.И. Бобровский «Delphi 7 Учебный курс». СПб.: «Питер» 2006.

7. Г.В. Галисеев «Компоненты в Delphi 7». СПб.: «Вильямс» 2004.


 

А также другие работы, которые могут Вас заинтересовать

61655. Н. Носов «Федина задача» 12.66 KB
  Цели урока: расширить знания детей о жизни и творчестве Н. Ход урока: I .Итог урока Как вы готовите дома уроки Что вам для этого нужно Что полезного для себя узнали из рассказа Д З подготовить выразительное чтение рассказа.
61656. Остер как получаются легенды 16.55 KB
  Цели: Образовательные: познакомить учащихся с понятиями миф легенда с легендами родного края; определять особенности легенды. Легенды и мифы Лаврового переулка; желание посмотреть на себя со стороны и поработать над своими недостатками...
61657. Н.Н. Носов «Телефон» 13.24 KB
  Ребята а какие правила пользования телефоном вы помните и знаете Почему нельзя подолгу разговаривать по телефону IV Знакомство с рассказом Телефон Прочитайте название рассказа...
61659. Пушные звери 16.2 KB
  Задачи: Образовательные: изучить местообитание внешнее строение питание и значение пушных зверей в жизни человека продолжить формирование понятия хищные звери; формировать понятие Пушные хищные звери на примере куницы лисицы соболя норки...
61660. Комплексный анализ текста 40.82 KB
  Формулируют воспроизведения по теме на основе опорных знаний 2 уровень Познавательные УУД Выделяют и структурируют информацию существенную для решения проблемы под руководителем учителя 1 уровень.