- •Управление распределёнными данными: технологии управления, блокировка ресурсов, сериализуемые транзакции.
- •Привилегии на доступ к таблице, полю таблицы, к хранимой процедуре. Отмена привилегий.
- •Модели бд. Понятие локальной сети, сервера, рабочей станции. Отличия и преимущества удалённых баз данных от локальных.
- •Назначение и виды отчётов. Мастер отчётов и Конструктор отчётов. Настройка печати и печать отчётов. Компоненты формирования отчётов.
- •Создайте запрос, позволяющий получить список служебных телефонов всех работников предприятия со всей необходимой информацией. Билет №8
- •Архитектура приложений баз данных.
- •Понятие и назначение транзакции. Старт, фиксация, откат и отмена транзакции. Компоненты для работы с транзакциями.
- •Создайте хранимую процедуру, определяющую список заказчиков из города, название которого задаётся параметром, из тестовой таблицы Customers. Билет №10
- •Создание запросов с использованием агрегатных функций. Группировка.
- •Соединение с сервером и базой данных в InterBase.
- •Напишите триггер, который при удалении названия фирмы в родительской таблице «Фирмы», удаляет подчинённые записи в дочерней таблице «Заказы». Билет №11
- •Основные функции процессора баз данных bde, стандарт odbc.
- •Понятие и назначение хранимой процедуры, триггера и генератора. Команды по созданию, редактированию и удалению хранимой процедуры, триггера
- •Создайте хранимую процедуру, определяющую страну с самым большим населением по тестовой таблице Country. Билет №12
- •Концепция баз данных. Понятия баз данных, субд. Архитектура субд.
- •Полный и сокращённый форматы оператора добавления, редактирования и удаления данных. Методы выполнения операторов управления данных.
- •Создайте хранимую процедуру, позволяющую вводить новую запись в таблицу. Билет №13
- •Утилиты для работы с удаленными бд в Delphi. Программа Server Manager Windows isql, sql Explorer. Просмотры — Views.
- •Проектирование серверной части приложения баз данных.
- •Показать работу с параметризированным запросом в ibQuery на примере таблиц из тестовой бд employee.Gdb. Билет №14
- •Назначение и структура файлов базы данных. Команды по созданию и перемещению файла базы данных, по определению структуры и администрированию базы данных.
- •Показать работу с основными компонентами InterBase: ibDataBase, ibDataSet, ibTransaction, ibQuery на примере тестовой базы данных. Билет №15
- •Назначение и структура файлов базы данных. Команды по созданию и перемещению файла базы данных, по определению структуры и администрированию базы данных.
- •Параметризированные запросы.
- •Создайте автоинкрементные поля для таблиц «Товары», «Поставщики», используя генераторы и триггеры.
- •Запросы на создание, изменение, удаление таблиц, индексов.
- •2.1.3. Ручная настройка Query
- •1. Создание запросов на изменение данных
- •10.2 Создание баз данных с помощью Database Desktop
- •10.2.1 Создание новой таблицы
- •10.2.2 Задание полей
- •10.3.2 Создание и просмотр псевдонимов баз данных в Database Desktop
- •10.10 Приложения с несколькими связанными таблицами
- •10.10.1 Связь головной и вспомогательной таблиц
- •10.10.2 Поля просмотра (lookup fields)
10.10.2 Поля просмотра (lookup fields)
Возможна и другая связь таблиц, отличная от рассмотренной выше. Вы можете ввести в компонент Table, связанный с одной таблицей, поля просмотра, значения которых получаются в результате просмотра другой таблицы. Эти поля содержат данные только для чтения. Пусть, например, вы хотите добавить в компонент Tab1е2, связанный с таблицей Pers, поле, которое бы отображало характер подразделения, в котором работает каждый сотрудник. Этот характер подразделения содержится в таблице Dep в поле Proizv. Пусть с этой таблицей связан компонент Tablel.
Сделайте двойной щелчок на ТаЫе2 — таблице, в которую вы хотите ввести поле просмотра. В появившемся окне Редактора Полей щелкните правой кнопкой мыши и из всплывшего меню выберите раздел New Field. Перед вами откроется окно создания нового поля, с которым вы уже знакомы по созданию вычисляемых полей (рис. 10.46). Введите имя (Name) создаваемого поля. Оно должно отличаться от имен других полей. Укажите тип (Туре) создаваемого поля. Он, как правило,
Ввод информации о поле просмотра
должен соответствовать типу того поля в таблице просмотра, которое вы хотите просматривать. В нашем примере вы хотите просматривать в таблице Dep поле Ргоizv, имеющее булевский тип. Для строк и некоторых других типов полей надо еще указать размер поля (Size).
После того, как вы определили новое поле, нажмите в группе радиокнопок Field type кнопку Lookup. Выберите в выпадающем списке Key Fields ключевое поле (или поля) в таблице, в которой вы создаете новое поле (ТаЫе2). Это то поле или поля, по которым вы будете связываться с другой таблицей. В выпадающем списке Dataset выберите таблицу, которую вы хотите просматривать (Tablel). Далее в выпадающем списке Lookup Keys выберите ключевое поле (или поля) просматриваемой таблицы (в нашем примере поле Dep из Tablel). И, наконец, в выпадающем списке Result Field выберите просматриваемое поле (Proizv). Щелкните на ОК. Вы вернетесь в Редактор Полей, в котором появится ваше новое поле Pro. Вам осталось задать для него в Инспекторе Объектов свойство DisplayLabel (заголовок), например, «Тип», и, поскольку это поле булево, задать свойство DisplayValues (отображаемые значения для true и false), например, «производство;управление».
Теперь в ваших компонентах визуализации данных, например, в DBGrid, появится соответствующее поле.
Поля просмотра определяются до расчета вычисляемых полей в той же записи. Поэтому их значения можно использовать в вычисляемых полях, но не наоборот.
Поля просмотра имеют еще одну интересную особенность. Дело в том, что для них предусмотрены специальные компоненты: DBLookupListBox и DBLookupComboBox — список и выпадающий список. Если вы поместите на форму один из этих компонентов, установите у него свойство DataSource, соответствующее таблице, имеющей поля просмотра, а в свойстве DataField выберете одно из полей просмотра, то значения просматриваемого поля сразу отобразятся в списке. При этом не надо заботиться о загрузке в список значений, как это приходится делать со списками DBListBox и DBComboBox.