
- •Лекция 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. Примеры ограничений.
10.3. Вложенные запросы
Внутри оператора SELECT может осуществляться ещё (не один) запрос:
Пусть требуется узнать поставщиков помидоров, являющихся поставляемым продуктом с каким-то номером. Для этого можно дать запрос:
SELECT Название, Статус
FROM Поставщики
WHERE ПС IN
( SELECT ПС
FROM Поставки
WHERE ПР IN
( SELECT ПР
FROM Продукты
WHERE Продукт = 'Помидоры' ));
В данном случае результатом самого внутреннего подзапроса является только одно значение. Подзапрос следующего уровня в свою очередь дает в результате множество. Последний, самый внешний SELECT, вычисляет окончательный результат. Вообще допускается любая глубина вложенности подзапросов.
Тот же результат можно получить с помощью соединения:
SELECT Название, Статус
FROM Поставщики, Поставки, Продукты
WHERE Поставщики.ПС = Поставки.ПС
AND Поставки.ПР = Продукты.ПР
AND Продукт = 'Помидоры';
Однако при выполнении этого компактного запроса система должна одновременно обрабатывать данные из трёхтаблиц, тогда как в предыдущем примере эти таблицы обрабатываются поочередно. Естественно, что для их реализации требуются различные ресурсы памяти и времени, однако этого практически невозможно ощутить при работе с ограниченным объемом данных.
Лекция 11. Модель бинарных ассоциаций.
Отношение ассоциации.
Бинарная ассоциация.
Исключающая ассоциация.
11.1. Отношение ассоциации
Ассоциация(association) - семантическое отношение между двумя и более классами, которое специфицирует характер связи между соответствующими экземплярами этих классов.
Отношение ассоциациисоответствует наличию произвольного отношения или взаимосвязи между классами. Данное отношение обозначается сплошной линией со стрелкой или без нее и с дополнительными символами, которые характеризуют специальные свойстваассоциации. В качестве дополнительных специальных символов могут использоваться имяассоциации, символ навигации, а также имена и кратность классов-ролейассоциации.
Имя ассоциации- необязательный элемент ее обозначения. Однако если оно задано, то записывается с заглавной буквы рядом с линиейассоциации. Отдельные классыассоциациимогут играть определенную роль в соответствующем отношении, на что явно указывает имя концевых точекассоциациина диаграмме.
11.2. Бинарная ассоциация
Наиболее простой случай данного отношения - бинарная ассоциация(binary association), которая служит для представления произвольного отношения между двумя классами. Она связывает в точности два различных класса и может быть ненаправленным (симметричным) или направленным отношением. Частный случай бинарнойассоциации-рефлексивная ассоциация, которая связывает класс с самим собой. Существует 2 типа бинарных ассоциаций:
- Ненаправленная бинарная ассоциация
- Направленная бинарная ассоциация
11.2.1. Ненаправленная бинарная ассоциация
Ненаправленная бинарная ассоциацияизображается линией без стрелки. Для нее на диаграмме может быть указан порядок чтения классов с использованием значка в форме треугольника рядом с именем даннойассоциации.
В качестве простого примера ненаправленной бинарной ассоциацииможно рассмотреть отношение между двумя классами - классом Компания и классом Сотрудник. Они связаны между собой бинарнойассоциацией«Работает», имя которой указано на рисунке рядом с линиейассоциации. Для данного отношения определен следующий порядок чтения следования классов - сотрудник работает в компании.
Рис.11.1.
Графическое изображение ненаправленной
бинарной ассоциации между классами.