- •Выборка всех листьев в дереве, при моделировании иерархической структуры методом вспомогательной таблицы.
- •Проблемы, возникающие при работе со списками. Способы их преодоления.
- •Понятие кольца. Типы организации колец. Особенности «коралловой» организации кольца.
- •Линейные структуры данных. Стэк и дэк.
- •5) Явное соединение отношений в sql. Левое соединение.
- •6) Явное и неявное соединение таблиц в языке sql. Правое и левое соединение.
- •8) 1,2,3 Нф. «Восходящая и нисходящая» нормализация.
- •9) Моделирование иерархий средствами реляционной субд. Способ полного обхода дерева. Повышение производительности за счет использования индексов.
- •10) Транзакции и проблемы, связанные с ними.
- •11) Рекурсивный способ моделирования иерархий средствами реляционной субд. Проблема поиска листьев.
- •12) Нормализация, основное назначение. Что оптимизирует нормализация?
- •2) Как связаны различные типы зависимостей, процесс нормализации и отношения типа «сущность - связь»?
- •3) Напишите предложение select для отыскания всех общих предков для двух наперёд заданных узлов иерархии в случае моделирования иерархии методом вспомогательной таблицы.
- •2) Приведите пример структуры данных, все отношения которой находятся во всех возможных нормальных формах.
- •3) Напишите предложение select для отыскания всех узлов иерархии не имеющих потомков для случая моделирования иерархии рекурсивным методом.
- •2) Напишите предложение select для отыскания всех общих предков для двух наперёд заданных узлов иерархии в случае моделирования иерархии методом правого и левого коэффициентов.
- •3) Коллективный доступ к данным. Проблемы коллективного доступа. Понятие блокирования или захвата.
- •2) Напишите предложение select для отыскания всех узлов иерархии не имеющих потомков для случая моделирования иерархии методом правого и левого коэффициентов.
- •3) Проблема «утраченного обновления». Способы разрешения.
- •2) Для каких целей могут использоваться данные в формате xml?
- •3) Охарактеризуйте известные вам уровни изоляции транзакций.
- •2) Как соотносятся между собой понятия «сущность – связь» и зависимость (функциональная зависимость, многозначная зависимость и т.П.)?
- •3) При помощи какого предложения select можно осуществить выборку всех потомков наперед заданного узла иерархии при моделировании иерархии способом правого и левого коэффициентов?
- •2) Журнализация изменений бд. Индивидуальные откаты транзакций. Восстановление после «мягкого» сбоя («тёплый пуск»). Восстановление после «жесткого» сбоя («холодный пуск»).
- •3) Перечислите и раскройте понятия зависимостей используемых при определении нормальных форм.
2) Приведите пример структуры данных, все отношения которой находятся во всех возможных нормальных формах.
Предположим, что нужно хранить данные об ассортименте нескольких продавцов, торгующих продукцией нескольких фирм (номенклатура товаров фирм может пересекаться):
Ассортимент (продавцы, фирмы, товары)
Продавец |
Фирма |
Товар |
Иванов |
Рога и Копыта |
Пылесос |
Иванов |
Рога и Копыта |
Хлебница |
Петров |
Безенчук&Ко |
Сучкорез |
Петров |
Безенчук&Ко |
Пылесос |
Петров |
Безенчук&Ко |
Хлебница |
Петров |
Безенчук&Ко |
Зонт |
Сидоров |
Безенчук&Ко |
Пылесос |
Сидоров |
Безенчук&Ко |
Телескоп |
Сидоров |
Рога и Копыта |
Пылесос |
Сидоров |
Рога и Копыта |
Лампа |
Сидоров |
Геркулес |
Вешалка |
Если дополнительных условий нет, то данное отношение, которое находится в 4-ой нормальной форме, является корректным и отражает все необходимые ограничения.
Теперь предположим, что нужно учесть следующее ограничение:
каждый продавец имеет в своём ассортименте ограниченный список фирм и ограниченный список типов товаров и предлагает товары из списка товаров, производимые фирмами из списка фирм.
То есть продавец не имеет право торговать какими угодно товарами каких угодно фирм. Если продавец П имеет право торговать товарами фирмы Ф, и если продавец П имеет право торговать товарами типа Т, то в этом случае в ассортимент продавца П входят товары типа Т фирмы Ф при условии, что фирма Ф производит товары типа Т.
Такое ограничение может быть вызвано, например, тем, что список типов товаров продавца ограничен имеющимися у него лицензиями, либо знаниями и квалификацией, необходимыми для их продажи, а список фирм каждого продавца определён партнёрскими соглашениями.
Предложенное выше отношение не может исключить ситуации, при которых данное ограничение будет нарушено. Ничто не препятствует занести данные о торговле товаром, который данная фирма вообще не выпускает, либо данные о торговле товарами той фирмы, которую данный продавец не обслуживает, либо данные о торговле таким типом товара, который данный продавец не имеет право продавать.
Отношение не находится в 5NF, поскольку в нём есть нетривиальная зависимость соединения *{{Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар}}, однако подмножества {Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар} не являются суперключами исходного отношения.
В данном случае для приведения к 5NF отношение должно быть разбито на три: {Продавец, Фирма}, {Фирма, Товар}, {Продавец, Товар}.
Продавец |
Товар |
Продавец |
Фирма |
|
Иванов |
Пылесос |
Иванов |
Рога и Копыта |
|
Иванов |
Хлебница |
Петров |
Безенчук&Ко |
|
Петров |
Сучкорез |
Сидоров |
Безенчук&Ко |
|
Петров |
Пылесос |
Сидоров |
Рога и Копыта |
|
Петров |
Хлебница |
Сидоров |
Геркулес |
|
Петров |
Зонт |
|
||
Сидоров |
Телескоп |
|
||
Сидоров |
Пылесос |
|
||
Сидоров |
Лампа |
|
||
Сидоров |
Вешалка |
|
||
Фирма |
Товар |
|
||
Рога и Копыта |
Пылесос |
|
||
Рога и Копыта |
Хлебница |
|
||
Рога и Копыта |
Лампа |
|
||
Безенчук&Ко |
Сучкорез |
|
||
Безенчук&Ко |
Пылесос |
|
||
Безенчук&Ко |
Хлебница |
|
||
Безенчук&Ко |
Зонт |
|
||
Безенчук&Ко |
Телескоп |
|
||
Геркулес |
Вешалка |
|