Программа и учебные материалы к элективному курсу для

advertisement
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Ледовских Ирина Анатольевна
ПРОГРАММА И УЧЕБНЫЕ МАТЕРИАЛЫ ЭЛЕКТИВНОГО
КУРСА ПО ИНФОРМАТИКЕ ДЛЯ УЧАЩИХСЯ 10-11 КЛАССОВ
«РАБОТА С БАЗАМИ ДАННЫХ DELPHI»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА ............................................................................................................................................... 1
ТЕМАТИЧЕСКОЕ ПЛАНИРОВАНИЕ ...................................................................................................................................... 2
ТЕКСТ ПОСОБИЯ ................................................................................................................................................................. 4
БАЗЫ ДАННЫХ .................................................................................................................................................................... 4
НАЗНАЧЕНИЕ И ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ СИСТЕМЫ ВИЗУАЛЬНОГО ПРОГРАММИРОВАНИЯ DELPHI .............. 6
ПРОЕКТИРОВАНИЕ БАЗ ДАННЫХ В DELPHI. СОЗДАНИЕ ТАБЛИЦ ........................................................................................ 8
СОЗДАНИЕ ПРИЛОЖЕНИЙ. РАБОТА С ФОРМАМИ .............................................................................................................. 13
КНОПКА ............................................................................................................................................................................ 15
ВЫБОР ИНФОРМАЦИИ ИЗ БАЗЫ ДАННЫХ. СОЗДАНИЕ ЗАПРОСА НА ВЫБОРКУ В DELPHI ................................................. 18
РАБОТА СО СВЯЗАННЫМИ ТАБЛИЦАМИ. СОЗДАНИЕ СВЯЗЕЙ МЕЖДУ ТАБЛИЦАМИ ......................................................... 22
Пояснительная записка
В настоящее время информацию рассматривают как один из основных
ресурсов развития общества, а информационные системы и технологии как
средство повышения производительности и эффективности работы людей.
Информационные системы и базы данных стали неотъемлемой частью нашей
повседневной жизни: покупка в супермаркете, расчеты с использованием
кредитной карты, заказ путевки в туристическом агентстве, работа в Internet,
обучение в университете и пр. Большинство отраслей человеческой деятельности
связано с внедрением и использованием баз данных, которые обеспечивают
хранение информации, представление данных для пользователей, что повышает
эффективность работы. Наиболее широко информационные системы и базы
данных используются в производственной, управленческой и финансовой
деятельности.
Система визуального программирования Delphi позволяет быстро и
эффективно разрабатывать самые разнообразные приложения, включая и
приложения для работы с базами данных.
Цель курса: познакомить слушателей с основными понятиями, связанными с
проектированием баз данных, программированием приложений для них в Delphi и
организацией взаимодействия прикладной программы с базой данных.
Задачи программы:
 Рассмотреть основной понятийный аппарат реляционных баз данных.
 Научить проектировать реляционные базы данных и приложения.
 Показать технологию создания информационных систем
 Дать понятие языка структурированных запросов SQL как средства
реляционного способа доступа к данным.
 Познакомить слушателей с основными средствами для работы с базами данных
в Delphi.
 Показать возможность применения системы Delphi для быстрой разработки
приложений для работы с базами данных.
Хабаровск, 2006
1
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Требования к уровню усвоения содержания курса
В результате освоения программы курса слушатели должны знать:

понятие информационной системы, базы данных, системы управления
базами данных;

формулировки основных понятий реляционных баз данных: отношение,
атрибут, ключи и индексы, транзакции;

основы теории проектирования баз данных

утилиты для работы с базами данных в Delphi (утилита Database Desktop,
BDE Administrator, SQL Explorer)

компоненты доступа к данным, визуальные компоненты для работы с
данными;

основные функции языка структурированных запросов SQL (определение
данных, отбор данных из таблиц, модификация записей);

характеристики проекта в среде Delphi (состав проекта, файл проекта,
файлы формы, файлы модулей, файл ресурсов, параметры проекта).
В процессе изучения курса слушатели должны пробрести умения:

создавать локальные базы данных в Delphi

создавать приложения в Delphi, позволяющие просматривать записи,
перемещаться по записям, выполнять поиск, устанавливать фильтр

конструировать и использовать запросы в приложении, конструировать и
использовать запросы на изменение базы данных

