0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Почти все приложения работают с большим количеством информации, которая хранится в виде таблиц в базах данных.</p>
1
<p>Почти все приложения работают с большим количеством информации, которая хранится в виде таблиц в базах данных.</p>
2
<p>В этом уроке мы более подробно поговорим о структурах и выясним, как устроены таблицы и базы данных.</p>
2
<p>В этом уроке мы более подробно поговорим о структурах и выясним, как устроены таблицы и базы данных.</p>
3
<h2>Что такое таблица</h2>
3
<h2>Что такое таблица</h2>
4
<p>Рассмотрим для примера Хекслет. Мы храним информацию о студентах и о курсах. При этом нужно разнести информацию по двум разным таблицам, чтобы было удобно работать. Другими словами, в разных таблицах мы храним разные<strong>сущности</strong>.</p>
4
<p>Рассмотрим для примера Хекслет. Мы храним информацию о студентах и о курсах. При этом нужно разнести информацию по двум разным таблицам, чтобы было удобно работать. Другими словами, в разных таблицах мы храним разные<strong>сущности</strong>.</p>
5
<p>В базе данных Хекслета сущность "Студенты" будет храниться в одной таблице, сущность "Курсы" - в другой.</p>
5
<p>В базе данных Хекслета сущность "Студенты" будет храниться в одной таблице, сущность "Курсы" - в другой.</p>
6
<p>Сама таблица представляет собой набор столбцов и строк. Пересечение столбца и строки - это ячейка.</p>
6
<p>Сама таблица представляет собой набор столбцов и строк. Пересечение столбца и строки - это ячейка.</p>
7
<p>В таблице "Студенты" каждая строка содержит в себе информацию об одном конкретном человеке. Еще строки называют<strong>записями</strong>.</p>
7
<p>В таблице "Студенты" каждая строка содержит в себе информацию об одном конкретном человеке. Еще строки называют<strong>записями</strong>.</p>
8
<p>Каждый столбец определяет, какого типа данные хранятся в ячейке, например:</p>
8
<p>Каждый столбец определяет, какого типа данные хранятся в ячейке, например:</p>
9
<ul><li>Имя</li>
9
<ul><li>Имя</li>
10
<li>Фамилия</li>
10
<li>Фамилия</li>
11
<li>Год рождения</li>
11
<li>Год рождения</li>
12
<li>Дата регистрации</li>
12
<li>Дата регистрации</li>
13
</ul><p>Еще столбцы иногда называют<strong>полями</strong>.</p>
13
</ul><p>Еще столбцы иногда называют<strong>полями</strong>.</p>
14
<p>Таблица с данными студентов Хекслета может выглядеть так:</p>
14
<p>Таблица с данными студентов Хекслета может выглядеть так:</p>
15
<h3>Таблицы в базах данных</h3>
15
<h3>Таблицы в базах данных</h3>
16
<p>Многие привычные приложения содержат десятки, сотни и тысячи таблиц с разнообразными данными.</p>
16
<p>Многие привычные приложения содержат десятки, сотни и тысячи таблиц с разнообразными данными.</p>
17
<p>Чтобы всем было удобно работать с такими объемами данных, к таблицам предъявляются конкретные требования:</p>
17
<p>Чтобы всем было удобно работать с такими объемами данных, к таблицам предъявляются конкретные требования:</p>
18
<ul><li><strong>Название таблицы</strong>. Оно должно быть уникально в рамках одной базы данных. Название таблицы мы задаем при создании, но его можно изменить при необходимости</li>
18
<ul><li><strong>Название таблицы</strong>. Оно должно быть уникально в рамках одной базы данных. Название таблицы мы задаем при создании, но его можно изменить при необходимости</li>
19
<li><strong>Столбцы</strong>или<strong>поля</strong>. У каждого поля уникальное имя в рамках одной таблицы</li>
19
<li><strong>Столбцы</strong>или<strong>поля</strong>. У каждого поля уникальное имя в рамках одной таблицы</li>
20
<li><strong>Тип данных столбца</strong>. Он ограничивает набор допустимых значений, которые можно присвоить столбцу. Например, в столбец числового типа нельзя записать текстовые строки. Тип данных присваивается каждому столбцу</li>
20
<li><strong>Тип данных столбца</strong>. Он ограничивает набор допустимых значений, которые можно присвоить столбцу. Например, в столбец числового типа нельзя записать текстовые строки. Тип данных присваивается каждому столбцу</li>
21
<li><strong>Строки</strong>или<strong>записи</strong>. Их количество в разных таблицах сильно отличается - от нескольких штук до миллиардов записей. В базах данных нет никаких гарантий относительно порядка строк в таблице</li>
21
<li><strong>Строки</strong>или<strong>записи</strong>. Их количество в разных таблицах сильно отличается - от нескольких штук до миллиардов записей. В базах данных нет никаких гарантий относительно порядка строк в таблице</li>
22
</ul><p>Базы данных, в которых данные хранятся в виде таких таблиц, называются<strong>реляционными базами данных</strong>. Название "реляционные" происходит от слова "relation" (отношение) в математической теории множеств. В реляционных базах данных таблицы представляют собой отношения, где строки - это экземпляры данных, а столбцы - свойства (атрибуты) этих данных. Работать с ними можно с помощью<strong>реляционных СУБД</strong>.</p>
22
</ul><p>Базы данных, в которых данные хранятся в виде таких таблиц, называются<strong>реляционными базами данных</strong>. Название "реляционные" происходит от слова "relation" (отношение) в математической теории множеств. В реляционных базах данных таблицы представляют собой отношения, где строки - это экземпляры данных, а столбцы - свойства (атрибуты) этих данных. Работать с ними можно с помощью<strong>реляционных СУБД</strong>.</p>
23
<h3>Структура таблиц</h3>
23
<h3>Структура таблиц</h3>
24
<p>Таким образом, каждая таблица должна иметь определенную структуру.</p>
24
<p>Таким образом, каждая таблица должна иметь определенную структуру.</p>
25
<p>Эта структура определяет столбцы и включает в себя имена полей и их типы:</p>
25
<p>Эта структура определяет столбцы и включает в себя имена полей и их типы:</p>
26
<p>Рассмотрим этот пример подробнее. В нем прописаны названия полей и типы:</p>
26
<p>Рассмотрим этот пример подробнее. В нем прописаны названия полей и типы:</p>
27
<ul><li>Поля first_name, last_name и email содержат обычный текст, поэтому мы задаем тип данных string (строки)</li>
27
<ul><li>Поля first_name, last_name и email содержат обычный текст, поэтому мы задаем тип данных string (строки)</li>
28
<li>В поле created_at мы сохраняем дату добавления пользователя в систему. Для этого поля установлен тип данных datetime, поэтому туда нельзя записать текст</li>
28
<li>В поле created_at мы сохраняем дату добавления пользователя в систему. Для этого поля установлен тип данных datetime, поэтому туда нельзя записать текст</li>
29
</ul><p>Вот такую таблицу мы можем создать с этими полями:</p>
29
</ul><p>Вот такую таблицу мы можем создать с этими полями:</p>
30
<p>Дальше мы можем модифицировать эту структуру: удалять и добавлять поля, менять типы данных.</p>
30
<p>Дальше мы можем модифицировать эту структуру: удалять и добавлять поля, менять типы данных.</p>
31
<h2>Как правильно именовать сущности</h2>
31
<h2>Как правильно именовать сущности</h2>
32
<p>Именование таблиц и полей зависит от программиста и определяется соглашениями конкретной группы разработчиков.</p>
32
<p>Именование таблиц и полей зависит от программиста и определяется соглашениями конкретной группы разработчиков.</p>
33
<p>В этом курсе мы используем следующие соглашения:</p>
33
<p>В этом курсе мы используем следующие соглашения:</p>
34
<ul><li>Задаем все имена в нижнем регистре</li>
34
<ul><li>Задаем все имена в нижнем регистре</li>
35
<li>Для имен из нескольких слов используем<strong>snake_case</strong>(разделяем слова подчеркиванием _ без пробелов)</li>
35
<li>Для имен из нескольких слов используем<strong>snake_case</strong>(разделяем слова подчеркиванием _ без пробелов)</li>
36
<li>Называем таблицы по хранимым сущностям во множественном числе (например, в таблице с именем users должна храниться информация о пользователях)</li>
36
<li>Называем таблицы по хранимым сущностям во множественном числе (например, в таблице с именем users должна храниться информация о пользователях)</li>
37
</ul><h2>Как управлять данными</h2>
37
</ul><h2>Как управлять данными</h2>
38
<p>Для управления данными и их структурой существует специальный инструмент - язык SQL. Это универсальный язык, позволяющий работать с разными СУБД. Возможности SQL мы будем изучать далее в курсе.</p>
38
<p>Для управления данными и их структурой существует специальный инструмент - язык SQL. Это универсальный язык, позволяющий работать с разными СУБД. Возможности SQL мы будем изучать далее в курсе.</p>
39
<h2>Выводы</h2>
39
<h2>Выводы</h2>
40
<p>В этом уроке мы рассмотрели особенности таблиц в базах данных. Таблицы состоят из строк (записей) и столбцов (полей), для которых заданы типы данных. Каждая строка отражает информацию об одном объекте.</p>
40
<p>В этом уроке мы рассмотрели особенности таблиц в базах данных. Таблицы состоят из строк (записей) и столбцов (полей), для которых заданы типы данных. Каждая строка отражает информацию об одном объекте.</p>
41
<p>У таблиц есть правила использования и именования, но они будут меняться в зависимости от того, какой набор инструментов и технологий будет использовать программист, а также от соглашений внутри команды.</p>
41
<p>У таблиц есть правила использования и именования, но они будут меняться в зависимости от того, какой набор инструментов и технологий будет использовать программист, а также от соглашений внутри команды.</p>
42
<p>Далее мы поговорим о языке SQL, с помощью которого мы будем работать с данными в СУБД.</p>
42
<p>Далее мы поговорим о языке SQL, с помощью которого мы будем работать с данными в СУБД.</p>