Основные понятия
- База данных (БД) – набор взаимосвязанных данных
- Система управления базами данных (СУБД) – комплекс программных средств для управления данными
- СУБД отвечает за: поддержку языка БД, механизмы хранения и извлечения данных, оптимизацию процессов извлечения данных и т.д.
ТИПЫ СУБД
- Файл-серверные: Microsoft Access
- Клиент-серверные: MySQL, PostgreSQL…
- Встраиваемые: SQLite
Основные клиент-серверные СУБД
- MysQL
- PostgreSQL
- Oracle
- MS SQL
- MariaDB
- все они – реляционные.
- и все они поддерживают язык SQL
(Structured Query Language – язык структурированных запросов)
Реляционная модель
- Сущность – например, клиенты, заказы, поставщики
- Таблица – отношение
- Столбец – атрибут
- Строка / запись – кортеж
- Результирующий набор – результат запроса SQL:

SQL — Structured Query Language
- SQL – непроцедурный язык и не язык общего назначения
- Если необходимо реализовывать процедурную логику – нужен другой язык, такой как Python, C#, Java и т.д.
- Результатом SQL запроса является результирующий набор (как правило – таблица)
- DDL (Data Definition Language) – CREATE, ALTER, DROP
- DML (Data Manipulation Language) – SELECT, INSERT, UPDATE, DELETE
- TCL (Transaction Control Language) – COMMIT, ROLLBACK, SAVEPOINT
- DCL (Data Control Language) – GRANT, REVOKE, DENY
- ANSI SQL-92
- Различия в процедурных расширениях:
PL/pgSQL в PostgreSQL, PL/SQL в Oracle, T-SQL в MS SQL
Создадим в PostgreSQL таблицу из задания ‘Viljaladu’:
‘Andmetabel koormad: (id, autonr, sisenemismass, lahkumismass)’

В задании подразумевалось, что таблица заполняется автоматически. Об этом мы поговорим позже. Сейчас можно заполнить таблицу вручную. Есть несколько способов: в окне Query или открыв таблицу через

Но прежде важно в Properties задать столбцу ID таблицы Primary key

Вот такая таблица у нас получилась:

Реляционные базы данных основаны на реляционной модели — интуитивно понятном, наглядном табличном способе представления данных. Каждая строка, содержащая в таблице такой базы данных, представляет собой запись с уникальным идентификатором, который называют ключом. Столбцы таблицы имеют атрибуты данных, а каждая запись обычно содержит значение для каждого атрибута, что дает возможность легко устанавливать взаимосвязь между элементами данных.
Вот примеры:


Таблица Õpilane ссылается на таблицу Ryhm с помощью Foreign Key:

А это реляционная схема по заданию ‘Viljaladu’:

Как видно, Primary Key и Foreign Key также созданы, и таблицы ссылаются друг на друга.

