Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
subjects:basic:informatika:base:systema_keruvannia_bazamy_danyh_ih_pryznahennia [10.09.2023 18:42] – створено Адміністраторsubjects:basic:informatika:base:systema_keruvannia_bazamy_danyh_ih_pryznahennia [10.09.2023 20:11] (поточний) Адміністратор
Рядок 40: Рядок 40:
 {{ :subjects:basic:informatika:base:dbms-image-1.jpg?direct |}} {{ :subjects:basic:informatika:base:dbms-image-1.jpg?direct |}}
 </thumbnail> </thumbnail>
 +
 +===== Архітектура СКБД =====
 +Існує трирівнева система організації СКБД ANSI-SPARC, при якій існує незалежний рівень для ізоляції програми від особливостей представлення даних на нижчому рівні.
 +
 +Рівні:
 +  * Зовнішній — представлення БД з точки зору користувача.
 +  * Концептуальний — узагальнене представлення БД, описує які дані зберігаються в БД і зв'язки між ними. Підтримує зовнішні представлення, підтримується внутрішнім рівнем.
 +  * Внутрішній — фізичне представлення БД в комп'ютері.
 +
 +//Логічна незалежність// — повна захищеність зовнішніх моделей від змін, що вносяться в концептуальну модель.
 +
 +//Фізична незалежність// — захищеність концептуальної моделі від змін, які вносяться у внутрішню модель. 
  
 ===== Компоненти СУБД ===== ===== Компоненти СУБД =====
Рядок 51: Рядок 63:
  
 **Мова визначення даних (Data Definition Language, DDL)**: модуль DDL дозволяє користувачам визначати структуру та організацію даних. Він включає команди для створення, зміни та видалення об'єктів бази даних, таких як таблиці, види, індекси та обмеження. **Мова визначення даних (Data Definition Language, DDL)**: модуль DDL дозволяє користувачам визначати структуру та організацію даних. Він включає команди для створення, зміни та видалення об'єктів бази даних, таких як таблиці, види, індекси та обмеження.
-** +<callout type="info" icon="fa fa-info-circle"> 
-Словник даних**: словник даних (також називається репозитарієм метаданих) зберігає метадані про базу даних, включаючи інформацію про структуру, відносини та властивості даних. Цей модуль використовується двигуном СУБД для забезпечення консистентності даних та виконання обмежень на унікальність.+У запитах SQL зазвичай використовуються DDL: CREATE, ALTER, DROP і TRUNCATE. 
 +</callout> 
 + 
 +**Словник даних**: словник даних (також називається репозитарієм метаданих) зберігає метадані про базу даних, включаючи інформацію про структуру, відносини та властивості даних. Цей модуль використовується двигуном СУБД для забезпечення консистентності даних та виконання обмежень на унікальність.
  
 **Мова маніпулювання даними (Data Manipulation Language, DML)**: модуль DML надає команди для маніпулювання та вибору даних у базі даних. Користувачі можуть використовувати оператори DML для вставки, оновлення, видалення та запиту даних. **Мова маніпулювання даними (Data Manipulation Language, DML)**: модуль DML надає команди для маніпулювання та вибору даних у базі даних. Користувачі можуть використовувати оператори DML для вставки, оновлення, видалення та запиту даних.
-<callout type="info" icon="fa fa-info-circle">DML схожий на просту англійську мову і поліпшує ефективну взаємодію користувача з системою. Функціональні можливості DML організовані в командах маніпулювання, такі як:+<callout type="info" icon="fa fa-info-circle"> 
 +DML схожий на просту англійську мову і поліпшує ефективну взаємодію користувача з системою. Функціональні можливості DML організовані в командах маніпулювання, такі як:
  
 **SELECT**: Ця команда використовується для вибору рядків з таблиці. **SELECT**: Ця команда використовується для вибору рядків з таблиці.
-  SELECT [ім'я(а) стовпця(ів)] з [ім'я таблиці], де [умови].+  SELECT [ім'я(а) стовпця(ів)] FROM [ім'я таблиці] WHERE [умови].
  
 **UPDATE**: Ця команда змінює дані одного чи декількох записів. **UPDATE**: Ця команда змінює дані одного чи декількох записів.
-  UPDATE [ім'я таблиці] SET [ім'я стовпця = значення] де [умова].+  UPDATE [ім'я таблиці] SET [ім'я стовпця = значення] WHERE [умова].
  
 **INSERT**: Ця команда додає один чи декілька записів до таблиці бази даних. **INSERT**: Ця команда додає один чи декілька записів до таблиці бази даних.
