
- •Основы баз данных. Введение.
- •БзХранятся не только данные, но и знания о применении этих данных. Реализуются они в виде процедур и алгоритмов. Выборки обрабатывают данные.
- •История БнД.
- •Проблемы бд:
- •Состав БнД.
- •Процесс проектирования базы данных.
- •Er-модель (модель Чена).
- •Основные понятия:
- •Виды связи
- •Рекурсивные связи
- •Представление связей более высокого порядка (не бинарных).
- •Избыточное дублирование.
- •Реляционная модель данных.
- •12 Правил Кодда, которым должна удовлетворять реляционная база данных.
- •Операции над данными.
- •Реляционная алгебра.
- •Свойства реляционных операций.
- •Понятие функциональной зависимости (ф.З).
- •Запись запросов на языке реляционной алгебры.
- •Проектирование реляционной базы данных.
- •Методы проектирования.
- •7 Правил Джексона.
- •Язык доступа к данным, основанный на исчислении с переменными кортежами.
- •Атрибуты, используемые для описания таблиц.
- •Обработка ссылочной целостности.
- •Операторы манипулирования данными.
- •Как задается условие?
- •Запросы, которые реализуются на основе соединения.
- •Подзапрос.
- •Использование квантора exists для поиска пересечения и разности.
- •Квантор общности моделирующий операцию деления.
- •Соответствия между операциями реляционной алгебры и sql.
- •Технологии клиент-сервер.
- •1 Вариант - файловый сервер.
- •2 Вариант – удаленный доступ.
- •3 Вариант – сервер Базы Данных.
- •4 Вариант – сервер приложений.
- •Внутренняя модель данных.
- •B-дерево.
- •Язык query by example (qbe)
- •Операции выборки в отношениях, имеющих древовидную структуру
- •Операции запоминания
- •Библиотечные функции
Операции запоминания
Простое обновление. Поменять цвет всех красных деталей на желтый.
Детали |
№детали |
название |
цвет |
вес |
город |
|
2 |
|
красный |
|
|
UPDATE. |
2 |
|
желтый |
|
|
Для того чтобы обновить строку или множество строк, пользователь (в общем случае) записывает выражение, представляющее старые данные, и выражение, представляющее новые данные. Слово UPDATE указывает, какое из двух выражений соответствует новым данным. Следовательно, в примере, приведенном выше, первая строка указывает, что любая строка таблицы, скажем, относящаяся к детали 2 и содержащая значение цвета 'красный', должна быть изменена и иметь значение цвета 'желтый’. Заметим, что и «старые» и «новые» строки должны содержать запись в позиции первичного ключа. Значения первичного ключа не могут быть изменены.
Некоторые обновления могут быть заданы одним выражением (строкой). Например: изменить цвет детали 2 на желтый независимо от того, какой цвет она имела. Пользователю необходимо записать лишь «новую» строку из двух, рассмотренных выше (и без подчеркивания 2).
Обновление нескольких таблиц. Предположим, Что таблица Р включает добавочный столбец QOH (количество на руках). Поставщик S1 теперь поставляет деталей Р1 на 10 больше, чем прежде; добавить 10 к «количеству на руках» для Р1 и к количеству Р1 поставляемых поставщиком S1.
Поставщики |
№поставщика |
название |
цвет |
вес |
Город
|
QOH
|
|
Р1 |
|
|
|
|
N |
UPDATE. |
Р1 |
|
|
|
|
N+ 10 |
Поставки |
№поставщика |
№детали |
количество |
|
S1 |
PI |
Q |
UPDATE |
S1 |
PI |
Q+ 10 |
Включение (INSERTION). Занести данные о детали Р7 (наименование болт, цвет серый, вес 2, город Лондон) в таблицу Р.
Р |
№поставщика |
название |
цвет |
вес |
город |
INSERT. |
Р7 |
болт |
серый |
2 |
Лондон |
8.4.4. Включение (INSERTION). Таблица W содержит множество строк, относящихся к деталям (в том же самом формате, что и строки таблицы Р). Скопировать все строки для красных деталей в таблицу Р.
W |
№ |
название |
цвет |
вес |
город |
|
РХ |
PН |
красный |
PВ |
РГ |
Р |
№ |
название |
цвет |
вес |
город |
INSERT. |
РХ |
РН |
красный |
РВ |
РГ |
Все записи пользователя в строке INSERT, кроме РХ могут при желании быть опущены.
Удаление (DELETION). Удалить поставщика S1.
s |
№ |
фамилия |
статус |
город |
DELETE. |
S1 |
|
|
|
Безусловное удаление. Удалить все детали.
Р |
№ |
фамилия |
цвет |
вес |
город |
DELETE. |
РХ |
|
|
|
|
Так же, как и в случае обновления, пользователь всегда должен специфицировать по крайней мере значения первичного ключа для строк, которые должны быть удалены.