Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Типи даних

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

з дисципліни „Бази даних”

на тему:

«БУДІВЕЛЬНА ФІРМА»

Захищений наВиконав студент

"________________"групиРПЗ9/11-13-36

"__" __________ 2016 р.спеціальність : 5.05010301 «Розробка програмного забезпечення»

Макаров Артем Володимирович

(ПІБ)

______________________________

(підпис)

 

 

Науковий керівник

Підгорна А. В.,

викладач циклової комісії комп’ютерних технологій

_______________________

(підпис)

 

Кропивницький – 2016


МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЦЕНТРАЛЬНА СПІЛКА СПОЖИВЧИХ ТОВАРИСТВ УКРАЇНИ

Кіровоградський кооперативний коледж економіки і права імені М.П.Сая

Циклова комісія комп’ютерних технологій

 

 

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

з дисципліни „Бази даних”

на тему:

«БУДІВЕЛЬНА ФІРМА»

Оцінка:

оформлення _________________

змісту _________________

захисту _________________

 

 

Загальна оцінка: ______________

Підписи членів комісії

_________________ /___________________/

_________________ /___________________/

_________________ /___________________/

 

Кропивницький – 2016


МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ЦЕНТРАЛЬНА СПІЛКА СПОЖИВЧИХ ТОВАРИСТВ УКРАЇНИ

Кіровоградський кооперативний коледж економіки і права імені М.П.Сая

 

Спеціальність: 5.05010301 Розробка програмного забезпечення

 

ЗАВДАННЯ

на курсовий проект з дисципліни

«Бази даних»

 

Студенту ІІІ курсу гр. РПЗ9/11-13-36 Макарову Артему Володимировичу

(прізвище, ініціали)

Тема: «БУДІВЕЛЬНА ФІРМА»

 

Зміст курсового проекту

 

ВИСНОВКИ

СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ

ДОДАТКИ

Додатак А – Схема даних

Додаток Б - Додаток Б – Таблиці за заданою темою курсового проекту

Додаток В – Створення форм для таблиць

Додаток Г – Створення звітів для таблиць

Додаток Д – Створення запитів для таблиць


КАЛЕНДАРНИЙ ПЛАН

роботи над курсовим проектом за темою:

«Облік поставок товарів»

 

№ п/п Найменування етапів курсової роботи Термін виконання Примітка
1. Затвердження теми роботи, наукового керівника на цикловій комісії комп’ютерних технологій    
2. Пошук літератури, підготовка та узгодження розширеного плану курсового проекту. Постановка задачі для практичної частини.    
3. Опрацювання спеціалізованої літератури. Написання чорнового варіанту "Вступу" та алгоритму програмного продукту, визначення предметної області їх перевірка науковим керівником.    
4. Написання тексту першого розділу роботи, його перевірка науковим керівником. Усунення зауважень.    
5. Написання тексту другого та третього розділів роботи, їх перевірка науковим керівником. Усунення зауважень.    
6. Написання висновків. Підготовка проекту до захисту. Демонстрація бази даних науковому керівнику.    
7. Усунення недоліків. Завершення роботи над оформленням.    
8. Подання проекту на рецензування. Реєстрація роботи.    
9. Захист курсового проекту.    

 



Студент: Макаров Артем Володимирович, ______________________

 

Науковий керівник: Підгорна Анна Вікторівна, ______________________

ЗМІСТ

Вступ. 7

РОЗДІЛ 1 ТЕХНІЧНЕ ЗАВДАННЯ.. 9

1.1 Документальне оформлення будівельних матеріалів. 9

1.2 Особливості обліку будівельних матеріалів. 13

1.3 Таблиці, поля і записи. 15

1.4 Робота з таблицями. 15

РОЗДІЛ 2 ПРОЕКТУВАННЯ БАЗИ ДАНИХ «БУДІВЕЛЬНА ФІРМА». 17

2.1 Документи, на підставі яких створюється система. 17

2.2 Призначення, ціль системи. 17

2.3 Характеристика об'єкта автоматизації 18

2.4 Вимоги до функцій та системи в цілому. 19

2.5 Ідентифікація сутностей і зв'язків. ER-діаграма логічного рівня. 20

2.6 Реалізація вказівної цілісності даних. 23

2.7 Типи даних. 24

2.8 Індексування відношень. 25

2.9 Проектування відношень. 26