создавать связи между таблицами реляционной базы данных средствами
Delphi;

решать различные модельные задачи создания баз данных в среде Delphi.
Программа рассчитана на слушателей, которые работают на компьютере в той
или иной области и имеют представление об объектно-ориентированном
программировании.
Объем курса: предлагаемый курс рассчитан на 20 часов
Тематическое планирование
№
п
Темы занятий
/п
1.
Базы
данных
реляционного
типа.
Основные
1.
понятия
и
определения. Типы данных.
Разработка
баз
данных:
общие подходы.
2.
Задачи
1. Познакомить с понятиями
информационная
система,
система управления базами
данных, база данных, таблица,
атрибут, ключи и индексы,
транзакции.
2. Научить создавать структуру
базовых таблиц базы данных.
Язык реляционных баз 1. Познакомить
Хабаровск, 2006
с
основными
Л
ек.
Л
/з
2
3
2
2
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
2.
3.
4.
5.
данных SQL:
 история возникновения;
 стандарты языков баз
данных;
 основные
операторы
2.
языка SQL.
функциями
языка
структурированных запросов
SQL (определение данных,
отбор данных из таблиц,
модификация записей).
Научить формировать SQLзапросы с использованием
операторы SELECT
1. Познакомить с основными
характеристиками проекта в
среде Delphi (состав проекта,
файл проекта, файлы формы,
Проектирование
баз
файлы
модулей,
файл
данных.
Проектирование
3.
ресурсов, параметры проекта).
приложений
управления 2. Научить
использовать
базами данных:
инструментальные средства
 создание
баз
данных
для обслуживания БД, для
средствами Delphi и SQL;
выполнения вспомогательных
 создание таблиц.
действий
при
разработке
приложений (например, для
создания таблиц и отладки
SQL-запросов).
Создание приложения
в
среде
визуального
программирования
Delphi
для работы с базами данных:
4. выбор
системы
управления
базами
данных;
 утилита Database Desktop;
 стандартные компоненты