-  INSERT INTO [ім'я таблиці] [стовпець(и)] ЗНАЧЕННЯ [значення(я)].+  INSERT INTO [ім'я таблиці] [стовпець(и)] VALUES [значення(я)].
  
 **DELETE**: Ця команда видаляє один чи декілька записів з таблиці відповідно до вказаних умов. **DELETE**: Ця команда видаляє один чи декілька записів з таблиці відповідно до вказаних умов.
-  DELETE FROM [ім'я таблиці] де [умова].</callout>+  DELETE FROM [ім'я таблиці] WHERE [умова]. 
 + 
 +</callout> 
 + 
 +**Обробка даних та бізнес-аналітика**: ці модулі полегшують видобуток, перетворення та завантаження даних з різних джерел в окремий склад даних. Вони також підтримують онлайн-аналітичну обробку (OLAP) та засоби звітності для бізнес-аналітики. 
 + 
 +**Індексація**: Більшість СУБД включають модулі індексації для прискорення виконання запитів за рахунок зменшення обсягу даних, які потрібно просканувати. 
 + 
 +**Блокування**: компонент менеджера блокування СУБД відповідає за управління контролем конкурентності. Він запобігає конфліктам і забезпечує консистентність даних, переконуючись, що декілька користувачів або транзакцій не можуть одночасно змінювати одні й ті самі дані. 
 + 
 +**Логування та аудит**: СУБД часто включають модулі для реєстрації подій бази даних та аудиту. Журнальні записи документують зміни в базі даних, включаючи вставки, оновлення та видалення, а також події системи, такі як резервне копіювання та відновлення. Аудит включає в себе моніторинг та огляд цих журналів для відстеження дій користувачів, збереження цілісності даних та допомогу в забезпеченні дотримання політики з безпеки. 
 + 
 +**Обробка запитів**: процесор запитів приймає та інтерпретує запити користувачів, перетворює їх в оптимізований план виконання та взаємодіє з базовим двигуном бази даних для ефективного виконання запитів. Він включає підмодулі для оптимізації запитів, які враховують фактори, такі як наявність індексів, операції з'єднання та методи доступу до даних. 
 + 
 +**Реплікація**: деякі СУБД підтримують реплікацію даних, що включає створення та підтримку кількох копій бази даних в різних місцях або на різних серверах. Реплікація поліпшує доступність даних, стійкість до збоїв та продуктивність. Вона забезпечує, що якщо одну копію бази даних неможливо отримати, дані все одно можна отримати з іншої копії. 
 + 
 +**Безпека та авторизація**: модулі безпеки та авторизації керують доступом користувачів до бази даних та забезпечують конфіденційність та цілісність даних. Вони обробляють аутентифікацію, управління користувачами та впроваджують механізми контролю доступу на підставі **принципу найменшого привілею** (**Principle of Least Privilege, PoLP**) на основі ролей користувачів та вимог до роботи. 
 + 
 +**Зберігання**: двигун бази даних в СУБД взаємодіє з двигуном зберігання для управління фізичним зберіганням даних. Двигун зберігання відповідає за обробку низькорівневих деталей того, як дані зберігаються та отримуються, тоді як двигун бази даних координує та оркеструє ці дії для оптимізації загальної роботи системи управління базою даних. 
 + 
 +**Інтерфейси користувача**: ці модулі надають інтерфейси користувачам, які дозволяють програмістам, адміністраторам баз даних та кінцевим користувачам взаємодіяти з базою даних. Це може включати **інтерфейси командного рядка** (CLI), **графічні інтерфейси користувача** (GUI) або [[subjects:basic:informatika:web:api|**програмні інтерфейси програмування** (API)]] для інтеграції програмного забезпечення. 
 + 
 +**Політики користувачів**: політики користувачів визначають та виконують контроль доступу та внутрішні політики безпеки. Вони вказують дозволи, ролі та привілеї та визначають, як користувачі можуть взаємодіяти з базою даних. 
 + 
 +===== Реляційна система керування базами даних (RDBMS) і системи керування базами даних (DBMS) ===== 
 +Реляційна система керування базами даних (RDBMS) - це тип системи керування базами даних (DBMS). Усі RDBMS є DBMS, але не всі системи керування базами даних є реляційними системами керування базами даних. 
 + 
 +^ СКБД                                                                                ^ Реляційні СКБД                                                                                                      ^ 
 +| Різні типи можуть бути використані для управління різними моделями баз даних.| Може управляти лише моделлю реляційної бази даних.| 
 +| Різні типи можуть зберігати дані у різних структурах. | Завжди зберігає дані у таблицях з рядками та стовпцями.| 
 +| Різні типи можуть автоматично або не автоматично забезпечувати цілісність даних.| Автоматично забезпечує цілісність даних через обмеження, такі як первинний ключ, унікальний ключ і зовнішній ключ. |                                                | 
 +| Різні типи можуть використовувати різні мови або техніки для маніпулювання даними. | Завжди використовує SQL (Structured Query Language).| 
 + 
 +===== Види систем управління базами даних ===== 
 +На початку системи управління базами даних класифікувалися як реляційні або нереляційні, залежно від їхньої структури і призначення. Якщо СУБД зберігала дані в таблицях, її називали реляційною СУБД (RDBMS). Якщо вона не зберігала дані в таблицях, то це була нереляційна СУБД, відома також як NoSQL. 
 + 
 +Сьогодні системи управління базами даних все ще класифікуються як реляційні або нереляційні СУБД, але їх також класифікують за унікальними перевагами, які вони надають. 
 + 
 +==== Види СУБД ==== 
 + 
 +=== Системи управління базами даних в хмарі === 
 +СУБД в хмарі, такі як Amazon Aurora, призначені для управління розподіленими даними, збереженими у віддалених центрах обробки даних хмарного постачальника. 
 + 
 +=== Системи управління базами даних з колоночною структурою === 
 +СУБД з колоночною структурою, такі як Apache Cassandra, прискорюють виконання запитів, зберігаючи дані у вигляді колонок, а не рядків. Ця схема спрощує роботу з великими наборами даних у сфері аналізу даних і бізнес-інтелекту. 
 +=== Розподілені системи управління базами даних === 
 +Функціональність розподілених систем управління базами даних, подібної до тієї, яку можна знайти в екосистемі Apache Hadoop, призначена для забезпечення цілісності даних для баз даних, які мають логічні відносини, розташовані в різних місцях або обчислювальних середовищах. 
 + 
 +=== Системи управління базами даних графової моделі === 
 +Системи призначені для підтримки графових баз даних, які зберігають відносини на рівні окремих записів. Системи управління базами даних графової моделі, такі як Neo4j, ідеально підходять для управління даними зі зв'язками, такими як дані соціальних медіа. 
 +=== Системи управління базами даних ієрархічної моделі === 
 +Призначені для підтримки баз даних, організованих за відносинами батько-дитина. Цей тип СУБД має свої коріння в обчислювальних системах головного керування і сьогоднішнє їхнє використання обмежене. 
 + 
 +=== Системи управління базами даних гібридного типу транзакцій/аналітичного оброблення === 
 +Системи, які спрощуються як HTAP (Hybrid transaction/analytical processing), призначені для підтримки змішаних робочих навантажень для транзакційних і аналітичних даних. Традиційні системи управління базами даних часто мають окремі системи для оброблення транзакцій в режимі реального часу (OLTP) та обробки аналітичних даних (OLAP). Системи управління базами даних типу HTAP, такі як SAP HANA і CockroachDB, надають єдину платформу, яка може обробляти обидві види завдань одночасно.
  
