Розробка стратегії, аналіз, концептуальне моделювання та проектування бази даних проходження практики студентами

Мета, цілі та задачі створення бази даних. Основні вимоги до інформаційної системи. Проектні рішення з розробки внутрішньо–машинної програми. Загальні положення системного аналізу програмного забезпечення. Сутність властивостей концептуальної моделі.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык украинский
Дата добавления 30.11.2016
Размер файла 96,0 K

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

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

4.1 Логічне проектування

У якості логічній моделі бази даних була обрана реляційна модель, оскільки саме реляційна модель використовується у більшості розвинених СКБД.

Для перетворення концептуальної моделі, представленої у вигляді мови ER-моделювання, у реляційну модель, був використаний наступний алгоритм.

· Крок 1. Перетворення сутностей у таблиці. Кожна сутність перетворюється у таблицю. Ім'я сутності представляється у вигляді семантично осмисленого імені у латинському алфавіті.

· Крок 2. Перетворення атрибутів у стовпці. Кожний атрибут перетвориться в стовпець. Ім'я атрибуту представляється у вигляді семантично осмисленого імені у латинському алфавіті. У цей момент уточнюється формат представлення значень стовпця. Факультативні атрибути стають NULL-стовпцями. Обов'язкові атрибути стають NOT NULL-стовпцями.

· Крок 3. Подання унікальних ідентифікаторів ключами таблиць. Складові унікального ідентифікатора сутності стають первинним ключем таблиці. Нагадаємо, що сутність може мати більш ніж один унікальний ідентифікатор Тому вибирається той, котрий використовується найбільше часто. Всі інші унікальні ідентифікатори приймають обмеження цілісності UNIQUE NOT та NOT NULL.

Рис. Концептуальна ER-модель проходження практики студентами

Сутність може унікально ідентифікуватися комбінацією атрибутів і/або зв'язків. При використанні в ідентифікаторі сутності зв'язку до складу первинного ключа включається зовнішній ключ, який посилається на ту таблицю, з якою пов'язаний той або інший зв'язок.

· Крок 4. Перетворення зв'язків багато-до-одного й один-до-одного в зовнішні ключі. Зв'язки типу багато-до-одного й один-до-одного породжують зовнішні ключі. Інакше кажучи, необхідно взяти унікальні ідентифікатори кожної сутності, розташованої в закінчення зв'язку зі ступенем один, і ввести його у відношення, розташоване з боку зв'язку "багато" як стовпці. Факультативним зв'язкам відповідають NULL-стовпці. Обов'язковим зв'язкам відповідають NOT NULL-стовпці.

· Крок 5. Введення спеціальних первинних ключів. Для більш адекватного відображення логічного проекту бази даних у фізичний, вводимо у всі таблиці один спеціальний стовпець з обмеженням цілісності первинного ключа. Всі ті стовпці, які мають властивість первинного ключа згідно з концептуальною моделлю, набувають обмеження цілісності UNIQUE та NOT NULL.

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

Таблиця 1. Відношення сутності НАВЧАЛЬНИЙ ПЛАН EDU_PLAN

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

EPID

ціле число

10

Унікальний ID

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

Num

строка

8

Номер навч. плану

Унікальний, обов'язковий

Ass_date

дата

Дата затвердження

Обов'язковий

Prs

строка

40

Особа, що затвердила

Обов'язковий

SPID

ціле число

10

Зв'язок зі спеціальністю

Зовнішній ключ, що посилається на первинний ключ відношення SPECIALITY. Обов'язковий

Таблиця 2. Відношення сутності ЗАПЛАНОВАНА ПРАКТИКА PLAN_PRACTICE

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

PPID

ціле число

10

Унікальний ID

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

Dur_type

строка

1

Одиниці виміру терміну проходження практики. Приймає значення „Д”-дні, „Т”-тижні

Обов'язковий

Duration

ціле число

3

Термін проходження практики

Обов'язковий

QLID

ціле число

10

Зв'язок з кваліфікаційним рівнем

Зовнішній ключ, що посилається на первинний ключ відношення QUALI_LEVEL. Обов'язковий

CUID

ціле число

10

Зв'язок з курсом

Зовнішній ключ, що посилається на первинний ключ відношення COURSE. Обов'язковий

PTID

ціле число

10

Зв'язок з видом практики