для работы с базами
данных.
Проектирование
запросов. Формулировка и
5. 5
реализация
запросов
к
многотабличной базе данных
в SQL и Delphi. Решение
модельных задач.
Хабаровск, 2006
1. Научить
использовать
программу Database Desktop
для
создания
и
редактирования таблиц, а
также
для
выполнения
действий с псевдонимами БД.
2. Познакомить с компонентами
доступа
к
данным,
с
визуальными компонентами
для работы с данными.
3. Научить
создавать
приложения
в
Delphi,
позволяющие просматривать
записи,
перемещаться
по
записям, выполнять поиск,
устанавливать фильтр.
1. Научить
использовать
программу Database Desktop
для создания визуальных
запросов и SQL-запросов.
2. Научить конструировать и
использовать
запросы
к
многотабличной базе данных
в приложении.
3. Научить
создавать
связи
между
таблицами
1
2
2
3
1
4
3
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
реляционной базы данных
средствами Delphi.
4. Научить решать модельные
задачи.
итого
9
1
1
Текст пособия
Базы данных
C точки зрения пользователя, база данных — это программа, которая обеспечивает работу с информацией. При запуске такой программы на экране, как
правило, появляется таблица, просматривая которую пользователь может найти
интересующие его сведения. Если система позволяет, то он может внести
изменения в базу данных: добавить новую информацию или удалить ненужную.
С точки зрения программиста, база данных — это набор файлов,
содержащих информацию. Разрабатывая базу данных для пользователя,
программист создает программу, которая обеспечивает работу с файлами данных.
В настоящее время существует достаточно большое количество программных систем, позволяющих создавать и использовать локальные (dBASE, FoxPro,
Access, Paradox) и удаленные (Interbase, Oracle, Sysbase, InfomLx, Microsoft SQL
Server) базы данных.
В состав Delphi входят компоненты, позволяющие писать программы
работы с файлами данных различных систем: от dBASE до Informix и Oracle.
Кроме того, Delphi предоставляет утилиту Borland Database Desktop, позволяющую
программисту создавать файлы баз данных в различных форматах.
Классификация баз данных
В зависимости от расположения программы, использующей данные, и
самих данных, а также способа разделения между несколькими пользователями
различают локальные и удаленные базы данных.
Локальные базы данных
Данные локальной базы данных (файлы данных) находятся на одном
(локальном) устройстве, в качестве которого может выступать диск компьютера
или сетевой диск. Для обеспечения разделения данных (доступа к данным) между
несколькими пользователями, в качестве которых выступают программы,
Хабаровск, 2006
4
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
работающие на одном или нескольких компьютерах, в локальных базах данных
используется метод, получивший название блокировка файлов. Суть этого метода
заключается в том, что пока данные используются одним пользователем, другой
пользователь не может использовать эти данные, т.е. данные для него закрыты,
заблокированы. Paradox, dBase, FoxPro и Access до 2000 года – это локальные базы
данных.
Удаленные базы данных
Данные (файлы) удаленной базы данных находятся на удаленном
компьютере. Программа работы с удаленной базой данных состоит из двух частей:
клиентской и серверной.
Клиентская часть программы, работающая на компьютере пользователя,
обеспечивает взаимодействие с серверной программой: посредством запросов,
передаваемых на удаленный компьютер, обеспечивает доступ к данным.
Серверная часть программы, работающая на удаленном компьютере,
принимает запросы, выполняет их и пересылает данные клиентской программе.
Запросы представляют собой команды, представленные на языке SQL (Structure
Query Language) – языке структурированных запросов.
Примечание: Разработка удаленной базы данных – довольно сложная и
трудоёмкая задача. Её решение предполагает наличие у разработчика глубоких
знаний и достаточно большого опыта. Поэтому в данном пособии задача
разработки удаленных баз данных не рассматривается.
Структура базы данных
База данных – это набор однородной, как правило, упорядоченной по
некоторому критерию информации. База данных может быть представлена в
«бумажном» или в компьютерном виде.
Типичным
примером
«бумажной»
базы
данных
является
каталог
библиотеки – набор бумажных карточек, содержащих информацию о книгах.
Информация в этой базе однородная (содержит сведения только о книгах) и
упорядоченная (карточки расставлены, например, в соответствии с алфавитным
порядком фамилий авторов). Другими примерами «бумажной» базы данных
являются телефонный справочник и расписание движения поездов.
Хабаровск, 2006
5
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Компьютерная база данных представляет собой файл (или набор файлов),
содержащий информацию. База данных состоит из записей. Каждая запись
содержит информацию об одном экземпляре. Записи состоят из полей. Каждое поле
содержит информацию об одной характеристике экземпляра. Каждая запись
состоит из одинаковых полей. Некоторые поля могут быть не заполнены, однако
они всё равно присутствуют в записи.
Назначение и функциональные возможности системы визуального
программирования Delphi
Система программирования Delphi как среда визуальной разработки
приложений обладает широкими возможностями для работы с базами данных.
Начальный период работы с системой программирования Delphi заключается в
запуске данной программы.
Запуск программ группы Borland Delphi осуществляется с помощью
команды Пуск→ Программы → Borland Delphi.
В состав Delphi входят следующие утилиты (программы, разработанные для
администратора базы данных и используемые им при решении административных
задач), обеспечивающие работу с базами данных (БД):
 BDE Administrator – утилита, позволяющая создать псевдоним БД (Alias).
 Database
Desktop
–
утилита,
обеспечивающая
создание,
просмотр,
модификацию таблиц БД.
 SQL Explorer – утилита, позволяющая наполнять базу данных конкретным
содержанием, формировать запросы к базе данных.
Хабаровск, 2006
6
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Система программирования Delphi состоит из нескольких частей: главного
окна Delphi, инспектора объектов (Object Inspector), визуального проектировщика
рабочих форм, проводника и окна редактора программы.
Компоненты главного окна системы Delphi приведены на рис.1. Каждый
компонент имеет свое назначение:

Главное окно Delphi – в состав главного окна входят главное меню и
панели инструментов: стандартная, панель просмотра форм и исходного
текста, панель отладки, панель выбора настройки среды, пользовательская, а
также палитра компонентов, которые можно располагать на форме, как
основном объекте представления информации.

Инспектор объектов (Object Inspector) – позволяет осуществлять доступ к
свойствам и событиям компонентов.

Проектировщик форм – позволяет создавать внешний вид формы в
визуальном режиме, а также добавлять в форму различные невидимые
элементы.

Проводник – позволяет осуществлять быстрый переход между частями
редактируемого текста в Редакторе.

