-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path4.7.html
147 lines (126 loc) · 10.5 KB
/
4.7.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<title>Язык SQL: характеристика и основные средства</title>
<link rel="stylesheet" href="./css/index.css">
</head>
<body>
<div class="container">
<h1>Язык SQL: общая характеристика, средства для описания структуры базы данных, ограничений целостности, модификации данных и формирования запросов</h1>
<div class="navigation-buttons">
<a href="4.6.html" class="button">⬅ Назад</a>
<a href="4.8.html" class="button">Вперёд ➡</a>
</div>
<h2>Общая характеристика языка SQL</h2>
<p><strong>SQL (Structured Query Language)</strong> — это стандартный язык для работы с реляционными базами данных, позволяющий выполнять операции создания, изменения, удаления и выборки данных. SQL используется для взаимодействия с базой данных, и благодаря его универсальности, он поддерживается большинством современных систем управления базами данных (СУБД), таких как MySQL, PostgreSQL, SQL Server и Oracle.</p>
<p>SQL делится на несколько подъязыков, каждый из которых предназначен для выполнения различных задач:</p>
<ul>
<li><strong>DDL (Data Definition Language):</strong> Язык определения данных, используемый для описания структуры базы данных.</li>
<li><strong>DML (Data Manipulation Language):</strong> Язык манипуляции данными, предназначенный для добавления, обновления и удаления данных.</li>
<li><strong>DCL (Data Control Language):</strong> Язык управления доступом, позволяющий контролировать доступ к данным.</li>
<li><strong>TCL (Transaction Control Language):</strong> Язык управления транзакциями, используемый для управления транзакциями в базе данных.</li>
</ul>
<h2>Средства языка SQL для описания структуры базы данных и ограничений целостности</h2>
<p>Язык SQL предоставляет возможности для создания и управления структурой базы данных, а также для задания ограничений целостности данных, что помогает поддерживать корректность и согласованность данных.</p>
<h3>Язык определения данных (DDL)</h3>
<p>DDL включает команды для создания, изменения и удаления объектов базы данных, таких как таблицы, индексы и представления.</p>
<h4>1. Создание структуры базы данных (CREATE)</h4>
<p>Команда <code>CREATE</code> используется для создания новых таблиц и других объектов в базе данных. Она позволяет задавать имена столбцов и их типы данных.</p>
<pre>
CREATE TABLE Клиенты (
ID INT PRIMARY KEY,
Имя VARCHAR(50),
Адрес VARCHAR(100),
Телефон VARCHAR(15)
);
</pre>
<h4>2. Изменение структуры базы данных (ALTER)</h4>
<p>Команда <code>ALTER</code> позволяет изменять структуру уже существующих объектов базы данных, добавляя, изменяя или удаляя столбцы и ограничения.</p>
<pre>
ALTER TABLE Клиенты
ADD Дата_Рождения DATE;
</pre>
<h4>3. Удаление объектов базы данных (DROP)</h4>
<p>Команда <code>DROP</code> используется для удаления объектов, таких как таблицы или индексы.</p>
<pre>
DROP TABLE Клиенты;
</pre>
<h3>Ограничения целостности</h3>
<p>Ограничения целостности помогают поддерживать согласованность и корректность данных. Основные ограничения включают:</p>
<ul>
<li><strong>PRIMARY KEY:</strong> Обеспечивает уникальность каждой записи в таблице.</li>
<li><strong>FOREIGN KEY:</strong> Связывает записи между таблицами, поддерживая ссылочную целостность.</li>
<li><strong>NOT NULL:</strong> Обязывает столбец иметь ненулевые значения.</li>
<li><strong>UNIQUE:</strong> Обеспечивает уникальность значений в столбце, не являющемся первичным ключом.</li>
<li><strong>CHECK:</strong> Определяет условие, которому должны соответствовать значения столбца.</li>
</ul>
<pre>
CREATE TABLE Заказы (
ID INT PRIMARY KEY,
Дата DATE NOT NULL,
Сумма DECIMAL(10, 2) CHECK (Сумма > 0),
ID_Клиента INT,
FOREIGN KEY (ID_Клиента) REFERENCES Клиенты(ID)
);
</pre>
<h2>Средства языка SQL для модификации данных</h2>
<p>Язык манипуляции данными (DML) включает команды для добавления, обновления и удаления данных в таблицах.</p>
<h3>1. Вставка данных (INSERT)</h3>
<p>Команда <code>INSERT</code> добавляет новые строки в таблицу. Она позволяет вставлять как конкретные значения, так и значения, полученные из других таблиц.</p>
<pre>
INSERT INTO Клиенты (ID, Имя, Адрес, Телефон)
VALUES (1, 'Иван Иванов', 'Москва, ул. Пушкина', '+7 123 456-78-90');
</pre>
<h3>2. Обновление данных (UPDATE)</h3>
<p>Команда <code>UPDATE</code> позволяет изменять существующие данные в таблице. Она используется вместе с условием <code>WHERE</code>, чтобы изменить только нужные записи.</p>
<pre>
UPDATE Клиенты
SET Телефон = '+7 987 654-32-10'
WHERE ID = 1;
</pre>
<h3>3. Удаление данных (DELETE)</h3>
<p>Команда <code>DELETE</code> удаляет строки из таблицы. Условия <code>WHERE</code> позволяют удалить только определённые записи.</p>
<pre>
DELETE FROM Клиенты
WHERE ID = 1;
</pre>
<h2>Средства языка SQL для формирования запросов к данным</h2>
<p>SQL предоставляет мощные средства для выборки данных с помощью команды <code>SELECT</code>. Запросы позволяют извлекать данные из одной или нескольких таблиц, фильтровать, сортировать и группировать их.</p>
<h3>1. Базовый запрос (SELECT)</h3>
<p>Команда <code>SELECT</code> используется для извлечения данных из таблиц. Она позволяет указывать, какие столбцы нужны, и задавать условия для фильтрации.</p>
<pre>
SELECT Имя, Телефон
FROM Клиенты
WHERE Город = 'Москва';
</pre>
<h3>2. Объединение данных (JOIN)</h3>
<p>Операция <code>JOIN</code> объединяет данные из двух или более таблиц по общим атрибутам. <code>INNER JOIN</code> выбирает только записи с совпадающими значениями, <code>LEFT JOIN</code> сохраняет все записи из левой таблицы и добавляет соответствующие из правой.</p>
<pre>
SELECT Клиенты.Имя, Заказы.Сумма
FROM Клиенты
INNER JOIN Заказы ON Клиенты.ID = Заказы.ID_Клиента;
</pre>
<h3>3. Группировка данных (GROUP BY)</h3>
<p>Команда <code>GROUP BY</code> позволяет группировать данные и вычислять агрегатные значения, такие как сумма, среднее значение и количество.</p>
<pre>
SELECT Город, COUNT(*) AS Количество
FROM Клиенты
GROUP BY Город;
</pre>
<h3>4. Сортировка данных (ORDER BY)</h3>
<p>Команда <code>ORDER BY</code> используется для сортировки результатов запроса по одному или нескольким столбцам, в порядке возрастания (<code>ASC</code>) или убывания (<code>DESC</code>).</p>
<pre>
SELECT Имя, Телефон
FROM Клиенты
ORDER BY Имя ASC;
</pre>
<h2>Заключение</h2>
<p>SQL предоставляет обширный набор команд для работы с реляционными базами данных, начиная от создания и настройки структуры данных до их модификации и извлечения. Средства SQL обеспечивают создание надёжных и целостных баз данных, удобный и эффективный доступ к данным, что делает SQL основным языком для управления данными в современных СУБД.</p>
</div>
<div class="navigation-buttons">
<a href="4.6.html" class="button">⬅ Назад</a>
<a href="4.8.html" class="button">Вперёд ➡</a>
</div>
</body>
</html>