РОЗДІЛ 3 ПРОЕКТУВАННЯ ТА ВДОСКОНАЛЕННЯ БАЗИ ДАНИХ.. 29

3.1 Опис та створення запитів мовою SQL. 29



3.2 Методи удосконалення. 33

3.3 Результати тестування БД.. 33

ВИСНОВКИ.. 35

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ.. 36

ДОДАТКИ

Додатак А – Схема даних

Додаток Б – Таблиці за заданою темою курсового проекту

Додаток В – Створення форм для таблиць

Додаток Г – Створення звітів для таблиць

Додаток Д – Створення запитів для таблиць


Вступ

 

 

Метою курсового проекту з дисципліни "бази даних" є проектування багатокористувацької інформаційної системи.

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

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

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

Основне завдання даного курсового проекту полягає в закріпленні навичок моделювання баз даних і бізнес - процесів із застосуванням Case-пакетів All Fusion ERwin Data Modeler і Process Modeler 4.1, засвоєння і закріплення навичок проектування і реалізації баз даних Microsoft SQL Server, з застосуванням СУБД Microsoft ACCESS 2007 для створення багатокористувацького інтерфейсу і мови баз даних T-SQL для запиту до баз даних SQL Server, керування і маніпулювання даними, які зберігаються в БД.

Важливою частиною роботи є розробка користувальницького інтерфейсу.

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

Основні завдання:

• Ознайомитися з літературою з даної теми;

• Вивчити основні поняття бази даних;

• Скласти модель бази даних;

• Розробити базу даних.


РОЗДІЛ 1 ТЕХНІЧНЕ ЗАВДАННЯ

1.1 Документальне оформлення будівельних матеріалів

Первинні документи з обліку витрат будівельного виробництва

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

— повністю з матеріалів підрядника;

— повністю з матеріалів замовника;

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

Розглянемо два перших варіанти.

 

Будівництво з матеріалів підрядника

Матеріальні витрати підрядника — це вартість використаних на об'єкті сировини, матеріалів, деталей, конструкцій. До моменту використання такі ТМЦ включаються до запасів будівельного підприємства і враховуються на всіх субрахунках рахунку 20 "Виробничі запаси", крім субрахунку 205 (субрахунок призначений для замовників) і на рахунку 22 "МТТТП" У собівартість будівельно-монтажних робіт матеріали включаються за первісною вартістю, сформованою відповідно до П(С)БО 9 "Запаси".

Первинними документами за обліку сировини і матеріалів у будівельному виробництві є форми, затверджені Наказом № 193:

 

— при надходженні — форми № М-4 "Прибутковий ордер", М-7 "Акт про приймання матеріалів", М-11 "Накладна-вимога на відпуск (внутрішнє переміщення) матеріалів";

— при відпуску — форми № М-8 "Лімітно-забірна картка", М-9 "Лімітно-забірна картка", М-10 "Акт-вимога на заміну (додатковий відпуск) матеріалів", М-11 — "Накладна-вимога на відпуск (внутрішнє переміщення) матеріалів";

— при русі МШП — затверджені Наказом № 145 (Наказ Міністерства статистики України від 22 травня 1996 р. № 145 "ПРО ЗАТВЕРДЖЕННЯ ТИПОВИХ ФОРМ ПЕРВИННИХ ОБЛІКОВИХ ДОКУМЕНТІВ З ОБЛІКУ МАЛОЦІННИХ ТА ШВИДКОЗНОШУВАНИХ ПРЕДМЕТІВ") типові форми № МТТТ-2 "Картка обліку малоцінних та швидкозношуваних предметів", МТТТ-4 "Акт вибуття малоцінних та швидкозношуваних предметів", МШ-5 "Акт на списання інструментів (пристроїв) та обмін їх на придатні", МТТТ-6 "Особова картка № обліку спецодягу, спецвзуття та захисних пристроїв", МШ-8 "Акт на списання малоцінних та швидкозношуваних предметів".

 

Будівництво з матеріалів замовника

У будівельній галузі, коли мова йде про виконання робіт "з матеріалів замовника", мається на увазі, що замовник передає підряднику матеріальні цінності для цільового використання на об'єкті будівництва.

Документальне оформлення таких операцій таке:

— для одержання матеріалів від замовника підрядник видає своєму представнику оформлене у встановленому порядку доручення (замовник передає матеріали не своєму працівнику, а представнику сторонньої організації);