Редактор исходного текста – предназначен для создания и коррекции
программного кода, обладает возможностями подсветки синтаксиса и
ускорения ввода текста.

Панели компонентов –
содержат
основные элементы
интерфейса
программы, а также неотображаемые компоненты. Палитра компонентов
включает
28
панелей.
В
пределах
отдельной
панели
объединены
компоненты, ориентированные на конкретную область применения. Каждый
компонент представлен на палитре своим значком. Для работы с базами
данных в среде Delphi служат следующие панели компонентов: Standard,
Additional, Data

Access, Data Controls, BDE.
Запомните назначение указанных элементов среды Delphi 6!
Хабаровск, 2006
7
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Главное окно
системы Delphi
Визуальный
проектировщик
рабочих форм
Окно редактора
программ
Инспектор
объектов
Редактор
исходного текста
Рис. 1. Основные компоненты среды разработчика Delphi
Проектирование баз данных в Delphi. Создание таблиц
Процесс создания файла базы данных рассмотрим на примере. Создадим
базу
данных
«Список
учеников
Хабаровской
краевой
летней
физико-
математической школы»
Процесс создания новой базы данных представляет собой последовательность
следующих шагов:
Хабаровск, 2006
8
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
1. Создание каталога (папки). База данных состоит из нескольких
таблиц, которые размещаются в одном каталоге. Каталог для новой БД можно
создать при помощи программы Проводник (в меню Файл/ Создать/ Папку).
2. Создание псевдонима (Alias). Проблема передачи в программу
информации о месте нахождения файлов БД решается путем использования
псевдонима БД. Псевдоним (Alias) – это короткое имя, поставленное в
соответствие полному имени каталога БД, т.е. каталога, в котором находятся
файлы БД. Например, псевдонимом БД «Список учеников ХКЛФМШ» может
быть имя School.
 Псевдоним БД создается при помощи утилиты BDE Administrator, которая
запускается следующим образом Пуск/Программы /Borland Delphi/ BDE
Administrator.
 На вкладке Databases перечислены псевдонимы (dBase Files, DBDEMOS,
DefaultDD т.д.). Чтобы создать новый псевдоним, необходимо в главном
меню Objeсt выбрать команду New.
 В открывшемся диалоговом окне New Database Alias (Новый псевдоним
базы данных) в раскрывшемся списке Database Driver Name следует выбрать
драйвер доступа к данным создаваемой БД.
 По умолчанию предлагается драйвер STANDARD, который обеспечивает
доступ к таблицам в формате Paradox. Нажать кнопку ОК.
 Чтобы изменить имя псевдонима с STANDARD на Schoor нужно щелкнуть
правой кнопкой мыши по имени псевдонима (на вкладке Databases), в
Хабаровск, 2006
9
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
появившемся контекстном меню выбрать команду Rename (переименовать) и
в открывшемся окне ввести новое имя (School).
 Путь доступа к файлам БД можно ввести на вкладке Definition в поле Path
щелчком кнопки с тремя точками, находящейся в конце поля Path
 Чтобы псевдоним был зарегистрирован в файле конфигурации, необходимо
в меню Object выбрать команду Apply (Применить).
 В
открывшемся
окне
Confirm
следует
подтвердить
необходимость
сохранения изменений в файле конфигурации.
3. Создание таблицы
 Основной объект БД – таблица. На основе таблиц строятся формы, запросы,
отчеты, страницы.
 Таблицы создаются посредством выбора утилиты Database Desktop, которая
запускается
следующим
образом
Пуск/Программы/
BorlandDelphi/
DatabaseDesktop.
 В открывшемся окне Database Desktop в меню File выбрать команду New и в
появившемся списке выбрать тип создаваемого файла – Table.
 В открывшемся окне Create Table следует выбрать тип создаваемой таблицы
Paradox 7. Нажать кнопку ОК.
 Откроется окно Create Table, в котором можно определить структуру
записей таблицы (задать имя, тип, размер полей см. Таблицу 1).
Хабаровск, 2006
10
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Таблица 1. Структура таблицы
Список полей
(Field Name)
Тип поля
(Type)
Размер(Size)
Пояснение
Личный номер
Id
+
Syname
A
30
Фамилия
Name
A
15
Имя
Birthday
D
Дата рождения
Class
S
Класс
Adress
A
40
Домашний адрес
Tel
A
11
Телефон
 Имя поля вводится в колонку Field name.
 Тип поля задается вводом в колонку Type символьной константы путем
