Разработка базы данных "Сессия"



ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ  УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО  ОБРАЗОВАНИЯ

«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ  ПЕДАГОГИЧЕСКИЙ  
УНИВЕРСИТЕТ»

ФАКУЛЬТЕТ ИНФОРМАЦИОННЫХ И СОЦИАЛЬНЫХ ТЕХНОЛОГИЙ

КАФЕДРА  ИНФОРМАТИКИ 

 

 

КУРСОВОЙ ПРОЕКТ

по дисциплине «Программирование»

на тему: Разработка базы данных «Сессия»

 

 

 

 

Выполнил студент 3 курса  группы И-08-2

Маркосян Арсен Борисович _____________________________

 

   Научный руководитель: _________________________________

 

 

 

 

 

Липецк 2010

Содержание

Введение…………………………………………………………………………..3

Глава 1. Теоретическое  исследование предметной области…………………...4

1.1. Анализ аналогичных  информационных систем ……………………...4

1.2. Характеристика организационной  структуры предметной области…………………………………………………………………………….6

1.3. Назначение и цели создания системы…………………………………7

Глава 2. Описание информационной системы………………………………….8

2.1. Схема функциональной  структуры системы с кратким  описанием…………………………………………………………………………8

2.2. Описание информационных  функций и комплекса решаемых  задач……………………………………………………………………………….9

2.3. Разработка решений  по специальному математическому  обеспечению ИС…………………………………………………………………………………14

Заключение………………………………………………………………….18

Библиографический список………………………………………………...19

ПРИЛОЖЕНИЯ

Приложение 1. «Руководство оператора»……………………………………20

Приложение 2. «Листинг исходного  кода ИС»………………………………25

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

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

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

      -  ознакомление  с программами, предназначенными  для создания баз данных и  форматом баз данных dBase;

      -  работу  с особым набором компонентов  предназначенных для создания  и редактирования базы данных;

      -  ознакомление  с подобными базами данных  используемых в магазинах одежды;

      -  ознакомление  с принципами действия в магазине;

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

Глава 1 . ТЕОРЕТИЧЕСКОЕ  ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ.

1.1. Анализ аналогичных  информационных систем

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

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

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

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

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

В настоящее время  существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro, Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, Infomix, Microsoft SQL Server) базы данных.

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

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

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

В состав Delphi входят компоненты, позволяющие создавать программы работы с файлами данных, созданными различными системами: от dBASE до Infomix и Oracle. Delphi также позволяет программисту, используя утилиту Borland Database Desktop, создавать файлы баз данных в различных форматах.

         Преимущества Delphi по сравнению с аналогичными программными продуктами:

  • Быстрота разработки приложения;
  • Высокая производительность разработанного приложения;
  • Низкие требования разработанного приложения к ресурсам компьютера;
  • Наращиваемость за счет встраивания новых компонентов и инструментов в среду Delphi
  • Удачная проработка иерархии объектов

 

 

 

 

1.2 Характеристика организационной  структуры предметной области.

 

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

      Все данные вводятся в программу, путём прямого ввода через определённые диалоговые окна автоматизированной информационной системы.

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

 

 

 

 

 

1.3. Назначение и цели разработки системы.

 

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

Исходя из цели основными процессами являются:

  1. Учет сдачи сессии.
  2. Учет работы преподавателей.
  3. Отчеты.

Основными задачами, требующими автоматизации, являются:

  • Ввод и хранение данных о студентах и их оценках;
  • Создание отчётов (ведомостей);
  • Вывод необходимых  данных, для последующего принятия решений руководством.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Глава 2. Описание информационной системы

2.1. Схема функциональной структуры системы с кратким описанием.

 

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

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

 


                                                Учет внесенных данных

                                                                          Сведения о ранее внесенных данных

 

Рис. 2.1. Схема работы пользователя с  СУБД

 

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

    1) компонентах класса TDataSet (Набор данных);

    2) компонентах TDataSourse;

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


 

 

 

 

Рис 2.2 Общая схема  базы данных.

    1. Описание информационных функций и комплекса решаемых задач.

 

Для разработанной базы данных использовалось 6 таблиц.

  1. Sessia
  2. ZdachaSessii
  3. STUDENT
  4. Prepodavateli
  5. Disziplini
  6. Groops


  1

 

 

 

 

            ∞

 

 

 

(                  - постановочное поле,                       - связь один ко многим )


