План уроку:
Види баз даних
Реляційна БД
Система управління базами даних (СУБД)
Створення базових запитів:
o SELECT
o DISTINCT
o LIMIT
o WHERE
o LIKE
o ORDER BY
База даних – це сукупність пов'язаних даних, організованих за певними правилами.
Ці правила передбачають загальні принципи опису, маніпулювання та зберігання даними.
Види баз даних
Реляційні бази даних
Переваги:
Категоризація даних. Реляційні бази даних також легко розширювати і вони не залежать від фізичної організації. Після створення бази даних можна додати нову категорію даних без необхідності вносити зміни в існуючі додатки.
Точність. Дані зберігаються лише один раз, що виключає дуплікацію даних у процедурах зберігання.
Простота використання. Користувачі можуть легко виконувати складні запити за допомогою SQL, основної мови запитів, що використовується в реляційних базах даних.
Безпека. Прямий доступ до даних у таблицях в RDBMS може бути обмежений для певних користувачів.
Недоліки:
Структура. Реляційні бази даних вимагають багато структури і певного рівня планування, оскільки стовпці повинні бути визначені, а дані повинні правильно вписуватися в дещо жорсткі категорії.
Складна підтримка. Розробники та інший персонал, відповідальний за базу даних, повинні витрачати час на управління та оптимізацію бази даних по мірі додавання до неї даних.
Відсутність масштабованості. Реляційні бази даних погано масштабуються по горизонталі у фізичних структурах зберігання з декількома серверами. Працювати з реляційними базами даних на декількох серверах складно, оскільки зі збільшенням обсягу та розподіленості даних структура порушується, а використання декількох серверів впливає на продуктивність - наприклад, на час відгуку додатків - і доступність.
Реляційні бази даних
Переваги
Категоризація даних. Реляційні бази даних також легко розширювати і вони не залежать від фізичної організації. Після створення бази даних можна додати нову категорію даних без необхідності вносити зміни в існуючі додатки.
Точність. Дані зберігаються лише один раз, що виключає дуплікацію даних у процедурах зберігання.
Простота використання. Користувачі можуть легко виконувати складні запити за допомогою SQL, основної мови запитів, що використовується в реляційних базах даних.
Безпека. Прямий доступ до даних у таблицях в RDBMS може бути обмежений для певних користувачів.
Недоліки
Структура. Реляційні бази даних вимагають багато структури і певного рівня планування, оскільки стовпці повинні бути визначені, а дані повинні правильно вписуватися в дещо жорсткі категорії.
Складна підтримка. Розробники та інший персонал, відповідальний за базу даних, повинні витрачати час на управління та оптимізацію бази даних по мірі додавання до неї даних.
Відсутність масштабованості. Реляційні бази даних погано масштабуються по горизонталі у фізичних структурах зберігання з декількома серверами. Працювати з реляційними базами даних на декількох серверах складно, оскільки зі збільшенням обсягу та
розподіленості даних структура порушується, а використання декількох серверів впливає на продуктивність - наприклад, на час відгуку додатків - і доступність.
Система управління базами даних
СУБД – це комплекс мовних та програмних засобів, призначений для створення, ведення та спільного використання баз даних багатьма користувачами.
Зазвичай СУБД як і БД розрізняють по моделі даних. Так, СУБД, що ґрунтуються на використанні реляційної моделі даних, називають реляційними СУБД.
Реляційна база даних – це сукупність пов'язаних даних, які у двомірних таблицях.
Структурування даних по таблицях
RDB (relational database)
RDBMS - Relational Database Management System.
RDBMS - це програма, яка використовується для підтримки реляційної бази даних.
RDBMS є основою для всіх сучасних систем баз даних, таких як MySQL, Microsoft SQL Server, Oracle і Microsoft Access.
RDBMS використовує запити SQL для доступу до даних у базі даних.
Таблиці
Таблиця – це сукупність пов’язаних записів даних, яка складається зі стовпців і рядків.
Стовпець містить конкретну інформацію про кожен запис у таблиці.
Запис (або рядок) — це кожен окремий запис, який існує в таблиці.
Таблиці
Таблиці зберігають безпосередньо дані та стани полів та записів
Основні властивості поля таблиці:
1. Ім’я
2. Тип даних
3. Допустимість порожнього значення
Structured Query Language
SQL – інформаційно-логічна мова, призначена для опису зміни та вилучення даних, що зберігаються в реляційних базах даних.
Основний набір операцій SQL
Створення у базі даних нової таблиці;
Додавання до таблиці нових записів;
Зміна записів;
Видалення записів;
Вибір записів з однієї або декількох таблиць
(відповідно до заданої умови);
Зміна структури таблиць.
Structured Query Language
SQL – інформаційно-логічна мова, призначена для опису зміни та вилучення даних, що зберігаються в реляційних базах даних.
Основний набір операцій SQL
Створення у базі даних нової таблиці;
Додавання до таблиці нових записів;
Зміна записів;
Видалення записів;
Вибір записів з однієї або декількох таблиць
(відповідно до заданої умови);
Зміна структури таблиць.
Типи даних MySQL
• Цілі числа INT – (15)
• Дійсні числа FLOAT, DOUBLE – (15.5)
• Рядки CHAR, VARCHAR, TEXT – (‘a’, ‘Alex),
• Дата та час DATETIME – (2023.08.16),
• Логічні дані BOOL, TINYINT – (true, false)
Data Query Language (DQL) – використовується для виконання запитів на даних в об'єктах схеми.
Функції DQL:
SELECT – вибірка даних
Оператор SELECT використовується для вибору даних із бази даних.
Повернуті дані зберігаються в таблиці результатів, яка називається набором результатів.
SELECT column1, column2, ... -- це назви полів таблиці, з якої потрібно вибрати дані
FROM table_name; -- назва таблиці
Оператор SELECT DISTINCT використовується для повернення лише різних значень
стовпців
SELECT DISTINCT column1, column2, ...
FROM table_name;
Оператор LIMIT використовується для визначення кількості записів, які потрібно повернути.
Оператор LIMIT корисно для великих таблиць із тисячами записів. Повернення великої кількості записів може вплинути на продуктивність.
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Фільтрація та організація набору результатів
Твердження WHERE використовується для фільтрації записів.
Воно використовується для вилучення лише тих записів, які відповідають певній умові.
SELECT column1, column2, ...
FROM table_name
WHERE condition;
Приклад:
Наступний оператор SQL вибирає всіх клієнтів із "Мексики":
SELECT * FROM Customers
WHERE Country = 'Mexico';
Зауважте, твердження WHERE також використовується в операторах UPDATE, DELETE, тощо.
Текстові та числові поля
Синтаксис SQL вимагає:
• Для текстових значень - одинарних лапок (більшість систем баз даних також допускають подвійні лапки).
• Для числових полів – ніяких додаткових символів
У твердженні WHERE можна використовувати такі оператори порівнянь:
= Рівно
> Більше ніж
< Менше ніж
>= Більше або дорівнює
<= Менше або дорівнює
<> Не дорівнює. У деяких версіях SQL використовується інший оператор !=
BETWEEN Між певним діапазоном
LIKE Пошук шаблону
IN Для визначення кількох можливих значень для стовпця
Оператор LIKE використовується в твердженні WHERE для пошуку заданого шаблону в стовпці.
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
У шаблонах оператора LIKE є два основних символи підстановки:
• Відсоток (%) – позначає будь-яку кількість символів
• Підкреслення (_) – позначає один символ
Порада. Комбінуйте будь-яку кількість умов за через оператори AND та OR.
Ключове слово ORDER BY використовується для сортування набору результатів.
За замовчуванням сортування йде в порядку зростання (ASC)
Щоб відсортувати в порядку спадання, використовуйте ключове слово DESC.
ORDER BY Синтаксис
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
ORDER BY за кількома стовпцями
Наступний оператор SQL вибирає всіх клієнтів із таблиці «Клієнти», відсортованих за стовпцями «Country» та «CustomerName».
SELECT * FROM Customers
ORDER BY Country,
CustomerName;
Це означає, що він упорядковує їх за країною, але якщо деякі рядки мають однакову країну, вони впорядковуються за ім’ям клієнта
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Урок 1. Введення в SQL
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного уроку📚
Успіху і до зустрічі!🤩
Опис завдання:
Валідатор паролів повинен перевіряти вхідний пароль на відповідність заданим правилам безпеки.
Правила безпеки для паролів:
Пароль повинен містити щонайменше 8 символів.
Пароль повинен містити щонайменше одну велику літеру.
Пароль повинен містити щонайменше одну малу літеру.
Пароль повинен містити щонайменше одну цифру.
Пароль може містити спеціальні символи (!, @, #, $, %, ^, &, *).
Завдання:
Визначте класи еквівалентності для валідатора паролів на основі правил безпеки.