— при передачі будівельних матеріалів сторони складають акт приймання-передачі ("Лист Державного комітету будівництва, архітектури та житлової політики України від 28 вересня 1999 р. № 8/8-341 "ЩОДО ОБЛІКУ ВАРТОСТІ МАТЕРІАЛІВ ПОСТАЧАННЯ ЗАМОВНИКА"). В акті передачі відбивається вартість матеріалів за ціною їх придбання з обліком сплаченого ПДВ. Оскільки в названому Листі не визначена форма акта, то він може бути довільної форми (табл. 1).

Таблиця 1 – акт приймання передачі

Вартість матеріалів, безкоштовно переданих підряднику за актом приймання-передачі і вкладених у будівництво, включається в обсяг виконаних робіт за фактичною вартістю їх придбання з урахуванням сплаченого податку на додану вартість (типова форма № КБ-2в "Довідка про вартість виконаних підрядних робіт та витрат", табл. 8.9), але при розрахунках за виконаний обсяг робіт вираховується замовником і не підлягає оплаті.

— для списання використаних матеріалів (після підписання довідки за формою № КБ-3) підрядник складає акт про використання матеріалів. Такий акт є підставою: у підрядника — для списання матеріалів з підзвіту матеріально-відповідальної особи, а в замовника — для включення вартості використаних матеріалів у вартість об'єкта будівництва (Дт 151). Наказом № 193 затверджена його типова форма № М-23 — "Акт про витрату давальницьких матеріалів", який застосовується для списання використаних матеріалів відкритого зберігання, що належать замовнику, але використаних будівельною організацією, яка виконує роботи на об'єкті будівництва. Зразок заповнення форми № М-23 наведений у табл. 2.1.

Таблиця 2.1 – Акт про витрату

 

Хоча форма № М-23 призначена для списання "матеріалів відкритого зберігання", підрядники через брак іншого документа використовують цю форму для списання будь-яких використаних матеріалів замовника.

— при поверненні замовнику залишків невикористаних будівельних матеріалів сторони оформляють акт приймання-передачі довільної форми. Повернення проводиться на підставі доручення форми № М-2 (табл. 2.1).

Якщо невикористані матеріали залишаються в підрядника, то сторони повинні визначитися, на яких умовах: якщо за плату — то необхідно оформити договір купівлі — продажу або бартерний договір (наприклад, в оплату вартості виконаних будівельних робіт); безкоштовно — тоді ця операція розглядається як безоплатна передача матеріальних цінностей.

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

 

1.2 Особливості обліку будівельних матеріалів

 

Облік будівельних матеріалів здійснюється у підрядника на субрахунку 201, у замовника — на субрахунку 205, як облік інших запасів згідно з П(С)БО 9 "Запаси".

Специфічні первинні документи — лімітно-забірні картки форми М-28, М-28А, М-29.

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

Класифікація будівельних матеріалів

1) За використанням:

— стінові (цегла, каміння, панелі, блоки);

— в'яжучі (вапно, цемент, синтетичні смоли); її — сантехнічні (труби, шланги);

— електротехнічні (кабель, провід, лампи, вимикачі);

— кровельні (шифер, черепиця, жерсть, руберойд);

— ізоляційні (папір, скловолокно).

2) За способом зберігання:

— відкритого зберігання (цегла, пісок, щебінь, гравій);

— закритого зберігання (сантехніка, електротехнічні матеріали);

— напівзакритого зберігання (лінолеум, толь).

Бухгалтерські проведення з обліку будівельних матеріалів, а також з нарахування зносу нетитульних споруд, сума якого включається до елемента затрат "Матеріальні витрати", подано в табл. 1.2

Таблиця 1.2 – Матеріальні витрати

Особливості проведення інвентаризації будівельних матеріалів. Сипучі будівельні матеріали (щебінь, пісок, цемент), особливо відкритого зберігання, важко виміряти, бо вони зберігаються насипом на спеціальних майданчиках. Тому перед інвентаризацією матеріально відповідальні особи повинні надати їм певної геометричної форми (паралелепіпеда, конуса тощо). Кількість матеріалів визначається шляхом обмірювання і розрахунків: визначається математично об'єм відповідного паралелепіпеда, конуса або куба і вага однієї одиниці вимірюваних матеріалів зважуванням; отримані величини перемножуються. Присутність матеріально відповідальної особи при цьому обов'язкова.

 

