База даних – це сукупність пов'язаних даних, організованих за певними правилами.
Ці правила передбачають загальні принципи опису, маніпулювання та зберігання даними.
СКБД(СУБД) – це комплекс мовних та програмних засобів, призначений для створення, ведення та спільного використання баз даних багатьма користувачами.
Зазвичай СКБД як і БД розрізняють по моделі даних. Так, СКБД, що базуються на використанні реляційної моделі даних, називають реляційними СКБД.
Реляційна база даних – це сукупність пов'язаних даних, що зберігаються у двомірних таблицях.
Таблиці зберігають безпосередньо дані та стани з полів та записів
Основні властивості поля таблиці:
1) Ім'я
2) Тип даних
3) Допустимість порожнього
значення
SQL – інформаційно-логічна мова, призначена для опису зміни та вилучення даних, що зберігаються в реляційних базах даних.
Основний набір операцій SQL
Створення у базі даних нової таблиці;
Додавання до таблиці нових записів;
Зміна записів;
Видалення записів;
Вибір записів з однієї або декількох таблиць
(відповідно до заданої умови);
Зміна структури таблиць.
Типи даних:
• Цілі числа INT
• Дійсні FLOAT, DOUBLER,
• Рядки CHAR, VARCHAR
• Рядки TEXT
• Дата та час DATETIME
• Бінарні дані BLOB
• Логічні дані TINYINT
Data Manipulation Language (DML) – це сімейство комп'ютерних мов, що використовуються користувачами баз даних для отримання, вставки, видалення або зміни даних у базах даних.
Функції DML:
INSERT – вставка даних
SELECT – вибірка даних
UPDATE – зміна даних
DELETE – видалення даних
Q&A
Дякую всім за заняття!🙌🏻
❗️🎓Тема уроку: 1. Введение в SQL
Нагадую, що дедлайн здачі домашніх робіт – до наступного уроку.
Якщо виникають складнощі, пишіть, допоможу із задоволенням 😌
Запис лекції тренер опублікує трохи пізніше 🖥
Не забудьте повторити матеріал та підготуватися до наступного
Завдання на створення таблиць:
Створити таблицю "Студенти" з наступними полями:
id (ціле число, первинний ключ, автоінкремент)
ім'я (текст, обов'язкове поле)
прізвище (текст, обов'язкове поле)
дата_народження (дата)
група (текст)
Створити таблицю "Предмети" з наступними полями:
id (ціле число, первинний ключ, автоінкремент)
назва (текст, унікальне та обов'язкове поле)
кількість_годин (ціле число)
Створити таблицю "Оцінки" з наступними полями:
id (ціле число, первинний ключ, автоінкремент)
студент_id (ціле число, зовнішній ключ, посилається на таблицю "Студенти")
предмет_id (ціле число, зовнішній ключ, посилається на таблицю "Предмети")
оцінка (ціле число, від 1 до 12)
дата_складання (дата)
(Додатково) Додайте обмеження, щоб поле оцінка приймало значення лише в діапазоні від 1 до 12.
Створити таблицю "Книги" з наступними полями:
isbn (текст, первинний ключ, унікальне поле)
назва (текст, обов'язкове поле)
автор (текст)
рік_видання (ціле число)
кількість_примірників (ціле число, невід'ємне)
(Додатково) Додайте обмеження, щоб поле кількість_примірників не могло бути від'ємним.
Створити таблицю "Замовлення" з наступними полями:
id (ціле число, первинний ключ, автоінкремент)
дата_замовлення (дата та час)
сума (число з плаваючою комою)
статус (текст, наприклад, "нове", "в обробці", "виконано")
(Додатково) Додайте обмеження ENUM для поля статус з можливими значеннями: 'нове', 'в обробці', 'виконано', 'скасовано'.
Завдання на вибірку даних (SELECT):
Використовуйте таблиці, створені в попередніх завданнях, для виконання наступних запитів:
Вивести імена та прізвища всіх студентів.
Вивести назви всіх предметів.
Вивести всі оцінки для певного студента (вкажіть його id).
Вивести назви книг, виданих після 2000 року.
Вивести всі замовлення, зроблені в певний день.
Вивести студентів, які навчаються в певній групі.
Вивести предмети, на які відводиться більше ніж N годин (вкажіть значення N).
Вивести книги, кількість примірників яких менше ніж M (вкажіть значення M).
Вивести середню оцінку для певного предмета (вкажіть його id). (Підказка: використовуйте агрегатні функції)
Вивести кількість студентів у кожній групі. (Підказка: використовуйте GROUP BY та агрегатні функції)
Вивести назви предметів та кількість отриманих по них оцінок. (Підказка: використовуйте GROUP BY та COUNT())
Вивести назви книг та авторів, кількість примірників яких перевищує середню кількість примірників усіх книг. (Підказка: використовуйте підзапити)