Рис 2.3 Схема данных.

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

       Все таблицы базы данных размещаются в одном каталоге . Поэтому перед созданием БД следует создать её каталог E:\STUDDATA. Создание самих таблиц осуществляется с помощью утилиты Database Desktop , входящий в комплект поставки Delphi. С помощью Database Desktop можно создавать или изменять записи, просматривать их и т.д.

         Для создания  таблицы Sessia следует выбрать команду File > New > Table. Database Desktop откроет окно Create Table, в котором можно выбрать тип таблицы. Тип Paradox 7 является наилучшим для данной работы, этот вариант предложен по умолчанию. Далее на экране появится окно, предназначенное для создания / редактирования структуры таблицы.

         В колонку  Field Name  помещается имя поля, в колонку Type – символ, определяющий тип хранимых в поле данных, в колонку Size – число, определяющее длину поля (требуется не для всех типов полей), и, наконец, в колонку Key – символ звёздочки (*), если значениям этого поля нужно построить первичный ключ.

 

 

 

 

Рис 2.4 Структура поля таблицы Sessia

 


 

 

 

 

 

 

 

 

 

 

Рис 2.5 Структура поля таблицы ZDachaSessii

 

 


 

 

 

 

 

 

 

 

 

 

 

Рис 2.6 Структура поля таблицы STUDENT

 


 

 

 

 

 

 

 

 

 

 

 

Рис 2.7 Структура поля таблицы Prepodavateli

 

 


 

 

 

 

 

 

 

 

 

 

 

Рис 2.8 Структура поля таблицы Disziplina


 

 

 

 

 

 

 

 

 

 

 

Рис 2.9 Структура поля таблицы Groops

 

Таблица 1.

 

Используемые типы данных.

 

Тype

Тип

                     Описание

A

Alpha

Текстовое поле указанной  длины

$

Money

Денежное поле

I

Long Integer

Целые числа в диапазоне  от -2147483648 до + 2147483648

D

Data

Дата в диапазоне  от 01.01.0000 до 31.12.9999

S

Short

Целые числа в диапазоне от -32768 до +32767

T

Time

Время с точностью  до миллисекунд

+

Avtoincrement

Автоинкрементное поле


2.3 Разработка приложения

       Создадим  псевдоним для нашей базы данных. Для этого с помощью команды Database > Explorer  из среды Delphi запустим утилиту SQL Explorer, на вкладке Database открывшегося окна щёлкните правой кнопкой мыши на узле Database и выберите команду New в контекстном меню. Согласитесь с вариантом Standard, предлагаемым по умолчанию. После этого появится имя псевдонима Standard1, переименуем его в STUDDATA. Теперь на вкладке Definition в пустом поле справа от свойства PATH введите путь доступа к файлам БД:  E:\STUDDATA. Щёлкните правой кнопкой мыши на вновь созданном псевдониме и выберите команду Apply  в контекстном меню.

       Запустите Delphi и начните новый проект. Зрительно разделим форму на 2 части, в поместим 3 панели TРanel. На эти панели поместите 2 сетки DBGrid  и а на 3-ю поместим кнопку навигатора БД TDBNavigator (вкладка Data Controls). На 2-ю панель помимо DBGrid поместим Image (вкладка Additional) .

В программе нам понадобится 6 компонентов TDataSourse, и 6 компонента TTable. Разместим их в отдельном модуле данных, чтобы эти компоненты не загромождали основное окно. Выберите команду File > New > Other  и на вкладке New дважды щёлкните на значке Data Module. Назовём модуль DM. Затем свяжите созданный модуль с проектом.

Чтобы данные из таблиц отображались в сетках DBGrid, их нужно связать с помощью специального компонента TDataSource .Для этого в свойствах DataSource  таблиц выбираем компоненты DataSource, рассположенные на модуле данных, соответственно Dm.DataSource1 и Dm.DataSourse2. Далее в свойствах DataSet компонентов DataSourse выбираем компоненты TTable.  Теперь свойствам Active в каждом компоненте TTable присваивается значение true.