1.3 Таблиці, поля і записи

 

Таблиця може розглядатися як набір рядків і стовпців, подібних до рядків і стовпців електронної таблиці Excel. В Access прийнято рядки називати записами, а стовпці – полями. Кожен рядок у таблиці – запис, що містить всю інформацію відносно окремого замовника, а всі записи містять одні і ті ж типи і кількість полів.

Робота з таблицями

Структура таблиці

Структура таблиці (також називається визначенням таблиці) специфікується при створенні таблиці. Структура таблиці повинна бути спроектована і створена перед початком запровадження в таблицю яких-небудь даних. Вона визначає, які дані таблиця буде зберігати, а також деякі правила, асоційовані з даними. Структура таблиці доступна через вікно конструктора таблиць. Для того щоб відкрити це вікно для існуючої таблиці, потрібно відкрити вкладку Таблиці вікна БД, вибрати таблицю і натиснути кнопку Конструктор.

Структура таблиці включає таку інформацію:

Ім’я таблиці;

Стовпчики таблиці – категорії інформації, збереженої в таблиці. Кожний стовпчик має тип даних;

Табличні і стовпчикові обмеження - обмеження цілісності, визначені на рівні таблиці або на рівні стовпчика.

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

 

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

Наведемо базові принципи створення таблиць:

Необхідно уникати дублювання інформації. Для кожної категорії інформації варто використовувати окрему таблицю.

Недопустимо зберігати значення, що можуть бути обчислені.

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

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

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


РОЗДІЛ 2 ПРОЕКТУВАННЯ БАЗИ ДАНИХ «БУДІВЕЛЬНА ФІРМА»

 

2.1 Документи, на підставі яких створюється система

 

· інформація про дату замовлення;

· інформація про місце проведення робіт;

· перелік послуг, що надаються;

· особисті справи співробітників;

· прейскурант на послуги, що надаються.

 

2.2 Призначення, ціль системи

 

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

 

 

2.3 Характеристика об'єкта автоматизації

 

Більш детально розглянемо інфраструктуру будівельної фірми. Користувачами бази даних будуть директор (засновник фірми), співробітники, робітник відділу кадрів, послуг і адміністратор.

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

Функції директора:

· координація повної роботи співробітників;

· формування робочого розпорядку фірми;

· прийом на роботу нових співробітників і звільнення персоналу.

Інформація, що підлягає зберіганню: ім'я та прізвище співробітників, табельний номер, бригада в якій працює, оклад, прізвище бригадира, стаж роботи, посада, прийом замовлень.

Функції замовник:

· складання замовлення;

Інформація, що підлягає зберіганню: ім'я та прізвище замовника, табельний номер, дата здачі об'єкта.

Функції персоналу, працюючого у відділі кадрів, послуг:

· реєстрація нових клієнтів:

· пошук об'єктів роботи;

· пошук термінів закінчення.

Інформація, що підлягає зберіганню: ім'я та прізвище співробітника, табельний номер, бригада в якій працює, прізвище бригадира, ім'я та прізвище відповідальної особи, послуги, терміни роботи, матеріали, дата здачі об'єкта.

 

2.4 Вимоги до функцій та системи в цілому

 

Система повинна відповідати таким вимогам:

1. Надійності;

2. Безпеки;

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

4. Система повинна бути доступна з будь-якого комп'ютера в фірмі.

5. Інформація яка зберігається в системі повинна бути захищена від аварійних ситуацій, впливу зовнішніх факторів (радіоелектронний захист).

6. Кваліфікація персоналу. Персонал повинен бути навчений правилам роботи з системою, при цьому не обов'язкова наявність спеціальної технічної освіти.

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

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

· Реєстрація нових замовлень. Автоматизована система дозволить реєструвати клієнтів досить швидко і просто, не знадобитися тривалого заповнення різного роду паперів. Замовити роботи можна буде за 2-3 хвилини при першому ж відвідуванні фірми, при цьому клієнти повинні будуть всього лише надати паспорт або інший документ, що посвідчує особу та повідомити деяку іншу інформацію про себе.

· Отримання даних для статистики. Автоматизована система дозволяє отримати дані про вартість послуг. Статистичні дані дозволяють визначити популярність послуги в тій чи іншій області.

 

