Основи баз даних
VTFK • 2025
Лекція 3: Векторні БД та AI
Фокус: як таблиці зв'язуються між собою
Математична модель представлення даних у вигляді відношень (таблиць) з кортежами та атрибутами.
Аналогія: Як Excel-таблиця з чіткими правилами для унікальності та зв'язків
Зв'язок PK → FK
CREATE TABLE table_name (
column data_type constraints,
...
);
| Тип | Призначення |
|---|---|
| PRIMARY KEY | Єдиний ідентифікатор рядка |
| FOREIGN KEY | Зв'язує таблиці, захищає посилання |
| COMPOSITE KEY | PK з кількох колонок |
| CANDIDATE KEY | Можливий PK, відповідає унікальності |
| SURROGATE KEY | Штучний PK (наприклад, SERIAL) |
Що робити при видаленні/оновленні батьківського рядка
PK, FK, UNIQUE, CHECK
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT NOT NULL UNIQUE,
name TEXT NOT NULL,
role TEXT CHECK (role IN ('student','teacher'))
);
CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT NOT NULL REFERENCES users(id) ON DELETE CASCADE,
item TEXT NOT NULL,
created_at TIMESTAMP DEFAULT now()
);
💡 Порада: Тестуйте обмеження одразу після створення таблиць
Немає унікального ідентифікатора — важко посилатися
CREATE TABLE products (name TEXT, price NUMERIC);
Немає стабільного ключа для FK та оновлень
CREATE TABLE products (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL,
price NUMERIC NOT NULL
);
PK забезпечує унікальність і дозволяє референси
Від вимог до схеми
Зібрати сутності та атрибути
Обрати PK та можливі candidate keys
Визначити FK та cardinality
Перевірити 1NF/2NF/3NF
Створити таблиці та прогнати обмеження
FK перевіряє, що посилання веде на наявний PK.
Сутності та ключі
Демо створення таблиць та перевірки обмежень
Готові? Почали кодити!
Далі — типи даних у SQL
Лекція 5: Типи даних у SQL
Дякую за увагу! 💾