ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.01.2025
Просмотров: 2228
Скачиваний: 3
СОДЕРЖАНИЕ
8. Типы структур ис. Их характеристики, достоиства, недостатки.
3. Клиент серверная архитектура.
9. Определение реляционной модели данных, характеристика ее основных элементов.
10. Основные подходы к проектированию структур данных и проблемы определения структур данных.
14. Формирование отношений для связи 1:м при кп обязательном для м связной сущности.
15. Формирование отношений для связи 1:м при кп необязательном для м-связной сущности.
16. Формирование отношений для связи м:м.
17. Этапы проектирования и назначение диаграммы er-экземпляров и er-типа.
18. Фильтрация записей. Фильтрация по выражению.
19. Фильтрация записей. Фильтрация по диапазону.
21. Схема взаимодействия компонентов при проектировании бд в Delphi.
Связь этих компонентов друг с другом и с базой данных можно представить схемой приведенной ниже:
22. Основные этапы создания приложения бд в Delphi.
23. Назначение компонента tDataSource в создании бд. Основные свойства и методы компонента.
24. Назначение компонента тТablе в создании бд. Основные свойства и методы компонента.
25. Приёмы работы с набором данных(нд). Состояния набора данных. Метод State.
28. Назначение компонента tdbGrid в создании бд. Основные свойства и методы компонента.
30. Методы поиска записей в наборе данных. Метод Locate.
31. Методы поиска записей в наборе данных. Метод Lookup.
32. Методы поиска записей в наборе данных. Методы FindKey и FindNearest(инкрементный поиск записей).
33. Отображение и редактирование данных. Классификация компонентов отображения данных.
34. Назначение компонента tQuery- Основные свойства и методы.
36.Основные операторы языка sql. Оператор select: назначение, формат оператора.
38. Использование оператора select для сортировки нд и устранения повторяющихся значений.
39. Использование оператора select для расчета вычисляемых столбцов и группировки записей.
41. Использование оператора select для внешнего соединения. Формат запроса.
42. Операторы insert, delete, update. Форматы операторов и назначение.
43. Ссылочная целостность таблиц бд и механизмы ее осуществления. Понятие транзакции.
46. Использование bde Administrator при создании бд.
47. Роль индексов в субд. Определение индексов. Связывание таблиц бд.
48. Работа с визуальным компонентом tdbGrid и настройка полей таблиц.
49. Навигация по набору данных. Использование визуального компонента tdbNavigator.
50. Создание поля просмотра и вычисляемого поля. Основные проблемы и пути их решения.
29. Навигация по набору данных. Назначение компонента tdbNavigator в создании бд. Основные свойства и методы компонента.
Для осущ навигации есть 2 способа работы с записями: 1) основан на операторе SQL и предполагает оперирование группой записей, записи удовлетв некот условию и выдаются группами, даже если условию удовлетв 1 запись. 2)состоит в оперировании единичными записями, если необход изменить, добавить или удалить группу записей, необх операция выполн для каждой из таких записей, такие записи нужно отыскать и для этого использ навигационные методы, кот работают только с единичной записью. Для рассмотрения навигац методов необход использ понятие курсора набора данных – указатель текущей записи. Для перемещения указателя текущей записи использ методы:
- Процедура First – установка на первую запись
Next – установка на след запись, для послед записи указатель не перемещ
Last – установка на последн запись
Prior – установка на предыдущ запись, для первой записи указатель не перемещ
Функция MoveBy – перемещ на кол-во записей, опред-ное пар-ром фун-и: на n-записей к концу n>0, и если n<0, то вначало.
Для определения начала и конца набора данных использ лог св-ва BOF и EOF типа boolean. Они доступны для чтения при выполнении приложения. Св-во BOF=true, если указатель нах на первой записи набора, иначе – если не на первой. Св-во EOF=true – если указатель наход на последней записи набора данных, и false если не на последней. Для пустого набора данных оба св-ва истина.
Т.к. BDE неспособна определить место нахождения курсора в наборе данных возникает потребность проверки момента попадания 1 или последней записи для комфортной работы:
Begin
If BOF then Prior
Else First; end;
/
/проверка
курсора в начале ли он набора данных
если нет то перевести его в начало
DBNavigator – ком-т управления набором данных. Навигатор содержит кнопки для выполнения разл оперпций с набором данных путем автоматич вызова соответ методов. Кнопки навигатора:
Данных TDataSource — это все, что необходимо для его нормальной работы. Представленное ниже свойство управляет отображением диалогового окна с просьбой подтвердить удаление записи (значение True этого свойства выводит окно):
property ConfirmDelete: Boolean;
Если следующее свойство имеет значение True, кнопки будут плоскими, в противном
случае — объемными:
property Flat: Boolean;
С помощью другого свойства можно отображать только те кнопки навигатора,которые действительно необходимы:
type TNavigateBtn = (nbFirst, nbPrior. nbNext. nbLast.
nblnsert. nbDelete, nbEdit. nbPost.
nbCancel, nbRefresh);
type TButtonSet = set of TNavigateBtn;
property VisibleButtons: TButtonSet;
Наименование кнопки имеет префикс nb и наименование метода, вызываемого этой кнопкой:
nbFirst –перейти к первой записи. nbPrior – перейти к пред записи. nbNext – перейти к след записи
nbLast – к последней записи. nbInsert – вставить запись. nbDelete – удалить текущую запись
nbEdit – редактировать текущую запись. nbPost – сохранить результат изменения записи
nbCansel – отменить изменения текущей записи. nbRefresh – обновить информацию в наборе данных
Подзказки для каждой кнопки навигатора содержит св-во Hints. Подсказаки на англ языке. Их можно заменить текстом на русском. Для этого нужно вызвать редактор String List Editor двойным щелчком в поле св-ва Hints или щелчком на многоточии в конце строки св-ва.
С помощью следующего метода можно имитировать щелчок на нужной кнопке навигатора:
procedure BtnClick(Index: TNavigateBtn);
30. Методы поиска записей в наборе данных. Метод Locate.
Поиск записи, удовлетворющей заданным условиям, означает переход к этой записи. Поиск по индексированным полям происходит быстрее. Кроме того ряд методов поиска может работать только с индексированными полями. Для поиска данных можно использовать методы:
FindFirst – поиск первого подходящего значения
FindLast – поиск последнего подходящего значения
FindNext – поиск следующего подходящего значения
FindPrior – поиск записи предшествующей искомой
Locate – для поиска по одному или нескольким полям
Lookup – просмотр не изменяет положение курсора, возвращает значение требуемых полей найденной записи
Поисковые признаки задаются в списке параметров методов. Последовательный поиск можно организовать с помощью метода
FindNearest. При этом поиск производится по мере ввода поискового признака. Поиск может выполняться по первичному ключу (главному индексу) или по вторичному индексу. Перед выполнением поиска должен быть задан нужный индекс.
Для поиска методом Locate поля для поиска могут быть неиндексированными.
Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает ее текущей. В этом случае в качестве результата возвращается значение True. Если запись не найдена, возвращается значение False и курсор не меняет своего положения. function Locate(const KeyFields: String;
const KeyValues: Variant;Options: TLocateOptions): Boolean:
Список KeyFields указывает поле или несколько полей, по которым ведется поиск. В случае нескольких поисковых полей их названия разделяются точкой с запятой. Критерии поиска задаются в вариантном массиве KeyValues так, что i-e значение в KeyValues ставится в соответствие i-му полю в KeyFields. Параметр Options указывает необязательные значения режимов поиска:
1) loCaselnsensitive — поиск ведется без учета возможной разницы регистра букв в текстовых полях и в критерии поиска;
2) loPartialKey — запись считается удовлетворяющей условию поиска, если она содержит часть поискового контекста; например, удовлетворяющими контексту «Диа» будут признаны записи со значениями в поле поиска «Диалект», «Диалог-МИФИ», «ДиаСофт» и т. д.
Метод Locate производит поиск по любому полю независимо от того, входит оно в состав какого-либо индекса или нет. Если поле (поля) поиска входят в какой-либо индекс, Locate автоматически использует его, что существенно увеличивает скорость поиска.
Пример для поиска по одному поисковому признаку:
If Table1.Locate(‘number’,123,[]) then s1 else s2;
Поиск ведется по полю number ищется первая запись для которой это поле равно 123, все параметры поиска отключены.
31. Методы поиска записей в наборе данных. Метод Lookup.
Поиск записи, удовлетв заданным условиям, означает переход к этой записи. Поиск по индексированным полям происходит быстрее. Кроме того ряд методов поиска может работать только с индексированными полями. Для поиска данных можно использовать методы:
FindFirst – поиск первого подходящего значения. FindLast – поиск последнего подходящего значения
FindNext – поиск следующего подходящего значения. FindPrior – поиск записи предшествующей искомой
Locate – для поиска по одному или нескольким полям. Lookup – просмотр не изменяет положение курсора, возвращает значение требуемых полей найденной записи
Поисковые признаки задаются в списке параметров методов.
Для поиска методом Lookup поля для поиска могут быть неиндексированными. Последовательный поиск можно организовать с помощью метода FindNearest. При этом поиск производится по мере ввода поискового признака. Поиск может выполняться по первичному ключу (главному индексу) или по вторичному индексу. Перед выполнением поиска должен быть задан нужный индекс.
Метод Lookup находит запись, удовлетворяющую условию поиска, но не делает ее текущей, а возвращает значения некоторых ее полей. Независимо от результата поиска записи указатель текущей записи в НД не изменяется. В отличие от метода Locate метод Lookup осуществляет поиск только на точное соответствие критерию поиска значения поля поиска записи.
function Lookup(const KeyFields: String;
const KeyValues: Variant;
const ResultFields: String): Variant;
В параметре KeyFields указывается список полей, по которым необходимо осуществить поиск (если задается поиск по нескольким полям, соседние поля в списке разделяются точкой с запятой). Параметр KeyValues определяет поисковые значения полей, список которых содержится в параметре KeyFields. В параметре Result-Fields перечисляются поля, значения которых требуется получить в случае успешного поиска. Тип результата — Variant или вариантный массив.
Если имеется несколько поисковых полей, каждому г'-му полю в списке KeyFields ставится в соответствие i-e значение в списке KeyValues. Если поиск ведется по одному полю, его поисковое значение можно указывать в качестве KeyValues непосредственно;
в случае нескольких полей их необходимо приводить к типу вариантного массива при помощи функции преобразования VarArrayOf. Как и в методе Locate, в качестве поисковых полей можно указывать поля как входящие в какой-либо индекс, так и не входящие в него. Если в результате поиска запись не найдена, метод Lookup возвращает Null, что можно проверить с помощью такого приема:
var
LookupResult: Variant;
LookupResult := Tablel.LookupC...);
if VarType(LookupResult) = varNull then ...
Если поиск оказался успешным, Lookup возвращает из найденной записи значения полей, список которых содержит ResultFields. При этом размерность результата зависит от того, сколько результирующих полей указано в ResultFields.