
- •«Современные методы разработки программ». Этапы решения задачи
- •Постановка задачи.
- •Техническое задание
- •Разработка структуры базы данных
- •Написание кодов
- •Отладка и внедрение
- •База данных
- •Поля таблицы
- •Ключи и индексы.
- •Способы доступа к данным.
- •Связь между таблицами.
- •Создание базы данных
- •Псевдонимы базы данных
- •Создание таблицы
- •Задание полей
- •Задание свойств таблицы (Table properties)
- •Свойство Validity Checks – проверка правильности значений.
- •Свойство Table Lookup – таблица просмотра
- •Свойство Table Language – язык таблицы
- •Изменение структуры таблицы с помощью Database Desktop
- •Изменение в реестре для корректного отображения русского языка
- •О бзор компонентов Delphi, используемых для связи с бд.
- •Форма модуль данных Data Module
- •Компонент Database
- •Компонент Table
- •Свойства, которые доступны программным путем
- •Методы компонента tTable
- •События компонента tTable.
- •К омпонент Query
- •Свойство sql
- •Query и Параметры
- •К омпонент DataSource
- •Свойства
- •События
- •Компонент dbNavigator
- •Компоненты визуализации и управления данными со страницы Data Control Компонент dbGrid
- •События
- •Другие компоненты визуализации
- •П ример простейшего приложения с использованием компонента Table
- •Основы языка sql. Общие сведения.
- •Отбор данных из таблиц. Оператор выбора Select
- •Совокупные характеристики
- •Вложенные запросы.
- •Объединение таблиц.
- •Соединение union
- •Модификация записей Вставка записи
- •Values(‘Орлов’,’Александр’,’Иванович’,’м’,’23.04.1981’,’Гродно’)
- •Редактирование записи
- •Удаление записи
- •Операции с таблицами Создание таблицы
- •Изменение структуры таблицы
- •Удаление таблицы
- •Операции с индексами
- •Создание индекса
- •Удаление индекса
Совокупные характеристики
Оператор Select позволяет возвращать не только множество значений полей, но и некоторые совокупные (агрегированные) характеристики, подсчитанные по всем или по указанным записям таблицы.
Агрегатные или статистические функции:
Функция Count (<поле>) – количество записей в таблице, удовлетворяющих заданным условиям. Например, оператор Select count(tn) from osndan –подсчитает полное количество записей в таблице osndan. А оператор Select count(tn) from osndan where sex=’ж’ –подсчитает количество женщин в таблице osndan.
Функции min(<поле>), max(<поле>), avg(<поле>), sum(<поле>) возвращают соответственно минимальное, максимальное, среднее и суммарное значения указанного поля. Например, оператор
Select min(datar),max(datar),avg(datar) from osndan –вернет минимальную, максимальную и среднюю дату рождения из таблицы osndan, а оператор
Select sum(syma) from opl –подсчитает общую сумму уплаченных за обучение денег.
При использовании суммарных характеристик надо учитывать, что в списке возвращаемых значений после ключевого слова SELECT могут фигурировать или поля (в том числе вычисляемые), или совокупные характеристики, но не могут фигурировать и те и другие (без указания на группирование данных). Поэтому нельзя, например, записать оператор
SELECT data_opl, sum(syma) from opl
Смешение в одном операторе полей и совокупных характеристик возможно, если использовать группировку записей, задаваемую ключевыми словами GROUP BY. После этих ключевых слов перечисляются все поля, входящие в список SELECT. В этом случае смысл совокупных характеристик изменяется: они проводят вычисления не по всем записям таблицы, а по тем, которые соответствуют одинаковым значениям указанных полей. Например, оператор
SELECT data_opl, sum(syma) from opl group by data_opl
Вернет общую сумму денег, уплаченную слушателями по всем дням, встречающимся в таблице opl. То есть, если таблица opl будет состоять из записей, представленных в таблице слева, то полученный запрос будет иметь вид, представлен в нижеследующей таблице справа.
Kod_opl |
tn |
Data_opl |
syma |
||||
2 |
3 |
15.01.2004 |
100 |
||||
3 |
4 |
15.01.2004 |
200 |
||||
4 |
5 |
16.01.2004 |
150 |
||||
5 |
3 |
17.01.2004 |
100 |
||||
6 |
4 |
17.01.2004 |
200 |
||||
7 |
2 |
17.01.2004 |
150 |
||||
|
|
|
|||||
|
|
|
|||||
|
|
|
|||||
|
|
|
Data_opl |
syma |
15.01.2004 |
300 |
16.01.2004 |
150 |
17.01.2004 |
450 |