- •1.Компоненты системы баз данных. Преимущества и проблемы использования баз данных по сравнению с бумажным и файловым хранением данных.
- •2.Реляционная и другие (иерархическая, сетевая, постреляционная) модели данных.
- •3.Трёхуровневая архитектура системы баз данных.
- •4.Архитектура клиент-сервер
- •5.Реляционные объекты данных: домены (понятие, назначение, реализация) и отношения (понятие отношения и др. Терминов реляционной модели данных, определение отношения, свойства отношения)
- •6.Целостность реляционных данных: первичный ключ (определение, назначение, виды первичных ключей, доказательство существования, первичный ключ и null-значения)
- •7.Целостность реляционных данных: внешние ключи (определение, назначение, виды внешних ключей, правило ссылочной целостности, способы поддержания ссылочной целостности, внешний ключ и null-значения)
- •8.Реляционная алгебра: операции традиционные и специальные, примитивные.
- •10.Язык sql. Определение данных.
- •11.Язык sql. Выборка данных.
- •12.Язык sql. Операции обновления данных.
5.Реляционные объекты данных: домены (понятие, назначение, реализация) и отношения (понятие отношения и др. Терминов реляционной модели данных, определение отношения, свойства отношения)
Домен– именованное множество скалярных значений одного типа данных, из которого берутся значения определенного атрибута отношения.
Например, таблица поставщиков, домены:
S–S<натуральное число>
STATUS– натуральное, целое число; оговоренный диапазон
CITY– определить сложно, возможно перечисление
SNAME– определить сложно
Создать домен:
CREATE DOMAIN DSTATUS AS
INTEGER CHECK (DSTATUS BETWEEN 0 AND 50);
CREATE TABLE S
(…
STATUS DSTATUS, //как тип данных
…);
В SQLдомен – тип данных определенный пользователем.
Назначение доменов: ограничивать сравнения. Сравнивать логично только атрибуты, определенные на одном домене.
Отношение(R), определенное на множестве доменовD1,D2,…Dn, содержит две части: заголовок и тело. Заголовок содержит фиксированное множество пар вида:
Имя_атрибута: имя_домена
S= {S:DS,SNAME:DNAME,STATUS:DSTATUS,CITY:DCITY}
Каждый атрибут определен ровно на одном домене, все имена атрибутов разные.
Множество пар называют схемой.
Тело отношения содержит множество кортежей. Каждый кортеж является множеством пар:
Имя_атрибута: значение_атрибута
S = { {S: ‘S1’, SNAME: ‘Smith’, STATUS: 20, CITY: ‘London’},{…}, … }
Множество – неупорядоченнаясовокупность множества объектов
Свойства отношений:
Нет одинаковых кортежей
Кортежи не упорядочены
Атрибуты не упорядочены (обращение к столбцам через имена, а не №)
Все значения атрибутов атомарные – неделимы (нормализованные отношения)
Отношения обладающие 4-ым свойством называются нормализованными
Реляционная БД – БД воспринимаемая пользователем как набор нормализованных отношений.
Отношения– таблица
Кортеж– строка
Атрибут– столбец
Кардинальное число– количество кортежей
Степень отношения– количество атрибутов
6.Целостность реляционных данных: первичный ключ (определение, назначение, виды первичных ключей, доказательство существования, первичный ключ и null-значения)
Первичный ключ (PK) – для некоторого отношенияRэто подмножества множества атрибутов отношенияRобладающие следующими свойствами:
Свойство уникальности – в отношении Rне может быть 2-х различных кортежей с одинаковым значением первичного ключа.
Свойство не избыточности – никакое из подмножеств PKне должно обладать свойство уникальности
Первичный ключ обеспечивает механизм адресации на уровне кортежей.
Замечание: ключ из 1-го атрибута – простой, из нескольких – составной.
Любое отношение всегда имеет, по крайней мере, 1 PK, содержащий все атрибуты.
Единственный способ указать на определенный кортеж – привести его PK.
Возможных или потенциальных PKможет быть несколько. Пример:
Таблица Менделеева:
Name
Symbol
Number
В таком случае следует выбрать наиболее короткий.
Население
ФИО
Паспорт - PK
Адрес
Дата_рожд
Производство деталей
Деталь |
Кол-во |
Дата |
1 |
100 |
23.10.12 |
2 |
200 |
23.10.12 |
1 |
200 |
22.10.12 |
PK – деталь-дата
Ни один атрибут PKне может содержатьnull-значения.Null-значение – значение еще не известно, ячейка остается пустой, незаполненной. Следует отличать от 0 или пробела.
7.Целостность реляционных данных: внешние ключи (определение, назначение, виды внешних ключей, правило ссылочной целостности, способы поддержания ссылочной целостности, внешний ключ и null-значения)
Внешний ключ (ForeignKey) – в отношениеR2 – это подмножество атрибутовR2 обладающих следующими свойствами:
Существует отношение R1 сPK
Любое значение FKв отношенииR2 всегда совпадает со значением первичного ключа некоторого кортежа из отношенияR1
Замечание: FKбудет составным, если ссылается на составной первичный ключ.FKможет ссылаться на 1-ый ключ этого самого же отношения.
Сотрудники:
Код - PK
ФИО
Код_рук – FK
Правило ссылочной целостности: БД не должна содержать несогласованных значений внешних ключей (несогл. – ссылается на несуществ значение PK)
Согласованность может нарушаться при изменении и при удалении значения PK, на которое есть ссылки.
Меры поддержания ссылочной целостности:
Запретить изменение значения PKна которое есть ссылки
Обновить или удалить соответствующее значение внешнего ключа
Атрибуты внешних ключей могут содержать null-значения.