966.19K
Category: databasedatabase

Бази даних. Вступ

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.

Оператори SQL
SELECT - вибірка даних
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 NULL
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255) NOT NULL,
Age int
);

22.

SQL. UNIQUE
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);

23.

SQL. UNIQUE
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID, LastName)
);

24.

SQL. UNIQUE
ALTER 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 KEY
CREATE TABLE Persons (
ID int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);

26.

SQL. PRIMARY KEY
CREATE 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 KEY
ALTER 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 KEY
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES
Persons(PersonID)
);

29.

SQL. FOREIGN KEY
CREATE 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 KEY
ALTER 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. CHECK
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int CHECK (Age >= 18)
);

32.

SQL. CHECK
CREATE 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. CHECK
ALTER 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. IDENTITY
CREATE 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. SELECT
SELECT *
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. AS
SELECT FirstName AS name
FROM Persons;
створення псевдоніму для поля

54.

SQL. TOP
SELECT 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 INTO
INSERT INTO Persons(PersonId, FirstName,
LastName)
VALUES
(5, 'Harry', 'Potter');

59.

SQL. UPDATE
UPDATE Persons
SET FirstName = 'Tom'
WHERE PersonId = 1;

60.

SQL. DELETE
DELETE FROM Persons
WHERE PersonId=100;

61.

IT-STEP. Natalya Babenko
English     Русский Rules