kek
Artem1) В реляционной модели объекты представлены в виде таблиц. В виде таблиц могут отображаться не только объекты, но и связи. Таблица состоит из произвольного кол-ва строк и столбцов. Обязательное условие построения реляционной модели - в каждой таблице есть первичный ключ.
3 типа связей: (1 к 1, 1 к многим, многие ко многим).
Отношение это подмножество декартова произведения множеств Т1, Т2, Т3, ..Тn, где Ti = типа данных (домены). Кол-во множеств T = арность отношения.
Отношение состоит из заголовка и тела. Заголовок - множество атрибутов, а тело - множество кортежей, соответствующих заголовку.
Если проще, то заголовок - первая строка таблицы
тело - остальные строки таблицы
Свойства отношения:
Нет одинаковых кортежей
Порядок кортежей в отношении не определен
Порядок атрибутов в заголовке отношения не определен
Потенциальный ключ — в реляционной модели данных — подмножество атрибутов отношения, удовлетворяющее требованиям уникальности и минимальности (несократимости).
- Уникальность означает, что нет и не может быть двух кортежей данного отношения, в которых значения этого подмножества атрибутов совпадают (равны).
- Свойство уникальности определяется не для конкретного значения переменной отношения в тот или иной момент времени, а по всем возможным значениям, то есть следует из внешнего знания о природе и закономерностях данных, которые могут находиться в переменной отношения.
- Минимальность (несократимость) означает, что в составе потенциального ключа отсутствует меньшее подмножество атрибутов, удовлетворяющее условию уникальности. Иными словами, если из потенциального ключа убрать любой атрибут, он утратит свойство уникальности.
Поскольку все кортежи в отношении по определению уникальны, в нём всегда существует хотя бы один потенциальный ключ (например, включающий все атрибуты отношения).
В отношении может быть одновременно несколько потенциальных ключей. Один из них может быть выбран в качестве первичного ключа отношения, тогда другие потенциальные ключи называют альтернативными ключами.
Теоретически, все потенциальные ключи равно пригодны в качестве первичного ключа, на практике в качестве первичного обычно выбирается тот из потенциальных ключей, который имеет меньший размер (физического хранения) и/или включает меньшее количество атрибутов.
Первичный ключ один из потенциальных ключей. Т.е. тоже обладает принципами уникальности и минимальности (несократимости).
Виды связей между отношениями:
1 к 1
1 к м
м к м
Транзакция - последовательность операций над БД, рассматриваемая СУБД как единое целое. Если во время транзакции произойдёт сбой, то частичные изменения должны быть отменены для возвращения БД в прежнее, непротиворечивое состояние. Транзакции может инициализировать один пользователь или несколько. По этому признаку БД классифицируются как однопользовательские и многопользовательские.
Целостность базы данных (database integrity) — соответствие имеющейся в базе данных информации её внутренней логике, структуре и всем явно заданным правилам. Каждое правило, налагающее некоторое ограничение на возможное состояние базы данных, называется ограничением целостности (integrity constraint). Примеры правил: вес детали должен быть положительным; количество знаков в телефонном номере не должно превышать 25; возраст родителей не может быть меньше возраста их биологического ребёнка и т. д.
Понятие согласованности, или целостности данных является ключевым понятием баз данных.
Очевидно, что ограничения должны быть формально объявлены для СУБД, после чего СУБД должна предписывать их выполнение. Объявление ограничений сводится просто к использованию соответствующих средств языка базы данных, а соблюдение ограничений осуществляется с помощью контроля со стороны СУБД над операциями обновления, которые могут нарушить эти ограничения, и запрещения тех операций, которые их действительно нарушают. При первоначальном объявлении ограничения система должна проверить, удовлетворяет ли ему в настоящий момент база данных. Если это условие не соблюдается, ограничение должно быть отвергнуто; в противном случае оно принимается (то есть записывается в каталог системы) и начиная с этого момента соблюдается
Задача аналитика и проектировщика базы данных — возможно более полно выявить все имеющиеся ограничения целостности и задать их в базе данных.
Механизмы обеспечения целостности являются одной из составляющих концепции модели данных
Целостность БД не гарантирует достоверности (истинности) содержащейся в ней информации, но обеспечивает по крайней мере правдоподобность этой информации, отвергая заведомо невероятные, невозможные значения. Таким образом, не следует путать целостность (непротиворечивость) БД с истинностью БД. Истинность и непротиворечивость — не одно и то же
file = open("numbers", 'r')
numbers = []
for number in file:
numbers.append(int(number))
file.close()
for number in numbers:
print(number + numbers[-1])