- •Системы управления базами данных
- •Часть 2
- •Предисловие
- •Лабораторная работа 1
- •1.1. Краткие теоретические сведения
- •1.2. Описание команд и рекомендации к выполнению работы
- •1.3. Создание таблиц базы данных
- •2. Практическая часть
- •1.2 Создание пользователей и задание им прав
- •1.3 Копирование и восстановление бд
- •2. Практическая часть
- •3.Контрольные вопросы
- •Лабораторная работа 3 Индексы и обзоры.
- •1.1. Краткие теоретические сведения
- •1.2. Создание индекса
- •1.3. Оператор explain
- •1.4. Представления (обзоры)
- •2. Практическая часть
- •1.2 Создание и модификация хранимых процедур и функций
- •1.3Синтаксис хранимого кода
- •Практическая часть
- •2. Практическая часть
- •Практические задания
- •3. Контрольные вопросы
- •Лабораторная работа № 7 Работа с Firebird и Interbase в Delphi. Ado компоненты
- •Практические задания
- •Лабораторная работа №8 разработка приложения в среде delphi
- •1.Краткие теоретические сведения
- •2 Практические задания
- •Контрольные вопросы
- •Лабораторная работа №9 Проектирование приложений для работы с бд
- •Краткие теоретические сведения
- •Практические задания
- •3. Контрольные вопросы
- •Лабораторная работа №10 Проектирование отчетов
- •Краткие теоретические сведения
- •2 . Практические задания
- •Лабораторная работа №11 Использование запросов при проектировании приложений
- •Краткие теоретические сведения
- •Практические задания
- •Практические задания
- •2.Практические задания
- •3. Контрольные вопросы
- •Краткие теоретические сведения
- •Практические задания
- •Практические задания
- •3. Практические задания
- •3. Контрольные задания
- •Лабораторная работа 16 Функции php для работы с MySql. Подключение к базе данных MySql.
- •1. Краткие теоретические сведения
- •Практическая часть
- •1.2. Обработка результатов запроса
- •1.3. Функции получения информации о результатах sql-запросов
- •2. Практическая часть
- •Int[(м)]
- •1.1.1. Строковые типы
- •Varchar(m)
- •1.1.2. Типы даты и времени
- •1.2. Функции MySql
- •1.2.1 Функции непосредственно MySql:
- •Ifnull(expr1,expr2)
- •If(expr1,expr2,expr3)
- •1.3. Написание сценариев php с использованием pear::db
- •2. Практическая часть
- •2. Практическая часть
- •3. Контрольные вопросы
2 . Практические задания
Порядок выполнения работы
Используя приложение, созданное в лабораторной работе спроектируйте и создайте:
- сводный отчет
- вывод таблиц с использованием группировки
- составление отчета с вычисляемым полем
- составление отчета с использованием агрегатных функций
Контрольные вопросы:
1) Какие компоненты используются при подготовке отчета
2) Изобразите схему, поясняющую состав простого отчета и его взаимосвязи с набором данных
3) Как осуществляется создание вычисляемых полей в отчете
Лабораторная работа №11 Использование запросов при проектировании приложений
Цель работы: получить практические навыки разработки и подключению запросов. Формирование навыков и умений работы с компонентами TQuery, TStoredProc.
Краткие теоретические сведения
Использование одной компоненты Table позволяет работать только с одной таблицей. Поэтому, когда необходимо работать с несколькими связанными таблицами, нужно создавать соответствующее число компонент Table. В этом случае целесообразно взять компонент Query класса TQuery являющегося потомком класса TDBDataSet. Эта компонента позволяет определить набор данных на основе нескольких таблиц с помощью SQL запроса. Её также удобно применять, когда таблица БД черезмерно велика, в этом случае с помощью запроса можно ограничить набор раассматриваемых данных.
Можно создать оператор Delphi SQL при помощи компоненты Query следующим образом:
- поместить на форму объекты Query, DataSource и связать их вместе;
- с помощью свойства SQL ввести указание SQL;
- установить свойство Acive в значение True
У класса TQuery отметим следующие наиболее важные свойства, которые он добавляет к наследуемым от классов TDataSet, TBDEDataSet и TDBDataSet:
Local – определяет расположение таблиц (true – локальные таблицы, false – таблицы на SQL-сервере); свойство только для чтения.
RequestLive – свойство логического типа, определяет возможность изменять набор данных, полученный в результате выполнения запроса. Эта возможность имеется, если свойство имеет значение True и у запросов, которые основаны на одной таблице и не используют сортировку и агрегатные функции. У остальных запросов результат доступен только для чтения независимо от значения данного свойства. В этих случаях можно посмотреть свойство CanModify для того чтобы увидеть, успешен ли запрос, если же нужно откорректировать таблицу с помощью запроса SQL? То следует использовать команду SQL Update/
SQL – свойство типа Tstrings, определяет текст SQL-запроса, который используется при выполнении методов Open или ExecSQL.
Unidirectional – определяет направление перемещения курсора по набору данных, полученному в результате выполнения запроса.
UpdateMode – свойтсво типа TUpdateMode, определяет способ обновления записей из промежуточного буфера.
Следующие свойства компоненты TQuery используются в динамических SQL-запросах. Приведем некоторые из них:
DataSource – свойство типа TDataSource , определяет источник данных, значения полей которого используются как параметры для динамического запроса.
Param[Index] – свойство типа TParam, задает список элементов типа TParams, которые определяют параметры в динамическом запросе. С помощью этого свойства в редакторе значений параметров задаются начальные величины параметров. Чтобы перейти к редактору значений параметров запроса, нужно активизировать мышью значение этого свойства.
Класс TQuery добавляет к наследуемым от классов TDataSet, TBDDataSet, TDBDataSet следующие методы (некоторые из них):
ExecSQL- процедура выполняет SQL – запрос
Prepare – процедура посылает запрос в BDE для проверки синтаксиса и оптимизации. Рекомендуется выполнить для динамических запросов.
События, которые обрабатываются компонентой TQuery, полностью наследуются от класса TDataSet.
При постановке переменных связи в динамический запрос программным методом с помощью свойства Params выполняются обычно следующие шаги:
- необходимо убедиться в том, что таблица закрыта;
- подготавливается объект TQuery с помощью выдачи команды Prepare;
- свойству Params присваиваются конкретные значения;
- открывается запрос.