Найти в Дзене
Дойти до IT

Управляй структурой, властвуй над данными - руководство по оптимизации базы данных

Таблица — это самый популярный и простой способ организации данных в базе. В таблице есть поля — столбцы, которые содержат информацию об определённом свойстве каждой записи в таблице. Запись же представляет собой строку таблицы базы данных. Она включает в себя набор значений, соответствующих структуре таблицы, и описывает конкретный объект или сущность. Скопировать ответ Разберём понятия на примере. Существует таблица «Пользователи» с полями id (уникальный идентификатор, тип данных integer), name (имя, тип данных varchar), age (возраст, тип данных integer). В данной таблице существует  запись cо значениями: id=1, name=«Иван», age=18. В SQL для работы с таблицами используют такую категорию операций как DDL. DDL (Data Definition Language) — это язык определения данных, который используется для создания, изменения и удаления структуры базы данных. Основные операции DDL включают в себя: 1. CREATE: Создание новых объектов базы данных. 2. ALTER: Изменение структуры существующих объектов базы
Оглавление

Основные понятия

Таблица — это самый популярный и простой способ организации данных в базе.

В таблице есть поля — столбцы, которые содержат информацию об определённом свойстве каждой записи в таблице.

Запись же представляет собой строку таблицы базы данных. Она включает в себя набор значений, соответствующих структуре таблицы, и описывает конкретный объект или сущность.

Скопировать ответ

Разберём понятия на примере.

Существует таблица «Пользователи» с полями id (уникальный идентификатор, тип данных integer), name (имя, тип данных varchar), age (возраст, тип данных integer). В данной таблице существует  запись cо значениями: id=1, name=«Иван», age=18.

DDL

В SQL для работы с таблицами используют такую категорию операций как DDL.

DDL (Data Definition Language) — это язык определения данных, который используется для создания, изменения и удаления структуры базы данных.

Основные операции DDL включают в себя:

1. CREATE: Создание новых объектов базы данных.

2. ALTER: Изменение структуры существующих объектов базы данных.

3. DROP: Удаление объектов базы данных.

4. TRUNCATE: Очистка данных из таблицы без удаления самой структуры таблицы.

Практическая часть

Давайте закрепим полученные теоретические знания на практике, поработав с базой данных «first», которую мы создали на одном из предыдущих уроков, используя систему управления базами данных SQLite.

Чтобы выполнять запросы к базе данных «first», подключимся к ней через контекстное меню.

-2

Теперь создадим новую таблицу с названием «Zarplata», состоящую из трёх полей: id, name и money. Для поля id используем тип данных int, для name — varchar длиной не более 255 символов, а для money — float.

Чтобы выполнить запрос, необходимо нажать на синюю стрелку.

-3

В разделе «Статус» будет отображена информация о том, как прошёл запрос.

-4

Теперь добавим в таблицу новое поле is_free с типом данных bool, которое будет указывать на то, свободна ли должность у работодателя или нет.

ALTER TABLE Zarplata ADD is_free bool;

Проверим структуру таблицы Zarplata. Для этого нужно 2 раза кликнуть ЛКМ по таблице.

-5
-6

После проверки структуры таблицы «Zarplata» может возникнуть вопрос о несоответствии типов данных классам хранения в SQLite. На самом деле всё довольно просто. SQLite использует свои классы хранения внутри системы, то есть при обработке запросов или при создании таблиц через саму SQLite, а не через запрос. Однако внешне указывается тип данных, который задал пользователь.

Далее мы переименуем столбец «name» в «job_title», что означает «название должности».

ALTER TABLE Zarplata RENAME COLUMN name TO job_title;

Если часть запроса будет подчёркнута красным, это не должно вызывать беспокойства — это особенность работы SQLite.

Также мы воспользуемся конструкцией ALTER TABLE, чтобы переименовать таблицу «Zarplata» в «Salary»

ALTER TABLE Zarplata RENAME TO Salary;
-7

Следующий запрос направлен на измение типа данных поля «money» c float на int.

ALTER TABLE Salary ALTER COLUMN money int;

Однако SQLite не поддерживает эту операцию, поскольку это самая простая система управления базами данных. Изменить тип таблицы можно только путём создания новой таблицы с нужным типом поля (да, иногда даже в простом можно столкнуться со сложностями).

Поэтому при выполнении этого запроса появится ошибка.

-8

Вам нужно просто запомнить, что таким запросом можно изменить тип данных нужного поля, но не в SQLite)

Последей операцией удалим поле «is_free».

ALTER TABLE Salary DROP COLUMN is_free;

После выполения всех операций структура таблицы «Salary» будет выглядеть следующим образом.

-9