Наборы данных Sessia и ZdachaSessii связаны отношением один ко многим: единственной записи в первой таблице соответствует несколько записей во второй. Чтобы программа согласованно отображала данные, её нужно предварительно подготовить к этому. Перейдите на вкладку Diagram в окне кода модуля данных и с помощью мыши перетащите компоненты Sessia и ZdachaSessii из окна дерева объектов на вкладку Diagram. Перетаскивание реализуется классическим способом Drag&Drop. Для установления связи между таблицами щёлкните на кнопке Master Detail панели инструментов, подведите указатель мыши в виде перечёркнутого круга к нижней кромке верхней таблицы (в этот момент указатель превратится в крестик), нажмите левую кнопку мыши и, удерживая её нажатой, прочертите линию к верхней кромке нижней таблицы, после чего отпустите кнопку. На экране появится окно конструктора связей. Чтобы установить связь, нужно указать связанные поля этих 2-х таблиц. Выбрав связываемые поля (Nomer и Nomer) щёлкните на кнопке Add. Щелчком ОК закройте окно конструктора связей. После выполнения этих действий между таблицами Sessia и ZdachaSessii устанавливается связь по полю ZSessia, о чём свидетельствует вид окна Data Diagram на рис. 2.10.

 

Рис. 2.10 Связь между таблицами

 

         Создадим 4 новые формы, на каждой  из которых разместим панель TPanel,  сетку DBGrid и 3 кнопки («Добавить», «Заменить», «Удалить»). На этих формах будут расмещеы таблицы: STUDENT, Prepodavateli, Disziplini и Groops (ПРИЛОЖЕНИЕ 1, Рис.2,5,8,11). Для доступа к этим формам в программе создадим на главной форме элемент MainMenu (вкладка Standart), на которой будут располагаться пункты выбора.

 

 

 

 

Рис. 2.11. Изображение пунктов  меню.

 

 

 

 

 

 

 

 

Создаем отчет. Для этого  нам потребуются компоненты QRLable, QRDBText, QRBand с вкладки QReport

Рис.  2.13    Результат оформления отчета

 

 

 

ЗАКЛЮЧЕНИЕ.

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

Создавая модель информационной системы сдача сессии, я произвел:

  • изучил возможности Delphi;
  • провел исследование процесса создания базы данных;
  • сделал вывод о проделанной работе и проанализировала структуру исследуемого объекта;
  • определил объект и предмет исследования;
  • подробно ознакомился с предметной областью системы;
  • учет работы преподавателей;
  • учет сдачи сессии;
  • Ввод и хранение данных о студентах и их оценках;
  • создание итогового отчета (ведомости);

Возможны следующие  пути будущих исследований:

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

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

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

 

 

Библиографический список

 

  1. В.В. Фаронов, Учебный курс, Программирование баз данных в Delphi 7,Москва, Санкт-Петербург, 2003.-461 с.
  2. В.Э.Гофман, А.Д. Хоменко. Работа с базами данных в Delphi / -CПб.: БХВ – Санкт-Петербург,2000.-672с.
  3. Г. Гарсиа-Молина. Системы баз данных. Полный курс. / Г. Гарсиа-Молина, Д. Ульман, Д. Уидом. – М.: Вильямс, 2003. – 1088 с.
  4. Г.Н. Калянов CASE. Структурный системный анализ (автоматизация и применение). М.: Лори, 1996. – 242 с.
  5. Е.В. Мещереков, А.Д. Хоменко, Публикация баз данных в Интернете.-СПб.:БХВ-Петербург, 2001.-560 с.
  1. Информатика. Учебное пособие  /Под ред. В.Г. Кирия. – Иркутск: ИрГТУ, 1998 часть 2. – 382с.
  1. Карпова Т.С. "Базы данных: модели, разработка"  - СПб.: Питер, 2001, 304 с.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ 1.

Руководство оператора.

 

        При запуске программы Sessia на экране появляется главная форма, содержащая кнопки для перехода к таблицам «Сессия» и «Здача сессии» (рис.1).

 

 


 

 

 

 

 

 

 

 

 

 

Рис.1 Главная форма fmSessia

 

 

 

        При нажатии пункта в меню «Личные данные студента» появится форма с данными о студентах (рис.2).

Рис.2 Личные данные студентов

 

      При  нажатии кнопки добавить появится  форма (рис.3) для добавления информации. А при нажатии кнопки изменить  появится форма (рис.4) для изменения данных о студенте.

            

      Рис.3 Добавление  студента.                     Рис.4 Изменение данных о студенте

 

 

 

      При  нажатии пункта в меню «Преподаватели»  появится форма с данными о  преподавателях (рис.5).

 

 