щелчка на правой кнопке мыши в колонке Type.
Типы полей
Константа
Содержимое поля
+
Целое число – счетчик.
Alpha
A
Строка символов. Максимальная длина строки
определяется характеристикой Size, значения
которой находятся в диапазоне 1..2555
Number
N
Числа из диапазона 10-307.. 10308 с 15-ю
значащими цифрами
Money
$
Число в денежном формате.
Short
S
Целое число из диапазона –32767..32767
Date
D
Дата
Time
T
Время
Memo
М
Строка символов произвольной длины
Logical
L
Логическое значение «истина» (True) или
«ложь» (False)
Autoincrement
 Определить ключевое поле. Для того, чтобы пометить поле как ключевое,
необходимо выполнить двойной щелчок в колонке Key. Ключевые поля
должны быть сгруппированы в верхней части таблицы.
 Если данные, для хранения которых предназначено поле, должны
обязательно присутствовать в записи, то следует установить флажок
Required Field.
Хабаровск, 2006
11
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
 После того как определена структура записей, таблицу следует сохранить.
Для этого нажать кнопку Save as в окне Create Table.
Выбрать каталог в списке Alias, в котором перечислены все псевдонимы БД.
Указать в списке Имя файла: pupil. Нажать кнопку Сохранить.
Примечание: Чтобы внести новые данные в таблицу, необходимо сначала
открыть таблицу командой Open в меню File, а затем в меню Table выбрать
команду Edit Data.
Хабаровск, 2006
12
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
 Чтобы заполнить таблицу конкретным содержанием нужно осуществить
следующие операции: Пуск/ Программы /Borland Delphi/ SQL Explorer.

Выбрать созданный псевдоним БД School, открыть Tables, найти вкладку
Data (в правой части окна).
Заполнить таблицу конкретным содержанием.
Создание приложений. Работа с формами
Теоретический аспект
1. Доступ к таблице (файлу данных) обеспечивается компонентами
Table и Database, значки которых расположены на вкладке Data Access.
Название
компонента
Table
Database
Хабаровск, 2006
Назначение
одна из таблиц БД
совокупность таблиц
13
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
источник данных, обеспечивает связь таблиц БД с
компонентами просмотра и редактирования содержимого
полей БД.
Примечание: Если БД представляет собой одну таблицу, следовательно,
DataSource
приложение работы с БД должно содержать один компонент Table и один
компонент DataSource.
Свойства (Properties) компонента Table
Обозначение
Name
DatabaseName
TableName
Active
Свойство
Имя компонента. Используется для доступа к свойствам
компонента.
Имя БД, составной частью которой является файл данных, для
доступа к которому используется компонент. В качестве
значения свойства следует использовать псевдоним БД.
Имя файла данных (таблицы), для доступа к которому
используется компонент.
Признак активации таблицы. В результате присваивания
свойству значения True, происходит открытие файла таблицы.
Свойства компонента DataSource
Обозначение
Name
DataSet
Свойство
Имя компонента. Используется для доступа к свойствам
компонента.
Имя компонента, представляющего собой входные данные.
2. Отображение (просмотр) данных обеспечивается компонентами,
находящимися на вкладке Data Controls.
Название
Назначение
компонента
DBMemo
просмотр и редактирование таблицы
DBText
компонент для просмотра содержимого полей
DBEdit
просмотр и редактирование содержимого полей
DBNavigator
набор кнопок
Свойства компонентов просмотра и редактирования содержимого
полей
Обозначение
Name
DataSource
DataField
Свойство
Имя компонента. Используется для доступа к свойсвам
компонента.
Имя компонента, являющегося источником данных.
Имя поля, для отображения содержимого которого используется
компонент.
Кнопки компонента DBNavigator
Хабаровск, 2006
14
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Обозначение
Кнопка
К первой
Действие
Указатель текущей записи перемещается к
первой записи таблицы
К предыдущей
nbPrior
Указатель текущей записи перемещается к
предыдущей записи таблицы
К следующей
nbNext
Указатель текущей записи перемещается к
следующей записи таблицы
К последней
nbLast
Указатель текущей записи перемещается к
последней записи таблицы
Добавить
nbInsert
В таблицу добавляется новая запись
Удалить
nbDelete
Удаляется текущая запись таблицы
Редактирование nbEdit
Устанавливается режим редактирования
текущей записи
Сохранить
nbPost
Изменения, внесенные в текущую запись,
записываются в таблицу
Отменить
Cancel
Отменяет внесенные в текущую запись
изменения
Обновить
nbRefresh
Записывает внесенные изменения в файл
Просмотр БД возможен в режиме формы и в режиме таблицы.
nbFist
Практическая реализация
(создание приложения в режиме формы)
1. Пуск/Программы/Borland Delphi 6/ Delphi 6.
2.
Добавить в форму Form1 компоненты доступа к таблице Table и
DataSource.
3.
Изменить значения свойств (Properties в Инспекторе Объектов)
компонентов Table и DataSource.
Значения свойств компонента Table
Значения свойств компонента
DataSource
Свойство
Значение
Name
DataSource1
DataSet
Table1
Свойство
Значение
Name
Table1
DatabaseName School
TableName
Pupil.db
Active
True
4. Добавить в форму компоненты просмотра и редактирования содержимого
полей:
 Шесть компонентов DBEdit для просмотра и редактирование полей Syname,
