Екзаменаційна сесія

Опис предметного середовища. Перелік вхідної інформації. Концептуальна, даталогічна, фізична модель бази даних. Опис функціональних запитів та залежностей. Визначення цілісності посилань між таблицями бази даних. Форма "спеціальність", "дисципліна".

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 13.10.2014
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

КИЇВСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ БУДІВНИЦТВА І АРХІТЕКТУРИ

КАФЕДРА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Курсовий проект

з дисципліни «Організація баз даних»

на тему: «Екзаменаційна сесія»

Київ - 2014

Вступ

Екзаменаційна сесія. Необхідно зберігати дані, необхідні для планування проведення екзаменаційної сесії: назву та коди спеціальностей, груп, дисциплін, прізвища викладачів. Сформувати графік проведення екзаменаційної сесії. Надрукувати розклад проведення екзаменаційної сесії.

Інформація, що повинна зберігатися в базі даних.

м

Рис. 1

1. Опис предметного середовища

база дана таблиця посилання

Для формування графіку проведення екзаменаційної сесії потрібна наступна інформація:

декілька спеціальностей,

на кожній спеціальності навчається декілька груп різних курсів,

на кожній спеціальності є декілька дисциплін, що виносяться на екзаменаційну сесію,

на спеціальності викладаю різні дисципліни декілька викладачів.

1.1 Перелік вхідної інформації

Спеціальність має: унікальний код та назву.

Кожна група має:унікальний код, назву, номер, а також код спеціальності до якої група належить.

Кожен викладач має: унікальний код, ПІБ та ступінь.

Дисципліна має:унікальний код, назву та код викладача, що викладає дану дисципліну.

Іспит має: дату, час, місце проведення, а також код групи та дисципліни.

2. Концептуальна модель бази даних

На основі опису предметного середовища та переліку вхідної інформації визначаємо основні сутності та їх атрибути.

Сутності

Атрибути

Ідентифікатори

Спеціальність

Код

Назва

SCode

SName

Група

Код

Назва

Номер

Код спеціальності

GCode

GName

GNum

SCode

Викладач

Код

ПІБ

Ступінь

TCode

TName

TPost

Дисципліна

Код

Назва

Код викладача

DCode

DName

TCode

Визначення зв'язків між сутностями:

Сутності

Тип зв'язку

Опис зв'язку

Спеціальність-Група

1:М

На кожній спеціальності навчається декілька груп.

Викладач-Дисципліна

1:М

Один викладач може викладати різні дисципліни.

Дисципліна-Група

М:М

Іспит з певної дисципліни можуть складати декілька груп та кожна група може складати іспит з декількох дисциплін.

На основі виділених сутностей та зв'язків будуємо концептуальну модель, рисунок 2.

Рис. 2 - Концептуальна модель бази даних

3. Дата-логічна модель бази даних

На основі концептуальної моделі створимо дата-логічну модель бази даних, зв'язки М:М представлені у вигляді додаткової таблиці, рисунок 3.

Рис. 3 - Дата-логічна модель бази даних

4. Фізична модель бази даних

Властивості кожної з таблиць бази даних.

Спеціальність:

Рис. 4

Група:

Рис. 5

Викладач:

Рис. 6

Дисципліна:

Рис. 7

Іспит:

Рис. 8

5. Опис функціональних запитів

Опис запитів мовою SQL:

При формуванні розкладу для певної групи використовуємо SQL запит та компонент Query2для реалізації цього запиту.

SELECT GName, GNum, DName, EData, ETime, EPlace

FROM Examination E INNER JOIN Discipline D ON E.DCode = D.DCode INNER JOIN "Group" G ON E.GCode = G.GCode

WHERE GName='''+ Form3.Edit6.Text+''''

Опис даного запиту в термінах реляційної алгебри:

Рис. 9

Для заповнення проміжної таблиці Examination використовуємо компонент Query1.

procedureTForm3.Button1Click(Sender: TObject); var

code_1,code_2:integer;

SQL_text,text:string;begin

code_1:=DataModule2.Table2.FieldByName('GCode').Value;

code_2:=DataModule2.Table3.FieldByName('DCode').Value;