Рис.5 Преподавательский состав

 

      При  нажатии кнопки добавить появится  форма (рис.6) для добавления информации. А при нажатии кнопки изменить  появится форма (рис.7) для изменения  данных о преподавателе.

 

   

 Рис.6 Добавление преподавателя            Рис.7 Замена преподавателя

 

 

 

      При  нажатии пункта в меню «Дисциплины»  появится форма с данными о  дисциплинах (рис.8).

 

 

 

Рис.8 Дисциплины

 

 

      При  нажатии кнопки добавить появится  форма (рис.9) для добавления информации. А при нажатии кнопки изменить появится форма (рис.10) для изменения данных о дисциплинах.

 

 

 

   

    Рис.9 Добавление  предмета                        Рис.10 Замена предмета

 

       При  нажатии пункта в меню «группы» появится форма с данными о группах (рис.11).

 

Рис.11 Группы

 

            При нажатии кнопки добавить появится форма (рис.12) для добавления информации. А при нажатии кнопки изменить появится форма (рис.13) для изменения данных о группах.

   

   Рис.12 Добавление  группы                        Рис.13 Замена Группы

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

 

                     

Рис.14 Удалить

Приложение 2

Листинг исходного кода ИС

 

unit fmSessiaU;

 

interface

 

uses

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

  Dialogs, StdCtrls, Buttons, DBCtrls, Grids, DBGrids, ExtCtrls, Menus;

 

type

  TfmSessia = class(TForm)

    Panel1: TPanel;

    Splitter1: TSplitter;

    Panel3: TPanel;

   DBGrid1: TDBGrid;

    DBNavigator1: TDBNavigator;

    BitBtn1: TBitBtn;

    MainMenu1: TMainMenu;

    N1: TMenuItem;

    N2: TMenuItem;

    N3: TMenuItem;

    N4: TMenuItem;

    N5: TMenuItem;

    N6: TMenuItem;

    N7: TMenuItem;

    N8: TMenuItem;

    Panel2: TPanel;

    DBGrid2: TDBGrid;

    Image1: TImage;

    procedure N6Click(Sender: TObject);

    procedure N4Click(Sender: TObject);

    procedure N3Click(Sender: TObject);

    procedure N2Click(Sender: TObject);

    procedure N7Click(Sender: TObject);

    procedure FormActivate(Sender: TObject);

    procedure N8Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  fmSessia: TfmSessia;

 

implementation

 

uses dmSessiaU, fmStudentU, fmDisziplinyU, fmPrepodU, fmGroopU, fmLookUpU,

  fmPrintU;

 

{$R *.dfm}

 

procedure TfmSessia.N6Click(Sender: TObject);

begin

fmSessia.Close;

 

end;

 

procedure TfmSessia.N4Click(Sender: TObject);

begin

fmStudent.Visible:=true;

end;

 

procedure TfmSessia.N3Click(Sender: TObject);

begin

    fmDisziplina.Visible:=true;

end;

 

procedure TfmSessia.N2Click(Sender: TObject);

begin

  fmPrepod.Visible:=true;

end;

 

procedure TfmSessia.N7Click(Sender: TObject);

begin

   fmGroop.Visible:=true;

end;

 

procedure TfmSessia.FormActivate(Sender: TObject);

var k1,k2:integer;

begin

    while not DM.SESSIA.Eof do

    begin

       k1:=0;k2:=0;

       while not DM.ZDACHASESSII.Eof do

         begin

            k1:=k1+1;

            if (DM.ZDACHASESSIIZOcenka.Value > 2) then k2:= k2+1;

            DM.ZDACHASESSII.Next;

         end;

         DM.SESSIA.Edit;

         DM.SESSIA['SKolCHel']:=k1;

         DM.SESSIA['SKolSdav']:=k2;

         DM.SESSIA.Post;

         DM.SESSIA.Next;

     end;   

end;

 

procedure TfmSessia.N8Click(Sender: TObject);

begin

   fmPrint:= TfmPrint.Create(Self);

    fmPrint.QuickRep1.Preview;

    fmPrint.Free;

end;

end.

 

 

unit fmStudentU;

 

interface

 

uses

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

  Dialogs, Grids, DBGrids, ExtCtrls, StdCtrls;

 

type

  TfmStudent = class(TForm)

    Panel2: TPanel;

    DBGrid1: TDBGrid;

Разработка базы данных "Сессия"