Основные понятия
- База данных (БД) — набор взаимосвязанных данных
- Система управления базами данных (СУБД) — комплекс программных средств для управления данными
- СУБД отвечает за: поддержку языка БД, механизмы хранения и извлечения данных, оптимизацию процессов извлечения данных и т.д.
ТИПЫ СУБД
- Файл-серверные: 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 созданы, и таблицы ссылаются друг на друга.

