Similar presentations:
Бази даних. Вступ
1.
Бази ДанихВступ
2.
Що таке база даних?База даних (БД) – це організована колекція даних, до якої
можна легко отримати доступ.
Для управління базами даних використовують
управління базами даних (СУБД).
системи
3.
Типи СУБДЄ два поширені типи баз даних:
Нереляційні
Реляційні
4.
Нереляційні СУБДУ нереляційних СУБД дані зберігаються в парах ключ-значення.
Наприклад:
{
“id” : 1,
“name” : “bread”,
“count” : 100
}
Популярні нереляційні СУБД: MongoDB, Redis та ін.
5.
Реляційні СУБДУ реляційних СУБД дані зберігаються у табличному форматі.
Наприклад:
Таблиця “Car”
6.
Реляційні СУБДCar - це таблиця всередині бази даних.
Перший рядок – це атрибути таблиці.
Кожен наступний рядок містить фактичні дані.
У реляційних СУБД дві чи більше таблиць може бути пов'язані
друг з одним.
Звідси і термін "реляційні" (англ. "relation" = "зв'язок").
7.
Реляційні СУБД8.
Реляційні СУБД9.
Реляційні СУБДТаблиці Car та Color пов'язані через ColorKey.
Для доступу до даних реляційних баз даних використовується
SQL.
10.
Реляційні СУБДПопулярні реляційні СУБД: MySQL, PostgreSQL, MSSQL, Oracle
та ін.
11.
Що таке SQL?Мова структурованих запитів (Structured Query Language) – це
стандартна мова запитів, яка використовується для роботи з
реляційними базами даних
12.
SQL використовується для:створення баз даних;
створення таблиць у базі даних;
читання даних із таблиць;
вставки даних у таблиці;
оновлення даних у таблиці
13.
SQL використовується для:видалення даних із таблиці;
видалення таблиць бази даних;
видалення баз даних;
14.
CRUD операціїSource:https://www.atatus.com/glossary/crud/
15.
Оператори SQLSELECT - вибірка даних
INSERT - вставка даних
UPDATE — оновлення даних
DELETE — видалення даних
DROP — видалення таблиці або самої БД
ALTER TABLE — оновлення полів таблиці
CREATE DATABASE — створення нової БД
CREATE TABLE — створення нової таблиці
16.
SQL. Створення БД-- CREATE DATABASE database_name;
Приклад:
CREATE DATABASE Shop;
17.
SQL. Видалення БД-- DROP DATABASE database_name;
Приклад:
DROP DATABASE Shop;
IF DB_ID('Shop') IS NOT NULL
BEGIN
DROP DATABASE Shop;
END
18.
SQL. Створення таблиці-- CREATE TABLE table_name (
--
column_name1 data_type constraint,
--
column_name2 data_type constraint,
--
column_name3 data_type constraint,
--
....
-- );
19.
SQL. Створення таблиціCREATE TABLE Persons (
PersonID int,
LastName varchar(255),
FirstName varchar(255),
City varchar(255)
);
20.
Існують такі види обмежень (constraint)Обмеження
Опис
NOT NULL
Поле не може містити null-значення
UNIQUE
Поле не може містити значення, що повторюються
PRIMARY KEY
Первинний ключ
FOREIGN KEY
Зовнішній ключ
DEFAULT
Встановлює значення за замовчуванням, якщо
значення не було передано
CHECK
Поле не може містити значення, що не пройшли
перевірку
INDEX
Прискорює роботу з даними
21.
SQL. NOT NULLCREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);
22.
SQL. UNIQUECREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
23.
SQL. UNIQUECREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID, LastName)
);
24.
SQL. UNIQUEALTER TABLE Persons
ADD UNIQUE (ID);
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
25.
SQL. PRIMARY KEYCREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
26.
SQL. PRIMARY KEYCREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT PK_Person PRIMARY KEY (ID)
);
27.
SQL. PRIMARY KEYALTER TABLE Persons
ADD PRIMARY KEY (ID);
ALTER TABLE Persons
ADD CONSTRAINT PK_Person PRIMARY KEY (ID, LastName);
ALTER TABLE Persons
DROP CONSTRAINT PK_Person;
28.
SQL. FOREIGN KEYCREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES
Persons(PersonID)
);
29.
SQL. FOREIGN KEYCREATE TABLE Orders (
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
30.
SQL. FOREIGN KEYALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
REFERENCES Persons(PersonID);
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;
FOREIGN
KEY
(PersonID)
31.
SQL. CHECKCREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age >= 18)
);
32.
SQL. CHECKCREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Person CHECK (Age >= 18 AND City =
'Portland')
);
33.
SQL. CHECKALTER TABLE Persons
ADD CHECK (Age >= 18);
ALTER TABLE Persons
ADD CONSTRAINT CHK_PersonAge CHECK (Age >= 18 AND City =
'Portland');
ALTER TABLE Persons
DROP CONSTRAINT CHK_PersonAge;
34.
SQL. IDENTITYCREATE TABLE Persons (
ID int IDENTITY(1, 1) PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
//autoincrement
35.
SQL. Видалення таблиці-- DROP TABLE table_name;
DROP TABLE Orders;
IF OBJECT_ID('Orders') IS NOT NULL
BEGIN
DROP TABLE Orders;
END
36.
SQL. Очищення таблиці-- TRUNCATE TABLE table_name;
TRUNCATE TABLE Orders;
37.
SQL. Оновлення структури таблиці-- Синтаксис ALTER TABLE - ADD:
-- ALTER TABLE table_name
-- ADD column_name data_type;
-- Синтаксис ALTER TABLE - DROP:
-- ALTER TABLE table_name
-- DROP COLUMN column_name;
-- Синтаксис ALTER TABLE - ALTER:
-- ALTER TABLE table_name
38.
SQL. Оновлення структури таблиціALTER TABLE Persons
ADD DateOfBirth date;
ALTER TABLE Persons
ALTER COLUMN DateOfBirth datetime;
ALTER TABLE Persons
DROP COLUMN DateOfBirth;
39.
SQL. SELECTSELECT *
FROM Persons;
40.
SQL. SELECT (WHERE)SELECT *
FROM Persons
WHERE FirstName = 'Doe';
41.
SQL. SELECT (WHERE)SELECT *
FROM Persons
WHERE Age > 25;
(>,<,>=,<=,!=, NOT)
42.
SQL. SELECT (AND/OR)SELECT *
FROM Persons
WHERE Age > 25 AND FirstName = ‘John’;
Якщо умова WHERE не відповідає жодному
рядку, повертається порожній результат.
43.
SQL. SELECT (WHERE/IN)SELECT FirstName, LastName
FROM Persons
WHERE AGE IN (20, 30);
44.
SQL. SELECT (WHERE/NOT IN)SELECT FirstName, LastName
FROM Persons
WHERE AGE NOT IN (20, 30);
45.
SQL. SELECT (ПІДЗАПИТИ)SELECT FirstName, LastName
FROM Persons
WHERE PersonId IN (SELECT PersonId
FROM Detail);
46.
SQL. SELECT (BETWEEN)SELECT FirstName, LastName
FROM Persons
WHERE Age BETWEEN 18 AND 85;
47.
SQL. SELECT (NOT BETWEEN)SELECT FirstName, LastName
FROM Persons
WHERE Age NOT BETWEEN 18 AND 85;
48.
SQL. SELECT (IS NULL)SELECT *
FROM Persons
WHERE Email IS NULL;
49.
SQL. SELECT (IS NOT NULL)SELECT *
FROM Persons
WHERE Email IS NOT NULL;
50.
SQL. SELECT (MAX(), MIN())SELECT MAX(Age)
FROM Persons;
SELECT MIN(Age)
FROM Persons;
51.
SQL. SELECT (DISTINCT)SELECT DISTINCT FirstName
FROM Persons;
отримаємо унікальні дані з таблиці
52.
SQL. COUNT()SELECT COUNT(DISTINCT FirstName)
FROM Persons;
отримаємо кількість унікальних значень з
таблиці
53.
SQL. ASSELECT FirstName AS name
FROM Persons;
створення псевдоніму для поля
54.
SQL. TOPSELECT TOP 2 *
FROM Persons;
вибираємо перші 2 рядки з таблиці
55.
SQL. SELECT (SUM(),AVG())SELECT SUM(Salary)
FROM Persons;
SELECT AVG(Salary)
FROM Persons;
56.
SQL. SELECT (ORDER BY)SELECT *
FROM Persons ORDER BY Age ASC;
DESC
57.
SQL. SELECT (LIKE)SELECT *
FROM Persons WHERE LastName
LIKE ‘T%’;
NOT LIKE
58.
SQL. INSERT INTOINSERT INTO Persons(PersonId, FirstName,
LastName)
VALUES
(5, 'Harry', 'Potter');
59.
SQL. UPDATEUPDATE Persons
SET FirstName = 'Tom'
WHERE PersonId = 1;
60.
SQL. DELETEDELETE FROM Persons
WHERE PersonId=100;