Name, Birthday, Class, Adress, Tel.
Хабаровск, 2006
15
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
 Изменить значения свойств компонентов DBEdit.
Значения свойств компонентов просмотра и редактирования
содержимого полей
Компонент
Значение свойства
Значение свойства
(Name)
DataSource
DataField
DBEdit1
DataSource1
Syname
DBEdit2
DataSource1
Name
DBEdit3
DataSource1
Birthday
DBEdit4
DataSource1
Class
DBEdit5
DataSource1
Adress
DBEdit6
DataSource1
Tel
 Шесть компонентов Label для вывода текста, поясняющего назначение
полей ввода. На вкладке Standard выбрать компонент TLabel (Object
Inspector/ Properties/ Caption) , в заголовке этого объекта указать следующие
значения:
Caption
Label1
Label2
Label3
Хабаровск, 2006
Фамилия
Имя
Дата рождения
16
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Label4
Label5
Label6
Изменить название формы
Класс
Адрес
Телефон
с Form1 на «Список учеников летней физико-
математической школы», для этого в Object Inspector/ Properties изменить
свойство Caption с Form1 на «Список учеников летней физико-математической
школы».
3. Чтобы просматривать не только содержимое первой записи таблицы,
но и другие записи добавим в форму компонент DBNavigator на вкладке
DataControls. DBNavigator – это набор кнопок, при щелчке которых во время
работы программы происходит перемещение указателя. Выделить компонент
DBNavigator на форме и изменить в свойствах (Properties) значение свойства
DataSource на DataSource1.
4. Откомпилировать и запустить программу.
Компиляция программы:
-
В главном меню выбрать Tools/Environment Options/Preferences
включить
флажок
Show
compiler
progress
(Сервис/Настройки
среды/Предпочтения разработчика включить флажок Отображать ход
компиляции)
-
Компиляция
программы
выполняется
командой
Project/Compile
Project (Проект/Компилировать проект). Активизировать кнопку ОК.
Хабаровск, 2006
17
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Запуск программы: в главном меню выбрать Run.
Исполнимый файл представляется в следующем виде:
7. Сохранение проекта БД.
 Создаваемая в среде Delphi программа состоит из нескольких файлов. Это
файлы с исходными текстами на Паскале и файлы описаний форм,
Имя проекта
Число откомпилированных
строк
Число ошибок
Число предупреждений
составляющие проект. Все они связаны друг с другом. Число советов
 Для того чтобы сохранить проект, необходимо выбрать в главном меню File
