- •Вопросы к экзамену по дисциплине «бд и субд»
- •Раскройте понятие базы данных. Перечислите и раскройте функции субд.
- •Функции субд:
- •Ранние подходы к организации субд.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки иерархической модели данных и охарактеризуйте их.
- •Дайте определение термина «модель данных». Охарактеризуйте сетевую модель данных.
- •Преимущества
- •Недостатки
- •Дайте определение термина «модель данных». Охарактеризуйте объектно-ориентированную модель.
- •Дайте определение термина «модель данных». Охарактеризуйте многомерную модель данных.
- •Дайте определение термина «модель данных». Охарактеризуйте постреляционную модель данных.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки реляционной модели данных.
- •Назовите элементы реляционной модели данных. Опишите условия, при которых таблица считается отношением.
- •Раскройте понятия: индексирование, связывание таблиц. Дайте характеристику бинарному типу связей между таблицами.
- •Дайте определение термина «ключ». Перечислите и охарактеризуйте виды ключей.
- •Перечислите и опишите типы отношений между таблицами.
- •Раскройте понятия: простой, составной индекс. Перечислите типы индексов в foxpro.
- •Выскажите общие суждения о нормализации данных. Объясните необходимость нормализации.
- •Перечислите и охарактеризуйте операции реляционной алгебры:
- •Приведите классификацию программ, относящихся к субд. По модели данных:
- •По архитектуре субд и организации хранения данных:
- •По способу доступа субд к базе данных:
- •Транзакции. Управление транзакциями.
- •Функции и основные возможности языка sql. Лекция 13. Язык sql. Функции и основные возможности
- •13.1. Sequel/sql субд System r
- •13.1.1. Запросы и операторы манипулирования данными
- •13.1.2. Операторы определения и манипулирования схемой бд
- •13.1.3. Определения ограничений целостности и триггеров
- •13.1.4. Представления базы данных
- •13.1.5. Определение управляющих структур
- •13.1.6. Авторизация доступа к отношениям и их полям
- •13.1.7. Точки сохранения и откаты транзакции
- •13.1.8. Встроенный sql
- •13.1.9. Динамический sql
- •Перечислите и дайте краткую характеристику объектам субд foxpro.
- •Опишите процесс создания проекта и базы данных в foxpro. Перечислите и охарактеризуйте типы полей в foxpro, соглашение по именам переменных.
- •Прокомментируйте этапы создания и редактирования таблиц в foxpro.
- •Опишите процесс определения отношений между таблицами и обеспечения целостности данных.
- •Перечислите характеристики объектно-ориентированного программирования.
- •Дайте характеристику многоколончатым отчётам и отчётам в свободной форме.
- •Выскажите суждение об использовании ole-объектов, каким образом осуществляется экспорт и импорт данных.
- •Выскажите суждение об использовании библиотек классов при разработке приложений.
- •Выскажите суждение об использовании active-X компонентов для разработки приложений.
- •Опишите создание классов.
- •Назовите типы справки в foxpro. Прокомментируйте этапы создания справочной системы.
- •Опишите процесс создания приложения.
- •Перечислите типы отчетов. Изложите способы создания отчётов.
- •Раскройте возможности использования библиотек классов при разработке приложений.
- •Охарактеризуйте 1nf, 2nf, 3nf.
- •Опишите процесс создания программ в foxpro, организации процедур и функций.
- •Перечислите операторы и выражения. Опишите их использование.
- •Раскройте понятия «переменная», «константа». Опишите область действия переменных.
- •Перечислите и опишите команды открытия, закрытия таблиц и перемещения по записям.
- •Дайте характеристику фильтрации данных в foxpro.
- •Изложите способы упорядочивания записей и поиска с помощью индексирования.
- •Укажите назначение форм. Прокомментируйте процесс создания экранных форм различными способами.
- •Поясните термин «форма». Объясните использование элементов управления на форме, размещение полей из нескольких таблиц.
- •Перечислите и опишите типы запросов. Охарактеризуйте возможности запросов, вызывающих изменения в таблицах базы данных. Опишите процесс создания визуальных запросов.
- •Перечислите команды манипулирования данными языка sql. Опишите создание sql-запросов: выборка данных с использованием группировки, условия выборки и условия поиска.
- •Создание базовых запросов на выборку в режиме конструктора
- •Объединение запросов на выборку в режиме sql
- •Приведите пример использования команды select при создании запросов. Опишите создание sql-запросов: изменение, вставка и удаление записей.
- •Опишите создание итоговых запросов, перекрёстных таблиц, диаграмм.
- •Перечислите типы отчетов. Изложите способы создания отчётов. Поясните термин «многотабличный отчет», опишите способы его создания.
- •Дайте характеристику многоколончатым отчётам и отчётам в свободной форме.
- •Поясните термин «представление данных». Прокомментируйте этапы создания представлений данных.
- •Опишите способы использования представлений данных в отчётах и для редактирования информации. Прокомментируйте этапы создания меню приложения.
- •Объясните использование grid-объектов при создании многотабличных форм.
- •Охарактеризуйте объекты pageframe и formset для организации интерфейса.
- •Перечислите свойства таблицы. Охарактеризуйте проверку условий достоверности ввода данных.
- •Прокомментируйте процесс создания триггеров и хранимых процедур. Предложение create trigger
- •Механизм доступа к данным bde.
- •Технология interbase express.
- •Технология dbexpress.
- •Раскрыть понятие архитектуры «клиент-сервер».
- •Преимущества архитектуры «клиент-сервер».
- •Трехзвенная архитектура.
13.1.4. Представления базы данных
В языке допускалось использование хранимых отношений БД и представляемых отношений. Наиболее удачным решением было использование для определения представлений общего аппарата операторов выборки. Любой оператор выборки может быть использован для определения представления.
В языке отсутствуют какие-либо ограничения по поводу использования представлений: в любом операторе SQL, в котором допускается использование имени хранимого отношения, допускается и использование имени представления. В SQL System R ничего не говорится о рекомендуемом способе реализации доступа к представлениям, но при любом способе эффект должен быть таким, как если бы выполнить полную материализацию представления до выполнения оператора.
Массу проблем, исследований и предложений породила потенциальная возможность выполнения операторов манипулирования данными над представлениями. Понятно, что эта возможность легко реализуема для простых представлений, но в более сложных случаях не только реализация, но и семантика операций становится нетривиальной. Кстати, в System R операторы манипулирования данными допускались только над простыми представлениями.
13.1.5. Определение управляющих структур
Внесение в реляционный язык, каким является SQL, явных операторов порождения и уничтожения структур физического уровня, поддерживающих эффективное выполнение запросов к БД, явилось в SQL System R чисто прагматическим решением, обеспечивающим возможность всех видов работ с БД с помощью одного языка.
В SQL System R упоминаются два вида таких структур: индексы и связи (links). Индекс в его абстрактном языковом представлении - это инвертированный файл, обеспечивающий доступ к кортежам соответствующего отношения на основе заданных значений одного или нескольких столбцов, составляющих ключ индекса. Операторы языка позволяли создавать и уничтожать индексы, но никаким образом не давали возможности явно указать на необходимость использования существующего индекса при выполнении оператора выборки, решение об этом возлагалось на реализацию.
С помощью оператора определения индекса можно было выразить два дополнительных утверждения, касающихся логической схемы отношения и физической структуры его хранения. Использование при определении индекса ключевого слова UNIQUE означало, что ключ этого индекса является возможным ключом соответствующего отношения. Фактически это означает наличие дополнительного механизма определения ограничения целостности отношения. Один из индексов для данного отношения мог быть определен с ключевым словом CLUSTERING. Это означает требование физической кластеризации во внешней памяти кортежей отношения с равными или близкими значениями ключа индекса.
Операторы определения связи позволяли в стиле сетевой модели данных организовать во внешней памяти списки кортежей указанного отношения. Как и в случае индексов, операторы позволяли создавать и уничтожать такие списки, но не давали возможности явно указать на необходимость использования существующих списков при выполнении операторов выборки. Большая трудоемкость поддержания списков при выполнении операторов манипулирования данными и трудность выполнения оценок стоимости их использования при выполнении операторов выборки привели к тому, что механизм связей исчез из языка уже на поздней стадии проекта System R. С тех пор этот механизм, насколько нам известно, не появлялся ни в одном варианте SQL.