Ограничение целостности сущностей состоит в том, что любой кортеж отношения должен отличаться от любого другого его кортежа, т.е., другими словами, любое отношение должно обладать первичным ключом. Это требование удовлетворяется автоматически, если в системе не нарушаются базовые свойства отношений.
NULL-значение – это некий маркер, показывающий, что значение неизвестно.
Под ссылочной целостностью понимается обеспечение требования, чтобы значения внешнего ключа экземпляра дочерней сущности соответствовали значениям первичного ключа в родительской сущности.
Транзакция – это последовательность операций, выполняемых отдельным пользователем или прикладной программой над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (commit) изменения БД, произведенные этой транзакцией, во внешней памяти, либо ни одно из этих изменений никак не отражается на состоянии БД, происходит откат транзакции. Откат (rollback) транзакции означает, что все уже выполненные операции, входящие в состав транзакции, отменяются и объекты базы данных, затронутые этими операциями, возвращены в исходное состояние. Понятие транзакции необходимо для поддержания логической целостности БД.
Объекты, поддерживаемые субд:
объекты, предназначенные для хранения данных (в реляционных СУБД это таблицы, поля);
индексы – объекты БД, поддерживаемые СУБД для повышения производительности сортировки и поиска данных и обеспечения уникальности данных (реализации ключей);
ограничения или правила (constraints, rules) – объекты, содержащие сведения об ограничениях, накладываемых на возможные значения полей и так называемые ссылочные ограничения (referential constraints), включают в себя, прежде всего, ограничения на уникальные непустые значения первичного ключа и ограничения на внешние ключи (внешний ключ может содержать только значения первичного ключа другой таблицы);
представления (views) – виртуальные таблицы, предоставляющую данные из одной или нескольких реальных таблиц;
триггеры (triggers) – это предварительно определенное действие или последовательность действий, автоматически осуществляемых при выполнении операций обновления, добавления или удаления данных;
хранимые процедуры (stored procedures) – это специальный вид процедур, которые выполняются сервером баз данных, пишутся на процедурном языке, зависящем от конкретной СУБД, могут вызывать друг друга, читать, изменять данные в таблицах, вызваться из клиентского приложения, работающего с базой данных;
объекты для генерации первичных ключей;
списки пользователей и ролей.
SQL (Structured Query Language – «язык структурированных запросов») – универсальный компьютерный язык, применяемый для создания, модификации и управления данными в реляционных базах данных.
Группы операторов sql:
Операторы DDL (Data Definition Language) – операторы определения объектов БД, предназначенных для создания БД (таблиц, индексов и т.д.) и редактирования ее схемы. В операторов определения объектов базы данных допустимо использовать данные определенных в языке типов.
Операторы DML (Data Manipulation Language) – операторы манипулирования данными, предназначенные для внесения изменений в содержимое таблиц базы данных.
Операторы определения доступа к данным DCL (Data Control Language) – операторы, определяющие права и возможности доступа к данным.
Операторы управления транзакциями TCL (Transaction Control Language) – операторы, определяющие правила управления транзакциями, защиту данных.
Темпоральные БД позволяют сохранить информацию об эволюции объектов предметной области: для любого объекта, который был создан в момент времени tstart и закончил свое существование в момент времени tend, в базе данных будут сохранены все его состояния на временном интервале [tstart,tend].
Семантическая модель «Сущность-Связь»
Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов. Представляет наглядное представление концептуальных схем БД. Все ER-диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов), и взаимосвязей между сущностями.
Основными понятиями ER-модели являются: сущность, связь и атрибут.
Сущность – любой реальный или абстрактный различимый объект (объект, который можно отличить от другого), информацию о котором необходимо хранить в базе данных.
Понятие тип сущности относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром – Москва, Киев и т.д.
Связь – это графически изображаемая ассоциация, устанавливаемая между двумя типами сущностей, значимая для рассматриваемой предметной области.
Атрибут – поименованная характеристика сущности, другими словами – любая деталь, которая служит для уточнения, идентификации, классификации, числовой характеристики или выражения состояния сущности.
Каждый тип атрибута имеет много экземпляров или значений: (ЦВЕТ - Красный, Синий, Банановый, Белая ночь и т.д.) однако каждому экземпляру сущности присваивается только одно значение атрибута.
Уникальным идентификатором сущности является атрибут, комбинация атрибутов, комбинация связей или комбинация связей и атрибутов, уникально отличающая любой экземпляр сущности от других экземпляров сущности того же типа.
Связь изображает графически ассоциацию, устанавливаемую между сущностями, и представляется в виде линии.
Эта ассоциация всегда является бинарной и может существовать между двумя разными сущностями или между сущностью и ей же самой (рекурсивная связь). В любой связи выделяются два конца (в соответствии с существующей парой связываемых сущностей), на каждом из которых указывается:
имя конца связи,
степень/мощность конца связи (сколько экземпляров данной сущности связывается),
модальность – обязательность связи.
Обязательность связи иногда называют модальностью. Модальность показывает, любой ли экземпляр данной сущности должен участвовать в данной связи. Модальность связи бывает двух типов: «может» и «должен».