SQL_text:='Insert into Examination values('+inttostr(code_2)+','+inttostr(code_1)+','+quotedstr(Edit1.text)+','+quotedstr(Edit2.text)+','+quotedstr(Edit3.text)+')';

DataModule2.Query1.SQL.Clear;

DataModule2.Query1.SQL.Add(SQL_text);

DataModule2.Query1.ExecSQL;

DataModule2.Table5.Refresh;

Edit1.Text:= '';

Edit2.Text:= '';

Edit3.Text:= '';end;

При формуванні звіту (report)також використовуємо SQL запит та компонент Query1.

SELECT GName, GNum, DName, EData, ETime, EPlace

FROM Examination E INNER JOIN Discipline D ON E.DCode = D.DCode INNER JOIN "Group" G ON E.GCode = G.GCode

ORDER BYGName, GNum, DName, EData, ETime, EPlace

Опис даного запиту в термінах реляційної алгебри:

6. Опис функціональних залежностей

Татблиця Speciality:

SCode->SName

Таблиця Group:

GCod->GName, GNum

Таблиця Examination:

DCode,GCode->EData,ETime,EPalce

Таблиця Discipline:

DCode->DName

Таблиця Teacher:

TCode->TName, TPost

7. Опис структури програми

Файл проекту Project1.dprмістить 12 програмних модулів:

Unit1-модуль містить форму перегляду таблиць Speciality та Group.

Unit2-модуль данихDataModule2.

Unit3-модуль містить форму перегляду таблиці Examination.

Unit4-форма для додавання або редагування даних таблиці спеціальностей.

Unit5-модуль головної форми.

Unit6- модуль містить форму перегляду таблиць Discipline та Teacher.

Unit7-форма для додавання або редагування даних таблиці дисципліна.

Unit8-форма для додавання або редагування даних таблиці іспит.

Unit9-форма для додавання або редагування даних таблиці група.

Unit10- форма для звіту.

Unit11-форма для SQLзапитів.

Unit12-форма для додавання або редагування даних таблиці викладачі.

Рис. 10 - Взаємодія програмних модулів

8. Опис реалізації проекту бази даних

8.1 Заповнення таблиць бази даних

Для заповнення таблиць спочатку відкриваємо Tools/DatabaseDesktop. Далі обираємо «File» та команду «Open/Table»і відкриваємо таблицю. Переходимо у режим редагування «Table/Restructure» та вносимо дані в таблицю.

Рис. 11

8.2 Визначення цілісності посилань між таблицями бази даних

Для визначення цілісності посилання відкриваємо підпорядковану таблицю та заходимо в режим реструктуризації «Table/Restructure». У списку Tableproperties обираємо елемент ReferentialIntegrity та натискаємо кнопку Define. У вікні, що відкрилося показані два списки: Fields та Table. УспискуFields вказані поля таблиці, яку ми відкрили; у списку Table вказані всі таблиці нашої бази даних. Зі списку Fields обираємо поле, що є зовнішнім ключем таблиці, яку ми відкрили та ставимо йому у відповідність поле, що є таблицею, для якої обраний ключ є первинний:

Рис. 12

8.3 Розробка програми

Рис. 13 - Ієрархія форм застосування

Головна форма програми

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

Рис. 14

procedure TForm5.Button6Click(Sender: TObject);

begin

Close;

end;

procedure TForm5.Button1Click(Sender: TObject);

begin

Form1.Show;

end;

procedure TForm5.Button2Click(Sender: TObject);

begin

Form6.Show;

end;

procedure TForm5.Button3Click(Sender: TObject);

begin

Form3.Show;

Form3.GroupBox2.Visible:=False;

Form3.GroupBox1.Visible:=False;

end;

procedure TForm5.Button7Click(Sender: TObject);

begin

Form10.show;

end;

procedure TForm5.Button4Click(Sender: TObject);

begin

Form3.Show;

Form3.GroupBox2.Visible:=False;

Form3.GroupBox1.Visible:=True;

end;

procedure TForm5.Button5Click(Sender: TObject);

begin

Form10.Show;

Form10.QuickRep1.Preview;end;

Форма Спеціальність - Група.

Дана форма має дві таблиці та можливості редагування, а сама додавати, змінювати або видаляти дані.

Рис. 15

procedure TForm1.Button1Click(Sender: TObject);

