- •I) Вопросы по теории
- •Назначение базы данных и субд.
- •Преимущества базы данных по сравнению с файловой системой.
- •Функции администратора базы данных
- •Трехуровневая архитектура ansi/sparc.
- •Назначение концептуального уровня в архитектуре ansi/sparc
- •Назначение внешнего и внутреннего уровней в архитектуре ansi/sparc
- •Что такое логическая и физическая независимость данных? Как она поддерживается с помощью архитектуры ansi/sparc
- •Иерархическая структура данных и ограничения целостности
- •Операции иерархической структуры данных
- •Insert кафедра
- •Insert преподаватель
- •Сетевая структура данных и ограничения целостности
- •Ограничения целостности.
- •Операции сетевой структуры данных
- •Insert [тип-записи] record into [тип-набора] set
- •Недостатки иерархической и сетевой структур данных
- •Реляционная структура данных
- •Ключи в реляционной модели данных
- •Реляционная алгебра. Теоретико-множественные операции. Примеры
- •Реляционная алгебра. Операции проекции и селекции. Примеры
- •Реляционная алгебра. Операции декартового произведения и соединения. Примеры
- •Реляционная алгебра. Операции эквисоединения, естественного соединения и полусоединения. Примеры
- •Реляционная алгебра. Операция деления.
- •Свойства операций реляционной алгебры. Эквивалентные преобразования.
- •Оптимизация вычисления выражений реляционной алгебры.
- •Кортежно-ориентированное реляционное исчисление
- •Реляционная полнота языков запросов реляционной модели данных
Операции иерархической структуры данных
Выборка данных:
GET UNIQUE - Прямая выборка. Нахождение первого сегмента указанного типа, удовлетворяющего условию поиска. Фиксируется начальная позиция для дальнейшей навигации по иерархии
Синтаксис:
GET UNIQUE <тип-сегмента>
[WHERE <условие>];
Пример:
GET UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND
КАФЕДРА.Название = "ИПЗ" AND
ПРЕПОДАВАТЕЛЬ.Должность = "профессор";
GET NEXT - Последовательная выборка. Выборка сегмента, расположенного вслед за текущим согласно имеющегося порядка расположения сегментов в базе данных.
Синтаксис:
GET NEXT <тип-сегмента>
[WHERE <условие>];
Пример:
GET NEXT ПРЕПОДАВАТЕЛЬ
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND
КАФЕДРА.Название = "ИПЗ" AND
ПРЕПОДАВАТЕЛЬ.Должность = "профессор";
GET NEXT WITHIN PARENT - Последовательная выборка в пределах текущего родительского сегмента
Синтаксис:
GET NEXT WITHIN PARENT <тип-сегмента>
[WHERE <условие>];
Манипулирование данными:
INSERT - вставка экземпляров сегментов.
Пример:
КАФЕДРА.Название = "САПР";
КАФЕДРА.Заведующий = "Иванов";
КАФЕДРА.Корпус = 3;
Insert кафедра
WHERE ФАКУЛЬТЕТ.Название = "информатика";
ПРЕПОДАВАТЕЛЬ.Имя = "Петров";
ПРЕПОДАВАТЕЛЬ.Должность = "ассистент"
ПРЕПОДАВАТЕЛЬ.Адрес = "Проспект Мира 13/17";
Insert преподаватель
WHERE ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = "САПР";
GET HOLD - выбор сегмента для замены
REPLACE - замена сегмента.
Пример:
GET HOLD UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE = ФАКУЛЬТЕТ.Название = "информатика" AND КАФЕДРА.Название = "САПР" AND ПРЕПОДАВАТЕЛЬ.Имя = "Петров";
ПРЕПОДАВАТЕЛЬ.Адрес = "ул. Теремковская 1/19";
REPLACE;
DELETE - удаление сегмента.
GET HOLD UNIQUE ПРЕПОДАВАТЕЛЬ
WHERE = ФАКУЛЬТЕТ.Название = "информатика" AND
КАФЕДРА.Название= "САПР" AND
ПРЕПОДАВАТЕЛЬ.Имя = "Петров";
DELETE;
Сетевая структура данных и ограничения целостности
Сетевая модель данных определяется в тех же терминах, что и иерархическая. Она состоит из множества записей, которые могут быть владельцами или членами групповых отношений. Связь между между записью-владельцем и записью-членом также имеет вид 1:N.
Основное различие этих моделей состоит в том, что в сетевой модели запись может быть членом более чем одного группового отношения. Согласно этой модели каждое групповое отношение именуется и проводится различие между его типом и экземпляром. Тип группового отношения задается его именем и определяет свойства общие для всех экземпляров данного типа. Экземпляр группового отношения представляется записью-владельцем и множеством (возможно пустым) подчиненных записей. При этом имеется следующее ограничение: экземпляр записи не может быть членом двух экземпляров групповых отношений одного типа (т.е. сотрудник из примера в п.3.1, например, не может работать в двух отделах).