- •8. Типы структур ис. Их характеристики, достоиства, недостатки.
- •2 Файл серверная архитектура.
- •3. Клиент серверная архитектура.
- •4. Многозвенная архитектура.
- •9. Определение реляционной модели данных, характеристика ее основных элементов.
- •10. Основные подходы к проектированию структур данных и проблемы определения структур данных.
- •12. Основная задача проектирования бд. Метод декомпозиции- классический метод нормализации отношений.
- •14. Формирование отношений для связи 1:м при кп обязательном для м связной сущности.
- •15. Формирование отношений для связи 1:м при кп необязательном для м-связной сущности.
- •16. Формирование отношений для связи м:м.
- •17. Этапы проектирования и назначение диаграммы er-экземпляров и er-типа.
- •18. Фильтрация записей. Фильтрация по выражению.
- •19. Фильтрация записей. Фильтрация по диапазону.
- •20. Создание приложения бд в Delphi (компоненты, обеспечивающие доступ к данным, структура и работа приложения).
- •21. Схема взаимодействия компонентов при проектировании бд в Delphi.
- •Связь этих компонентов друг с другом и с базой данных можно представить схемой приведенной ниже:
- •22. Основные этапы создания приложения бд в Delphi.
- •23. Назначение компонента tDataSource в создании бд. Основные свойства и методы компонента.
- •24. Назначение компонента тТablе в создании бд. Основные свойства и методы компонента.
- •25. Приёмы работы с набором данных(нд). Состояния набора данных. Метод State.
- •26. Основные методы модифицируемого набора данных(нд). Редактирование набора данных и проблемы редактирования.
- •27. Основные методы модифицируемого набора данных. Добавление и удаление записей и проблемы удаления.
- •28. Назначение компонента tdbGrid в создании бд. Основные свойства и методы компонента.
- •29. Навигация по набору данных. Назначение компонента tdbNavigator в создании бд. Основные свойства и методы компонента.
- •30. Методы поиска записей в наборе данных. Метод Locate.
- •31. Методы поиска записей в наборе данных. Метод Lookup.
- •32. Методы поиска записей в наборе данных. Методы FindKey и FindNearest(инкрементный поиск записей).
- •33. Отображение и редактирование данных. Классификация компонентов отображения данных.
- •34. Назначение компонента tQuery- Основные свойства и методы.
- •35. Теоретические языки запросов. Sql - структурированный язык запросов. Основные методы его использования.
- •36.Основные операторы языка sql. Оператор select: назначение, формат оператора.
- •37. Предложение where в операторе select. Формирование запроса по условию поиска и внутреннее соединение таблицы.
- •38. Использование оператора select для сортировки нд и устранения повторяющихся значений.
- •39. Использование оператора select для расчета вычисляемых столбцов и группировки записей.
- •40. Использование оператора select для задания сложных условий поиска (операторы and, or, not, between).
- •41. Использование оператора select для внешнего соединения. Формат запроса.
- •42. Операторы insert, delete, update. Форматы операторов и назначение.
- •43. Ссылочная целостность таблиц бд и механизмы ее осуществления. Понятие транзакции.
- •44. Типы полей данных, поддерживаемые в Delphi и их характеристики. Объявление полей и типов полей при создании приложения.
- •46. Использование bde Administrator при создании бд.
- •47. Роль индексов в субд. Определение индексов. Связывание таблиц бд.
- •48. Работа с визуальным компонентом tdbGrid и настройка полей таблиц.
- •49. Навигация по набору данных. Использование визуального компонента tdbNavigator.
- •50. Создание поля просмотра и вычисляемого поля. Основные проблемы и пути их решения.
- •51. Разработка отчетов с помощью средства Quick Report.
- •52. Разработка отчетов с помощью средства Rave Reports.
34. Назначение компонента tQuery- Основные свойства и методы.
TQuery - ком-т формирования набора данных по SQL-запросу. Набор данных TQuery может включать записи более чем одной таблицы.
Компонент TQuery порожден от родительского класса TDBDataSet и наследует от него основные методы, события и свойства. Он имеет также собственные свойства, методы и события.
Свойства
property Constrained: Boolean; Если содержит True, в изменяемом НоборДанных на записи, вводимые или изменяемые пользователем, накладываются ограничения секции WHERE оператора SELECT
property DataSource: TDataSource; Содержит ссылку на компонент TDataSource, используемый для формирования параметрического запроса
property Local: Boolean; Содержит True, если TQuery работает с локальной или файл-серверной БД
property ParamCheck: Boolean; Если содержит True, список параметров будет автоматически обновляться при изменении запроса на этапе прогона программы
property Params[Index: Word]: TParams; Содержит массив объектов-параметров класса TParams
property Prepared: Boolean; Содержит True, если запрос был подготовлен к выполнению методом Prepare
property RequestLive: Boolean; Содержит True, если TQuery должен возвращать изменяемый НД
property RowsAffected: Integer; Содержит количество записей, которые были изменены или удалены в результате выполнения запроса
property SQL: TStrings; Содержит текст SQL-запроса
property Text: PChar; Содержит текст SQL-запроса, который был в действительности передан BDE
property UniDirectional: Boolean; Если содержит True, курсор НД может перемещаться только вперед. Такие НД требуют меньше памяти и быстрее обрабатываются.
Свойство Params содержит набор ссылок на объекты класса TParams. Наиболее важные свойства и методы этого класса перечислены:
property Items[Index: Word]: TParam; Содержит массив объектов-параметров класса ТРаram. Это свойство для класса TParams является свойством по умолчанию. Значение параметра Index должно лежать в диапазоне от 0 до Count-1
property ParamValues[constParamName: String]: Variant Открывает доступ к значению параметра по его имени
property Count: Integer; Содержит количество параметров в массиве Items
Методы
Наиболее важные методы компонента TQuery представлены:
procedure ExecSQL; Выполняет запросы INSERT, UPDATE, DELETE и CREATE
TABLE. Для выполнения запроса SELECT вместо него используется
метод Open или свойство Active
procedure GetDetailLinkFields(MasterFields, DetailFields: TList); override; Заполняет список MasterFields полями главной таблицы и
список DetailFields полями детальной таблицы
function ParamByName(const Value:String): TParam; Открывает доступ к параметру по его имени Value
procedure Prepare; Передает BDE запрос для того, чтобы сама библиотека BDE и удаленный сервер БД распределили свои ресурсы и дополнительно оптимизировали запрос.
procedure UnPrepare; Отменяет последствия вызова метода Prepare
35. Теоретические языки запросов. Sql - структурированный язык запросов. Основные методы его использования.
SQL – это язык, который обеспечивает доступ к информации и позволяет
управлять реляционными базами данных. Язык SQL – Structured Query Language– структурированный язык запросов. Язык SQL оперирует данными, представленными в виде логически связанных таблиц.
Язык SQL используется на разных платформах, позволяет работать с ре-
ляционными базами данных различных форматов.
Ср-ва SQL применимы для выполнения операций с локальными и удаленными БД. Основное достоинство реляц способа доступа – небольшая загрузка сети, т.к. по сети передаются только запросы и результат их выполнения. Наиболее эффективны они при работе с удаленными БД. В локальн БД с помощью SQL-запросов можно:
-формировать состав полей НД при выполнении приложения
-включать в НД поля и записи одной или нескольких таблиц
-отбирать записи по сложным критериям
-сор-ть НД по люб полю, в том числе и неиндексированному
-осущ-ть поиск данных по полному или частичному совпадению критерия поиска со знач поля записи.
Язык SQL определяет набор операторов (команд), типы данных, набор
встроенных функций. Так как язык SQL предназначен для манипулирования
данными в реляционных базах данных, определения структуры баз данных и для управления правами доступа к данным в многопользовательской среде, то в него в качестве составных частей входят:
язык манипулирования данными (Data Manipulation Language, DML);
язык определения данных (Data Definition Language, DDL);
язык управления данными (Data Control Language, DCL).
Это не отдельные языки, а различные команды одного языка. Деление
проведено только лишь с точки зрения функционального назначения команд.
Язык манипулирования данными (DML, ЯМД) состоит из четырёх основ-
ных команд:
SELECT (выбрать) – извлечь данные из одной или нескольких таблиц;
INSERT (вставить) – добавить строки в таблицу;
UPDATE (обновить) – изменить значения полей в таблице;
DELETE (удалить) – удалить строки из таблицы.
Язык определения данных (DDL, ЯОД) используется для создания
(CREATE), изменения (ALTER), удаления (DROP) структуры базы данных и ее составных частей – таблиц, индексов, представлений (виртуальных таблиц), а также триггеров и хранимых процедур. Примеры:
CREATE INDEX – создать индекс; ALTER INDEX – модифицировать индекс; DROP INDEX – удалить индекс; DROP TABLE – удалить таблицу;
Язык управления данными (DCL) используется для управления правами
доступа к данным и для управления выполнением процедур в многопользовательской среде. Более точно его можно было бы назвать языком управления доступом. Он состоит из двух основных команд:
GRANT – дать права; REVOKE – забрать права.
С точки зрения прикладного интерфейса существуют две разновидности
языка SQL: интерактивный и встроенный. Интерактивный SQL позволяет в интерактивном режиме вводить запросы, посылать их на выполнение и получать результаты в предназначенном для этого окне. Интерактивный SQL используется в специальных утилитах (например, SQL Explorer).
Встроенный SQL применяется в прикладных программах, написанных на
других языках программирования, позволяет посылать запросы и обрабатывать полученные результаты.
Использование
Реляционные базы данных имеют мощный теоретический фундамент, ос-
нованный на математической теории множеств. Основными операциями над
отношениями являются: выборка (Restriction), проекция (Projection), соединение (Join), объединение (Union), пересечение, разность, декартово произведение (Cross Join).
Операции выборки и проекции являются унарными, поскольку они работают с одним отношением. Операция выборки – это построение горизонтального подмножества, т.е. получение части строк, обладающих заданными свойствами. Операция выборки работает с одной таблицей и позволяет получить либо все, либо те строки таблицы, которые удовлетворяют заданному условию.
Например, вывести все строки таблицы country:
SELECT * FROM country
Операция проекции – это построение вертикального подмножества отно-
шения, т.е. выделение подмножества столбцов таблицы. Операция проекции применяется к одной таблице и в качестве результата выдаёт таблицу, у которой оставлена только часть атрибутов и исключены строки-дубликаты.
Например, вывести названия фирм, город и страну из таблицы vendors:
SELECT VendorName,City,Country FROM vendors
На практике очень часто требуется получить подмножество столбцов и
строк таблицы – выполнить комбинацию выборки и проекции. Для этого достаточно перечислить столбцы таблицы и наложить ограничения на строки. Например, получить фамилии работников, которых зовут Roger:
SELECT firstName,lastName FROM employee
WHERE firstName="Roger"
Декартово произведение R×S двух отношений (двух таблиц) определяет
новое отношение – результат сцепления каждой записи из отношения R с каждой записью из отношения S.
Пусть таблица R имеет поля а1, а2 и таблица S имеет поля b1, b2. Оператор SELECT R.a1, R.a2, S.b1, S.b2 FROM R,S сформирует результи-
рующую таблицу, причём если одна из исходных таблиц имеет N записей и K полей, а другая – M записей и L полей, то их декартово произведение будет содержать N×M записей и K+L полей.
Операция объединения (UNION) позволяет объединить результаты от-
дельных запросов по нескольким таблицам в единую результирующую таблицу. Таким образом, предложение UNION объединяет вывод двух или более SQL-запросов в единый набор строк и столбцов. При этом результаты запросов должны быть совместимы, т. е. иметь одинаковое количество полей с совпадающими типами данных:
Пример. Из таблиц employee и country получить список работников и заказчиков, проживающих во Франции:
SELECT first_name,last_name,job_country FROM employee
WHERE job_country = "France"
UNION
SELECT contact_first,contact_last,country FROM customer
WHERE country = "France"