2.5 Ідентифікація сутностей і зв'язків. ER-діаграма логічного рівня

 

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

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

- «Бригади» - для зберігання інформації про бригадb, в які формуються співробітники. Містить номер бригади, номер замовлення, ПІБ бригадира і кількість осіб в бригаді;

- «Співробітники» - для зберігання інформації про співробітників, які працюють на фірмі. Містить табельний номер співробітника, ПІБ, стаж роботи, розмір окладу, займану посаду, номер бригади, в якsq працює співробітник, а також номер паспорта та адреса проживання;

- «Клієнти» - для зберігання інформації про клієнта, які користуються послугами даної фірми. Містить номер клієнта, дату замовлення, а так само інформацію про відповідальну особу;

- «Послуги» - для зберігання інформації про послуги, які надаються клієнтам. Містить найменування послуг, номер послуги та її вартість;

- «Замовлення» - для зберігання інформації про об'єкти, які були замовлені клієнтом. Містить номер замовлення, адресу замовленого об'єкта, а також дату передбачуваної здачі об'єкта клієнту;

- «Матеріали» - для зберігання інформації про матеріали, які необхідні для виконання послуг на замовлених об'єктах. Містить код матеріалу, вартість матеріалу, найменування матеріалу, а також загальну кількість замовленого матеріалу;

- «Постачальники» - для зберігання інформації про постачальників, які постачають різноманітні матеріали. Містить ідентифікаційний номер, назву організації, адресу організації, телефон організації і email;

Для однозначного визначення записів в кожному з відношень виділено первинний ключ (простий або складний).

Зовнішні ключі для відношень БД:

у відношеннях «Співробітники» і «Бригади» - це ключ «Номер_бригади»;

у відношеннях «Бригади» і «Замовлення» - це ключ «Номер_замовлення»;

На логічному рівні проектування де моделюється база даних присутні наступні типи зв'язків між описаними сутностями:

· не ідентифікуючий зв'язок;

· ідентифікуючий зв'язок ;

· зв'язок багато-до-багатьох.

Зв'язок між сутностями «Бригади» і «Співробітники» не ідентифікуються, тому що для однозначної ідентифікації співробітника необов'язково знати його бригаду, в якій він працює. Тип зв'язку 1 до багатьох, тому що в одній бригаді можуть працювати багато співробітників, але співробітник може працювати тільки в одній бригаді.

Зв'язок між сутностями «Бригади» і «Замовлення» не ідентифікуються, тому що для однозначної ідентифікації замовлення необов'язково знати номер бригади, так як замовлення може бути вже здано в експлуатацію. Тип зв'язку 1 до багатьох, тому що в одному замовленні можуть брати участь багато бригад, але бригада може працювати тільки над одним замовленням.

Зв'язок між сутностями «Замовлення» і «Матеріали» багато-до-багатьох, тому що одне замовлення може потребувати кількох типів матеріалів, а матеріал може бути потрібен на декількох об'єктах.

Зв'язок між сутностями «Замовлення» і «Послуги» багато-до-багатьох, тому що одне замовлення може потребувати кількох послуг, а одна послуга може бути затребувана на декількох об'єктах.

Зв'язок між сутностями «Постачальники» і «Матеріали» багато-до-багатьох, тому що один постачальник може постачати кілька матеріалів, а один матеріал може поставлятися кількома постачальниками.

Зв'язок між сутностями «Послуги» і «Клієнти» багато-до-багатьох, тому що один клієнт може потребувати кількох послуг, а одна послуга може бути затребувана декількома клієнтами.

ER-діаграма логічного рівня представлена ​​на рисунку 2.

Рисунок 2.1 - ER-діаграма логічного рівня

 

2.6 Реалізація вказівної цілісності даних

 

· При зміні інформації про бригаду з таблиці «Бригади» в таблиці «Співробітники» інформація буде автоматично змінюватися (каскадне оновлення). Дозволяється видалення інформації тільки у тому випадку, коли на дану інформацію немає посилань в інших пов'язаних таблицях;

· При зміні інформації про якісь замовлення з таблиці «Замовлення» в таблиці «бригади» інформація буде автоматично змінюватися (каскадне оновлення). Дозволяється видалення інформації тільки у тому випадку, коли на дану інформацію немає посилань в інших пов'язаних таблицях;

 

Типи даних

 

