- •Реферат
- •Аналіз стану питання і постановка завдання
- •1.1. Переваги електронної комерції
- •1.2. Постановка завдання
- •2. Використовувані технології
- •2.1. Мова web-сценаріїв php
- •2.1.1 Історія створення та розвитку php
- •2.1.2 Можливості php
- •3. Перегляд популярних sql-серверів
- •3.1. PostgreSql
- •3.1.1.Основніможливості
- •3.2. Firebird
- •3.1.1.Основніможливості
- •3.3. Microsoft sql сервер
- •3.3.1.Обзор продукту
- •3.3.2. Історія розвитку sql Server
- •3.4. MySql-сервер
- •3.3.1. Історія створення MySql
- •3.3.2. Технічні можливості скбд MySql
- •4. Питання безпеки і санкціонування доступу до баз даних
3.3.2. Технічні можливості скбд MySql
ПЗ MySQL є системою клієнт-сервер, яка містить багато-поточний SQL-сервер, що забезпечує підтримку різних обчислювальних машин баз даних, а також кілька різних клієнтських програм і бібліотек, засоби адміністрування і широкий спектр програмних інтерфейсів (API). Також сервер MySQL поставляється у вигляді многопоточной бібліотеки, яку можна підключити до призначеного для користувача програми і отримати компактний, більш швидкий і легкий в управлінні продукт. Доступно також велику кількість програмного забезпечення MySQL, розробленого сторонніми розробниками.
Внутрішні характеристики і переносимість:
Написаний на C і C + +. Протестований на безлічі різних компіляторів.
Працює на різних платформах.
Для забезпечення переносимості використовується GNU Automake, Autoconf і Libtool.
API для C, C + +, Eiffel, Java, Perl, PHP, Python, Ruby і Tcl.
Повністю багатопотоковий з використанням потоків ядра. Це означає, що, якщо така можливість забезпечується, можна легко організувати роботу з декількома процесорами.
Дуже швидкі дискові таблиці на основі В-дерев зі стисненням індексів. Дуже швидко базується на потоках система розподілу пам'яті.
Дуже швидкі з'єднання, що використовують оптимізований метод однопрохідного мультісоедіненія (one-sweep multi-join).
Хеш-таблиці в пам'яті, що використовуються як тимчасові таблиці.
SQL-функції реалізовані за допомогою добре оптимізованої бібліотеки класів, тому вони виконуються настільки швидко, наскільки це можливо. Зазвичай після ініціалізації запиту розподілу пам'яті не відбувається взагалі.
MySQL-код протестований з використанням Purify (комерційний детектор витоку пам'яті), а також Valgrind, одного з GPL-інструментів.
Типи стовпців:
Велика кількість: цілочисельні зі знаком / беззнакові, довжиною в 1, 2, 3, 4 і 8 байтів, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET і ENUM.
З записами фіксованої і змінної довжини.
Всі стовпчики мають значення за замовчуванням. За допомогою INSERT можна вставити підмножину стовпців таблиці; стовпці, для яких явно не задані значення, встановлюються в значення за замовчуванням.
Команди та функції:
Повна підтримка операторів і функцій в SELECT-і WHERE-частинах запитів. Наприклад:
mysql> SELECT CONCAT(first_name, " ", last_name)
-> FROM tbl_name
-> WHERE income/dependents > 10000 AND age > 30;
Повна підтримка для операторів SQL GROUP BY і ORDER BY з висловлюваннями SQL.
Підтримка групових функцій (COUNT (), COUNT (DISTINCT ...), AVG (), STD (), SUM (),MAX () і MIN ()).
Підтримка LEFT OUTER JOIN і RIGHT OUTER JOIN з синтаксисом ANSI SQL і ODBC.
Дозволені псевдоніми для таблиць і стовпців у відповідності зі стандартом SQL92.
DELETE, INSERT, REPLACE, and UPDATE повертають число рядків,які були змінені. Замість цього можна задати повернення збігшихся рядків. Для цього слід встановити прапор при з'єднанні з сервером.
Команду SHOW, яка є специфічною для MySQL, можна використовувати для отримання інформації про бази даних, таблицях і індексах. Щоб з'ясувати, як оптимізатор виконує запит, можна застосовувати команду EXPLAIN.
Імена функцій не конфліктують з іменами таблиць і стовпців. Наприклад, ABS є коректним ім'ям стовпця. Для виклику функції існує тільки одне обмеження: між ім'ям функції і такий його відкриває дужкою `('не повинно бути пробілів.
В одному і тому ж запиті можуть зазначатися таблиці з різних баз даних (з версії 3.22).
Безпека:
Система, заснована на привілеї та паролі, за рахунок чого забезпечується гнучкість і безпеку, і з можливістю верифікації з віддаленого комп'ютера. Паролі захищені, тому що вони при передачі по мережі при з'єднанні з сервером шифруються.
Масштабованість і обмеження:
Керує дуже великими базами даних. Компанія MySQL AB використовує MySQL для роботи з декількома базами даних, які містять 50 мільйонів записів, крім того, відомі користувачі, що використовують MySQL для роботи з 60000 таблицями, що включають близько 5 * 1010 рядків. Для кожної таблиці дозволяється мати до 32 індексів. Кожен індекс може містити від 1 до 16 частин стовпців. Максимальна ширина індексу 500 біт (це значення може бути змінено при компіляції MySQL).
Установка з'єднань:
Клієнти можуть з'єднуватися з MySQL, використовуючи сокети TCP / IP, сокети Unix або іменовані канали (named pipes, під NT).
Підтримка ODBC (Open-DataBase-Connectivity) для Win32 (з вихідним кодом). Всі функції ODBC 2.5 та багато інших. Наприклад, для з'єднання з MySQL можна використовувати MS Access.
Локалізація:
Сервер може забезпечувати повідомлення про помилки для клієнтів на різних мовах.
Повна підтримка декількох різних кодувань, включаючи ISO-8859-1 (Latin1), німецький, big5 і багато інших. Наприклад, скандинавські символи дозволені в іменах таблиць і стовпців.
Для зберігання всіх даних використовується обраний набір символів. Всі порівняння для стовпців з нормальними рядками проводяться з урахуванням регістру символів.
Сортування проводиться відповідно до обраного алфавітом (за замовчуванням використовується шведська). Цю установку можна змінити при запуску сервера MySQL. MySQL підтримує багато різних кодувань, які можна задавати під час компіляції і в процесі роботи.
MySQL-сервер є безкоштовним для некомерційного використання. Інакше необхідно придбання ліцензії, вартість якої складає 190 EUR.