Файл: Лабораторна робота1.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 01.10.2024

Просмотров: 17

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторна робота №1

Тема: Введення в СУБД MySQL. Основні поняття. Побудова концептуальної моделі.

Мета: ознайомитися з основними поняттями СУБД MySQL, вивчити переваги використовування СУБД при обробці структурованих даних. Набути практичних навичок побудови концептуальної моделі наочної області на основі її опису. Побудувати концептуальну модель відповідно до завдання.

1 Теоретичні відомості

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

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

СУБД (система управління базами даних) – програмне забезпечення, за допомогою якого користувачі можуть визначати, створювати і підтримувати базу даних, а також здійснювати до неї контрольований доступ.

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

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

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

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


Виділяють три різновиди зв'язку між таблицями бази даних:

"один–до–багатьох";

"один–до–одного";

"багато–доо–багатьох".

Відношення "один–до–багатьох"

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

Відношення "один–до–одного"

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

Відношення "багато–до–багатьох"

Відношення "багато–до–багатьох" застосовується в наступних випадках:

  • одному запису в батьківській таблиці відповідає більше одного запису в дочірній;

  • одному запису в дочірній таблиці відповідає більше одного запису в батьківській.

Всякий зв'язок "багато–до–багатьох" в реляційній базі даних необхідно замінити на зв'язок "один–до–багатьох" (одну або більш) за допомогою введення додаткових таблиць.

Стандарт і реалізація язика SQL

Одним з язиків, що з'явилися в результаті розробки реляційної моделі даних, є язик SQL (Structured Query Language), який в даний час набув дуже широкого поширення і фактично перетворився на стандартний язик реляційних баз даних. Стандарт на язик SQL був випущений американським національним інститутом стандартів (ANSI) в 1986 р., а в 1987 р. Міжнародна організація стандартів (ISO) прийняла його як міжнародний. Нинішній стандарт SQL відомий під назвою SQL/92.

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


В даний час язик SQL підтримується багатьма десятками СУБД різних типів, розроблених для найрізноманітніших обчислювальних платформ, починаючи від персональних комп'ютерів і закінчуючи мейнфреймами.

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

Типи команд SQL

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

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

Основні категорії команд язика SQL:

DDL – язик визначення даних;

DML – язик маніпулювання даними;

DQL – язик запитів ;

DCL – язик управління даними;

команди адміністрування даних;

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

Визначення структур бази даних (DDL)

Язик визначення даних (Data Definition Language, DDL) дозволяє створювати і змінювати структуру об'єктів бази даних, наприклад, створювати і видаляти таблиці. Основними командами язика DDL є наступні: CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, ALTER INDEX, DROP INDEX.

Маніпулювання даними (DML)

Язик маніпулювання даними (Data Manipulation Language, DML) використовується для маніпулювання інформацією усередині об'єктів реляційної бази даних за допомогою трьох основних команд: INSERT, UPDATE, DELETE.

Вибірка даних (DQL)

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

Язик управління даними (DCL - Data Control Language)


Команди управління даними дозволяють управляти доступом до інформації, що знаходиться всередині бази даних. Як правило, вони використовуються для створення об'єктів, пов'язаних з доступом до даних, а також служать для контролю над розподілом привілеїв між користувачами. Команди управління даними наступні: GRANT, REVOKE.

Команди адміністрування даних

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

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

Існують наступні команди, що дозволяють управляти транзакціями бази даних: COMMIT, ROLLBACK, SAVEPOINT, SET TRANSACTION.

Будь-який язик роботи з базами даних повинен надавати користувачу наступні можливості:

  • створювати бази даних і таблиці з повним описом їх структури;

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

  • виконувати прості і складні запити, що здійснюють перетворення даних.

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

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


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

Язик SQL використовується в інших стандартах і навіть робить вплив на розробку інших стандартів як інструмент визначення (наприклад, стандарт Remote Data Access, RDA). Створення язика сприяло не тільки виробленню необхідних теоретичних основ, але і підготовці успішно реалізованих технічних рішень. Це особливо справедливо відносно оптимізації запитів, методів розподілу даних і реалізації засобів захисту. Почали з'являтися спеціалізовані реалізації язика, призначені для нових ринків: системи управління обробкою транзакцій (OnLine Transaction Processing, OLTP ) і системи оперативної аналітичної обробки або системи підтримки ухвалення рішень (OnLine Analytical Processing, OLAP ). Вже відомі плани подальших розширень стандарту, що включають підтримку розподіленої обробки, об'єктно-орієнтованого програмування, розширень користувачів і мультимедіа.