1. Розглянемо таблицю «Клієнти». Ключове поле таблиці «Номер_клієнта» містить номер клієнта за списком. Номер являє собою набір цифр. Отже, тип даних поля «Номер_клієнта» повинен бути числовим цілим. Вибираємо тип int.

2. В таблиці «Замовлення» є поле «Дата_здачі». Це поле містить число, місяць, рік дату, коли була виконана послуга. Тип даних для неї – datetime.

3. В таблиці «Співробітники» є поле «Адреса». Це поле містить адресу співробітника, який працює на цій фірмі. Адреса являє собою набір цифр і символів. Тип даних для неї – varchar[255].

В програмі були розроблені наступні тригери:

proverka_Clientov ввести значення у полі «дата_замовлення», якщо воно перевищує номер поточного року;

proverka_Uslugi записує при додаванні записів у таблицю «послуги» в окрему таблицю інформацію про дату додавання і користувача. Перед створенням такого тригера необхідно створити таблицю TrUskugi, куди буде проводитися запис;

proverka_Sakazi записує при додаванні записів у таблицю «замовлення» в окрему таблицю інформацію про дату додавання і користувача. Перед створенням такого тригера необхідно створити таблицю TrSakazi, куди буде проводитися запис;

proverka_Postav записує при додаванні записів у таблицю «постачальники» в окрему таблицю інформацію про дату додавання і користувача. Перед створенням такого тригера необхідно створити таблицю TrPostav, куди буде проводитися запис;

proverka_Mater записує при додаванні записів у таблицю «послуги» в окрему таблицю інформацію про дату додавання і користувача. Перед створенням такого тригера необхідно створити таблицю TrMater, куди буде проводитися запис;

T_uslugi_1 записує при видаленні записів з таблиці «послуги» в окрему таблицю інформацію про послугу. Перед створенням такого тригера необхідно створити таблицю uslugi_ud, куди буде проводитися запис;

T_zakazy_1 записує при видаленні записів з таблиці «замовлення» в окрему таблицю інформацію про віддаленому замовленні. Перед створенням такого тригера необхідно створити таблицю zakaz_ud, куди буде проводитися запис;

T_postavchik_1 записує при видаленні записів з таблиці «постачальники» в окрему таблицю інформацію про віддаленного постачальника. Перед створенням такого тригера необхідно створити таблицю postavchik_ud, куди буде проводитися запис;

T_material_1 записує при видаленні записів з таблиці «матеріали» в окрему таблицю інформацію про віддалені матеріали. Перед створенням такого тригера необхідно створити таблицю Mater_ud, куди буде проводитися запис;

T_sotrudnik_1 записує при видаленні записів з таблиці «Співробітники» в окрему таблицю інформацію про віддаленого працівника. Перед створенням такого тригера необхідно створити таблицю sotrudnik_ud, куди буде проводитися запис;

 

2.8 Індексування відношень

 

В таблиці «матеріали» створений індекс атрибуту «Найменування_матеріала», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «Матеріали» створений індекс атрибуту «Вартість_матеріалів», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «послуги» створений індекс атрибуту «Послуга», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «матеріали» створений не кластерний індекс атрибуту «К-сть_матеріалу», т. к. індекс дозволяє прискорити пошук необхідних записів.

У таблиці «клієнти» створено кластерний індекс атрибуту «Відповідальна_особа», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «Співробітники» створено кластерний індекс атрибуту «Номер_паспорту», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «Співробітники» створений не кластерний індекс атрибуту «Оклад», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «Співробітники» створений не кластерний індекс атрибуту «Посада», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «замовлення» створено кластерний індекс атрибуту «Адреса_обєкта», т. к. індекс дозволяє прискорити пошук необхідних записів.

В таблиці «послуги» створений не кластерний індекс атрибуту «Послуга», т. к. індекс дозволяє прискорити пошук необхідних записів.

 

2.9 Проектування відношень

 

Таблиця 2 – Верифікація спроектованої БД

 

Arrow Name Entity Name Attribute Name
Інформація про співробітників Співробітники  
    Табельний-номер
    ПІБ
    Номер_паспорта
    Адреса
    Оклад
    Посада
    Стаж
    Номер_бригади
    Номер_соц_страхування
Інформація пропостачальників постачальники  
    ІД_постачальника
    Назва_підприємства
    Адреса_підприємства
    Телефон_підприємства
    EMAIL
