Розробка Web-сайту відділу кадрів Добротвірської ТЕС

курсовая работа

2.1 Система управління базами даних Mу SQL

Для вдосконалення функціонування оформлення відпусток відділу кадрів Добротвірської ТЕС пропонується розробити та впровадити інформаційну систему на основі Mу SQL. MySQL - вільна система управління базами даних.

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

Програмний продукт MySQL, який є власністю компанії Oracle Corporation, що отримала її разом з поглиненої Sun Microsystems, здійснює розробку і підтримку програми. Поширюється під GNU General Public License або під власною комерційною ліцензією. Крім цього розробники створюють функціональність за замовленням ліцензійних користувачів, саме завдяки такому замовленню майже в найраніших версіях зявився механізм реплікації.

Цю систему управління базами даних з відкритим кодом було створено як альтернатива комерційним системам. MySQL із самого початку була дуже схожою на mSQL, проте з часом вона все розширювалася і зараз MySQL - одна з найпоширеніших систем управління базами даних. Вона використовується, у першу чергу, для створення динамічних веб-сторінок, оскільки має чудову підтримку з боку різноманітних мов програмування [19].

MySQL є рішенням для малих і середніх додатків. Зазвичай MySQL використовується як сервер, до якого звертаються локальні або віддалені клієнти, проте до дистрибутиву входить бібліотека внутрішнього сервера, що дозволяє включати MySQL до автономних програм. Вихідні коди сервера компілюються на багатьох платформах. Найповніше можливості сервера виявляються в UNІХ-системах, що підвищує продуктивність системи в цілому.

Гнучкість СУБД MySQL забезпечується підтримкою великої кількості типів таблиць: користувачі можуть вибрати як таблиці типу MyISAM, що підтримують повнотекстовий пошук, так і таблиці InnoDB, що підтримують транзакції на рівні окремих записів. Більш того, СУБД MySQL поставляється із спеціальним типом таблиць EXAMPLE, що демонструє принципи створення нових типів таблиць. Завдяки відкритій архітектурі й GPL-ліцензуванню, в MySQL постійно зявляються нові типи таблиць. MySQL характеризується великою швидкістю, стійкістю і простотою використання [10].

Для некомерційного використання MySQL є безкоштовною. Можливості сервера MySQL:

· простота у встановленні та використанні;

· підтримується необмежена кількість користувачів, що одночасно працюють із БД;

· кількість рядків у таблицях може досягати 50 млн.;

· висока швидкість виконання команд;

· наявність простої та ефективної системи безпеки.

Недоліки сервера MySQL:

· не реалізована підтримка трансакцій. Натомість пропонується використовувати LOCK/UNLOCK TABLE;

· відсутня підтримка зовнішніх (foreign) ключів;

· відсутня підтримка тригерів і збережених процедур;

· відсутня підтримка представлень (VIEW).

Зазначені недоліки не є критичними при розробці малих і середніх ІС-інформаційних систем для робочих груп.

MySQL - це система управління реляційними базами даних. У реляційній базі даних дані зберігаються не все на купу, а в окремих таблицях, завдяки чому досягається виграш у швидкості і гнучкості. Таблиці звязуються між собою за допомогою відносин, завдяки чому забезпечується можливість обєднувати при виконанні запиту дані з декількох таблиць. SQL як частина системи MySQL можна охарактеризувати як мова структурованих запитів, що використовується для доступу до баз даних. MySQL - це ПЗ з відкритим кодом. Застосовувати його і модифікувати може будь-хто. Таке ПЗ можна отримуватися по Internet і використовуватися безкоштовно. При цьому кожен користувач може вивчити вихідний код і змінити його у відповідності зі своїми потребами. Використання програмного забезпечення MySQL регламентується ліцензією GPL (GNU General Public License), в якій зазначено, що можна і чого не можна робити з цим програмним забезпеченням в різних ситуаціях [17].

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

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

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