begin

Form4.Show;

DataModule2.Table1.Insert;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

Form4.Show;

DataModule2.Table1.Edit;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

DataModule2.Table1.Delete;

end;

procedure TForm1.Button7Click(Sender: TObject);

begin

Close;

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

Form7.Show;

DataModule2.Table2.Insert;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

Form7.Show;

DataModule2.Table2.Edit;

end;

procedure TForm1.Button6Click(Sender: TObject);

begin

DataModule2.Table2.Delete;

end;

Форми для редагування даних:

Рис. 16

procedure TForm4.Button1Click(Sender: TObject);

begin

DataModule2.Table1.Post;

Close;

end;

procedure TForm4.Button2Click(Sender: TObject);

begin

DataModule2.Table1.Cancel;

Close;

end;

Форма Дисципліна - Викладачі

Дана форма має дві таблиці та можливості редагування, а сама додавати, змінювати або видаляти дані.

Рис. 17

Форми редагування даних:

Рис. 18

Форма Іспит

Дана форма є проміжною таблицею. Дану таблицю ми заповнюємо за допомогою таблиць Група і Дисципліна та вносимо дані про дату, час та місце проведення іспиту, а також маємо змогу редагування таблиці.

Рис. 19

procedure TForm3.Button2Click(Sender: TObject);

begin

datamodule2.Table5.Delete;

end;

procedure TForm3.Button1Click(Sender: TObject);

var

code_1,code_2:integer;

SQL_text,text:string;

begin

code_1:=DataModule2.Table2.FieldByName('GCode').Value;

code_2:=DataModule2.Table3.FieldByName('DCode').Value;

text:=Edit1.Text;

SQL_text:='InsertintoExamination values('+inttostr(code_2)+','+inttostr(code_1)+','+quotedstr(Edit1.text)+','+quotedstr(Edit2.text)+','+quotedstr(Edit3.text)+')';

DataModule2.Query1.SQL.Clear;

DataModule2.Query1.SQL.Add(SQL_text);

DataModule2.Query1.ExecSQL;

DataModule2.Table5.Refresh;

Edit1.Text:= '';

Edit2.Text:= '';

Edit3.Text:= '';

end;

Форма для редагування даних:

Рис. 20

procedure TForm9.Button1Click(Sender: TObject);

begin

DataModule2.Table5.Post;

Close;

end;

procedure TForm9.Button2Click(Sender: TObject);

begin

DataModule2.Table5.Cancel;

Close;

end;

Форма для визначення розкладу для певної спеціальності.

Форма за допомогою якої ми можемо визначати розклад для певної спеціальності обравши її з випадаючого списку.

Рис. 21

procedure TForm3.Button9Click(Sender: TObject);

var

sql_text:string;

begin