Інформація про обєкти замовлення  
    Номер_замовлення
    Адрес_обєкту
    Дата_здачі
Інформація про матеріали матеріали  
    Код_матеріалу
    Вартість_матеріалів
    Найменування_матеріалів
    Кількість_матеріалів
  постачальники  
    ІД_ПОСТАЧАЛЬНИКА
    Назва_підприємства
    Адреса_підприємства
    Телефон_підприємства
    EMAIL
Інфломація по замовленнях клієнти  
    Номер_клієнта
    Дата_замовлення
    Відповідальна_особа
  послуги  
    Номер_послуги
    Послуга
    Вартість_послуги
Інформація п дати замовлення клієнти  
    Номер_клієнта
    Дата_замовлення
    Відповідальна_особа
Ініормація про стажування Співробітники  
    Табельный_номер
    ПІБ
    Стаж
    Номер_бригади
Інформація про соц. Страхування співробітника Співробітники  
    Табельний_номер
    ПІБ
    Номер_соц_страхування
    Номер_бригади
Виведення інф про спеціальність Співробітники  
    Табельний_номер
    ПІБ
    Посада
    Номер_бригади
Інф про кількість поставленого матеріалу матеріали  
    Код_матеріалу
    Вартість_матеріалів
    Найменування_матеріалів
    Кількість_матеріалу
  постачальники  
    ІД_постачальника
    Назва _підприємства
    EMAIL
Інформація про вартість матеріалів матеріали  
    Код_матеріалу
    Вартість_матеріалу
    Найменування_матеріалу
    Кількість-матеріалу

РОЗДІЛ 3 ПРОЕКТУВАННЯ ТА ВДОСКОНАЛЕННЯ БАЗИ ДАНИХ

3.1 Опис та створення запитів мовою SQL

/* обмеження інформації про бригади з не нульовим номером замовлення.*/

Create view Инфо_бригады /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

Бригади.Номер_бригады,

Бригади.ФИО_бригадира,Бригади.Количество_в_бригаде

from Бригади /*З якої таблиці*/

where Бригади.Номер_заказа is not Null /*Вибір бригади не з порожнім номером замовлення*/

/* інформація про матеріал, вартість якого менше 150000 і кількістю більше 30 */

Create view Инфо_поставщик /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

постачальники.Organizationname,постачальники.Адрес_организации,постачальники.Телефон_организации,

постачальники.EMAIL,матеріали.Код_материала,матеріали.Наименование_материала,

матеріали.Стоимость_материалов,матеріали.Количество_материала

from поставщики_материалы

Inner Join постачальники on поставщики_материалы.ИД_поставщика=постачальники.ИД_поставщика

Inner Join матеріали on поставщики_материалы.Код_материала=матеріали.Код_материала /*З яких таблиць і як таблиці пов'язані між собою*/

where (матеріали.Стоимость_материалов<150000) and (матеріали.Количество_материала>30) /*Вибір матеріалу вартістю менше 150000 і кількістю більше 30*/

/* інформація про матеріал кількість якого 10 або 20*/

Create view Инфо_материалы /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

матеріали.Код_материала,матеріали.Наименование_материала,

матеріали.Стоимость_материалов,матеріали.Количество_материала

from матеріали /*З якої таблиці*/

where матеріали.Количество_материала in (10,20) /*вибір матеріалу кількість якого 10 або 20 */

/*інформація про співробітників, з прізвищем що закінчується на «ов»*/

CREATE VIEW Информация_Сотрудники /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

Співробітники.Табельный_номер, Співробітники.ПІБ, Співробітники.Посада, Співробітники.Номер_паспорта, Співробітники.Оклад, Співробітники.Адреса,

Співробітники.Стаж,Співробітники.Номер_бригады,Співробітники.Номер_соц_страховки

FROM Співробітники /*З якої таблиці*/

WHERE Співробітники.ПІБ LIKE '%s%'/*Выберает співробітників з прізвищем що закінчується на «ов»*/

/* інформація про матеріал, кількість якого знаходиться в діапазоні від 30 до 50.*/

CREATE VIEW Информация_Количество_материалов /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

матеріали.Код_материала,матеріали.Наименование_материала,

матеріали.Стоимость_материалов,матеріали.Количество_материала

from матеріали /*З якої таблиці*/

