Администрирование, базы данных



 ЗМІСТ

 

 

 

ВСТУП

 

 

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

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

- неоднозначність інформації  – виникає ситуація, коли один  і той самий елемент у різних  файлах називається по-різному;

- неузгодженість, яка  полягає в тому, що кожен додаток  трактує окремий елемент по-своєму;

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

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

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

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

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

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

Існують 4 типи операційних  систем:

1) операційні системи  пакетної обробки: порівняно велика  швидкість логічних і автоматичних  операцій, але в свою чергу  мала швидкість вводу і виводу завантаженість процесора на 20 – 30%.

2) операційна система  з розподілом задач по часу (організовується черга вводу  і виходу задач, і обслуговується  до 15 користувачів і процесор  завантажений на 80-90%).

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

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

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

Інструментальне програмне  забезпечення призначене для розробки всіх видів інформаційно-програмного  забезпечення. При цьому під інформаційним забезпеченням розуміють сукупність попередньо підготовлених даних, необхідних для роботи програмного забезпечення. Наприклад, будь-яка сучасна програма має вбудовану довідку для роботи з цією програмою. Файл довідки являє собою інформаційне забезпечення. До інструментального програмного забезпечення відносять: редактори (текстові, графічні, музичні), системи табличної обробки даних (табличні процесори), системи управління базами даних, транслятори мов програмування, інтегровані системи діло виробництва, тощо.

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

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

Ассамблери перетворюють програми, які представлені у машинноорієнто-ваних мовах, на машинну мову.

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

Рішенням подібних проблем може бути використання бази даних.

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

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

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

Лексикон, Write, Word.

Графічні системи багаточисельні, а їх функції — різноманітні. Серед них можна виділити системи ділової графіки (Microsoft PowerPoint, Lotus Freelance Graphics), художньої графіки, які ще називають просто графічними редакторами (Раіntbrush), інженерної графіки та автоматизованого проектування (Autodesk AutoCad), системи обробки фотографічних зображень (Adobe Photoshop), а також універсальні графічні системи (CorelDRAW!).

Програми роботи з  електронними таблицями (ЕТ) дозволяють розв'язувати широке коло задач, зв'язаних з числовими розрахунками. Найширше використовують серед програм такого класу Supercalk, Місrosoft Excel та Lotus 1-2-3.

Системи управління базами даних (СУБД) призначені для об'єднання  наборів даних з метою створення  єдиної інформаційної моделі об'єкта. Ці програми дозволяють накопичувати, обновляти, коригувати, вилучати, сортувати інформацію, організовану спеціальним засобом у вигляді банку даних. Найпоширеніші СУБД: dВаsе III Рlus, FохBase+, Сlірреr, Оrасlе, Ассеs, FохРrо, Раrаdох.

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

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

Для реалізації даного курсового  проекту вибрано мову структурованих запитів SQL ( Structured Query Language ) – це скорочена назва структурованої мови запитів, що представляє засоби створення і обробки даних в реляційній базі даних.

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

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

  • мова визначення даних – визначення бд, а також створення і видалення таблиць та індексів;
  • запити на вибір даних – SELECT;
  • мова керування даними – надання і заборона превілегій на допуск до даних, керування трансакціями та інше;
  • модифікація даних - добавлення, знищення і зміна даних;
  • крім того, SQL надає можливість виконувати:
  • арифметичні операції, включаючи різноманітні функціональні перетворення, обробку текстових стрічок і виконання операцій порівняння  значень арифметичних виразів та текстів;
  • упорядкування стрічок або стовбців при виведенні змісту таблиць для друку чи на екран дисплея;
  • створення представлень, які дають можливість користувачам інтерпретувати дані без збільшення їх об’єму в БД;
  • зберігання вмісту таблиць, що виводиться по запиту, декількох таблиць, або представлення в іншій таблиці;
  • групування даних і використання щодо цих груп таких операцій, як середнє, сума, максимум, мінімум і т. д.