команду Save All(Сохранить все):
-
Сначала будет предложено сохранить файл с исходным текстом
(Unit1.pas), a затем – файл проекта Project1 с расширением .DPR.
Выбор информации из базы данных. Создание запроса на выборку в Delphi
Пользователя при работе с базой данных, как правило, интересует не всё её
содержимое, а некоторая конкретная информация. Большинство систем управления
базами данных позволяют выполнять выборку нужной информации путем
выполнения запросов. Пользователь в соответствии с определенными правилами
Хабаровск, 2006
18
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
формулирует
запрос,
указывая,
каким
критериям
должна
удовлетворять
интересующая его информация, а система выводит записи, удовлетворяющие
запросу. Результат выполнения запроса, на основании которого отбираются записи,
называют выборкой. Данные можно выбирать из одной или нескольких таблиц с
помощью оператора SELECT.
Оператор SELECT – важнейший оператор языка SQL (Structured Query
Language) – языка структурированных запросов. Он используется для отбора
записей, удовлетворяющих сложным критериям поиска, и имеет следующий
формат:
SELECT [DISTINCT] { * | <Список полей> }
FROM <Список таблиц>
[WHERE <Условия отбора>]
[ORDER BY <Список полей для сортировки>]
[GROUP BY <Список полей для группирования>]
[HAVING <Условия группирования>]
[UNION <Вложенный оператор SELECT>]
где:
SELECT – команда выбрать из таблицы записи и вывести содержимое полей, имена
которых указаны в списке. Оператор SELECT обязательно включает список полей и
операнд FROM, остальные операнды могут отсутствовать;
FROM – параметр команды, который определяет имена таблиц, из которых нужно
сделать выборку. Список должен содержать как минимум одну таблицу;
WHERE –
параметр, который задает критерий выбора. В простейшем случае
критерий – это инструкция сравнения содержимого поля с константой;
ORDER BY - параметр, который задает условие, в соответствии с которым будут
упорядочены записи, удовлетворяющие критерию запроса;
GROUP BY – позволяет выделять группы записей в результирующем наборе
данных. Группой являются записи с одинаковыми значениями в полях,
перечисленных за операндом GROUP BY. Выделение групп нужно для выполнения
групповых операций над записями, например, для определения количества какоголибо товара на складе;
Хабаровск, 2006
19
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
HAVING – действует совместно с операндом GROUP BY и используется для отбора
записей внутри групп. Правила записи условий группирования аналогичны
правилам формирования условий отбора в операнде WHERE;
Операторы SELECT могут иметь сложную структуру и быть вложенными друг в
друга. Для объединения операторов используется операнд UNION, в котором
располагается вложенный оператор SELECT, называемый также подзапросом.
Теоретический аспект
1. Для выборки из БД записей, удовлетворяющих некоторому критерию,
предназначен компонент Query, значок которого находится на вкладке Data
Access. Компонент Query во многом похож на компонент Table, но в отличие от
последнего, он представляет не всю базу данных (все записи), а только её часть
– записи, удовлетворяющие запросу.
В таблице перечислены некоторые свойства компонента Query.
Свойства компонента Query
Свойство
Name
SQL
Active
Назначение свойства
Имя компонента. Используется компонентом DataSource для связи
результата выполнения запроса с компонентом, обеспечивающим
просмотр записей, например DBGrid
Записанный на языке SQL запрос к БД
При присвоении свойству значения True активизирует выполнение
запроса
Практическая реализация
(создание запросов на выборку с помощью визуальных компонентов)
1. Добавить новую форму (NewForm – Form2), на которую поместить
компоненты Table, Query, располагающиеся на вкладке BDE и компонент
DataSource, располагающийся на вкладке Data Access.
2. Изменить значения свойств (Properties в Инспекторе Объектов) компонентов
Table, DataSource, Query.
3. Добавить в форму компонент DBGrid, располагающийся на вкладке Data
Controls, где будут отражаться результаты запроса.
4. Изменить
значение
свойства
DataSource
компонента
DBGrid
на
DataSource1.
5. Откомпилировать и запустить программу.
Хабаровск, 2006
20
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
 Сохранить проект, выбрав в главном меню File команду Save All(Сохранить
все): - будет предложено сохранить файл с исходным текстом (Unit2.pas).
Значения свойств компонентов:
Table
Свойство
Name
DatabaseName
TableName
MasterSource
Active
Query
Свойство
Name
DatabaseName
SQL
Значение
Table1
School
Pupil.db
DataSource1
True
Свойство
Name
DataSet
DataSource
Значение
DataSource1
Query1
Значение
Query1
School
Активизировать кнопку с тремя точками в открывшемся окне
String list editor сформировать текст запроса:
Select SYNAME, NAME
From pupil
Where Class = ‘9’
Order by SYNAME
Активизировать кнопку ОК
Active
Хабаровск, 2006
True
21
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Работа со связанными таблицами. Создание связей между таблицами
Чаще всего база данных состоит не из одной, а из нескольких связанных
между собой таблиц. Связь между отдельными таблицами БД организуется через
поля связи таблиц. Связь таблиц осуществляется по полю с одинаковым именем,
входящему в состав обоих таблиц. Поля связи обязательно должны иметь
одинаковы тип и быть индексированными. Связь между таблицами определяет
отношение подчинённости, при котором одна таблица является главной, а вторая –
подчинённой. Обычно используется связь один ко многим, когда одной записи в
главной таблице может соответствовать несколько записей в подчинённой таблице.
Для
организации
связи
между
таблицами
в
подчинённой
таблице
используются следующие свойства, указывающие:

