- •127994, Гсп-4, Москва, ул. Образцова, д. 9, стр. 9. Типография мииТа. Оглавление
- •Введение
- •Содержание отчёта.
- •Теоретические сведения к работе.
- •Контрольные вопромы и задачи.
- •Содержание отчёта.
- •Insert (вставить) – добавить строки в таблицу;
- •Содержание отчёта.
- •Контрольные вопромы и задачи.
- •Порядок выполнения работы.
Контрольные вопромы и задачи.
-
Можно ли установить соединение с базой данных по технологии ADO, не используя компонент TADOConnection.
-
В чём основное отличие компонента TADOTable от TADOQuery.
-
В чём различие компонентов TADOQuery и TADOCommand.
-
Сопоставьте стандартные типы данных Delphi и SQL.
-
Чем таблица из справочника отличается от реляционной таблицы базы данных.
-
В чём главные преимущества доступа к базам данных по технологии ADO.
-
Какую роль в приложении баз данных играет компонент TDataSource.
-
Какие компоненты приложения баз данных предназначены для отображения информации и управления данными.
Лабораторная работа №2 (№9).
Формирование запросов к локальным базам данных на языке SQL. Отображение графических и объёмных текстовых данных в режиме формы.
Цель работы.
Освоение основ языка формирования запросов – SQL и операций реляционной алгебры.
Постановка задачи.
Сформировать и выполнить статичексие и динамические запросы к реляционным таблицам базы данных на SQL.
Порядок выполнения работы.
-
Произвести поиск графических изображений и описаний оборудования системы тягового электроснабжения (СТЭ) в справочниках и интернете, в соответствии с заданным вариантом, для каждой строчки таблицы.
-
Добавить на форму приложения (л.р. №8) два визуальных компонента (TDBImage и TDBMemo), предназначенных для отображения графических изображений оборудования СТЭ и описательной текстовой информации большого объёма, хранящейся в базе данных.
-
Добавить подпрограмму-обработчик события для занесения графических изображений в поле Drawing (иллюстрации) таблицы базы данных (Листинг 1).
-
Занести графическую и текстовую информацию в базу данных.
-
Добавить в приложение визуальный построитель запросов на основе компонентов TMemo и TADOQuery.
-
Сформировать статический и динамический запрос к базе данных.
-
Cоздать тест и произвести отладку приложения.
-
Запустить приложение и выполнить запросы к базе данных.
procedure TForm2.Button1Click(Sender: TObject);
var
bmp : TBitMap;
jpg : TJpegImage;
s : String;
begin
bmp := TBitMap.Create;
jpg := TJpegImage.Create;
try
if OpenDialog1.Execute then begin
s := UpperCase(ExtractFileExt(OpenDialog1.FileName));
if s = '.BMP' then begin
bmp.LoadFromFile(OpenDialog1.FileName);
DBImage1.Picture.Bitmap.Assign(bmp);
end;
if (s = '.JPG') or (s = '.JPEG') then begin
jpg.LoadFromFile(OpenDialog1.FileName);
bmp.Assign(jpg);
DBImage1.Picture.Bitmap.Assign(bmp);
end;
end;
finally
bmp.Free;
jpg.Free;
end;
end;
Листинг 1. Примерный текст программы для занесения графических изображений в таблицу базы данных. Реализуется ввод файлов формата *.bmp и * jpg.
Содержание отчёта.
-
Номер, название, цель и задачи лабораторной работы.
-
Графические изображения и описания оборудования СТЭ по заданному варианту.
-
Образ формы приложения баз данных, в среде разработчика с подробными пояснениями элементов интерфейса: визуальных и невизуальных компонентов.
-
Образ формы приложения баз данных при запуске приложения (с результатами запросов), с подробными пояснениями элементов интерфейса.
-
Тексты подпрограмм-обработчиков событий.
-
Выводы по работе и проблемы, возникшие при выполнении лабораторной работы.
Таблица 1. Варианты заданий.
№№ |
Вариант статического запроса |
Компонент для реализации запроса |
Вариант динамического запроса |
Компонент для реализации запроса |
1. |
C=AWB |
ADOQuery |
Проекция |
ADOQuery |
2. |
C=AUB |
ADODataSet |
Селекция |
ADODataSet |
3. |
C=A – B |
ADOQuery |
Декартово произведение |
ADOQuery |
4. |
ADODataSet |
Соединение |
ADODataSet |
|
5. |
ADOQuery |
Объединение |
ADOQuery |
|
6. |
ADODataSet |
Пересечение |
ADODataSet |
|
7. |
C=A*B |
ADOQuery |
Разность |
ADOQuery |
8. |
|
ADODataSet |
Проекция |
ADODataSet |
9. |
Создать копию таблицы |
ADOCommand |
Селекция |
ADOQuery |
10. |
Создать таблицу |
ADOQuery |
Декартово произведение |
ADODataSet |
11. |
Удалить таблицу |
ADODataSet |
Соединение |
ADOQuery |
12. |
Очистить таблицу |
ADOConnection |
Объединение |
ADODataSet |
13 |
Добавить поле в структуру таблицы. |
ADOQuery |
Пересечение |
ADOQuery |
14. |
Удалить поле из структуры таблицы. |
ADODataSet |
Проекция |
ADODataSet |
15. |
Рассчитать количество записей. |
ADOQuery |
Селекция |
ADOQuery |
16. |
Рассчитать среднее значение поля. |
ADOQuery |
Декартово произведение |
ADODataSet |
17. |
Рассчитать суммарное значение поля. |
ADODataSet |
Соединение |
ADOQuery |
18. |
Рассчитать минимальное значение поля. |
ADOQuery |
Объединение |
ADODataSet |
19. |
Рассчитать объём для размещения оборудования |
ADODataSet |
Пересечение |
ADOQuery |
20. |
Рассчитать индуктивное сопротивление трансформаторов. |
ADOQuery |
Проекция |
ADODataSet |
21. |
Рассчитать объём для размещения оборудования |
ADODataSet |
Селекция |
ADOQuery |
22. |
Рассчитать количество вентилей в преобразователях |
ADOQuery |
Декартово произведение |
ADODataSet |
23. |
Обновить значение Масса*0,75 |
ADOConnection |
Соединение |
ADOQuery |
24. |
Рассчитать количество вентилей в преобразователях |
ADOQuery |
Объединение |
ADODataSet |
25. |
Рассчитать объём для размещения оборудования |
ADODataSet |
Проекция |
ADOQuery |
26. |
Обновить значения uk,‰*0,75 |
ADOCommand |
Селекция |
ADODataSet |
27. |
Обновить габариты*0,75 |
ADOConnection |
Декартово произведение |
ADOQuery |
28. |
Обновить значения полной массы*0,75 |
ADOQuery |
Соединение |
ADODataSet |
29. |
Определить максимальное значение отключающего тока. |
ADODataSet |
Объединение |
ADOQuery |
30. |
Рассчитать объём для размещения оборудования |
ADOQuery |
Пересечение |
ADODataSet |
31. |
Определить наибольшее рабочее напряжения. |
ADODataSet |
Проекция |
ADOQuery |
32. |
Определить максимальную массу полюса |
ADOQuery |
Селекция |
ADODataSet |
33. |
Определить максимальную массу привода |
ADODataSet |
Декартово произведение |
ADOQuery |
Условные обозначения, принятые в таблице 1.
– операция объединение, C=AB;
W – операция пересечение, C=AWB;
– – операция разность, C=A-B;
– операция проекция на множество атрибутов х;
– операция селекция по предикату F;
– операция декартово произведение C=A*B;
– операция соединение C=AB; условие соединения , где – условная операция: =, >, < и т.д., – атрибуты отношений.
Теоретические сведения к работе.
Большинство визуальных компонентов для работы с данными похожи на соответствующие компоненты для обычных приложений. Основное отличие заключается в том, что компоненты для работы с базами данных содержат свойства, позволяющие указать источник данных (DataSource) и поле, из которого компонент получает данные (DataField).
Таблица 2. Визуальные компоненты для работы с данными со страницы Data Controls.
Название |
Описание |
DBText |
Предназначен для отображения текущего значения одного поля (аналог компонента Label). |
DBEdit |
Предназначен для отображения и редактирования текущего значения одного поля (аналог компонента Edit). |
DBMemo |
Предназначен для отображения и редактирования многострочных текстов (аналог компонента Memo).Максимальный размер текста 2ГБ. |
DBRichEdit |
Предназначен для отображения и редактирования многострочных форматированных текстов (аналог компонента RichEdit).Максимальный размер текста 2ГБ. |
DBImage |
Предназначен для просмотра изображений (аналог компонента Image). |
DBCheckBox |
Связанный с данными аналог обычного индикатора CheckBox. Позволяет отображать и редактировать данные поля булевского типа. Если при выводе данных поле имеет значение True, то индикатор включается. И, наоборот, при редактировании поля присваиваемое ему значение определяется состоянием индикатора. |
DBLookupComboBox |
Компонент синхронного просмотра и редактирования связанной информации в базе данных. |
DBChart |
Компонент для создания графиков и диаграмм в базах данных. |
Таблица 3. Общие свойства визуальных компонентов
Свойство |
Описание |
DataField |
Поле связанного с компонентом набора данных |
DataSource |
Связанный с компонентом источник данных |
ReadOnly |
Запрещает/разрешает (true/false) пользователю изменять данные |
Основы языка SQL.
SQL – это язык, который обеспечивает доступ к информации и позволяет управлять реляционными базами данных. Язык SQL – Structured Query Language– структурированный язык запросов, обычно произносится как
СИКВЭЛ или ЭСКЮЭЛЬ.
Язык SQL определяет набор операторов (команд), типы данных, набор встроенных функций. Так как язык SQL предназначен для манипулирования данными в реляционных базах данных и определения структуры баз данных то в него в качестве составных частей входят:
язык манипулирования данными;
язык определения данных;
Язык манипулирования данными состоит из четырёх основных команд:
SELECT (выбрать) – извлечь данные из одной или нескольких таблиц;