- •Недостатки файловых систем по сравнению с системами баз данных
- •Понятие системы и информационной системы. Классификация информационных систем
- •Понятие системы баз данных и ее упрощенная схема
- •Понятия интегрированности и разделяемости данных, независимости от данных и целостности данных применительно к системам баз данных
- •Жизненный цикл базы данных. Этапы концептуального, логического и физического проектирования базы данных
- •Понятия модели и модели данных. Логические модели данных
- •Иерархическая модель данных, ее достоинства и недостатки
- •Сетевая модель данных, ее достоинства и недостатки
- •Основные понятия реляционной алгебры
- •Определение сущности в реляционной алгебре. Свойства сущности
- •Понятия возможного, первичного и альтернативного ключей
- •Операции реляционной алгебры. Базовые реляционные операции
- •Теоретико-множественные;
- •Специальные.
- •Теоретико-множественные реляционные операции. Свойства реляционной операции декартова произведения
- •Специальные реляционные операции
- •Реляционные операции селекции и проекции
- •Реляционная операция соединения. Ее разновидности
- •Реляционная операция естественного соединения и ее свойства
- •Реляционная операция деления
- •Примитивные и не примитивные реляционные операции Оператор соединения
- •Оператор пересечения
- •Оператор деления
- •Типы связей между сущностями
- •Связь м:м
- •Связь между сущностями типа «многие ко многим». Ее преобразование при переходе к физической модели
- •Нормализация данных. Первая нормальная форма
- •Нормализация данных. Вторая нормальная форма
- •2 Нормальная форма
- •Нормализация данных. Третья нормальная форма и нормальная форма Кодда-Бойса
- •Нормализация данных. Четвертая и пятая нормальные формы
- •5Ая нормальная форма
- •Целостность данных
- •Основные и дополнительные правила ссылочной целостности
- •Язык sql: основные команды манипулирования данными
- •Язык sql: удаление записей из таблицы
- •Язык sql: использование операторов in, between, like и ключевого слова null в условиях отбора данных
- •Язык sql: обновление записей в таблице
- •Язык sql: выборка данных из таблиц. Использование агрегатных функций и вычисляемых полей
- •Язык sql: группировка строк набора данных
- •Язык sql: соединение таблиц (внутреннее и внешнее)
- •Язык sql: использование подзапросов
- •Язык sql: операторы exists, any, all в командах с подзапросом
- •Язык sql: основные команды определения данных
- •Язык sql: создание и использование представлений (просмотров) и индексов
- •Назначение и функции субд
- •Управление словарем данных и обеспечение безопасности данных в субд
- •Обеспечение целостности данных в субд
- •Управление многопользовательским доступом к данным в субд
- •Управление резервным копированием и восстановлением данных в субд
- •Механизм тиражирования (репликации) данных в субд
- •Типы баз данных
- •Иерархическая база данных, структура иерархических баз данных
- •Сетевая база данных, структура сетевых баз данных
- •Реляционные базы данных, структура реляционных баз данных особенности реляционных баз данных
- •Распределенные базы данных. Двенадцать правил Дейта для распределенных баз данных
- •Системы «клиент/сервер»
- •Системы поддержки принятия решений
- •Классификации
- •Структура
- •Преимущества
- •Хранилища данных. Их отличия от операционных баз данных
- •Подготовка данных применительно к хранилищам данных
- •Магазины (витрины) данных. Банки оперативных данных
- •Многомерные базы данных. Разработка (извлечение) данных
- •Технологии Big Data
- •ERwin: сильные и слабые связи между сущностями. Операции прямого и обратного проектирования
- •Операции прямого и обратного проектирования
- •Sql Server: курсоры и триггеры, их виды, процесс использования
Реляционная операция естественного соединения и ее свойства
Пусть даны сущность S с заголовком {A1, … An, B1,…, Bm} и сущность R с заголовком {B1,…,Bm,C1,…,Cp} при этом заголовки содержат общие атрибуты B1,…,Bm, тогда естественным соединением сущности S и R называется сущность с заголовком {A1, … An, B1,…, Bm,C1,…,Cp} и телом, содержащее множество кортежей вида: {a1, … an, b1,…, bm,c1,…,cp}, таких, для каждого из которых имеет место (a1,…an,b1,…,bm) принадлежащих S и (b1,…bm,c1,…,cp) принадлежащих R
Естественное соединение важно, для него существует спец. Синтаксис: S JOIN R
Замечание
В синтаксисе естественного соединения не указывается по каким атрибутам производится соединение. это объясняется тем, что соединение проводится по всем одинаковым атрибутам.
Естественное соединение эквивалентно последовательности операций:
Переименовать в сущности атрибуты с одинаковыми именами
Выполнить декартово произведение сущности
Выполнить операцию селекции по совпадающим значениям атрибутов, имевших в начале одинаковые имена
Выполнить операцию проекции ,удаляя повторяющиеся атрибуты(с учетом того, что было выполнено переименование)
Вернуть первоначальные имена тем атрибутам, которые вы переименовали
Естественное соединение, как и соединение общего вида ,обладает свойством ассоциативности, т.е (S JOIN R)JOIN T = S JOIN (R JOIN T). Поэтому такие соединения можно записывать опуская скобки S JOIN R JOIN T
Если заголовки сущностей S и R не имеют общих атрибутов, то операция S JOIN R вырождается в операцию S TIMES R
Если сущность S и R относятся к одному и тому же типу, т.е имеют одинаковые заголовки , то операции S JOIN R вырождаются в S INTERSECT R
Поставка |
|
Код поставщика |
Номер детали |
1 |
1 |
1 |
2 |
1 |
3 |
2 |
1 |
2 |
2 |
3 |
1 |
Поставщик |
|
Код поставщика |
Имя поставщика |
1 |
МП Темп |
2 |
ИП Орион |
3 |
ГП Калибр |
Необходимо получить естественное соединение сущностей поставщик и поставка
Поставщик JOIN Поставка |
||
Код поставщика |
Имя поставщика |
Номер детали |
1 |
МП Темп |
1 |
1 |
МП Темп |
2 |
1 |
МП Темп |
3 |
2 |
ИП Орион |
1 |
2 |
ИП Орион |
2 |
3 |
ГП Калибр |
1 |
Реляционная операция деления
Операция деления.
Пусть даны сущность S с заголовком {A1, … An, B1,…, Bm} и сущность R с заголовком {B1,…,Bm,C1,…,Cp} при этом заголовки содержат одинаковые атрибуты B1,…, Bm, тогда делением сущностей S на R называется сущность с заголовком {A1, … An} и телом (a1,…,an), таких, что для любого кортежа (b1,…,bm) принадлежащего R ,существует кортеж (a1,…,an, b1,…,bm) принадлежащий S. Сущность S в роли делимого, а R – делитель. Деление сущностей похоже на деление целых чисел с отбрасыванием остатка. Синтаксис S DIVEDEBY R
Замечание
Типичные задачи, решаемые с помощью операции деления, обычно содержат в своей формулировке слово “все”(например, какие поставщики поставляют все детали для изготовление изделия)
Если необходимо узнать не коды, а имена ,то следует выполнить операцию: ((Поставка DEVIDEBY Изделие) JOIN Поставщик)[имя поставщика]