Cтруктура MySQL трирівнева: бази даних - таблиці - записи. Логічно - таблиця являє собою сукупність записів. А запису - це сукупність полів різного типу. Імя бази даних MySQL унікальне в межах системи, а таблиці - в межах бази даних, поля - в межах таблиці. Один сервер MySQL може підтримувати відразу декілька баз даних, доступ до яких може розмежовуватися логіном і паролем. Знаючи ці логін і пароль, можна працювати з конкретною базою даних. Наприклад, можна створити або видалити в ній таблицю, додати записи і т.д. Зазвичай імя-ідентифікатор та пароль призначаються хостинг провайдерами, які і забезпечують підтримку MySQL для своїх користувачів.

Система безпеки заснована на паролі з можливістю верифікації з віддаленого компютера, за рахунок чого забезпечується гнучкість і безпеку. Паролі при передачі по мережі при зєднанні з сервером шифруються. Клієнти можуть зєднуватися з MySQL, використовуючи сокети TCP/IP, сокети Unix або іменовані канали.

Починаючи з MySQL версії 3.23, де використовується новий тип таблиць, максимальний розмір таблиці доведений до 8 мільйонів терабайт ( 263 bytes ) Однак слід зауважити, що операційні системи мають свої власні обмеження за розмірами файлів. Як можна бачити, розмір таблиці в базі даних MySQL звичайно лімітується операційною системою. За замовчуванням MySQL- таблиці мають максимальний розмір близько 4 Гб. Для будь-якої таблиці можна перевірити/визначити її максимальний розмір за допомогою команд SHOW TABLE STATUS або myisamchk - dv table_name. Якщо більша таблиця призначена тільки для читання, можна скористатися myisampack, щоб злити кілька таблиць в одну і стиснути її. Зазвичай myisampack утискає таблицю принаймні на 50 %, тому в результаті можна отримати дуже великі таблиці [15].

Система предявляє наступні вимоги до апаратного та програмного забезпечення сервера:

Мінімальні вимоги до сервера: 1 компютер з процесором Pentium II 233 МГц і вище, 128 Мб оперативної памяті.

Рекомендовані вимоги до сервера: 2 компютера з процесором Pentium II 233 МГц і вище, 256Мб оперативної памяті. У цьому випадку передбачається, що один компютер буде виконувати функції SQL сервера, а інший - сервера додатків CimWebCenter.

Для роботи системи необхідно наступне встановлене програмного забезпечення: Apache Web Server, PHP 4.3.x, MySql, на платформі FreeBSD або Linux. Існує також можливість інсталяції системи на платформі Windows. При цьому вимоги до встановленого програмного забезпечення залишаються колишніми.

Для роботи з клієнтською частиною системи потрібний компютер, підключений по протоколу TCP/IP до мережі, в якій знаходиться сервер з встановленою CimWebCenter [22].

Для запуску MуSQL-сервера необхідні файл mysqld.exe. Сервер залишається у памяті і опрацьовує запити від клієнтських додатків. Для зупинки серверу слід виконати команду: mysqladmin -u root shutdown.

Якщо сервер не зупинено коректно, то, при наступному запуску в файлі mysql.err буде додана запис про некоректному завершенні. Коректна зупинка серверу необхідна задля збереження всіх даних, що є у кєшах MySQL.

MуSQL має розвинену систему доступу до баз даних. Користувачу бази даних може бути наданий доступ до всієї бази даних, окремих таблиць і окремих стовбців таблиць. База даних, яку сервер MуSQL використовує для зберігання внутрішньої інформації про користувачів, за замовчуванням має імя mуsql. У цій базі даних визначено таблиці для зберігання інформації користувальних дисконтних записів [14].

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

Запити - це основний інструмент вибірки й обробки даних у СУБД. Для створення і реалізації запитів розроблена спеціальна мова SQL.

