Урок 2. Основы SQL и структура данных в PostgreSQL

Основы SQL и структура данных в PostgreSQL PostgreSQL

Изучите основы SQL, создайте свою первую базу данных и таблицу в PostgreSQL. Узнайте о типах данных и как правильно структурировать информацию.

Введение в SQL

SQL (Structured Query Language) — это язык, разработанный для управления данными в реляционных базах данных. Представьте, что SQL — это универсальный язык, на котором вы «разговариваете» с базой данных.

Основные категории команд SQL:

  • DDL (Data Definition Language): CREATE, ALTER, DROP
  • DML (Data Manipulation Language): SELECT, INSERT, UPDATE, DELETE
  • DCL (Data Control Language): GRANT, REVOKE

Создание базы данных

Давайте создадим нашу первую базу данных:

CREATE DATABASE my_first_db;

Для подключения к новой базе данных:

Mac:

\c my_first_db

Windows:

\connect my_first_db

Типы данных в PostgreSQL

PostgreSQL предлагает множество типов данных. Вот некоторые из наиболее часто используемых:

  • Числовые: INTEGER, BIGINT, NUMERIC, REAL
  • Символьные: CHAR, VARCHAR, TEXT
  • Дата/время: DATE, TIME, TIMESTAMP
  • Логические: BOOLEAN
  • Специальные: JSON, UUID

Пример:

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(255),
    age INTEGER,
    registration_date DATE
);

Создание таблицы

Теперь давайте создадим нашу первую таблицу:

CREATE TABLE books (
    id SERIAL PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    author VARCHAR(100),
    publication_year INTEGER,
    isbn VARCHAR(13) UNIQUE,
    price NUMERIC(6,2),
    is_available BOOLEAN DEFAULT TRUE
);

Разберем этот код:

  • SERIAL: автоинкрементное целое число
  • PRIMARY KEY: уникальный идентификатор для каждой записи
  • NOT NULL: поле не может быть пустым
  • UNIQUE: значение должно быть уникальным в пределах таблицы
  • DEFAULT: значение по умолчанию

Изменение структуры таблицы

Иногда нам нужно изменить структуру существующей таблицы. Для этого используется команда ALTER TABLE:

Добавление нового столбца:

ALTER TABLE books ADD COLUMN genre VARCHAR(50);

Изменение типа данных столбца:

ALTER TABLE books ALTER COLUMN price TYPE NUMERIC(7,2);

Удаление столбца:

ALTER TABLE books DROP COLUMN genre;

Удаление таблицы и базы данных

Если нам нужно удалить таблицу:

DROP TABLE books;

Для удаления базы данных (будьте осторожны!):

DROP DATABASE my_first_db;

Практический пример

Давайте создадим базу данных для небольшого онлайн-магазина:

CREATE DATABASE online_store;

\c online_store

CREATE TABLE products (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    description TEXT,
    price NUMERIC(10,2) NOT NULL,
    stock_quantity INTEGER NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE customers (
    id SERIAL PRIMARY KEY,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    registration_date DATE DEFAULT CURRENT_DATE
);

CREATE TABLE orders (
    id SERIAL PRIMARY KEY,
    customer_id INTEGER REFERENCES customers(id),
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    total_amount NUMERIC(12,2) NOT NULL
);

В этом уроке мы познакомились с основами SQL и структурой данных в PostgreSQL. Мы научились создавать базы данных и таблицы, узнали о различных типах данных и как их использовать. Теперь у вас есть фундамент для дальнейшего изучения PostgreSQL и работы с данными. В следующем уроке мы погрузимся в манипуляцию данными и научимся выполнять CRUD операции.

Домашнее задание:

  1. Создайте базу данных для библиотеки.
  2. В этой базе данных создайте таблицы для книг, авторов и читателей.
  3. Добавьте в таблицу книг столбец для рейтинга (от 1 до 5 звезд).
  4. Попробуйте изменить тип данных одного из столбцов.
  5. Создайте еще одну таблицу по вашему выбору и добавьте в нее не менее 5 столбцов разных типов данных.

Удачи в изучении PostgreSQL!

Чтобы научиться эффективно управлять данными, ознакомьтесь с уроком 3: Мастерство CRUD операций в PostgreSQL.

Оцените статью
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x