sql_text:='SELECT GName, GNum, DName, EData, ETime, EPlace FROM Examination E INNER JOIN Discipline D ON E.DCode = D.DCode INNER JOIN "Group" G ON E.GCode = G.GCode WHERE GName='''+ Form3.Edit6.Text+'''';

DataModule2.Query2.SQL.Clear;

DataModule2.Query2.SQL.Add(sql_text);

DataModule2.Query2.Open;

Form11.Show;

end;

procedure TForm3.FormCreate(Sender: TObject);

begin

whilenot Datamodule2.Table1.Eof dobegin

ComboBox1.Items.Add(Datamodule2.Table1.FieldByName('SName').AsString);

Datamodule2.Table1.Next;

end;

end;

procedure TForm3.ComboBox1Change(Sender: TObject);

begin

Form3.Edit6.Text:= Combobox1.Text;

end;

Результат формування розкладу:

Рис. 22

Форма DataModule.

Дана форма містить усі застосування компонентів програм, а саме такі компоненти, як Table, DataSource та Query.

Рис. 23

Форма Звіт.

Для створення розкладу екзаменаційної через звіт використовуємо компоненти вкладки QReport.

Рис. 24

Для формування розкладу задаємо SQLзапит.

procedure TForm10.FormActivate(Sender: TObject);

Varsql_text:string;

begin

sql_text:='SELECT GName, GNum, DName, EData, ETime, EPlace FROM Examination E INNER JOIN Discipline D ON E.DCode = D.DCode INNER JOIN "Group" G ON E.GCode = G.GCodeORDER BY GName, GNum, DName, EData, ETime, EPlace ';

DataModule2.Query1.SQL.Clear;

DataModule2.Query1.SQL.Add(sql_text);

DataModule2.Query1.Open;

end;

Розклад екзаменаційної сесії:

Рис. 25

Список використаної літератури

1. Архангельский А.Я. Программирование в Delphi для Windows. -М.: ООО «Бином-Пресс», 2003. - 1152 с.

2. Дарахвелидзе П.Г., Марков Е.П. Программирование в Delphi. 7- СПб.: БХВ-Петербург, 2003. - 784 с.

3. Дейт К.Дж. Введение в системы баз данных, 7-е издание. - М.: Издательский дом «Вильямс», 2001. -1072 с.

4. Гайна Г.А. Основипроектування баз даних: Навчальнийпосібник. - К.: Кондор, 2008. - 200 с.

5. Гарсиа-Молина Г., Ульман Дж., Уидом Дж. Системы баз данных. Полный курс - М.: «Вильямс», 2003. - 1088 с.

6. Кандзюба С.П., Громов В.Н. Delphi 6/7. Базы данных и приложения. Лекции и упражнения. - СПб.: ООО «ДиаСофтЮП», 2005.- 576 с.

7. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика. 3-е. - М.: Издательский дом «Вильямс», 2003. -1440 с.

8. Понамарев В. Базы данных в Delphi 7. Самоучитель. - СПб.: «ПИТЕР», 2003.- 224 с.

9. Шумаков П.В., Фаронов В.В. Delphi 5. Руководство разработчика баз данных. - М.: "НОЛИДЖ", 2000. - 640 с.

Размещено на Allbest.ru


Подобные документы

  • Опис предметної області. Визначення проблеми та постановка задачі. Проектування бази даних. Концептуальна модель. Логічна модель. Фізична модель. Розробка програмних модулів.

    курсовая работа [136,3 K], добавлен 14.07.2007

  • Форми вихідних документів. Перелік запитів до бази даних. Побудова інфологічної моделі, її структурні компоненти: сутності, зв’язки та відносини. Перелік таблиць, опис запитів. Загальна характеристика та головний зміст форм розроблюваної бази даних.

    курсовая работа [414,5 K], добавлен 31.01.2014

  • Опис вхідних та вихідних повідомлень, процедури перетворення даних. Розробка інфологічної моделі, інформаційні об’єкти та їх характеристика. Автоматизація даталогічного проектування. Опис структур таблиць бази даних на фізичному рівні, реалізація запитів.

    курсовая работа [2,5 M], добавлен 02.01.2014

  • Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.

    курсовая работа [2,9 M], добавлен 06.11.2011

  • Опис основних кроків створення бази даних по автомобілям у програмі Microsoft Access, та запитів. Порядок формування таблиць, їх зміст і структура, встановлення зв'язків між таблицями. Операції, що проводяться над таблицями. Правила оформлення звіту.

    практическая работа [1,1 M], добавлен 27.05.2010

  • Опис процесу створення технічного завдання на розробку бази даних для сільської бібліотеки. Виявлення масиву даних та їх структури. Внесення інформації в базу. Визначення типів і зв’язків між таблицями. Створення інтерфейсу системи керування базою даних.

    контрольная работа [174,9 K], добавлен 07.01.2015

  • Види запитів в інформаційній системі. Концептуальна модель бази даних: закази на житловий будинок, лікарню та школу, мости та дороги, графік зведення, матеріали та інші таблиці. Фізична модель бази даних. Створення таблиць та зв'язків у системі.

    контрольная работа [25,7 K], добавлен 20.12.2010

  • Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.

    курсовая работа [320,7 K], добавлен 19.06.2015

  • Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.

    реферат [36,8 K], добавлен 14.01.2012

  • Теоретичні відомості про пакет ІЗВП Borland Delphi та СУБД MS Access, оцінка їх функціональних особливостей. Опис структури бази даних. Проектування інтерфейсу програми, опис її логічної структури та функцій. Контроль коректності вхідних, вихідних даних.

    курсовая работа [4,5 M], добавлен 03.01.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.