SQL (англ. Structured query language -- мова структурованих запитів) -- декларативна мова програмування для взаємодії користувача з базами даних, що застосовується для формування запитів, оновлення і керування реляційними БД, створення схеми бази даних і її модифікації, системи контролю за доступом до бази даних. Сам по собі SQL не є ні системою керування базами даних, ні окремим програмним продуктом. Не бувши мовою програмування в тому розумінні, як C або Pascal, SQL може формувати інтерактивні запити або, бувши вбудованою в прикладні програми, виступати в якості інструкцій для керування даними. Стандарт SQL, крім того, вміщує функції для визначення зміни, перевірки і захисту даних. Перша версія SQL була розроблена на початку 1970-х років у IBM. Ця версія мала назву SEQUEL і була призначена для обробки й пошуку даних, що містилися в реляційній базі даних IBM, System R. Мова SQL пізніше була стандартизована Американськими Держстандартами (ANSI) в 1986. Спочатку SQL розроблялась як мова запитів і управління даними, пізніші модифікації SQL створено продавцями системи управління базами даних, які додали процедурні конструкції, control-of-flow команд і розширення мов. З випуском стандарту SQL:1999 такі розширення були формально запозичені як частина мови SQL через Persistent Stored Modules (SQL/PSM) [14].

SQL надає такі можливості:

· створювати й видаляти таблиці бази даних, а також змінювати заголовки таблиць;

· вставляти, змінювати й видаляти рядки в таблицях;

· виконувати пошук даних у багатьох таблицях та впорядковувати результати цього пошуку;

· описувати процедури підтримки цілісності;

· визначати та змінювати інформацію про захист даних.

Всі оператори мови можна розділити на такі три категорії:

1. Оператори контролю даних - використовуються для перевірки повноважень користувача при звертанні до БД. Це оператори GRANT і REVOKE.

2. Оператори визначення даних - використовуються для створення обєктів БД і визначення їхньої структури. До них відносяться оператори CREATE SCHEMA, CREATE TABLE, CREATE VIEW, CREATE DOMAIN.

3. Оператори керування даними - використовуються для пошуку, видалення, зміни і збереження даних. Це оператори SELECT, UPDATE, INSERT, DELETE.

Найважливішим оператором мови SQL є оператор SELECT, призначений для вибірки даних з таблиць БД відповідно до заданого критерію і перетворення отриманих результатів до потрібного виду.

Загальний формат оператора SELECT наступний:

SELECT [DISTINCT] {* | <Список полів>}

FROM <Список таблиць >

[WHERE <Умова добору записів >]

[GROUP BY <Список полів для групування>]

[HAVING <Умови добору для груп>]

[ORDER BY <Список полів для сортування>]

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

Інструкція SELECT повідомляє СУБД, що це команда - запит. В інструкції SELECT указується список полів, які будуть включатися в записи, що відбираються. У списку полів повинне бути задане хоча б одне поле. Якщо в список полів потрібно включити всі поля з таблиці (таблиць), то замість перерахування полів можна вказати символ *. Якщо в список полів включаються поля з різних таблиць, то для вказівки належності поля до тієї чи іншої таблиці використовують складене імя, що складається з імені таблиці й імені поля, розділених крапкою. Необовязкова інструкція DISTINCT забороняє включення в результуючий набір даних повторюваних записів. В інструкції FROM перелічуються імена таблиць, з яких відбираються записи. Список повинний містити хоча б одну таблицю.

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

Інструкція GROUP BY призначена для вказівки полів, по яких визначаються групи записів. В одну групу включаються записи з однаковими значеннями в полях, перерахованих в інструкції GROUP BY. Для груп записів можна застосовувати групові операції (їх ще називають агрегатними функціями). У мові SQL визначені такі групові операції:

· Max( ) - вибирає максимальне значення поля;

· Min( ) - вибирає мінімальне значення поля;

· Count( ) - визначає число значень у групі;

· Avg( ) - обчислює середнє значення;

· Sum( ) - обчислює суму значень полів у групі.

Інструкція HAVING застосовується разом з інструкцією GROUP BY і використовується для завдання умов добору для згрупованих даних. Правила запису умов добору аналогічні правилам завдання умов в інструкції WHERE.

В інструкції ORDER BY указується список полів, по яких потрібно сортування записів у результуючому наборі даних. За замовчуванням сортування по кожному полю виконується в порядку зростання значень. Якщо необхідно зробити сортування по спаданню, то після імені відповідного поля потрібно записати покажчик DESC.

Делись добром ;)