PostgreSQL — это СУБД, созданная для работы с реляционными базами данных. Что такое «реляционная», мы рассмотрим в будущем уроке. А в этом разберем, как устроены такие базы данных.
Данные в реляционных базах данных хранятся в таблицах. Их структура напоминает Microsoft Excel. Каждая строка в таблице — это связанный набор данных, который относится к одному предмету. Например, в таблице можно посмотреть все детали об одном сотруднике — его фамилию, имя, номер, отдел, зарплату, год рождения, адрес и телефон:
Разные таблицы предназначены для хранения информации о различных сущностях, например, пользователи, статьи или заказы в интернет-магазине. В типичных веб-приложениях таблиц десятки и сотни, в больших — тысячи. Например, в Хекслете их несколько сотен.
У таблиц в базе данных есть определенная структура. Она включает:
Пример таблицы с именем users
:
Структура
Включает в себя имена полей и их типы. Структура определяет столбцы:
first_name string
last_name string
email string
created_at datetime
Содержание
Включает в себя данные. Содержание определяет строки:
| 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 |
first_name, last_name, email и created_at — это имена столбцов. Строки содержат данные по каждому столбцу, а в поле created_at установлен тип данных datetime, поэтому туда нельзя записать текст.
В дальнейшем эту структуру можно модифицировать: удалять и добавлять поля, менять типы данных.
Именование таблиц и полей в базе не фиксировано и зависит от программиста. Например, в проектах, где используют ORM — название группы фреймворков или библиотек, которые помогают моделировать предметную область и связывать ее с базой данных, — имена определяются соглашениями конкретной экосистемы.
В этом курсе мы используем именование, принятое во фреймворке Rails и его ORM (ActiveRecord). Оно состоит из нескольких правил:
_
без пробеловВ отличие от Excel, где ввод данных и отображение визуальные, в СУБД у данных нет никакого представления. Они вводятся и выбираются с помощью команд. При этом существуют специальные клиенты, которые используются, чтобы визуализировать управление базами данных. Они бывают платными и бесплатными. Из бесплатных в мире PostgreSQL наиболее популярен PgAdmin:
Рекомендуем поставить его и поэкспериментировать внутри.
Управлять структурой базы данных и данными внутри таблиц — две разные задачи. При этом они выполняются одним инструментом — языком SQL.
SQL (Structured Query Language) — специализированный язык, который разработали, чтобы управлять данными в реляционных СУБД.
-- Пример запроса, который извлекает
-- информацию о пользователях из таблицы users
SELECT * FROM users;
SQL разрабатывается независимо от баз данных и имеет собственный стандарт, который реализуют конкретные базы данных. Поэтому на базовом уровне все реляционные базы работают примерно одинаково.
Когда вы научитесь работать с одной базой, сможете спокойно переключиться на другую. Базы данных поддерживают основной SQL и дополняют его своими возможностями. На протяжение курса мы будем использовать только стандартные возможности SQL, например, управлять ролями и их правами, создавать базы данных, обновлять данные. Такие основные возможности должен знать и понимать каждый программист.
В этом уроке мы рассмотрели структуру реляционных баз данных. Ее основные сущности: название таблицы, столбцы или поля, тип данных и строки. У них есть правила использования и именования, но они будут меняться в зависимости от того, какой фреймворк будет использовать программист.
Чтобы управлять структурой базы данных и данными внутри таблиц, используют язык SQL. Дальше в курсе мы будем на практике применять его стандартные возможности.
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт