Sem II (Datenbanken) - N7 Flashcards
Что такое представление (Sicht) в базе данных?
Представление — это виртуальная таблица, которая объединяет данные из одной или нескольких таблиц для определённой цели.
Какие преимущества дают представления?
- Защита данных
- Упрощение взаимосвязей данных
- Построение статистических отчётов
Wie wird eine Sicht in SQL definiert?
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] VIEW name [ ( column_name [, ...] ) ] AS query
В чём разница между представлением и оператором WITH?
Представления определяются на постоянной основе и доступны в течение всего времени работы системы. Оператор WITH действует только временно для одной конкретной запроса.
Как можно отобразить все определённые представления в PostgreSQL?
С помощью команды \d в клиенте psql.
Wann ist eine Sicht in SQL änderbar?
- используется только одна базовая таблица,
- существует ключ (первичный ключ),
- не применяются агрегатные функции, группировка или удаление дубликатов.
Как в PostgreSQL можно разрешить внесение изменений в представление?
CREATE RULE "_insertProf" AS ON INSERT TO prof DO INSTEAD INSERT INTO Professoren (PersNr, Name, Raum) VALUES (new.PersNr, new.Name, new.Raum);
Welche Schritte durchläuft eine SQL-Abfrage im PostgreSQL-System?
Разбор (Parsing): Запрос преобразуется в дерево запроса (Query-Tree).
Перезапись (Rewrite): Дерево запроса модифицируется с учётом правил и представлений.
Планирование (Planning): Запрос оптимизируется.
Выполнение (Execution): Запрос выполняется.
Wie kann der Anfrageplan einer SQL-Abfrage ausgegeben werden?
С помощью команды EXPLAIN.
Was versteht man unter funktionalen Abhängigkeiten in einem Relationenschema?
Функциональные зависимости описывают, что атрибут или комбинация атрибутов (a) однозначно определяет другой атрибут или комбинацию атрибутов (b): a→b, если для всех кортежей r,s в отношении выполняется: r.a=s.a⟹r.b=s.b.
Что такое кандидатные ключи?
Набор атрибутов является кандидатным ключом, если он:
- однозначно определяет все остальные атрибуты отношения (a→R),
- минимален (нельзя удалить ни один атрибут, не потеряв это свойство).
Что такое суперключ?
Суперключ — это комбинация атрибутов, которая однозначно определяет все остальные атрибуты отношения.
Что такое кандидатный ключ?
Кандидатный ключ — это минимальный суперключ.
Какие критерии определяют качество схемы отношения?
- Сокращение числа таблиц.
- Избежание значений NULL.
- Минимизация избыточности.
- Соблюдение условий консистентности.
Какие проблемы могут возникнуть из-за неправильных внешних ключей?
Неправильные внешние ключи могут приводить к избыточности и несогласованности данных, например, к многократному дублированию записей в таблице.
Почему нормальные формы важны?
Нормальные формы служат критерием качества для схем отношений. Они позволяют уменьшить избыточность и избежать аномалий (например, при обновлении, вставке или удалении данных).
Что такое аномалия вставки?
Аномалия вставки возникает, когда невозможно добавить новые данные, не указав при этом избыточную или неполную информацию (например, когда нужно добавить профессора без лекций).
Что такое аномалия удаления?
Аномалия удаления возникает, когда при удалении одной записи непреднамеренно удаляется и другая полезная информация (например, если удаляется последняя лекция профессора, то одновременно удаляется и сам профессор из базы данных).
Какие два критерия корректности применяются при разбиении (декомпозиции) схем отношений?
1) Verlustlosigkeit: Die Informationen der ursprünglichen Relation müssen aus den neuen Relationenschemata rekonstruierbar sein.
2) Abhängigkeitserhaltung: Die funktionalen Abhängigkeiten der ursprünglichen Relation müssen auf die neuen Schemata übertragbar sein.
Wann ist eine Zerlegung verlustlos? Когда разбиение (декомпозиция) является безусловно сохранным (без потерь)?
Разбиение R на R1 и R2 является безусловно сохранным, если выполняется равенство:
R=R1⋈R2.
Достаточным условием является то, что либо (R1∩R2)→R1, либо (R1∩R2)→R2.
Почему при декомпозиции может произойти потеря информации?
Если ключевые атрибуты исходного отношения не полностью представлены в результирующих подотношениях, может произойти потеря информации, даже если в новых таблицах появляется больше кортежей.
Что означает сохранение зависимостей (Abhängigkeitserhaltung) при разбиении?
Сохранение зависимостей означает, что все функциональные зависимости исходного отношения сохраняются в результирующих подотношениях.