-Обробка даних та бізнес-аналітика: ці модулі полегшують видобуток, перетворення та завантаження даних з різних джерел в окремий склад даних. Вони також підтримують онлайн-аналітичну обробку (OLAP) та засоби звітності для бізнес-аналітики.+=== Системи управління базами даних в оперативній пам'яті === 
 +Призначені для зменшення затримок шляхом використання основної пам'яті для управління та зберігання даних. IMDBMS, такі як Volt Active Data і інші, значно прискорюють отримання даних і покращують загальну продуктивність системи.
  
-Індексація: Більшість СУБД включають модулі індексації для прискорення виконання запитів за рахунок зменшення обсягу данихякі потрібно просканувати.+=== Системи управління базами даних об'єктно-орієнтованої моделі (OODBMS) === 
 +СУБД об'єктно-орієнтованої моделі призначені для управління складними структурами даних у вигляді об'єктів зберігання.
  
-Блокування: компонент менеджера блокування СУБД відповідає за управління контролем конкурентності. Він запобігає конфліктам і забезпечує консистентність даних, переконуючись, що декілька користувачів або транзакцій не можуть одночасно змінювати одні й ті самі дані.+=== Системи управління базами даних типу NewSQL === 
 +СУБД типу NewSQL, такі як PostgreSQL, надають можливості масштабування і продуктивності баз даних NoSQL, при цьому зберігаючи ACID-властивості традиційних реляційних баз даних. Цей тип СУБД призначений для розподілених середовищ великого масштабу і може обробляти високовитратні транзакційні завдання.
  
