- •1.Компоненты системы баз данных. Преимущества и проблемы использования баз данных по сравнению с бумажным и файловым хранением данных.
- •2.Реляционная и другие (иерархическая, сетевая, постреляционная) модели данных.
- •3.Трёхуровневая архитектура системы баз данных.
- •4.Архитектура клиент-сервер
- •5.Реляционные объекты данных: домены (понятие, назначение, реализация) и отношения (понятие отношения и др. Терминов реляционной модели данных, определение отношения, свойства отношения)
- •6.Целостность реляционных данных: первичный ключ (определение, назначение, виды первичных ключей, доказательство существования, первичный ключ и null-значения)
- •7.Целостность реляционных данных: внешние ключи (определение, назначение, виды внешних ключей, правило ссылочной целостности, способы поддержания ссылочной целостности, внешний ключ и null-значения)
- •8.Реляционная алгебра: операции традиционные и специальные, примитивные.
- •10.Язык sql. Определение данных.
- •11.Язык sql. Выборка данных.
- •12.Язык sql. Операции обновления данных.
8.Реляционная алгебра: операции традиционные и специальные, примитивные.
Традиционные операторы над множествами:
Объединение– возвращает отношение содержащее кортежи, принадлежащие хотя бы одному из исходных отношений.
Пересечение– возвращает кортежи, принадлежащие одновременно 2-м исходным отношениям.
РазностьR1иR2- возвращает отношение кортежей, которые принадлежат 1-му отношениюR1, но не принадлежатR2.
Операции объединение, пересечение и разность должны быть совместимы по типу операндов, т.е. R1 иR2 должны иметь одинаковое количество атрибутов, соответствующие атрибуты должны быть определены на одном и том же домене.
Произведение- возвращает результат сцепления каждого кортежа 1-го отношения с каждым кортежем 2-го отношения.
R1 |
A |
B |
C |
R2 |
X |
Y |
R1xR2 | |
A |
X |
A |
Y |
B |
X |
B |
Y |
C |
X |
C |
Y |
Специальные операции:
Выборка– возвращает кортежи, удовлетворяющие определенному критерию отбора.
σF(R)F– критерий отбора,R– отношения, σ – выборка
Поставщики, живущие в Лондоне σCITY = ‘London’(S)
Проекция– возвращает все кортежи исходного отношения, но только с теми атрибутами, на которые выполняется проекция. πS, SNAME, CITY(S)
Соединение – возвращает отношение, кортежи которого представляют собой сочетание кортежей 2-х исходных отношений, имеющих общее значение общих атрибутов.
R1 |
|
R2 |
|
R1 R2 | ||||||||
A1 |
B1 |
B1 |
C1 |
|
A1 |
B1 |
C1 | |||||
A2 |
B2 |
B2 |
C2 |
|
A2 |
B2 |
C2 | |||||
A3 |
B3 |
B3 |
C3 |
|
A3 |
B3 |
C3 |
Деление– для двух отношений бинарного и унарного возвращает отношение содержащее значение одного атрибута первого отношения, которое соответствует в другом атрибуте всем значениям второго отношения.
R1 |
|
R2 |
|
R1 R2 | |
A |
X |
X |
A | ||
A |
Y |
y |
| ||
A |
Z |
| |||
B |
X | ||||
B |
Z |
Результат каждой операции над отношением также является отношением – свойство замкнутости.
Операции выборки,проекции,произведения,объединенияивычитанияявляютсяпримитивными, ни одна из них не выражается через другие.
Пересечение,соединениеиделениеможно определить через примитивные операции.
10.Язык sql. Определение данных.
SQLне является полноценной реализацией реляционной модели .SQLявляется стандартным реляционным языком и поддерживается всеми продуктами БД.
Все операторы SQLделятся на 3 группы:
DDL (Data Definition Language)– создание и удаление объектов данных (модификация).
CREATE TABLE создать, DROP TABLE удалить, ALTER TABLE изменить
DML (Data Manipulation Language) – язык манипулирования (изменения)
SELECT выборка, INSERT добавление, DELETE удаление, UPDATE изменение
DLC (Data Language Control) – язык управления данными
Управление правами, операторы работы с транзакциями
Язык SQL является типизированным: данные принадлежат какому-нибудь типу.
Ограничения:
PRIMARY KEY
UNIQUE
NOT NULL
FOREIGN KEY
DEFAULT
CHECK
Определение поля: Имя_поля Тип_ данных [ограничение]
Пример (определение БД поставщиков и деталей из книги Дейта)
CREATE TABLE S (
S CHAR(5),
SNAME CHAR(20),
STATUS NUMERIC(5),
CITY CHAR(15),
PRIMARY KEY(S) );
CREATE TABLE P (
P CHAR(6),
PANME CHAR(20),
COLOR CHAR(6),
WEIGHT(5,1),
CITY CHAR(15),
PRIMARY KEY(P) );
CREATE TABLE SP (
S CHAR(5),
P CHAR(6),
QTY NUMERIC(9),
PRIMARY KEY (S,P),
FOREIGN KEY (S) REFERENCES S,
FOREIGN KEY (P) REFERENCES P ) ;
В SQLтолько встроенные типы, определяемых пользователем нет (кроме доменов):
CHARACTER [] (n), BIT [] (n), NUMERIC (p,q), DECIMAL (p,q), INTEGER, SMALLINT, FLOAT (p), DATE, TIME, TIMESTAMP, INTERVAL