0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>PostgreSQL - это СУБД, созданная для работы с реляционными базами данных. Что такое "реляционная", мы рассмотрим в будущем уроке. А в этом разберем, как устроены такие базы данных.</p>
1
<p>PostgreSQL - это СУБД, созданная для работы с реляционными базами данных. Что такое "реляционная", мы рассмотрим в будущем уроке. А в этом разберем, как устроены такие базы данных.</p>
2
<h2>Структура реляционной базы данных</h2>
2
<h2>Структура реляционной базы данных</h2>
3
<p>Данные в реляционных базах данных хранятся в таблицах. Их структура напоминает Microsoft Excel. Каждая строка в таблице - это связанный набор данных, который относится к одному предмету. Например, в таблице можно посмотреть все детали об одном сотруднике - его фамилию, имя, номер, отдел, зарплату, год рождения, адрес и телефон:</p>
3
<p>Данные в реляционных базах данных хранятся в таблицах. Их структура напоминает Microsoft Excel. Каждая строка в таблице - это связанный набор данных, который относится к одному предмету. Например, в таблице можно посмотреть все детали об одном сотруднике - его фамилию, имя, номер, отдел, зарплату, год рождения, адрес и телефон:</p>
4
<p>Разные таблицы предназначены для хранения информации о различных сущностях, например, пользователи, статьи или заказы в интернет-магазине. В типичных веб-приложениях таблиц десятки и сотни, в больших - тысячи. Например, в Хекслете их несколько сотен.</p>
4
<p>Разные таблицы предназначены для хранения информации о различных сущностях, например, пользователи, статьи или заказы в интернет-магазине. В типичных веб-приложениях таблиц десятки и сотни, в больших - тысячи. Например, в Хекслете их несколько сотен.</p>
5
<p>У таблиц в базе данных есть определенная структура. Она включает:</p>
5
<p>У таблиц в базе данных есть определенная структура. Она включает:</p>
6
<ul><li><strong>Название таблицы</strong>- уникально в рамках одной базы данных. Имя таблицы и ее структура задаются при создании, но их можно изменить впоследствии</li>
6
<ul><li><strong>Название таблицы</strong>- уникально в рамках одной базы данных. Имя таблицы и ее структура задаются при создании, но их можно изменить впоследствии</li>
7
<li><strong>Столбцы</strong>или<strong>поля</strong>- располагаются в строго определенном порядке, и у каждого поля уникальное имя в рамках одной таблицы</li>
7
<li><strong>Столбцы</strong>или<strong>поля</strong>- располагаются в строго определенном порядке, и у каждого поля уникальное имя в рамках одной таблицы</li>
8
<li><strong>Тип данных</strong>- сопоставляется каждому столбцу. Тип данных ограничивает набор допустимых значений, которые можно присвоить столбцу, и определяет смысловое значение данных для вычислений. Например, в столбец числового типа нельзя записать обычные текстовые строки, но его данные можно использовать в математических вычислениях, и наоборот</li>
8
<li><strong>Тип данных</strong>- сопоставляется каждому столбцу. Тип данных ограничивает набор допустимых значений, которые можно присвоить столбцу, и определяет смысловое значение данных для вычислений. Например, в столбец числового типа нельзя записать обычные текстовые строки, но его данные можно использовать в математических вычислениях, и наоборот</li>
9
<li><strong>Строки</strong>- их число переменно и отражает текущий объем данных. В отличие от таблиц в Exсel, в таблицах реляционных баз данных нет никаких гарантий относительно порядка строк в таблице. Он может быть любым, и его можно задать с помощью языка SQL, который рассмотрим позже. Объем данных в разных таблицах сильно отличается - от нескольких штук до миллиардов записей</li>
9
<li><strong>Строки</strong>- их число переменно и отражает текущий объем данных. В отличие от таблиц в Exсel, в таблицах реляционных баз данных нет никаких гарантий относительно порядка строк в таблице. Он может быть любым, и его можно задать с помощью языка SQL, который рассмотрим позже. Объем данных в разных таблицах сильно отличается - от нескольких штук до миллиардов записей</li>
10
</ul><p>Пример таблицы с именем users:</p>
10
</ul><p>Пример таблицы с именем users:</p>
11
<p><strong>Структура</strong></p>
11
<p><strong>Структура</strong></p>
12
<p>Включает в себя имена полей и их типы. Структура определяет столбцы:</p>
12
<p>Включает в себя имена полей и их типы. Структура определяет столбцы:</p>
13
<p>first_name string last_name string email string created_at datetime</p>
13
<p>first_name string last_name string email string created_at datetime</p>
14
<p><strong>Содержание</strong></p>
14
<p><strong>Содержание</strong></p>
15
<p>Включает в себя данные. Содержание определяет строки:</p>
15
<p>Включает в себя данные. Содержание определяет строки:</p>
16
<p>| first_name | last_name | email | created_at | |------------|-----------|-------------------|------------| | Сергей | Петров | serj@gmail.com | 11.10.2005 | | Иван | Сидоров | sidorov@yahoo.com | 03.08.2000 | | Виктор | Курганов | vkurg@indbox.com | 23.12.2011 |</p>
16
<p>| first_name | last_name | email | created_at | |------------|-----------|-------------------|------------| | Сергей | Петров | serj@gmail.com | 11.10.2005 | | Иван | Сидоров | sidorov@yahoo.com | 03.08.2000 | | Виктор | Курганов | vkurg@indbox.com | 23.12.2011 |</p>
17
<p><em>first_name, last_name, email</em>и<em>created_at</em>- это имена столбцов. Строки содержат данные по каждому столбцу, а в поле<em>created_at</em>установлен тип данных<em>datetime</em>, поэтому туда нельзя записать текст.</p>
17
<p><em>first_name, last_name, email</em>и<em>created_at</em>- это имена столбцов. Строки содержат данные по каждому столбцу, а в поле<em>created_at</em>установлен тип данных<em>datetime</em>, поэтому туда нельзя записать текст.</p>
18
<p>В дальнейшем эту структуру можно модифицировать: удалять и добавлять поля, менять типы данных.</p>
18
<p>В дальнейшем эту структуру можно модифицировать: удалять и добавлять поля, менять типы данных.</p>
19
<h2>Правила именования сущностей базы данных</h2>
19
<h2>Правила именования сущностей базы данных</h2>
20
<p>Именование таблиц и полей в базе не фиксировано и зависит от программиста. Например, в проектах, где используют ORM - название группы фреймворков или библиотек, которые помогают моделировать предметную область и связывать ее с базой данных, - имена определяются соглашениями конкретной экосистемы.</p>
20
<p>Именование таблиц и полей в базе не фиксировано и зависит от программиста. Например, в проектах, где используют ORM - название группы фреймворков или библиотек, которые помогают моделировать предметную область и связывать ее с базой данных, - имена определяются соглашениями конкретной экосистемы.</p>
21
<p>В этом курсе мы используем именование, принятое во фреймворке<strong>Rails</strong>и его ORM (ActiveRecord). Оно состоит из нескольких правил:</p>
21
<p>В этом курсе мы используем именование, принятое во фреймворке<strong>Rails</strong>и его ORM (ActiveRecord). Оно состоит из нескольких правил:</p>
22
<ul><li>Все имена в нижнем регистре</li>
22
<ul><li>Все имена в нижнем регистре</li>
23
<li>Для имен из нескольких слов используется<strong>snake_case</strong>- когда слова разделяются подчеркиванием _ без пробелов</li>
23
<li>Для имен из нескольких слов используется<strong>snake_case</strong>- когда слова разделяются подчеркиванием _ без пробелов</li>
24
<li>Имя таблицы во множественном числе</li>
24
<li>Имя таблицы во множественном числе</li>
25
</ul><p>В отличие от Excel, где ввод данных и отображение визуальные, в СУБД у данных нет никакого представления. Они вводятся и выбираются с помощью команд. При этом существуют специальные клиенты, которые используются, чтобы визуализировать управление базами данных. Они бывают платными и бесплатными. Из бесплатных в мире PostgreSQL наиболее популярен<a>PgAdmin</a>:</p>
25
</ul><p>В отличие от Excel, где ввод данных и отображение визуальные, в СУБД у данных нет никакого представления. Они вводятся и выбираются с помощью команд. При этом существуют специальные клиенты, которые используются, чтобы визуализировать управление базами данных. Они бывают платными и бесплатными. Из бесплатных в мире PostgreSQL наиболее популярен<a>PgAdmin</a>:</p>
26
<p>Рекомендуем поставить его и поэкспериментировать внутри.</p>
26
<p>Рекомендуем поставить его и поэкспериментировать внутри.</p>
27
<p>Управлять структурой базы данных и данными внутри таблиц - две разные задачи. При этом они выполняются одним инструментом - языком SQL.</p>
27
<p>Управлять структурой базы данных и данными внутри таблиц - две разные задачи. При этом они выполняются одним инструментом - языком SQL.</p>
28
<h2>Язык SQL</h2>
28
<h2>Язык SQL</h2>
29
<p><strong>SQL (Structured Query Language)</strong>- специализированный язык, который разработали, чтобы управлять данными в реляционных СУБД.</p>
29
<p><strong>SQL (Structured Query Language)</strong>- специализированный язык, который разработали, чтобы управлять данными в реляционных СУБД.</p>
30
<p>SQL разрабатывается независимо от баз данных и имеет собственный стандарт, который реализуют конкретные базы данных. Поэтому на базовом уровне все реляционные базы работают примерно одинаково.</p>
30
<p>SQL разрабатывается независимо от баз данных и имеет собственный стандарт, который реализуют конкретные базы данных. Поэтому на базовом уровне все реляционные базы работают примерно одинаково.</p>
31
<p>Когда вы научитесь работать с одной базой, сможете спокойно переключиться на другую. Базы данных поддерживают основной SQL и дополняют его своими возможностями. На протяжении курса мы будем использовать только стандартные возможности SQL, например, управлять ролями и их правами, создавать базы данных, обновлять данные. Такие основные возможности должен знать и понимать каждый программист.</p>
31
<p>Когда вы научитесь работать с одной базой, сможете спокойно переключиться на другую. Базы данных поддерживают основной SQL и дополняют его своими возможностями. На протяжении курса мы будем использовать только стандартные возможности SQL, например, управлять ролями и их правами, создавать базы данных, обновлять данные. Такие основные возможности должен знать и понимать каждый программист.</p>
32
<h2>Выводы</h2>
32
<h2>Выводы</h2>
33
<p>В этом уроке мы рассмотрели структуру реляционных баз данных. Ее основные сущности: название таблицы, столбцы или поля, тип данных и строки. У них есть правила использования и именования, но они будут меняться в зависимости от того, какой фреймворк будет использовать программист.</p>
33
<p>В этом уроке мы рассмотрели структуру реляционных баз данных. Ее основные сущности: название таблицы, столбцы или поля, тип данных и строки. У них есть правила использования и именования, но они будут меняться в зависимости от того, какой фреймворк будет использовать программист.</p>
34
<p>Чтобы управлять структурой базы данных и данными внутри таблиц, используют язык SQL. Дальше в курсе мы будем на практике применять его стандартные возможности.</p>
34
<p>Чтобы управлять структурой базы данных и данными внутри таблиц, используют язык SQL. Дальше в курсе мы будем на практике применять его стандартные возможности.</p>