-Логування та аудит: СУБД часто включають модулі для реєстрації подій бази даних та аудиту. Журнальні записи документують зміни в базі данихвключаючи вставки, оновлення та видаленняа також події системи, такі як резервне копіювання та відновлення. Аудит включає в себе моніторинг та огляд цих журналів для відстеження дій користувачів, збереження цілісності даних та допомогу в забезпеченні дотримання політики з безпеки.+=== Системи управління базами даних часових рядів === 
 +СУБД часових рядів, такі як InfluxDB, оптимізують зберіганнявідновлення і аналіз даних з відмітками часу. Їх часто використовують для підтримки фінансового аналізу і систем моніторингу Інтернету речей (IoT).
  
-Обробка запитів: процесор запитів приймає та інтерпретує запити користувачівперетворює їх в оптимізований план виконання та взаємодіє з базовим двигуном бази даних для ефективного виконання запитівВін включає підмодулі для оптимізації запитів, які враховують фактори, такі як наявність індексів, операції зднання та методи доступу до даних.+==== Відомі системи керування базами даних ==== 
 +| {{ :subjects:basic:informatika:base:access_1_.svg |}} | MS Access- легка реляційна система управління базами даних (RDBMS), включена в пакет Microsoft Office і Office 365. | 
 +| {{ :subjects:basic:informatika:base:amazon-rds_1_.svg |}} | Amazon RDS - хмарна СУБД, яка пропонує двигуни для управління базами даних MySQL, Oracle, SQL Server, PostgreSQL та Amazon Aurora. | 
 +|  {{ :subjects:basic:informatika:base:cassandra_1_.svg |}} | Apache Cassandra - відкрита розподілена система управління базами даних, відома своєю здатністю обробляти величезні обсяги даних.| 
 +| {{ :subjects:basic:informatika:base:filemaker_1_.svg |}}  | Filemaker - реляційна СКБД баз даних, раніше Claris (Кларис), дочірньої компанії Apple Inc. Додаток поєднує ядро бази даних з графічним інтерфейсом користувача (GUI) і функціями безпеки, що дозволяє користувачам змінювати базу даних за допомогою перетягування нових елементів в макети, екрани або форми| 
 +|  {{ :subjects:basic:informatika:base:google-cloud-spanner_1_.svg |}} | Google Cloud Spanner - глобально розподілена, горизонтально масштабована та сильно консистентна служба реляційних баз даних, пропонована Google Cloud.| 
 +|  {{ :subjects:basic:informatika:base:ibmdb2_1_.svg |}} | IBM Db2 - родина реляційних систем управління базами даних, розроблених IBM, які пропонуються в різних редакціях для різних середовищ і завдань. | 
 +| {{ :subjects:basic:informatika:base:mariadb_1_.svg |}}  | MariaDB - відкрита реляційна база даних, відгалуження MySQL.| 
 +| {{ :subjects:basic:informatika:base:microsoftsqlserver_1_.svg |}}  | Microsoft Azure SQL Database - хмарна реляційна база даних, надана Microsoft Azure, яка пропонує повністю керовані SQL-бази даних. | 
 +| {{ :subjects:basic:informatika:base:mongodb_1_.svg |}}  | MongoDB - популярна система управління базами даних NoSQL, яка використовує схему, орієнтовану на документи, для забезпечення високої масштабованості та гнучкості.| 
 +|  {{ :subjects:basic:informatika:base:mysql_1_.svg |}} | MySQL - відкрита реляційна система управління базами даних (RDBMS), належить Oracle.
 +|  {{ :subjects:basic:informatika:base:oracle_1_.svg |}} | Oracle - пропрієтарна((Власницьке програмне забезпечення, або Пропрієтарне програмне забезпечення,ід англ. proprietary software) — це програмне забезпечення, на яке зберігаються як немайнові, так і майнові авторські права. Отримавши або придбавши таке програмне забезпечення, користувач отримує обмежені права користування ним: може бути заборонено або закрито доступ до коду (вивчення)внесення змін, тиражування, розповсюдження та перепродаж. Програмне забезпечення вважається власницьким або закритим, якщо наявне хоча б одне з перелічених обмежень. )) RDBMSоптимізована для гібридних хмарних архітектур.| 
 +| {{ :subjects:basic:informatika:base:postgresql_1_.svg |}}  | PostgreSQL - відкрита реляційна система управління базами даних, відома своєю надійністю, масштабованістю та великим набором функцій.| 
 +|  {{ :subjects:basic:informatika:base:sap_1_.svg |}} | SAP HANA - колоночна RDBMSоптимізована для операцій з реальним часом і високопродуктивних аналітичних завдань.| 
 +|  {{ :subjects:basic:informatika:base:sqlazure_1_.svg |}} | SQL Server - корпоративна реляційна система управління базами даних від Microsoft, здатна обробляти дуже великі обсяги даних і запитів до бази даних.| 
 +|  {{ :subjects:basic:informatika:base:sql-lite-1_1_.svg |}} | SQLite - легкий файловий реляційний двигун баз даних, який широко використовується в вбудованих системах і мобільних додатках.| 
 +| {{ :subjects:basic:informatika:base:teradata_1_.svg |}}  | Teradata - потужний SQL-двигун, який надає масштабовані рішення для управління та аналізу великих обсягів даних.|
  
