- •Вопросы к экзамену по дисциплине «бд и субд»
- •Раскройте понятие базы данных. Перечислите и раскройте функции субд.
- •Функции субд:
- •Ранние подходы к организации субд.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки иерархической модели данных и охарактеризуйте их.
- •Дайте определение термина «модель данных». Охарактеризуйте сетевую модель данных.
- •Преимущества
- •Недостатки
- •Дайте определение термина «модель данных». Охарактеризуйте объектно-ориентированную модель.
- •Дайте определение термина «модель данных». Охарактеризуйте многомерную модель данных.
- •Дайте определение термина «модель данных». Охарактеризуйте постреляционную модель данных.
- •Дайте определение термина «модель данных». Сформулируйте преимущества и недостатки реляционной модели данных.
- •Назовите элементы реляционной модели данных. Опишите условия, при которых таблица считается отношением.
- •Раскройте понятия: индексирование, связывание таблиц. Дайте характеристику бинарному типу связей между таблицами.
- •Дайте определение термина «ключ». Перечислите и охарактеризуйте виды ключей.
- •Перечислите и опишите типы отношений между таблицами.
- •Раскройте понятия: простой, составной индекс. Перечислите типы индексов в 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.
- •Раскрыть понятие архитектуры «клиент-сервер».
- •Преимущества архитектуры «клиент-сервер».
- •Трехзвенная архитектура.
Перечислите и опишите типы запросов. Охарактеризуйте возможности запросов, вызывающих изменения в таблицах базы данных. Опишите процесс создания визуальных запросов.
Запрос в Visual Fox Pro - это тот же вопрос. Если вы обращаетесь с запросами к базе данных, то вы задаете ей вопросы о данных, содержащихся в ней. Запросы хранятся как программные файлы с расширением .QPR, которые содержат команду SELECT языка SQL. Для создания запросов в Visual FoxPro можно использовать Query Wizard (Мастер по созданию запросов), или Query Designer(Конструктор запросов), или же и то, и другое. Применение Query Wizard целесообразно для быстрого создания несложных, стандартных запросов. В свою очередь Query Designer позволяет вам творчески подойти к задаче и конструировать более изящные, эффективные и сложные запросы. Далее будут рассмотрены приемы создания запросов как с помощью Query Designer, так и Query Wizard.
Рассмотрим создание запросов с помощью Query Designer. Для этого откройте ваш проект. В окне Project Manager щелкните по закладке Data и выберите пункт Queries. В меню справа щелкните на пункт New, затем в появившемся окне New Queryвыберите New Query. Закройте пока окно Add Table or View и поместите на рабочий стол панель инструментов Query Designer.
Теперь рассмотрим как можно включать в запрос вычисляемые поля. В окне Project Manager откройте запрос, нажав кнопку Modify справа. Теперь, щелкнув по уже знакомой нам вкладке Fields, нажмите кнопку с многоточием (...), находящуюся внизу, рядом со списком Functions and expressions. Откроется диалоговое окно построителя выражений Expression Builder. В этом окне с помощью разнообразных инструментов вы можете строить различные выражения, используя нужные поля таблиц.
Набрав выражение в Expression Builder, нажмите OK, затем щелкните по списку Functions and expressions и, нажав кнопкуAdd, переместите вычисляемое поле в список полей для запроса. Проверить работу полученного запроса можно, щелкнув по кнопке с изображением восклицательного знака в панели стандартных инструментов в верхней части экрана. При просмотре результатов запроса можно менять порядок следования столбцов следующим образом: захватив заголовок столбца, тащите его на нужное место. Для повторного редактирования вычисляемого поля, необходимо щелкнуть по нему в списке полей, выбранных для запроса и, затем, нажав кнопку Remove, переместить его в список Functions and expressions. Теперь можно редактировать поле в Expression Builder, зайдя туда с помощью кнопки (...). Теперь обратимся ко вкладке Filter окна Query Designer. С помощью средств данной вкладки можно строить дополнительные критерии (условия) отбора данных при запросе. Сначала рассмотрим поля и кнопки вкладки Filter. Средства вкладки Filter:
Поле или кнопка |
Назначение |
Поле со стрелкой |
Позволяет менять местами построенные условия. Просто захватите это поле мышью у фильтра и тащите его на нужное место |
Поле Field Name |
Служит для записи левой части критерия. Здесь можно выбрать любое поле из выбранных для запроса таблиц, а также построить выражение с помощью Expression Builder |
Поле Not |
При установке этого флажка построенный критерий меняется на противоположный |
Поле Criteria |
Служит для задания операции условного выражения критерия |
Поле Example |
Служит для записи правой части критерия |
Поле Case |
При установке этого флажка в условии учитывается регистр символов |
Поле Logical |
Служит для задания логической связи нескольких критериев |
Кнопка Insert |
Вставка нового критерия |
Кнопка Remove |
Удаление построенного критерия |
Теперь познакомимся с допустимыми операциями для задания условия объединения. Операции для задания условия объединения:
Операция |
Значение |
= |
Равно |
Like |
Подобно |
== |
Точно соответствует |
> |
Больше |
< |
Меньше |
>= |
Больше либо равно |
<= |
Меньше либо равно |
Is NULL |
Значение не определено |
Between |
Задание интервала вхождение значения |
In |
Задание списка значений |
Пришло время многотабличных запросов. Начните создание нового запроса в Query Designer. Поместите в диалоговое окно Query Designer две таблицы: Group и Student. Выберите следующие поля для запроса во вкладке Fields: Student.number, Student.name, Student.ocenka, Group.group_n. Теперь щелкните по вкладке Join (Объединение).
С помощью средств данной вкладки можно настраивать условие объединения данных таблиц. Слева от имени поля во вкладке вы видите 2 кнопки. Самая левая кнопка позволяет изменить порядок следования выражений, если их несколько. С помощью второй кнопки можно модифицировать тип условия объединения. При щелчке на ней открывается окно Join Condition (Условие объединения). Это окно можно также открыть, щелкнув по кнопке Add Join (Добавить объединение) или дважды щекнув по линии, свяэывающей таблицы в области исходных данных. С помощью окна Join Condition можно выбрать тип объединения и описать каждое условие. Типы объединений:
Тип |
Характеристики |
Inner Join (Внутреннее объединение) |
Включает только те записи из таблиц, которые отвечают условию объединения |
Left outer Join (Левое внешнее объединение) |
Включает все записи из таблицы слева и те записи из таблиц, которые отвечают условию объединения |
Right outer Join (Правое внешнее объединение) |
Включает все записи из таблицы справа и те записи из таблиц, которые отвечают условию объединения |
Full Join (Полное внешнее объединение) |
Включает все записи из таблиц, причем если находятся записи, совпадающие по заданному условию объединения, то в результирующем наборе эти записи объединяются в одну |
Тип объединения можно выбрать из раскрывающегося списка Type (Тип). При описании типов мы не сказали о декартовом произведении (Cartesian product). Оно представляет собой результат объединения, при котором отсутствует критерий объединения. В этом случае каждая запись из одной таблицы объединяется с каждой записью из другой таблицы. Поля - участники объединения, выбираются из списков Field Name и Value (Значение). Для инвертирования логики критерия используется кнопка Not. Условия объединения,установленные на основе постоянных отношений между таблицами, нельзя модифицировать. Вы должны сначала удалить это условие, а потом задать его снова во вкладке Join. Удаление его не повлияет на постоянные отношения таблиц. Группировка полей в запросе
Иногда нужно составить отчет, содержащий лишь некоторые итоговые значения. В окне Query Designer это можно сделать с помощью вкладки Group by(Сгруппировать по). Для вычисления неких итоговых значений существуют специальные функции, доступные в Expression Builder.
Тип |
Характеристики |
COUNT |
Подсчет количества записей в группе |
SUM |
Суммирование значения поля для записей в группе |
AVG |
Вычисление среднего значения поля для записей в группе |
MIN |
Определение минимального значения поля для записей в группе |
MAX |
Определение максимального значения поля для записей в группе |
Варианты назначения запроса:
Назначение |
|
Определение |
Browse (Окно просмотра) |
|
Результаты запроса можно просматривать только в окне Browse |
Cursor (Курсор) |
|
Создается временная таблица (курсор) с результатами запроса |
Table (Таблица) |
|
Создается постоянная таблица |
Graph (График) |
|
Результаты запроса можно использовать для построения графика с помощью Microsoft Graph |
Screen (Экран) |
|
Результаты отображаются только на экране |
Report (Отчет) |
|
Результаты запроса можно использовать в качестве исходных данных для отчета |
Label (Почтовая наклейка) |
|
Результаты запроса можно использовать в качестве исходных данных для почтовой наклейки |