Основні переваги мови SQL:

  • стандартність мови SQL - використання в програмах стандартизовано міжнародними організаціями;
  • незалежність від конкретних СУБД - всі розповсюджені СУБД використовують SQL, так як реляційну базу і програми, що з нею працюють, можна перенести с одної СУБД на іншу з мінімальними доопрацюваннями;
  • можливість перенесення з однієї обчислювальної системи до іншої;
  • реляційна основа мови. таблична структура реляційної бази даних добре зрозуміла, тому мова SQL є простою для вивчення;
  • можливість створення інтерактивних запитів - SQL забезпечує користувачам негайний доступ до даних, при цьому в інтерактивному режимі можна отримати результат запита за досить короткий час без написання складних програм;
  • можливість програмного доступу до БД;
  • забезпечення різноманітного представлення даних;
  • можливість динамічних змін розширення структури БД;
  • підтримка архітектури клієнт/сервер. [3]

Перелічені  проблеми можна вирішити об’єднавши всі дані в єдину систему – реляційну базу даних.

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

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

Мова SQL містить  команди, які дозволяють розв’язати наступні задачі:

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

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

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

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

 

1 МОДЕЛЮВАННЯ  СТРУКТУРИ БАЗИ ДАНИХ

 

1.1 Групування вимог до бази даних

 

Дана курсова  робота спрямована на розробку бази даних для компанії з виробництва ПЗ. Необхідно чітко визначити коло задач, для розв’язання яких вона створюється.

При створенні  даного проекту вирішено наступні цілі:

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

Мета – полегшити і зробити більш ефективним управління послугами компанії.

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

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

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

  • прізвище, ім’я, по батькові;
  • посада та рівень заробітної плати працівника;
  • головні посади управління компанії;
  • перелік типів виробів, та заказів;
  • строк та стадія заказу;
  • ціни на проекти.

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

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

У проектованій базі даних буде два види користувачів, а саме:

  • управління компанії;
  • працівники, що працює з клієнтами та проектами.

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

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

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

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

 

1.2 Розробка логічної та фізичної моделі даних

 

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

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

Основною ідеєю семантичних мереж є так звана тріада: суб’єкт – відношення – об’єкт.

Можна виділити наступні об’єкти реального світу, які представляють інтерес для проектування даної бази даних:

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

Сутність – це деяка  модель об’єкту реального світу. Кожній сутності у відповідність ставляться властивості або атрибути, які можуть включати в себе в прикладі з людиною ім’я, статус, адресу проживання, рід занять тощо.

 Для проектування бази даних компанії виділяються наступні сутності:

  • «Dolgnosti»;
  • «Klient»;
  • «Komitet»;
  • «Magazin»;
  • «Otdelu»;
  • «Prodykziya»;
  • «Proektu»;
  • «Sotrydniki»;
  • «Zar_plata»;
  • «Zentr_obrabotki».

Сутності також характеризуються ще й зв’язками між собою. Відношення між сутностями – це віртуальний зв'язок, як правило, заснований на взаємовідносинах об’єктів реального світу. Відношення приймають одну із трьох форм, які називають кардинальністю, а саме: «один до одного», «один до багатьох», «багато до багатьох».

Тепер можна переходити до побудови моделі «ER-діаграми». «ER-діаграма» включає в себе фізичні об’єкти, які були використані для представлення в базі даних об’єктів реального світу, і взаємозв’язки між цими об’єктами. У випадку проектування бази даних для компанії діаграма визначає взаємовідносини.

 

Рисунок 1.1 - Модель «ER-діаграми»

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

− для кожної сутності створити базову таблицю, причому кожному атрибуту відповідає стовпчик таблиці. Ключовий атрибут стає первинним ключем таблиці, тобто тим елементом, який унікально визначає всі кортежі (рядки) таблиці;

− коли дві сутності беруть участь у зв’язку кардинальністю «один  до багатьох», то таблиця, яка визначається кардинальністю «багато», має містити  атрибут, який відповідає первинному ключу таблиці, яка відображає сутність кардинальністю «один». Цей атрибут називається зовнішнім ключем, який відображає сам зв'язок;

− коли дві сутності беруть участь у зв’язку кардинальністю «один  до одного», то в таблицю однієї із сутностей необхідно включити атрибут зовнішнього ключа, але не варто включати атрибут зовнішнього ключа в обидві таблиці задля запобігання невідповідності даних;