MasterSourse – источник данных главной таблицы;

IndexName – текущий индекс подчинённой таблицы;

IndexFieldNames – поле или поля связи текущего индекса подчинённой
таблицы;

MasterFields – поле или поля связи индекса главной таблицы.
Работа со связанными таблицами имеет определённые особенности.
Хабаровск, 2006
22
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
o При изменении (редактировании) поля связи может нарушиться связь
между записями двух таблиц. Поэтому при редактировании поля связи
записи главной таблицы нужно соответственно изменять и значения поля
связи всех подчинённых записей.
o При удалее записи главной таблицы нужно удалять и соответствующие ей
записи в подчинённой таблице (каскадное удаление).
o При добавлении записи в подчинённую таблицу значение поля связи
формируется автоматически по значению поля связи главной таблицы.
Рассмотрим пример установления связи между двумя таблицами. Примером
может служить связь между списком учеников ХКЗФМШ (таблица pupil.db) и
оценками (таблица marks.db). Каждая из таблиц имеет (числовое) поле id (id_pupil в
таблице marks.db), однозначно идентифицирующее ученика (для таблицы учеников
- уникальное). Конечная цель проекта – получение информации об оценках (из
таблицы marks.db) конкретного ученика (соответствующего выбранной записи в
таблице pupil.db). Для создания связи необходимо выполнить следующие действия.
 Запустить программу Пуск/ Программы/ Borland Delphi6/ Delphi6 (если она
не запущена).
 В главном меню выбрать File/New, в открывшемся окне выбрать компонент
Data Module. Активизировать кнопку OK.
 В окне Data Module поместить два компонента Table, два компонента Data
Source, располагающихся на вкладке Data Access.
 Изменить значение свойств (Properties в Инспекторе объектов) двух
компонентов Table и Data Source.
 В окне Data Module выделить первую таблицу. Активизировать правую
кнопку мыши, вызвав контекстное меню, в котором выбрать компонент Add
Fields (выбор полей из таблицы).
Table 1
Свойство
Name
Database Name
Хабаровск, 2006
Значения свойств компонентов
DataSource1
Значение
Свойство
Table1
Name
School
(Название Dataset
созданного
псевдонима)
Значение
DataSource1
Table1
23
Учебные материалы к элективным курсам по информатике для 10 - 11 классов, выпуск 1
Table Name
Active
Pupil.db
(Название
первой таблицы)
True
Значения свойств компонентов
DataSource2
Table 2
Свойство
Name
Database Name
Table Name
Active

Значение
Свойство
Table2
Name
School
(Название Dataset
созданного
псевдонима)
Marks.db
(Название
второй таблицы)
True
Значение
DataSource2
Table2
Не закрывая окно Data Module, перейти в основную форму Form1 и на
вкладке Standard выбрать компонент Panel1, разместив его на форме.

В меню File/Use Unit выбрать в открывшемся диалоговом окне Unit 2,
активизировать кнопку OK.

C
Data
Module
перенести
поля
с
помощью
мыши
на
Panel1,
располагающийся на форме.

Поместить DBNavigator1 на форму из вкладки DataControls и поменять
свойство Data Source на Data Source1.

Поместить DBGrid1 на форму из вкладки DataControls и поменять свойство
Data Source на Data Source2.

В окне Data Module выделить Table2 и изменить значения свойств (Properties
в Инспекторе объектов):
Значения свойств компонента Table2
Свойство
Name
Master Source
Master Fields
IndexName

Значение
Table2
Data Source1
Id (Название поля связи главной таблицы)
Id_pupil (Название Secondary Indexes во второй
(подчинённой) таблице)
Active
True
Откомпилировать, запустить программу и сохранить (File/Save all).

Запуск программы: в главном меню выбрать Run.
Хабаровск, 2006
24
Download