-Реплікація: деякі СУБД підтримують реплікацію даних, що включає створення та підтримку кількох копій бази даних в різних місцях або на різних серверах. Реплікація поліпшує доступність даних, стійкість до збоїв та продуктивність. Вона забезпечує, що якщо одну копію бази даних неможливо отриматидані все одно можна отримати з іншої копії.+==== Переваги використання систем управління базами даних (СУБД) ====
  
-Безпека та авторизація: модулі безпеки та авторизації керують доступом користувачів до бази даних та забезпечують конфіденційність та цілісність даних. Вони обробляють аутентифікацію, управління користувачами та впроваджують механізми контролю доступу на підставі принципу найменшого привілею (PoLP) на основі ролей користувачів та вимог до роботи.+Системи управління базами даних (СУБД) особливо важливі в ситуаціях, де кілька користувачів або додатків взаємодіють з однією і тією ж базою даних одночасно. СУБД забезпечують захист від конфліктів і помилок завдяки механізмам управління паралельністю, які гарантують, що навіть в умовах великого навантаження цілісність даних залишається недоторканною.
  
-Зберігання: двигун бази даних в СУБД взаємодіє з двигуном зберігання для управління фізичним зберіганням даних. Двигун зберігання відповідає за обробку низькорівневих деталей того, як дані зберігаються та отримуються, тоді як двигун бази даних координує та оркеструє ці дії для оптимізації загальної роботи системи управління базою даних.+Ще одною перевагою є те, що системи управління базами даних пропонують широкий спектр засобів, механізмів і функцій забезпечення безпеки. Адміністратори можуть визначати правила контролю доступу, призначати ролі користувачів і вказувати дозволи, щоб гарантувати, що лише авторизовані особи можуть вводити, отримувати доступ і маніпулювати даними.
  
-Інтерфейси користувача: ці модулі надають інтерфейси користувачам, які дозволяють програмістам, адміністраторам баз даних та кінцевим користувачам взаємодіяти з базою даних. Це може включати інтерфейси командного рядка (CLI), графічні інтерфейси користувача (GUI) або програмні інтерфейси програмування (API) для інтеграції програмного забезпечення.+Оскільки СУБД надають засоби ведення журналу та реєстрації для відстеження та моніторингу доступу до даних та їх модифікацій, вони є корисними засобами для виконання вимог щодо відповідності.
  
-Політики користувачів: політики користувачів визначають та виконують контроль доступу та внутрішні політики безпеки. Вони вказують дозволиролі та привілеї та визначають, як користувачі можуть взаємодіяти з базою даних.+Наприклад, СУБД може допомогти адміністраторам керувати життєвим циклом даних, виконуючи політики збереження, архівації та остаточного видалення даних. СУБД також може допомогти здійснювати контроль за конфіденційністю, надаючи механізми, які анонімізують або шифрують конфіденційні дані.
  
  
Рядок 93: Рядок 183:
   * [[wp>Система_управління_базами_даних|Система управління базами даних]]   * [[wp>Система_управління_базами_даних|Система управління базами даних]]
   * [[https://www.techopedia.com/definition/24361/database-management-systems-dbms|What is a DBMS? Uses, Types, Components, Examples & History]]   * [[https://www.techopedia.com/definition/24361/database-management-systems-dbms|What is a DBMS? Uses, Types, Components, Examples & History]]
 +  * [[https://www.techopedia.com/definition/1179/data-manipulation-language-dml|What is Data Manipulation Language (DML)? - Definition from Techopedia]]
  • subjects/basic/informatika/base/systema_keruvannia_bazamy_danyh_ih_pryznahennia.1694360535.txt.gz
  • Востаннє змінено: 3 років тому
  • повз Адміністратор