Екзаменаційна сесія
Опис предметного середовища. Перелік вхідної інформації. Концептуальна, даталогічна, фізична модель бази даних. Опис функціональних запитів та залежностей. Визначення цілісності посилань між таблицями бази даних. Форма "спеціальність", "дисципліна".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 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