- •Лекция 1. Данные.
- •Понятие Данных, Типы Данных.
- •Модели данных.
- •1.2. Модели данных. Понятие и классификация.
- •Лекция 2. Файлы.
- •2.3. Файлы.
- •Режим многопользовательского доступа
- •2.4. Файловые системы.
- •Лекция 3. Реляционная модель. Часть 1.
- •3.2. Типы данных.
- •3.3. Домены.
- •3.4. Отношения, атрибуты, кортежи отношения.
- •Лекция 4. Реляционная модель. Часть 2.
- •4.2. Свойства отношений.
- •4.3. Первая нормальная форма.
- •Лекция 5. Реляционная модель. Часть 3.
- •5.2. Манипуляционная часть реляционной модели.
- •5.3. Выводы.
- •Лекция 6. Реляционная алгебра. Часть 1.
- •Обзор реляционной алгебры.
- •Теоретико-множественные операторы.
- •6.1. Обзор реляционной алгебры
- •6.2. Теоретико-множественные операторы
- •6.2.1. Объединение
- •6.2.2. Пересечение
- •6.2.3. Вычитание
- •6.2.4. Декартово произведение
- •Лекция 7. Реляционная алгебра. Часть 2.
- •7.1.2. Проекция
- •7.1.3. Соединение
- •7.1.3.1.Общая операция соединения
- •7.1.3.2. Тэта-соединение
- •7.1.3.3. Экви-соединение
- •7.1.3.4. Естественное соединение
- •7.1.4. Деление
- •7.2. Реляционные операторы
- •7.2.1. Зависимые реляционные операторы
- •7.2.2. Примитивные реляционные операторы
- •7.3. Выводы
- •Лекция 8. Реляционное исчисление.
- •Лекция 9. Язык sql. Часть 1.
- •9.2. Стуктура sql
- •9.2.1. Язык определения данных (ddl)
- •9.2.2. Язык манипулирования данными (dml)
- •9.2.3. Язык запросов (dql)
- •9.2.4. Средства управления транзакциями
- •9.2.5. Средства администрирования данных
- •9.2.6. Программный sql
- •9.3. Типы данных в sql
- •9.4. Агрегатные функции
- •10.3. Вложенные запросы
- •Лекция 11. Модель бинарных ассоциаций.
- •11.2. Бинарная ассоциация
- •11.2.1. Ненаправленная бинарная ассоциация
- •11.2.2. Направленная бинарная ассоциация
- •11.3. Исключающая ассоциация
- •Лекция 12. Системы управления базами данных.
- •12.1.1. Непосредственное управление данными во внешней памяти
- •12.1.2. Управление буферами оперативной памяти
- •12.1.3. Управление транзакциями
- •12.1.4. Журнализация
- •12.1.5. Поддержка языков бд
- •12.2. Типовая организация современной субд
- •12.3. System r – пример субд
- •Лекция 13. Архитектура «Клиент-Сервер».
- •13.2. Клиенты и серверы локальных сетей
- •13.3. Системная архитектура "клиент-сервер"
- •13.4. Серверы баз данных
- •13.4.1. Принципы взаимодействия между клиентскими и серверными частями
- •13.4.2. Преимущества протоколов удаленного вызова процедур
- •13.4.3. Типичное разделение функций между клиентами и серверами
- •13.4.4. Требования к аппаратным возможностям и базовому программному обеспечению клиентов и серверов
- •Лекция 14. Некоторые другие бд.
- •14.1.2. Манипулирование данными
- •14.1.3. Ограничения целостности
- •14.2. Распределённые бд
- •14.2.1. Разновидности распределённых систем
- •14.2.3. Интегрированные или федеративные системы и мультибазы данных
- •14.3. Системы баз данных, основанные на правилах
- •14.3.1. Экстенсиональная и интенсиональная части базы данных
- •14.3.2. Активные базы данных
- •15.1. Связь объектно-ориентированных субд с общими понятиями объектно-ориентированного подхода
- •15.2. Объектно-ориентированные модели данных
- •15.3. Пример ообд - субд о2
- •Лекция 16. Объектно-ориентированные субд. Часть 2.
- •16.1.2. Языки программирования ообд как объектно-ориентированные языки с поддержкой стабильных (persistent) объектов
- •16.1.3. Примеры языков программирования ообд
- •16.2. Языки запросов объектно-ориентированных баз данных
- •16.2.1. Явная навигация как следствие преодоления потери соответствия
- •16.2.2. Ненавигационные языки запросов
- •Лекция 17. Транзакции и целостность бд.
- •17.1. Понятие транзакции.
- •17.2. Ограничения целостности.
- •17.3. Классификация ограничений целостности.
- •17.3.1. Классификация ограничений целостности по способам реализации
- •17.3.2. Классификация ограничений целостности по времени проверки.
- •17.3.3. Классификация ограничений целостности по области действия.
- •17.3.3.1. Ограничения домена.
- •17.3.3.2. Ограничения атрибута.
- •17.3.3.3. Ограничения кортежа.
- •17.3.3.4. Ограничения отношения.
- •17.3.3.5. Ограничения базы данных.
- •17.4. Реализация декларативных ограничений целостности средствами sql.
- •17.4.1. Общие принципы реализации ограничений средствами sql.
- •17.4.3. Примеры ограничений.
9.2.6. Программный sql
DECLARE – определяет курсор.
Курсор - некоторое имя и связанный с ним запрос к БД, а также соответствующий виртуальный набор данных. Курсор:
Имя (набор символов)
Запрос
Представление
OPEN – открывает курсор.
Занесение в виртуальный набор данных, которые соответствуют описанию курсора и соответствуют текущему состоянию БД.
CLOSE – закрывает курсор.
9.3. Типы данных в sql
сhar (n) - строка из n символов.
NUMERIC (m, n) - числа, с фиксированным положением десятичной точки.
m - общее количество знаков.
n - количество знаков после точки.
INTEGER - целое число длиной 4 байта.
SМALLINT - целые числа длиной 2 байта.
FLOAT (n) - числа с плавающей точкой, n-размер числа в байтах.
BIT (n) - двоичное число длиной n разрядов.
DATE - календарная дата.
TIMESTAMP - дата и время.
INTERVAL - временной интервал.
MEMO - позволяет заносить большие объемы текстовой информации.
MONEY -может иметь только сотые доли.
9.4. Агрегатные функции
Позволяют выполнить вычисления обобщенных групповых значений. Таких функций в SQL пять:
1) COUNT - выдаёт количество непустых значений или строку, которую выдал запрос.
2) SUM - применяется только к числовым атрибутам и выдаёт сумму всех выбранных значений данного поля.
3) AVG - вычисляет среднеарифметические значения данного поля.
4) MIN - вычисляет минимальное значение указанного поля.
5) MAX - вычисляет максимальное значение указанного поля.
Лекция 10. Язык SQL. Часть 2.
Оператор SELECT.
Составляющие оператора Select.
Вложенные запросы.
10.1. Оператор выбора SELECT
Все запросы пользователей реализуются с помощью оператора SELECT.
Структура оператора:
SELECT [ALL/DISTINСТ] <смысл полей> (| или *) FROM<список таблиц>
[WHERE<предикат - условия выборки или соединения>]
[GROUP BY<список полей результата>]
[HAVING<предикат - для группировки>]
[ORDER BY<список полей упорядочивания>]
| - в результирующий набор включаются значения всех перечисленных атрибутов исходных отношений.
* - в результирующий набор включаются значения всех атрибутов исходных отношений.
10.2. Составляющие оператора:
10.2.1. SELECT - ключевое слово начала запроса.
ALL - означает, что в результирующий набор включаются все кортежи, удовлетворяющие условию запроса.
DISTING - в результирующий набор включаются только разные кортежи.
<список полей> (| или *) - либо мы можем указать список полей, которые должны быть в результирующей таблице, либо все атрибуты отношений удовлетворяют запросу.
10.2.2. FROM - является обязательным, задаёт перечень исходных отношений запроса.
10.2.3. WHERE - содержит условия отбора кортежей или условия соединения кортежей, задается с помощью предиката.
Предикат - это выражение с неопределенными переменными; если этим переменным придать конкретные значения, то предикат принимает значение "истина" или "ложь". С помощью предиката мы задаем условия выборки, например,
Если а = в то: а = 3, в = 3 – истина, а = 3, в = 4 – ложь.
В этом разделе могут быть использованы шесть групп предикатов:
1) предикат сравнения (>,<,<=,>=):
оценка = "отлично".
2) Between A and B - предикат-диапазон, принимает значения "истина", когда сравнимое значение попадает в сравниваемый диапазон, включает границы диапазона:
Года рождения: Between 1980 and 1990.
3) Предикат отношения к множеству:
3.1) In (множество) - предикат вхождения во множество:
Оценка IN ("отлично", "хорошо").
Истина - если атрибут принимает значение "отлично" или "хорошо".
3.2) NOT IN (множество) - предикат непопадания во множество.
4) IS NULL - предикат сравнения с неопределенным значением. Истина - если значение атрибута не определено.
4.1) логическое сложение:
NOT NULL = NULL;
TRUE U NULL = TRUE;
NULL U NULL = NULL.
4.2) логическое умножение:
TRUE ∩ NULL = NULL.
5) предикат сравнения с образцами:
5.1) LIKE (образец)
Истина - если значение сравниваемого атрибута совпадает с заданным образцом.
5.2) NOT LIKE (образец)
Истина - если значение сравниваемого атрибута не совпадает с заданным образцом.
6) EXIST - предикат существования.
Итак, с помощью WHERE мы формируем выборку данных с большим набором условий.
10.2.3. GROUP BY - раздел задает список полей для группировки.
Кортежи будут группироваться по значениям какого-либо атрибута (нескольких). Кроме того, с помощью этого раздела можно задать дополнительные условия.
10.2.4. HAVING - раздел содержит предикат условий для каждой группы.
10.2.5. ORDER BY - позволяет упорядочить последовательность вывода кортежей по какому-то атрибуту.
ORDER BY <"Фамилия">- кортежи "Фамилия" будут располагаться по алфавиту.