Зовнішній ключ, що посилається на первинний ключ відношення PRAC_TYPE. Обов'язковий

EPID

ціле число

10

Зв'язок з навчальним планом

Зовнішній ключ, що посилається на первинний ключ відношення EDU_PLAN. Обов'язковий

Обмеження цілісності таблиці

Сукупність стовпців (CUID, EPID) має обмеження унікальності та обов'язковості.

Таблиця 3. Відношення сутності ВИД ПРАКТИКИ PRAC_TYPE

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

PTID

ціле число

10

Унікальний ID

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

Name

строка

15

Назва практики

Унікальний, обов'язковий. Приймає значення: схемотехнічна; комп'ютерна; технологічна; експлуатаційна (для спеціалістів науково-дослідна (для магістрів).

Descr

строка

255

Змістовний опис

Факультативний

Таблиця 4. Відношення сутності КВАЛІФІКАЦІЙНИЙ РІВЕНЬ QUALI_LEVEL

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

QLID

ціле число

10

Унікальний ID

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

Name

строка

15

Назва кваліфікаційного рівня

Унікальний, обов'язковий. Приймає значення: бакалавр; спеціаліст; магістр.

Descr

строка

255

Змістовний опис

Факультативний

CUID

ціле число

10

Зв'язок з курсом

Зовнішній ключ, що посилається на первинний ключ відношення COURSE. Обов'язковий

Таблиця 5. Відношення сутності СПЕЦІАЛЬНІСТЬ SPECIALITY

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

SPID

ціле число

10

Унікальний ID

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

Num

строка

20

Номер спеціальності

Унікальний, обов'язковий.

Name

строка

100

Назва спеціальності

Обов'язковий

Таблиця 6. Відношення сутності КУРС COURSE

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

CUID

ціле число

10

Унікальний ID

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

Num

ціле число

1

Номер курсу

Унікальний, обов'язковий. Приймає значення: 1-6.

Descr

строка

255

Змістовний опис

Факультативний

Таблиця 7. Відношення сутності ВУЗ UNIVERSITY

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

UNID

ціле число

10

Унікальний ID

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

Short_Name

строка

10

Скорочена назва ВУЗу

Факультативний.

Long_Name

строка

50

Повна назва ВУЗу

Обов'язковий, унікальний

Address

строка

50

Адреса ВУЗу

Факультативний

Rector

строка

30

ПІБ ректора

Обов'язковий, унікальний

Таблиця 8. Відношення сутності ІНСТИТУТ INSTITUTE

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

INID

ціле число

10

Унікальний ID

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

Short_Name

строка

10

Скорочена назва

Факультативний.

Long_Name

строка

50

Повна назва

Обов'язковий, унікальний

Director

строка

30

ПІБ директора

Обов'язковий, унікальний

UNID

ціле число

10

Зв'язок з ВУЗом

Зовнішній ключ, що посилається на первинний ключ відношення UNIVERSITY. Обов'язковий

Таблиця 9. Відношення сутності ФАКУЛЬТЕТ FACULTY

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

FAID

ціле число

10

Унікальний ID

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

Short_Name

строка

10

Скорочена назва

Факультативний.

Long_Name

строка

50

Повна назва

Обов'язковий, унікальний

Dean

строка

30

ПІБ декана

Обов'язковий, унікальний

UNID

ціле число

10

Зв'язок з ВУЗом

Зовнішній ключ, що посилається на первинний ключ відношення UNIVERSITY. Факультативний

INID

ціле число

10

Зв'язок з інститутом

Зовнішній ключ, що посилається на первинний ключ відношення INSTITUTE,. Факультативний

FKType

строка

Признак, кому належить факультет, ВУЗу або інституту

Приймає значення: „У”, якщо факультет належить UNIVERSITY, або “І”, якщо факультет належить INSTITUTE

Таблиця 10. Відношення сутності КАФЕДРА DEPARTMENT

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

DEID

ціле число

10

Унікальний ID

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

Short_Name

строка

10

Скорочена назва

Факультативний.

Long_Name

строка

50

Повна назва

Обов'язковий, унікальний

Head

строка

30

ПІБ завідувача

Обов'язковий, факультативний

FAID

ціле число

10

Зв'язок з факультетом

Зовнішній ключ, що посилається на первинний ключ відношення FACILTY. Обов'язковий

Таблиця 11. Відношення сутності ГРУПА STGROUP

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

GRID

ціле число

10

Унікальний ID

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

Num

строка

5

Номер групи

Обов'язковий, унікальний у межах факультету

Descr

строка

255

Змістовний опис групи

Факультативний

DEID

ціле число

10

Зв'язок з кафедрою

Зовнішній ключ, що посилається на первинний ключ відношення DEPARTMENT. Обов'язковий

CUID

ціле число

10

Зв'язок з курсом

Зовнішній ключ, що посилається на первинний ключ відношення COURSE. Обов'язковий

Таблиця 12. Відношення сутності СТУДЕНТ STUDENT

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

STID

ціле число

10

Унікальний ID

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

Last_name

строка

30

Прізвище

Обов'язковий

Name

строка

20

Ім'я

Обов'язковий

Patro_name

строка

20

По батькові

Обов'язковий

Num

строка

10

Номер студентського квитка

Обов'язковий, унікальний

Birthday

дата

Дата народження

Обов'язковий

Year

ціле число

4

Рік вступу у ВУЗ

Обов'язковий

Country

строка

20

Країна мешкання

Обов'язковий

Contract

строка

1

Навчання за контрактом

Обов'язковий. „T” - навчання за контрактом, „H” - ні

External

строка

1

Навчання екстерном

Обов'язковий. „T” - навчання екстерном, „H” - ні

GRID

ціле число

10

Зв'язок з групою

Зовнішній ключ, що посилається на первинний ключ відношення STGROUP. Обов'язковий

Таблиця 13. Відношення сутності БАЗА ПРАКТИКИ COMPANY

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

COID

ціле число

10

Унікальний ID

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

Num

строка

10

Реєстровий номер

Обов'язковий, унікальний

Name

строка

40

Назва

Обов'язковий

Head

строка

20

ПІБ керівника

Обов'язковий

Post

строка

20

Посада керівника

Обов'язковий

Address

строка

50

Адреса

Факультативний

Таблиця 14. Відношення сутності ДОГОВІР AGREEMENT

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

AGID

ціле число

10

Унікальний ID

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

Num

строка

10

Номер договору

Обов'язковий, унікальний

AssDate

дата

Дата підписання

Обов'язковий

St_num

ціле число

2

Кількість студентів

Обов'язковий

From_date

дата

Дата початку практики

Обов'язковий

To_date

дата

Дата закінчення практики

Обов'язковий

COID

ціле число

10

Зв'язок з базою практики

Зовнішній ключ, що посилається на первинний ключ відношення COMPANY. Обов'язковий

FAID

ціле число

10

Зв'язок з кафедрою

Зовнішній ключ, що посилається на первинний ключ відношення FACULTY. Обов'язковий

Таблиця 15. Відношення сутності КЕРІВНИК TUTOR

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

TUID

ціле число

10

Унікальний ID

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

Name

строка

30

ПІБ керівника

Обов'язковий

Post

строка

20

Посада

Факультативний

Address

строка

30

Адреса

Факультативний

Pas_ser

строка

2

Серія паспорту

Обов'язковий

Pas_ num

строка

6

Номер паспорту

Обов'язковий

Обмеження цілісності таблиці

Сукупність стовпців (PasSer, PasNum) має обмеження унікальності.

Таблиця 16. Відношення сутності ПРАКТИКА СТУДЕНТА STUD_PRACTICE

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

SPID

ціле число

10

Унікальний ID

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

Duration

ціле число

2

Термін проходження практики у днях

Обов'язковий

In_date

дата

Дата початку практики

Обов'язковий

Out_date

дата

Дата закінчен. практики

Обов'язковий

Mark

ціле число

1

Оцінка

Факультативний, Приймає значення у інтервалі 1 -- 5

STID

ціле число

10

Зв'язок з студентом

Зовнішній ключ, що посилається на первинний ключ відношення STUDENT. Обов'язковий

TUFID

ціле число

10

Зв'язок з керівником від факультету

Зовнішній ключ, що посилається на первинний ключ відношення TUTOR. Обов'язковий

TUCID

ціле число

10

Зв'язок з керівником від бази практики

Зовнішній ключ, що посилається на первинний ключ відношення TUTOR. Обов'язковий

AGID

ціле число

10

Зв'язок з договором, згідно з яким проходила практика

Зовнішній ключ, що посилається на первинний ключ відношення AGREEMENT. Факультативний

PPID

ціле число

10

Зв'язок з запланованою практикою

Зовнішній ключ, що посилається на первинний ключ відношення PLAN_PRACTICE. Обов'язковий

Обмеження цілісності таблиці

Сукупність стовпців (STID, PPID) має обмеження унікальності та обов'язковості.

Таблиця 17. Відношення сутності ЗВІТ REPORT

Ім'я стовпця

Тип

Довжина

Призначення

Обмеження цілісності стовпців

REID

ціле число

10

Унікальний ID

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

Text

строка

30КБ

Текст звіту

Обов'язковий

SPID

ціле число

10

Зв'язок з практикою студента

Зовнішній ключ, що посилається на первинний ключ відношення STUD_PRACTICE. Обов'язковий та унікальний

4.2 Фізичне проектування

База даних спроектована для її збереження у СКБД Oracle, яка підтримує реляційну модель даних і є об'єкто-реляційною СКБД. Ця СКБД має дуже розвинені можливості по створенню та супроводу баз даних, оскільки володіє найбільш розвиненою системою типів даних, можливостями індексування полів, що дозволяє одержувати доступ до даних за мінімальний час, а також функціями по забезпеченню підтримки цілісності даних між реляційними таблицями, що дозволяє розробнику мінімізувати тимчасові витрати на створення бази даних, а кінцевому користувачеві витрати на підтримку цілісності збережених даних і одержання даних з бази даних. Робота з базою даних підтримується за допомогою реляційної мови запитів SQL.

Логічна модель бази даних легко відображається в реляційну фізичну модель, оскільки логічна модель була побудована з використанням реляційної структури даних. Крім того, логічна модель була приведена у третю нормальну форму, тому усі відношення представляються у фізичній моделі окремими таблицями. Ніякі злиття відношень в одну таблицю для підвищення ефективності виконання окремих класів запитів не виконуються у зв'язку з тим, що такі класи запитів не були знайдені. У результаті отримано сімнадцять таблиць реляційної бази даних, де кожне відношення прямо відповідає окремій таблиці, атрибути кожного відношення стають полями цієї таблиці, а первинні ключі відношень стають первинними ключами таблиць.

Скрипти створення бази даних

Наведемо скрипт мови SQL Oracle, який створює таблиці БД.

- Створення таблиці SPECIALITY

CREATE TABLE SPECIALITY (

SPID integer CONSTRAINT spe_prk PRIMARY KEY,

Num char(20) CONSTRAINT spe_num_unq UNIQUE NOT NULL,

Name varchar(100) NOT NULL);

- Створення таблиці EDU_PLAN

CREATE TABLE EDU_PLAN (

EPID integer CONSTRAINT edp_prk PRIMARY KEY,

Num char(8) CONSTRAINT edp_num_unq UNIQUE NOT NULL,

Ass_date date NOT NULL,

Prs varchar(40) NOT NULL,

SPID integer CONSTRAINT edp_spc_frk REFERENCES SPECIALITY(SPID) NOT NULL);

- Створення таблиці COURSE

CREATE TABLE COURSE (

CUID integer CONSTRAINT crs_prk PRIMARY KEY,

Num number(1) CONSTRAINT crs_num_unq UNIQUE NOT NULL

CONSTRAINT crs_num_chk CHECK (Num IN (1,2,3,4,5,6)),

Descr varchar(255));

- Створення таблиці QUALI_LEVEL

CREATE TABLE QUALI_LEVEL (

QLID integer CONSTRAINT qlv_prk PRIMARY KEY,

Name varchar(15) CONSTRAINT qvl_nam_unq UNIQUE NOT NULL

CONSTRAINT qvl_nam_chk CHECK

(Name IN ('бакалавр', 'спеціаліст', 'магістр')),

Descr varchar(255),

CUID integer CONSTRAINT qvl_crs_frk REFERENCES COURSE(CUID) NOT NULL);

- Створення таблиці PRAC_TYPE

CREATE TABLE PRAC_TYPE (

PTID integer CONSTRAINT prt_prk PRIMARY KEY,

Name varchar(15) CONSTRAINT prt_nam_unq UNIQUE NOT NULL

CONSTRAINT prt_nam_chk CHECK

(Name IN ('схемотехнічна', 'комп''ютерна',

'технологічна', 'експлуатаційна', 'науково-дослідна')),

Descr varchar(255));

- Створення таблиці PLAN_PRACTICE

CREATE TABLE PLAN_PRACTICE (

PPID integer CONSTRAINT ppr_prk PRIMARY KEY,

Dur_type char(1) CONSTRAINT ppr_dtp_chk CHECK (Dur_type IN ('Д','Т'))

NOT NULL,

Duration NUMBER(3) NOT NULL,

QLID integer CONSTRAINT ppr_qvl_frk REFERENCES QUALI_LEVEL(QLID) NOT NULL,

CUID integer CONSTRAINT ppr_crs_frk REFERENCES COURSE(CUID) NOT NULL,

PTID integer CONSTRAINT ppr_prt_frk REFERENCES PRAC_TYPE(PTID) NOT NULL,

EPID integer CONSTRAINT ppr_edp_frk REFERENCES EDU_PLAN (EPID) NOT NULL,

CONSTRAINT ppr_crs_edp_unq UNIQUE (CUID, EPID);

- Створення таблиці UNIVERSITY

CREATE TABLE UNIVERSITY (

UNID integer CONSTRAINT uni_prk PRIMARY KEY,

Short_name varchar(10),

Long_name varchar(50) CONSTRAINT uni_nam_unq UNIQUE NOT NULL,

Address varchar(50),

Rector varchar(30) CONSTRAINT uni_rec_unq UNIQUE NOT NULL);

- Створення таблиці INSTITUTE

CREATE TABLE INSTITUTE (

INID integer CONSTRAINT ins_prk PRIMARY KEY,

Short_name varchar(10),

Long_name varchar(50) CONSTRAINT ins_nam_unq UNIQUE NOT NULL,

Director varchar(30) CONSTRAINT ins_rec_unq UNIQUE NOT NULL,

UNID integer CONSTRAINT ins_uni_frk REFERENCES UNIVERSITY(UNID));

- Створення таблиці FACULTY

CREATE TABLE FACULTY (

FAID integer CONSTRAINT fac_prk PRIMARY KEY,

Short_name varchar(10),

Long_name varchar(50) CONSTRAINT fac_nam_unq UNIQUE NOT NULL,

Dean varchar(30) CONSTRAINT fac_rec_unq UNIQUE NOT NULL,

UNID integer CONSTRAINT fac_uni_frk REFERENCES UNIVERSITY(UNID),

INID integer CONSTRAINT fac_ins_frk REFERENCES INSTITUTE(INID),

FKType char(1) CONSTRAINT fac_fkt_chk CHECK (FKType IN ('У', 'І')));

- Створення таблиці DEPARTMENT

CREATE TABLE DEPARTMENT (

DEID integer CONSTRAINT dep_prk PRIMARY KEY,

Short_name varchar(10),

Long_name varchar(50) CONSTRAINT dep_nam_unq UNIQUE NOT NULL,

Head varchar(30) CONSTRAINT dep_hed_unq UNIQUE NOT NULL,

FAID integer CONSTRAINT dep_fac_frk REFERENCES FACULTY(FAID) NOT NULL);

- Створення таблиці STGROUP

CREATE TABLE STGROUP (

GRID integer CONSTRAINT grp_prk PRIMARY KEY,

Num char(5) NOT NULL,

Descr varchar(255),

DEID integer CONSTRAINT grp_dep_frk REFERENCES DEPARTMENT(DEID) NOT NULL,

CUID integer CONSTRAINT grp_crs_frk REFERENCES COURSE(CUID) NOT NULL);

- Створення таблиці STUDENT

CREATE TABLE STUDENT (

STID integer CONSTRAINT std_prk PRIMARY KEY,

Last_name varchar(30) NOT NULL,

Name varchar(20) NOT NULL,

Patro_name varchar(20) NOT NULL,

Num char(10) CONSTRAINT std_num_unq UNIQUE NOT NULL,

Birthday date NOT NULL,

Year number(4) NOT NULL,

Country varchar(20) NOT NULL,

Contract char(1) CONSTRAINT prs_con_chk CHECK (Contract IN ( 'Т', 'Н')),

External char(1) CONSTRAINT prs_ext_chk CHECK (External IN ( 'Т', 'Н')),

GRID integer CONSTRAINT prs_grp_frk

REFERENCES STGROUP(GRID) NOT NULL);

- Створення таблиці COMPANY

CREATE TABLE COMPANY (

COID integer CONSTRAINT com_prk PRIMARY KEY,

Num char(10) CONSTRAINT com_num_unq UNIQUE NOT NULL,

Name varchar(40) NOT NULL,

Head varchar(20) NOT NULL,

Post varchar(20) NOT NULL,

Address varchar(50));

- Створення таблиці AGREEMENT

CREATE TABLE AGREEMENT (

AGID integer CONSTRAINT agr_prk PRIMARY KEY,

Num char(10) CONSTRAINT agr_num_unq UNIQUE NOT NULL,

Ass_date date NOT NULL,

St_num NUMBER(2) NOT NULL,

From_date date NOT NULL,

To_date date NOT NULL,

COID integer CONSTRAINT agr_crs_frk REFERENCES COMPANY(COID) NOT NULL,

FAID integer CONSTRAINT agr_fac_frk REFERENCES FACULTY(FAID) NOT NULL);

- Створення таблиці TUTOR

CREATE TABLE TUTOR (

TUID integer CONSTRAINT tut_prk PRIMARY KEY,

Name varchar(30) NOT NULL,

Post varchar(20),

Address varchar(30),

Pas_ser char(2) NOT NULL,

Pas_num char(6) NOT NULL,

CONSTRAINT tut_ser_nmm_unk UNIQUE (Pas_ser, Pas_num));

- Створення таблиці STUD_PRACTICE

CREATE TABLE STUD_PRACTICE (

SPID integer CONSTRAINT stp_prk PRIMARY KEY,

Duration number(2) NOT NULL,

In_date date NOT NULL,

Out_date date NOT NULL,

Mark number(1) CONSTRAINT stp_mrk_chk CHECK (Mark BETWEEN 1 AND 5),

STID integer CONSTRAINT stp_std_frk REFERENCES STUDENT(STID) NOT NULL,

TUFID integer CONSTRAINT stp_tuf_frk REFERENCES TUTOR(TUID) NOT NULL,

TUCID integer CONSTRAINT stp_tuc_frk REFERENCES TUTOR(TUID) NOT NULL,

AGID integer CONSTRAINT stp_agr_frk REFERENCES AGREEMENT(AGID),

PPID integer CONSTRAINT stp_prp_frk REFERENCES PLAN_PRACTICE(PPID) NOT NULL,

CONSTRAINT stp_std_prp_unk UNIQUE (STID, PPID));

- Створення таблиці REPORT

CREATE TABLE REPORT (

REID integer CONSTRAINT rep_prk PRIMARY KEY,

Text CLOB (30K) NOT NULL,

SPID integer CONSTRAINT rep_stp_frk REFERENCES STUD_PRACTICE(SPID)

CONSTRAINT rep_stp_unq UNIQUE NOT NULL);

Інформаційно-пошукові запити

Наведемо приклади інформаційно пошукових запитів відносно тих задач, які були окреслені в підрозділі «2.4. Інформаційно-довідкові задачі». Приклади наведемо у мові SQL Oracle з використанням бази даних, визначеної у попередньому підрозділі.

Інформаційні запити, що пов'язані з проходженням практики

Запит 1. Вивести перелік назв видів практик, які повинні проходити студенти, на якому курсі, у відповідності до кваліфікаційних рівнів. Відсортувати перелік по кваліфікаційним рівням та курсам.

SELECT q.Name, c.Num, t.Name, FROM PLAN_PRACTICE p, COURSE c, QUALI_LEVEL q, PRAC_TYPE t WHERE p.CUID = c.CUID AND p.QLID = q.QLID AND p.PTID = t.PTID ORDER BY q.Name, c.Num;

Запит 2. Вивести назви баз практик, які є на факультеті комп'ютерних наук.

SELECT c.Name AS ”Бази практики факультету комп'ютерних наук” FROM FACULTY f, COMPANY c, AGREEMENT a WHERE f.FAID = a.FAID AND c.COID = a.COID AND UPPER(f.ShortName) = 'CS';

Запит 3. Вивести роки проходження практик і оцінки студента Іванова

SELECT TO_CHAR(p.In_date,'YYYY') AS ”Рік проходження практики”, p.Mark AS ”Оцінка” FROM STUDENT s, STUD_PRACTICE p

WHERE p.STID = s.STID AND UPPER(s.Last_name) = 'ІВАНОВ';

TO_CHAR(p.In_date,'YYYY' = '2003';

Інформація організаційного характеру

Запит 1. Скільки договорів було підписано на факультеті інформатики по рокам.

SELECT TO_CHAR(a.Ass_date,'YYYY') AS ”Рік підписання договору”,

COUNT(*) AS ”Кількість підписаних договорів” FROM FACULTY f, COMPANY c, AGREEMENT a WHERE f.FAID = a.FAID AND c.COID = a.COID AND UPPER(f.ShortName) = 'CS' GROUP BY TO_CHAR(a.Ass_date,'YYYY') ORDER BY q.Name, c.Num;

Запит 2. Хто є керівником підприємства, з яким підписано договір від 03.07.2003.

SELECT TO_CHAR(a.Ass_date,'YYYY') AS ”Рік підписання договору”, COUNT(*) AS ”Кількість підписаних договорів” FROM COMPANY c, AGREEMENT a WHERE c.COID = a.COID AND a.Ass_date = TO_DATE('03/07/2003', 'DD/MM/YYYY');

Запит 3. Скільки студентів на 3 курсі факультету комп'ютерних наук SELECT COUNT(*) AS ”Кількість студентів 3 курсу на факультеті CS” FROM FACULTY f, DEPARTMENT a, STGROUP g, COURSE c, STUDENT s WHERE f.FAID = d.FAID AND d.DEID = g.DEID AND g.CUID = c.CUID AND g.GRID = s.GRID AND (f.ShortName) = 'CS' AND c.Num = 3;

Інформація про керівників практики

Запит 1. Хто був керівником від факультету практики студента Іванова з групи 401 у 2003 році.

SELECT tf.Name AS ”Керівник Іванова з групи 401 у 2003”

FROM STUDENT s, GROUP g, STUD_PRACTICE p, TUTOR tf
WHERE s.GRID = g.GRID AND s.STID = p.STID AND p.TUFID = tf.TUID AND UPPER(s.Last_name) = 'ІВАНОВ' AND g.Num =401 AND TO_CHAR(p.In_date,'YYYY') = '2003';

Запит 2. Хто був керівниками (від кафедри і від бази практики) практики студентів групи 505 у 2002 році

SELECT tf.Name AS ”Керівник від факультету”,

tc.Name AS ”Керівник від бази практики”, FROM STUDENT s, GROUP g, STUD_PRACTICE p, TUTOR tf, TUTOR tc WHERE s.GRID = g.GRID AND s.STID = p.STID AND p.TUFID = tf.TUID AND p.TUCID = tc.TUID AND g.Num =505 AND TO_CHAR(p.In_date,'YYYY' = '2002';

Запит 3. Вивести тих викладачів, які були керівниками студентів одночасно від факультету і бази практики.

SELECT tf.Name AS ”Вони одночасно керували практикою від факультету і БП”

FROM STUD_PRACTICE p, TUTOR tf, TUTOR tc
WHERE p.TUFID = tf.TUID AND p.TUCID = tc.TUID AND p.TUFID = p.TUCID;

Висновки

Проектування баз даних -- це складний, багатокроковий процес перетворення інформаційного середовища ПО у інформаційну модель у вигляді бази даних. Цей процес складається з різних етапів, а саме: розробка стратегії автоматизації, аналіз ПО, побудова концептуальної моделі ПО, логічне та фізичне проектування БД. На сучасному етапі розвитку інформатики проектування баз даних перетворилося на цілком сформовану наукову дісціпліну, яка має у своєму складі формально-теоретичну та технологічну складові. Теоретичної основою проектування баз даних є теорія нормалізації, яка дозволяє чітко і строго відповісти на таке запитання: як слід проводити перетворення початкової схеми ПО таким чином, щоб результуюча схема бази даних була еквівалентна початковій і була краща за неї. Методологія проектування детально описує усі етапи життєвого циклу створення бази даних з використанням сучасних мов опису ПО.

Ціллю курсової роботи було проектування бази даних проходження практики студентами на прикладі факультету комп'ютерних наук НАУ.

Для виконання курсової роботи були проведені всі необхідні дослідження, що стосуються розробки стратегії автоматизації, в результаті яких була надана відповідь на принципові запитання, що стосуються автоматизації любої предметної області.

Після цього був проведений аналіз ПО в результаті якого був отриманий змістовний опис ПО. Для аналізу ПО використовувалися наявні документи, а саме: прикази та розпорядження, що були видані в Міністерстві освіти та науки, а також в НАУ і на факультеті комп'ютерних наук стосовно проходження практики студентами; учбовий план на факультеті комп'ютерних наук. Крім того, були отримані консультації провідних викладачів кафедри інженерії програмного забезпечення стосовно теми курсової роботи.

Після цього була побудована концептуальна модель. Для цього була використана мова ER-опису ПО, яка базується на концепції, що інформаційна модель будь-якої ПО може бути описана із застосування таких понять, Як сутність, атрибут, зв'язок. Крім того, ця мова є суттєво графічною, що дає можливість наочно представляти концептуальну модель ПО. При побудові концептуальної моделі неявно використовувалися результати теорії нормалізації, у зв'язку з цим побудована модель представлена у третій нормальній формі. Необхідності використання більш високих нормальних форм не було, так як у предметній області не були виявлені складні види транзитивних функціональних залежностей, а також багатозначні залежності.

Логічне та фізичне проектування БД складалося з конвертації концептуальної моделі ПО у реляційну модель даних. При цьому був використаний алгоритм конвертування схеми ПО у мові ER в схему реляційної бази даних. Після цього реляційна база даних була представлена у вигляді команд створення таблиць бази даних у мові SQL ORACLE. Крім того, у мові SQL описані деякі інформаційно-пошукові запити.

Виконана курсова робота надала мені можливості ознайомитися з технологією проектування баз даних, та отримати практичний досвід у проектуванні бази даних з конкретної предметної області.

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

...

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

  • Мета, цілі та задачі створення бази даних, головні вимоги до її можливостей та використовуваного інформаційного забезпечення. Логічна та функціональна структура. Побудова концептуальної моделі проходження практики студентами, фізичне проектування.

    курсовая работа [83,9 K], добавлен 13.01.2017

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

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

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

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

    курсовая работа [55,1 K], добавлен 15.03.2015

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

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

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

    курсовая работа [946,8 K], добавлен 02.07.2015

  • Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.

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

  • Аналіз відомих підходів до проектування баз даних. Моделі "сутність-зв'язок". Ієрархічна, мережева та реляційна моделі представлення даних. Організація обмежень посилальної цілісності. Нормалізація відносин. Властивості колонок таблиць фізичної моделі.

    курсовая работа [417,6 K], добавлен 01.02.2013

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

    курсовая работа [559,2 K], добавлен 09.05.2016

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

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

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

    дипломная работа [1,8 M], добавлен 21.02.2015

  • Побудування інформаційної концептуальної моделі дошкільного навчального закладу. Визначення ідентифікуючого набора атрибутів інформаційної системи. Відомості про структуру програми, мова програмування. Код створення бази даних на мові Transact-SQL.

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

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

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

  • Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.

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

  • Вибір методів та засобів створення інформаційної системи для обліку і перегляду продукції на складі. Розробка моделі даних для реляційної бази даних, прикладного програмного забезпечення. Тестування програмного додатку, виявлення можливих проблем.

    курсовая работа [1,1 M], добавлен 22.09.2015

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

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

  • Узагальнена структурна схема інформаційної системи та алгоритми її роботи. Проект бази даних. Інфологічне проектування і дослідження предметної області. Розробка інфологічної моделі предметної області. Розробка композиційної, логічної системи бази даних.

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

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

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

  • Властивості та функції бази даних. Вибір та обгрутування програмного забезпечення Microsoft Access. Розробка бази даних за методом сутність-зв’язок. Етапи розробки бази даних "Відділ комп’ютерних комплектуючих" за допомогою СУБД Microsoft Office Access.

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

  • Проектування бази даних для КП "ВодГео" - комунального підприємства у сфері водопостачання та водовідведення в м. Сміла. Предметна область, вимоги до продукту. Розробка інтерфейсу програми. Вибір архітектури та сервера бази даних, її логічна структура.

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

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