− якщо дві сутності беруть участь у відношенні кардинальністю «багато  до багатьох», то необхідно створити нову таблицю, яка складається з атрибутів, що є первинними ключами перших двох таблиць;

− якщо сутність має багатомірний атрибут, треба створити додаткову  таблицю, причому один із атрибутів  даної таблиці буде зовнішнім  ключем по відношенню до таблиці, що представляє сутність, а другий буде представляти багатозначний атрибут;

− якщо у зв’язку беруть участь більше двох сутностей, необхідно створити додаткову таблицю, яка складатиметься із атрибутів первинних ключів усіх таблиць, які представляють сутності – учасники;

− провести нормалізацію таблиць.

Розглянемо структури  таблиць, які утворилися внаслідок  покрокового перетворення «ER-діаграми» на базу даних. Загальна кількість таблиць у базі даних компанії – 10.

Структура таблиці «Dolgnosti», яка містить інформацію про особистий ID працівника, зв’язок «один до багатьох» та атрибут для первинного ключа , наведено в таблиці 1.1.

 

Таблиця 1.1 – Структура  таблиці «Dolgnosti»

Номер атрибуту

Назва

атрибуту

Тип даних

Обмеження

Призначення атрибуту

Пусте значення

Значення за замовчуванням

1

ID_dolg

int

NOT NULL

-

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

2

Li4nuy_ID_sotrydnika

int

NOT NULL

-

код ідентифікації

3

ID_otdel2

int

NOT NULL

-

зовнішній ключ

4

ID_kom2

int

NOT NULL

-

зовнішній ключ


 

Таблиця «Klient» містить номер заказу, зв’язок «один до одного» та атрибут для первинного ключа. Структурне представлення таблиці наведене в таблиці 1.2.

 

Таблиця 1.2 – Структура  таблиці «Klient»

Номер атрибуту

Назва

атрибуту

Тип

даних

Обмеження

Призначення атрибуту

Пусте значення

Значення за замовчуванням

1

ID_kl

int

NOT NULL

-

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

2

Zakaz

int

NOT NULL

-

номер заявки

3

ID_mag

int

NOT NULL

-

зовнішній ключ


 

Структурне представлення таблиці «Komitet», де відображено керівництво компанії та атрибут для первинного ключа, знаходиться в таблиці 1.3.

 

 

 

 

Таблиця 1.3 – Структура  таблиці «Komitet»

Номер атрибуту

Назва

атрибуту

Тип

даних

Обмеження

Призначення атрибуту

Пусте значення

Значення за замовчуванням

1

ID_komitet

int

NOT NULL

-

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

2

Glova

varchar(25)

NOT NULL

-

керівництво


 

За допомогою даних, збережених у таблиці «Magazin», ведеться облік проектів прийнятих під заказ для продажу та атрибут для первинного ключа. Структура даної таблиці наведена в таблиці 1.4.

 

Таблиця 1.4 – Структура  таблиці «Magazin»

Номер атрибуту

Назва

атрибуту

Тип

даних

Обмеження

Призначення атрибуту

Пусте значення

Значення за замовчуванням

1

ID_magazin

int

NOT NULL

-

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

2

Prodykziya

varchar(30)

NOT NULL

-

назва ПЗ


 

Базова таблиця «Otdelu» призначена для зберігання загальної інформації про назву відділення та профіль діяльності. Має зв’язок «один до одного» та атрибут для первинного ключа , структура наведена в таблиці 1.5.

 

Таблиця 1.5 – Структура  таблиці «Otdelu»

Номер атрибуту

Назва

атрибуту

Тип

даних

Обмеження

Призначення атрибуту

Пусте значення

Значення за замовчуван.

1

ID_otd

Int

NOT NULL

-

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

2

Nazvanie

varchar(25)

NOT NULL

-

назва відділення

3

Bid_deyatelbnosti

varchar(50)

NULL

-

профіль діяльності

4

ID_kom1

int

NOT NULL

-

зовнішній ключ

Администрирование, базы данных