2. Базы данных и СУБД
База данных - набор сведений, хранящихся определенным образом.
Система Управления Базой Данных (СУБД) - это совокупность различных
компонентов и т.п.
MySQL, PostgreSQL - СУБД, базы данных - реляционные, объектные, графовые и т.п.
3. Базовые понятия
Мы далее рассматриваем реляционные базы данных.
Атрибут отношения - столбец в таблице.
Кортеж - набор значений (v1, v2 .. vn). По сути - ряд в таблице
Отношение - сама таблица со всеми кортежами
5. Ключи
Атрибут отношения или множество атрибутов отношения, однозначно
определяющих кортеж в отношении, называется ключом отношения.
Для одного отношения можно найти несколько разных ключей.
6. Первичный ключ
Элемент из множества ключей. Любой
На практике обычно делают дополнительный атрибут (напр. id) и его определяют
как первичный ключ. В большинстве случаев это полностью удолетворяет
потребностям. В MySQL и большинстве других субд указывается auto_increment,
чтобы избежать дублирования ключа.
7. Внешний ключ
Внешним ключом может быть любой атрибут отношения. Внешний ключ указывает
на ключ другого отношения.
Используется для связи между отношениями и контроля целостности данных на
уровне базы данных.
8. Внешний ключ
Внешним ключом может быть любой атрибут отношения. Внешний ключ указывает
на ключ другого отношения.
Используется для связи между отношениями и контроля целостности данных на
уровне базы данных.
10. Вторая нормальная форма
Все атрибуты зависят от первичного ключа и не зависят от его подмножества. Если
ключ состоит из одного атрибута, то пропускаем.
16. INSERT
INSERT INTO ‘table’ (v1) VALUES (v2)
INSERT INTO ‘table’ SELECT … (должна совпадать
размерность)
For Only MySQL:
INSERT INTO ‘table’ SET col_name = v2
17. SELECT
SELECT * FROM ‘table’
WHERE - условие на выбору данных
GROUP BY - группировка данных
HAVING - условие на результат агрегатных функций
ORDER BY - сортировка
LIMIT - ограничение выборки
20. JOIN
SELECT some_columns FROM table1
[TYPE JOIN] table2 ON table1.col = table2.col;
INNER JOIN
LEFT (OUTER) JOIN
RIGHT (OUTER) JOIN
FULL OUTER JOIN