WHERE матеріали.Количество_материала BETWEEN 30 AND 50 /*Вибір матеріалу кількість якого знаходиться в діапазоні від 30 до 50*/

/*Виведення кількості клієнтів.*/

Create view Количество_клиентов /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

количество_клиентов=count(клієнти.Номер_клиента) /*Підрахунок кількості*/

from клієнти /*З якої таблиці*/

/* вартість послуги з максимальною вартістю.*/

Create view Максимальная_услуга_по_стоимости /*Вказуємо ім'я подання*/

as

Select /*Зазначаємо, які поля будуть виведені*/

Максимальная_стоимость=max(послуги.Стоимость_услуги) /*Пошук максимальної вартості послуги*/

 

from послуги /*З якої таблиці*/

/* інформація про бригаду з мінімальною кількістю працівників*/

CREATE VIEW минимальное_количество_в_бригаде /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

Бригади.Номер_бригады,

Бригади.ФИО_бригадира,Бригади.Количество_в_бригаде

from Бригади /*З якої таблиці*/

WHERE Бригади.Количество_в_бригаде= (select Min(Количество_в_бригаде) from Бригади)/*Вибір бригади, в якій мінімальна кількість співробітників*/

/* інформація про співробітників з окладом більшим ніж 16000 або рівним 12000*/

CREATE VIEW Инфо_оклад_сотрудников /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

Сотрудники.Табельный_номер,Сотрудники.ФИО,Сотрудники.Номер_бригады,Сотрудники.Должность,Сотрудники.Оклад

FROM Співробітники /*З якої таблиці*/

WHERE Співробітники.Оклад > 16000 or Співробітники.Оклад =12000 /*Вибір співробітника , з окладом більше 16000 або рівним 12000*/

/* інформація про вартість всіх матеріалів.*/

Create view Стоимость_всех_материалов /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

Общая_стоимость_материалов=sum(матеріали.Количество_материала*матеріали.Стоимость_материалов) /*Вираховуємо загальну вартість матеріалів*/

from матеріали /*З якої таблиці*/

/* інформація про послуги вартість, яких менше або дорівнює середній.*/

Create view услуга_со_стоимостью_ниже_средней /*Вказуємо ім'я подання*/

As

Select /*Зазначаємо, які поля будуть виведені*/

послуги.Номер_услуги,послуги.Послуга,послуги.Стоимость_услуги

From послуги /*З якої таблиці*/

where послуги.Стоимость_услуги <=(select avg(Стоимость_услуги) From послуги) /*Вибір послуги, де вартість менше або дорівнює середній вартості послуг*/

/* інформація про замовлення, які створені*/

CREATE VIEW Заказы_которые_зданы /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

замовлення.Номер_заказа, замовлення.Адрес_объекта, замовлення.Дата_здачи

FROM замовлення /*З якої таблиці*/

WHERE замовлення.Дата_здачи< Getdate()/*Вибір замовлення у якого термін складанння менше поточної дати*/

/* інформації про замовлення, які будуть створені через 30 днів*/

CREATE VIEW Объекты_которые_будут_зданы_через_30_дней /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

замовлення.Номер_заказа, замовлення.Адрес_объекта, замовлення.Дата_здачи

FROM замовлення /*З якої таблиці*/

WHERE замовлення.Дата_здачи<DateAdd(day,30,замовлення.Дата_здачи) and замовлення.Дата_здачи>Getdate() /*Вибір замовлення у якого термін складанння закінчиться через 30 днів*/

/* інформації про клієнтів,у яких замовлення більше 60 днів*/

CREATE VIEW Клиенты_с_заказом_больше_60_дней /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

клієнти.Номер_клиента,клієнти.Дата_заказа,клієнти.Ответственное_лицо

FROM клієнти /*З якої таблиці*/

WHERE DateDiff(day,клієнти.Дата_заказа,Getdate())>60 /*Вибір клієнта з замовленням більше 60 днів*/

/* інформація про клієнтів*/

CREATE VIEW Информация_о_клиентах /*Вказуємо ім'я подання*/

AS

SELECT /*Зазначаємо, які поля будуть виведені*/

клієнти.Номер_клиента,клієнти.Ответственное_лицо,

День=Day( клієнти.Дата_заказа),Місяць=Month( клієнти.Дата_заказа),Рік=Year( клієнти.Дата_заказа)

FROM клієнти /*З якої таблиці*/


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.085 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал