ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03...

54
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Московский государственный университет путей сообщения» Кафедра «Энергоснабжение электрических железных дорог» ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В СИСТЕМЕ ЭЛЕКТРОСНАБЖЕНИЯ ЭЛЕКТРИФИЦИРОВАННЫХ ЖЕЛЕЗНЫХ ДОРОГ. РАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ DELPHI Рекомендовано редакционно-издательским советом университета в качестве методических указаний для студентов специальности 190401 «Электроснабжение железных дорог» Москва - 2012

Upload: others

Post on 10-Mar-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования

«Московский государственный университет путей сообщения»

Кафедра «Энергоснабжение электрических железных дорог»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В СИСТЕМЕ ЭЛЕКТРОСНАБЖЕНИЯ

ЭЛЕКТРИФИЦИРОВАННЫХ ЖЕЛЕЗНЫХ ДОРОГ. РАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ DELPHI

Р еком ен д ован о р ед акц и он н о-и зд ательск и м советом ун и в ер си тета в качестве м етодически х указани й

для студентов специальности 190401 «Электроснабжение железных дорог»

Москва - 2012

Page 2: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

УДК: 0 0 2 :6 2 1 .3 3 1 :6 2 1 .3 1 1 :6 8 1 .3 А18

А ндреев В .В., Г речиш ников В.А., Ш евлю гин М .В., Д ож ина Г.В., Ш аламай И.В. И нф орм ационны е технологии в системе электроснабж ения электриф ици­рованны х ж елезны х дорог. Разработка прилож ений баз данны х в средеDELPH I: М етодические указания. - М.: М И И Т, 2012. - 54 с.

В методических указаниях изложены основы применения технологии A D O в прилож ениях баз данных, создаваемы х в среде разработки программ Delphi, в обла­сти электроснабж ения электрифицированны х ж елезны х дорог. Рассмотрены основ­ные этапы создания ф айла базы данных для С У БД M S Access в реализации провайдера M icrosoft Jet 4.0 O LE DB Provider, структуры таблиц базы данных, а такж е их заполнения и модификации. Рассматривается реляционная модель баз дан ­ных, основные операции реляционной алгебры, а такж е их реализация из среды D el­phi с использованием SQL - структурированного язы ка запросов к базам данных, О писываю тся и реализую тся в лабораторны х работах возмож ности визуализации результатов запросов к базам данных в реж име сетки и в режиме формы. П редставлена в методических указаниях и концепция многоуровневых приложений баз данны х. П риводится пример реализации трёхуровневого приложения баз данных: «Тонкий клиент», «С ервер приложений» и «С ервер баз данных», первые два уровня которого реализую тся в среде Delphi.

С М И И Т , 2012

Page 3: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Оглавление

В ведение............................................................................................................................... 4

Лабораторная работа № 1. Организация доступа к локальным базам данных в

формате MS Access из Delphi по технологии ADO.......................................................... 5

Лабораторная работа № 2. Формирование запросов к локальным базам

данных на языке SQL. Отображение графических и объёмных текстовых

данных в режиме формы..........................................................................................................20

Лабораторная работа № 3. Создание приложения баз данных по системе

клиент/сервер..................................................................................................................................

Список использованной и рекомендуемой литературы.......................................................53

Page 4: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Введение

Учебная дисциплина «Информатика» - обязательная общематематическая

дисциплина, предназначенная для студентов и специалистов, занимающихся иссле­

дованием. проектированием и эксплуатацией систем тягового электроснабжения.

Основной целью обучения по дисциплине «Информатика» является формиро­

вание у студентов необходимых знаний и умений в области использования совре­

менных универсальных средств разработки приложений и приложений баз данных

для реш ения задач в области тягового электроснабжения электрифицированных ж е­

лезных дорог.

Изучение дисциплины является одним из этапов формирования современного

инженера, способного решать различные задачи специальности с использованием

компьютерных технологий.

В ходе изучения дисциплины, выполняя курс лабораторных работ, студенты

получают представление о современных технологиях программирования приложе­

ний: объектно-ориентированном (компонентном) программировании, визуальном

программировании, о программировании под управлением событий, о технологиях

разработки приложений баз данных и доступа к информации в базах данных из сре­

ды разработки.

Для изучения данной дисциплины необходимо усвоение следующих дисци­

плин: математика.

В свою очередь, материал данного курса служит фундаментом для изучения

таких дисциплин, как математическое моделирование систем и процессов, основы

компьютерного проектирования и моделирования устройств электроснабжения,

энергоснабжение, тяговые подстанции, контактная сеть.

4

Page 5: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Лабораторная работа №1. Организация доступа к локальным базам

данных в формате MS Access из Delphi по технологии ADO

Цель работыОсвоение технологии ADO для доступа к реляционным таблицам MS Access.

Постановка задачиСоздать и заполнить реляционную таблицу базы данных, содержащую

информацию о силовом оборудовании тяговой подстанции.

Порядок выполнения работы1) Преобразовать таблицу из справочника [2.3] по заданному варианту в реляци­

онную таблицу базы данных;2) Создать пустое приложение Delphi и сохранить в личном каталоге;3) Добавить на форму компонент T M ainM enu и построить следующую структуру-

меню: «Файл» (в главном меню) с вертикальными элементами - «Создание базы данных», «Создание таблицы» и «Выход»;

4) Создать файл базы данных MS Access из среды Delphi при помощи подпрограммы - обработчика события нажатия на пункт меню «Создание базы данных». Для этого создать обработчик события по Листингу 1, скомпилировать проект, сохранить его, запустить его, нажать на пункт меню

«Ф айл»-»«Создание базы данных», закрыть программу, свернуть среду Delphi, открыть каталог со своей лабораторной работой и отметить появление файла «ПОБДЭ.тс1Ь».

procedure TForml.mdblClick(Sender: TObject); var

Cat : OLEVariant; begin

if Not FileExists(1t :\Иванов\Лр1\ПОБДЭ.mdb1) then begin

Cat := CreateOLEObject('ADOX.Catalog') ;Cat.Create) 1 Provider=Microsoft.Jet.OLEDB .4.0.;' +

1 Data Source=t: \Иванов\Лр1\ПОБДЭ .mdb') ;end;

end;Л и сти н г1 . П рим ер создания базы данны х «П О Б Д Э -mdb» при помощ и OLEDB - провайдера.

Примечание. Необходимо подключить в разделе U s e s модуль ComOb j .

5) Вернуться в среду Delphi, включить в приложение компонент

T A D O C on n ection (см. Рисунок 3):

5

Page 6: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

6) Создать связь приложения с сервером баз данных MS Access (см. рисунки 6.7,8). Свойству L o g in P r o m t компонента T A D O C on n ection в инспекторе объектов установить значение False;

7) Создать структуру реляционной таблицы, содержащей информацию о силовом оборудовании тяговой подстанции по заданному варианту, при помощи подпрограммы - обработчика события нажатия на пункт меню «Создание таб­лицы». Для этого создать обработчик события по Листингу 2, скомпилировать проект, сохранить его, запустить его, нажать на пункт меню

«Файл»->«Создание таблицы», закрыть программу.p r o c e d u r e T F o r m l . N 2 C l i c k ( S e n d e r : T O b j e c t ) ;

v a r

SL : T S t r i n g L i s t ;

b e g i n

SL := T S t r i n g L i s t . C r e a t e ;

A D O C o n n e c t i o n l . G e t T a b l e N a m e s ( S L ) ;

i f S L , I n d e x O f ( ' Т р а н с ф о р м а т о р ы ') = - 1 t h e n

A D O C o n n e c t i o n l . E x e c u t e ( ' C r e a t e T a b l e Т р а н с ф о р м а т о р ы ( ' +

1 [Т и п т р а н с ф о р м а т о р а ] C h a r (2 5 )

1 Shom F l o a t , 1

'u k F l o a t , '

' Р к з F l o a t , '

' Р х х F l o a t , '

' Иллю ; т р а ц и я I m a g e , '

' О п и с а н и е T e x t ) ' ) ;

S L . F r e e ;

e n d ;

Л истинг2. П рим ер создания структуры таблицы базы данн ы х «Трансф орматоры » с

использованием ком понента TADOConnection.Примечание. Два последних поля добавляются обязательно для всех

вариантов заданий.

8) Вернуться в среду Delphi, включить в приложение компоненты, необходимые

для организации доступа к таблице локальной базы данных MS Access и её

визуализации в виде сетки (см. рисунки 2,3,4,5,9);

9) Настроить свойства объектов в инспекторе объектов, необходимые для

отображения набора данных, навигации по таблице и её модификации;

Page 7: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

10) Сохранить проект, запустить приложение и заполнить реляционную таблицу в

соответствии с заданным вариантом.

Содержание отчёта

1) Номер, название, цель и задача лабораторной работы:

2) Исходная таблица из справочника по заданному варианту;

3) Структура реляционной таблицы с подробным описанием полей, типов и р аз­

меров;

4) Реляционная таблица, полученная преобразованием исходной таблицы из

справочника;

5) Снимок экрана (скриншот) интегрированной среды разработчика с активиро­

ванной реляционной таблицей;

6) Скриншот приложения в режиме выполнения;

7) Распечатка подпрограммы - запроса на создание таблицы;

8) Выводы по работе и проблемы, возникшие при выполнении лабораторной р а ­

боты.

И j < ► )| * L Z . , fТ1Л_тр9ИЙЙ0рМ£Р0ра S«CH,N®A Унвм.кВ Jhom, A Lta % Рк з , *Вт Px x . kBt X 'iM

10 JIS 3087,9 10.5 60 14 \ | |

16 135 -<943,7 1Q.S- 85 21 j Щ

тдтн-iccao/iio 19 IIS 3087,? J5,5 •32 34 |

7Д 7н -1;а ЮО,>110-?:> 10 135 2037,9 1C.S 8G 23 j ■!

ТДТН -16000/Ш 1Ь 115 4940,? 10,5 325 45 i s ;

ТДТн-гёООО/ПО-бб 16 135 4940,7 10,5 105 32 j .JТДТН-гЕООО/ий-65 ?5 U S 7719,? 17 145 45 j 1

7Д Т Я -31500/Ш 33,5 135 П27 17.5 225 lb ■

ГДТННОСОО/ПО 40 115 1235i,S 10.5 2-ад 95 J

тдтн-ккосг1\о-*>7 4Э M i : т \ л 10 .5 ' 210 63 :v"‘

ТДТН-63000/110-6? 63 i ts 19454 1G.5 3.10 37

TjTHf-isoeoAiO IS HE 4631.9 17 140 65

ГДТНГ-31500/110 31.5 115 5727 17,1 395 95

ТДТ*3-20000/110-5 20 115 6175.9 1C,5 127 4S

ТД7^3-25000Д10-67 25 U S 7719.9 17 345 «Т д1>бм 0000/110 40 115 12351.8 13, £ 200 53 ■ТИТЬ-10000 /110 7 10 315 m 7 ,9 IS, 5 30 23 j

ТМТм-бЗиО/'ЛО-** 5 ,3 115 2945,4 17 60 1? < 1

Рисунок 1 Результат вы полнения лабораторной работы № 1. П рилож ение в реж им е вы полнения.

П о технологии A D O получен доступ к реляционной таблице базы данны х и введена инф орм ация,

содерж ащ ая парам етры п ониж аю щ их трансф орм аторов тяговы х подстанций.

7

Page 8: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Варианты заданий.

№ № Название таблицы в справочнике по электроснабжению ж елез­ных дорог [2,3]

№Таблицы

1. Электрические характеристики и установочные данные масля­ных выключателей для напряжений 110 и 220 кВ

19.1

2. Установочные данные масляных выключателей для напряжений 110 и 220 кВ

19.2

3. Электрические характеристики и установочные данные выклю­чателей для напряжения 27,5 и 35 кВ

19.3

4. Установочные данные выключателей для напряжения 27,5 и 35 кВ

19.4

5. Электрические характеристики и установочные данные выклю­чателей для напряжения 10 кВ

19.5

6. Установочные данные выключателей для напряжения 10 кВ 19.67. Электрические характеристики и установочные данные элек­

тромагнитных приводов19.7

8. Установочные данные электромагнитных приводов 19.89. Установочные данные силовых трансформаторов классов

напряжения 150 и 220 кВ19.11

10. Электрические характеристики, габарит и масса однофазных трансформаторов и автотрансформаторов для системы тяги 2X25 кВ

19.14

11. Габарит и масса однофазных трансформаторов и автотрансфор­маторов для системы тяги 2X25 кВ

19.15

12. Электрические характеристики и установочные данные трёх­фазных трёхобмоточных трансформаторов класса напряжения 110 кВ

19.16

13. Установочные данные трёхфазных трёхобмоточных трансфор­маторов класса напряжения 110 кВ

19.17

14. Электрические характеристики трёхфазных двухобмоточных трансформаторов класса напряжения 110 кВ мощностью 6300 кВА и выше

19.18

15. Установочные данные трёхфазных двухобмоточных трансфор­маторов класса напряжения 110 кВ мощностью 6300 кВА и вы­ше

19.19

16. Электрические характеристики силовых трансформаторов клас­сов напряжения 10 и 35 кВ мощностью 1000 кВА и выше

19.20

17. Установочные данные силовых трансформаторов классов напряжения 10 и 35 кВ мощностью 1000 кВА и выше

19.21

18. Электрические характеристики силовых трансформаторов клас­сов напряжения 10 и 35 кВ мощностью до 630 кВА вклю читель­но

19.22

Page 9: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Продолжение,№ № Название таблицы в справочнике по электроснабжению желез­

ных дорог.№

Таблицы19. Установочные данные силовых трансформаторов классов

напряжения 10 и 35 кВ мощностью до 630 кВА включительно19.23

20. Электрические характеристики однофазных и трёхфазных дву­хобмоточных трансформаторов на напряжение 6; 10 и 27,5 кВ

19.24

21. Установочные данные однофазных и трёхфазных двухобмоточ­ных трансформаторов на напряжение 6; 10 и 27,5 кВ

19.25

22. Электрические характеристики выпрямительных преобразова­телей

19.28

23. Установочные данные выпрямительных преобразователей 19.2924. Электрические характеристики выпрямительно-инверторных

преобразователей19.30

25. Установочные данные выпрямительно-инверторных преобразо­вателей

19.31

26. Электрические характеристики преобразовательных трансфор­маторов

19.34

27. Габариты преобразовательных трансформаторов 19.3528. М асса преобразовательных трансформаторов 19.3629. Электрические характеристики быстродействующих выключа­

телей постоянного тока19.39

30. Установочные данные выключателей постоянного тока 19.4031. Электрические характеристики разъединителей наружной уста­

новки классов напряжения 35, 110, 150, 220 кВ19,42

32. Установочные данные разъединителей наружной установки классов напряжения 35, 110, 150, 220 кВ

19,43

33. Основные технические данные разъединителей внутренней установки класса напряжения 10 кВ, Представить в виде 2-х таблиц.

19.45

34. Основные технические данные отделителей классов напряжений 35, 110, 150 и 220 кВ. Представить в виде 2-х таблиц.

19.49

35. Основные технические данные короткозамыкателей классов напряжений 35, 110, 150 и 220 кВ. Представить в виде 2-х таб­лиц.

19.50

36. Основные технические данные реакторов РБА и РБАМ на напряжение 10 кВ. Представить в виде 2-х таблиц.

19.52

37. Результирующее реактивное сопротивление 1 км тяговой сети однопутного участка

2.6

38. Результирующее активное сопротивление 1км тяговой сети од­нопутного участка

2.8

39. Результирующее активное сопротивление 1км тяговой сети од­ного пути двухпутного участка

2.9

9

Page 10: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Окончание.№ № Название таблицы в справочнике по электроснабжению желез­

ных дорог.№

Таблицы40. Результирующее реактивное сопротивление 1км тяговой сети

одного пути двухпутного участка2.10

41. Результирующее активное сопротивление 1км тяговой сети двухпутного участка при параллельном соединении контактных подвесок

2.12

42. Результирующее реактивное сопротивление 1 км тяговой сети двухпутного участка при параллельном соединении контактных подвесок

2.13

43. Основные технические данные установок поперечной компен­сации КУ. Основные технические данные конденсаторов

10.1,10.2

44. Основные технические данные установок продольной компен­сации КУ УПК. Основные технические данные конденсаторов

10.2,10.3

45. Трубчатые разрядники 11.746 Характеристики вентильных разрядников переменного тока 11.8

Теоретические сведения к работе.

Компанией Microsoft был предложен механизм доступа к данным ActiveX

Data Objects (ADO).

ADO - это набор библиотек, содержащих COM -объекты, реализующие при­

кладной программный интерфейс для доступа к данным и используемые в клиент­

ских приложениях.

ADO становится всё более популярным способом доступа к данным, так как

включён в ядро операционных систем семейства W indows, и входит в состав таких

популярных продуктов, как MS Office и MS Internet Explorer.

Все таблицы базы данных хранятся в одном файле (в отличие от Paradox и

Dba.se). Обращение к файлу базы данных и расположенным в нем таблицам не

требует запуска сервера баз данных.

Приложение баз данных, построенное с использованием технологии ADO,

взаимодействует с источником данных при посредстве провайдера.

Очень важную роль играют провайдеры ADO, координирующие работу при­

ложений с хранилищами данных различных типов.

Page 11: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Провайдер знает, какие данные и где расположены, умеет обращаться к дан ­

ным с запросами и интерпретировать возвращаемую служебную информацию и р е ­

зультаты запросов для передачи приложениям.

При установке соединения через соответствующие компоненты становится

доступен список установленных в операционной системе провайдеров.

В модуль данных (или в форму) добавляется компонент источника данных

(T D a ta S o u r c e ) , являющийся связующим звеном между набором данных и элемен­

тами управления, отображающими данные. Свойство D a t a S e t компонента типа

T D a ta S o u r c e указывает набор данных, формируемый компонентами таких клас­

сов, как TADOTable или TADOQuery.

В форму добавляются элементы управления для работы с данными, такие как

TDBGrid, T D B E dit, T D B C heckbox и т.п. Они связываются с источником данных

через свойство D a ta S o u r c e или D a ta S o u r c e и D a t a F ie ld .

Таблица 2. Назначение компонентов страницы ADO (dbGo).

Название Описание

A D O C o n n ectio n Позволяет указывать местоположение базы данных.

ADOCommand Предназначен для выполнения SQL-ком анды без возврата

результирующего набора данных.

A D O D ataS et Предназначен для получения набора данных из одной или

нескольких таблиц БД. Позволяет работать с возвращённым

набором данных визуальным компонентам.

A D O Table Используется для доступа к таблице с помощью механизма

ADO.

ADOQuery Позволяет формировать запросы к БД, которые возвращают

данные из базы (например, командой SELECT) или не фор­

мируют результирующего набора данных (например,

INSERT).

Page 12: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Компоненты ADOCommand и A D O D ataS et связываются с источником дан­

ных посредством объекта A D O C o n n ectio n , указывая ссылку на него как значение

свойства C o n n e c t io n .

Для идентификации соединения необходимо определить значение свойства

C o n n e c t i o n s t r i n g (строка соединения) компонента A D O C on n ection .

Реализацию доступа к данным через ADO проще всего рассмотреть на примерах.

Откроем обычный проект Delphi и сохраним его в личном каталоге. П ерене­

сём на него компоненты, необходимые для доступа к таблице базы данных и отоб­

ражения информации (рисунок 2). Страницы палитры компонентов, на которых

располагаются компоненты, показаны на рисунках 3,4 и 5.

T oals AQ t.ine W indow Help Default la y o u t - ; Щ \ Щ.,

У w Ф ' ' ' . 5 u* 'P3* ■ ‘ V ” / ” ^ 2 ' Seranes

WelcomeS-age * $lur*u. ^ _ ' '

i ^Fcsmi - ' сз <3 , i

, T «В 3 Щ Г 1i Д Й аШ еп и ! ' ! ^>О Согг!ес6д а ! ' , A0C h e r y l i iftDOTable ; ft& taSourefi . ........................ - i

м j * p- ! ►! j + —J * )'V | X <* 1 !

i

i

С о здат ь ф а й л б а з ы д а н н ы х A ccess

С о зд ат ь т а б л и ц у .

Б ш о д

Рисунок 2. С оздание прилож ения баз данных. К ом поненты , н еобходим ы е для доступа к таблицам

базы данны х, визуализации, навигации и м оди ф и каци и информации.

12

Page 13: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

^ P ro jc c tl .d p f^ j-P r .o ; ., | ^ M o d e l View ^ O a t a Explorer:

'А. 5гясЬ its * [ОД;*1 InterBasei■•• ■ ‘" ' , ' i ,

E C T " ~ ; : s ; : a i 3Щ fAOOConnectran

TAPOCommand

Щ TADQDataSat

® TADOTAle

$ S TAQQQuery ' ’ 1

TAOGStorfidProc f

S0 T O S C o n n e r to n !6* I n r f y C M b t s

^* I n d y I / O H a n d le rs

> Imjy Intercepts> M y M i «

* IndySftSL1 n v S t a n d a r d

Рисунок 3. Страница dbG o палитры ком понентов, содерж ащ ая компоненты , реализую щ ие

технологию ADO.

-г ~ г ~ •*. ~ r ^ " * 7 r '" 'ЛР’ TDataSoLccc S .TCtasMDeteSet;-^TDataSetProvider; " ' . . ■'^ .TXMJfsrjsform : •

•TXNB-Tr««fom)r-ov5def .

,§jj{ TAMLTfansfermaient ''> D a ta C o n tr o ls

db£xpt«s*'♦j D atasnap Server

Рисунок 4. С траница D ata A ccess палитры ком понентов, содерж ащ ая компоненты -провайдеры ,

обеспечиваю щ ие связь источников данны х с ком понентам и отображ ения и модификации

информ ации.

Page 14: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

|^PrOjecti.<feirGT г Fro

TbolPatettfe-.

Я?

| Sft'Ai Ch

. *• Data A c c e ssm

Щ т а м ...

j^l TDBfevigAsr

f t TOSIext'' vT D B E dt.

Рщ TDBUstBox

e f jOBCombsBc*

<:pi ЙЙЗСИесШох : ; }e TDBRadioSroup:Iffl TDBLookuplfstBox

Рисунок 5. С траница D ata C ontro ls палитры ком понентов, содерж ащ ая ком п он ен ты отображ ения и

Установим связь приложения с сервером баз данных при помощи мастера со­

единений. Последовательность действий поясняется на рисунках 6, 7 и 8.

Далее следует задать значения свойствам компонента A D O T ab le l для обес­

печения доступа к набору данных таблицы:

C o n n e c t io n — > A D O C o n n e c tio n l;T ab leN am e -> имя таблицы (выбирается из списка);A c t i v e -» t r u e .С этого момента можно приступить к настройке свойств компонентов визуа­

лизации, навигации и модификации информации реляционной таблицы:

D a t a S o u r c e l:D a t a S e t —► A D O T ab le l.D B G rid l:D a ta S o u r c e —>D a t a S o u r c e l .D B N a v ig a t o r l:D a t a S o u r c e -> D a t a S o u r c e l .A DO Q ueryl:C o n n e c t io n —> A D O C o n n e c tio n l;

м оди ф и каци и источника данных.

14

Page 15: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

После выполнения указанных операций следует откомпилировать и запустить

приложение. Ввести данные в таблицу с клавиатуры компьютера. Завершить

приложение. Вид интегрированной среды разработчика после завершения работы

приложения приведен на рисунке 9.И » Р Р Р 1 К Г . . '- Г > - Ч»-.С Ъ . р ' Л '

С сгарапбп!*. T o e * AQtirtf* V,tnism H tlp С / Dsfauli a « u t -r ' i f» ^

, > » Ф * Г i 0" *15 * ' * ~ ^ I V 5 Srands - JjdWeteffinePagei . Urrtb • ..> .. - ■ . -

Г Т " -------- ’...................... ................ ........... .................. ..................................... ..........................r~;------>•',

• ’ * 5 о ^ ? й .

, Файл _ . 4 •

; ST , J f f Q ,, ' S 'j : •: АООСапгесйоп- . AOOQuenr-. ,ADOTs!&.; .DateSeurce . . ' . . . v . * : ^

.................. ....................................... * .........F o r m i ftO O Coftp fcfcon L , — г — щт)

^'StfUrce-ofConnecton".-: - - - ' ■ ' ■ ■' ".Л'.!

• . : , r Use C e a Link F ia . ■!

«p’-U ae-co« iecltonStn» ie-.■■■■;,..-v..,-

i П 5 * . . ] ■

i J . Сапой j ‘

i ■

Рисунок 6. П ервы й ш аг создания соедин ен и я прилож ения с базой данны х. Д иалоговое окно

вы зы вается двойны м щ елчком м ы ш ки по ком понент)' TADOConnection. Д алее следует наж ать

кнопку Build.

15

Page 16: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

& * Ф ^ 0 V *Ш- .* -■ф т .4 ^ ^ ^ Ш й

^ Page] ^ U r i t i - •

Se o z rd s

ц □ аМапЮелЛ !. 1 ApOCorrecfcon! ! ' iDOQue y. , :ADGa Свойств# канала передачи я & т ш

f W * | | л | ✓ | X S С ; fbcrgsuii дз»ч>>: -Совдинв *».; Д&полштэльно.| все ..:' . j- 1Вьйерите лсдкп-счаеиые дгмнья: j f-

.:Пос7»лжи01Д08 iff.... 1 ^ ш ш ш Ш ш в т ш ^ т м и ^ Щ :/

• -i Fermij : Microsoft OLE DB Provkier for Analysis Services 10 0 -■ Ol£ DB Frovidsr Fcr D t3 Wning Serv.cvw: Mfcrasoft OLE DB Providerfor Ыеяпд Service f . - ' ij M(C!ij3D?t OLE DB Provfdarfor ODBC Olivers! Mtecsoft OLE DB Pwvhterfw OLAP Slices B.C r-: -: Мюедапй OLE DB Provider'for Oracle

t !-«.■ us ; MfcrwoflOLE DBPn»«deffor SeardiMicrosoft OLE DB Providerfor SQL Ssver Г»

: Microsoft OLE DB Simple Provider is- - -: MSDataSnape

t ! i . ™| OLE DB Picvder tor Mat-soft Dredory Services

_

; s,:f j3aflee :> .i.- tj

. r '■ СЖ • | ;-: Отмена \ i Справка j

Рису нок 7. Второй ш аг создания соединения прилож ения с базой данны х. В ы бирается провайдер

M icrosoft Jet 4 .0 O LE DB P rov ider для связи с MS Access. Н аж атие н а кн опку « Д а л е е » »

обеспечи вает п ереход к следую щ ем у окну.

16

Page 17: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

№ ' j f j l >• ©' „«ntarnil SK*&«ton *»*»■*.. ««WSl.-CKftft

P a m i l i ?!

У -Sow?ЩI м

$ Ц Я

{#йгйш йШ й™*** i n s n s wi,.| Укажите с м д е н и ! n f ls rcu K S w e w я * й ж у м А есем :

! \ } Выберете или введите имя бваы даниыг.

*> CAUsBfi\ i¥ieee''liocufnBrtsXRAD SftfioPrctftcW2. Беегит* сведения для о к о м я б азу дан яьк

П сл ь*»атель: Admin

щ ропь Г гР а з р в ы ж ь о а ф а т а м е п а р о м

Ри сунок 8. Т ретий ш аг создания соединения прилож ения с базой данны х. В ы бирается имя базы

M S A ccess из личного каталога. П роверяется корректность соединения наж атием кнопки

«П роверить соединение». В случае успеха следует нажать н а всех откры ты х окнах кнопку «О к»

(3 раза).

17

Page 18: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

C om ponen t Tools £Q tim e 'VV?ndcw Ije lp 4-.f : Default Layout

^ ; | s s ' f , r - 4» & f f ?& Vieknmt Page ]§j urattП < fTi

€ i Я

0.Ь р г*н и м ц и **остуг< |'| дао ■'''•> . r ^ r r i r g g '

( ►i■; i.

s V

!ип^тра«сфарматора; . Знон* MBA: JJhам, kS Lhgm, A Uk, % Pki егВт: . Pxx, кВт'ргэЮООО/Ч I ADQ;

S - 16000/1: * £ s ; : mЭС -1<* p

1 0 , I

10,

60

S5

14

21ainMenuljADOConnecfion 1 ADOTabiel 4DOQuery.l SDdCorrtmandl DataSource 1 82 34

.ТДШ -10000/110-70 Ш 115 3037.9 20,5 30 23ТДТН- 16000/110 16 115 4940,7 10r5 125 45

■ ТДТН-16000/110-66 16 115 4940,7 10,5- 10S 32ТД 1Н-25ОООШО-66 25 115 7719,9 17 145 45■ ТДТН>31500.'110 31,5 115 9727 17,5 225 75:ТДТН--Ю000/110 40 115 12351,8 10,5 240 95;тдтн -«ю оо /1 ю-67 40 ' 115 12351,S 10,5 230 63;ТДТ>1-63000/110-67 63 115 19454 10,5 310 37Т ДТИ Г-15000/110 15 115 4631fS 17; 140 65ТДТНГ-31500/110 33,5 115 972? 17, Г 195 95■ ТДТНЭ-20000/ИО-Б 20 115 6175,9 10,5 12? 45; ТДТНЭ -25000/110 -67 25 115 7719,9 17- 145 45• ТДЖЭ-ЙООО/ПО 40 115 12351,3 10,5 m 63TMTH-1QDQQ/110-67 10 115 3087, § 10,5 3D 23ТМТН -6 300/110 -66 6,3 115 1545,4 17 60 17

Рисунок 9. И нтегрированная среда разработчика. По технологи и A D O получен доступ к

реляц и онн ой таблице базы данны х, содерж ащ ей парам етры пониж аю щ их трансф орматоров

тяговы х подстанций.

Контрольные волромы и задачи.

1. Можно ли установить соединение с базой данных по технологии ADO, не

используя компонент T A D O C on nection?

2. В чём основное отличие компонента TADOTable от TADOQuery?

3. В чём различие компонентов TADOQuery и TADOCommand?

4. Сопоставьте стандартные типы данных Delphi и SQL.

5. Чем таблица из справочника отличается от реляционной таблицы базы

данных?

18

Page 19: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

6. В чём главные преимущества доступа к базам данных по технологии ADO?

7. Какую роль в приложении баз данных играет компонент T D a ta S o u r c e ?

8. Какие компоненты приложения баз данных предназначены для отображения

информации и управления данными?

19

Page 20: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Лабораторная работа №2. Формирование запросов к локальным

базам данных на языке SQL. Отображение графических и объёмных

текстовых данных в режиме формы

Цель работыОсвоение основ языка формирования запросов - SQL и операций реляционной

алгебры.Постановка задачи

Сформировать и выполнить статичексие и динамические запросы к реляционным таблицам базы данных на SQL.

П орядок выполнения работы1) Произвести поиск графических изображений и описаний оборудования систе­

мы тягового электроснабжения (СТЭ) в справочниках и интернете, в соответ­ствии с заданным вариантом, для каждой строчки таблицы:

2) Добавить на форму приложения (л.р. № 1) два визуальных компонента (TD BIm age и TDBMemo), предназначенных для отображения графических

изображений оборудования СТЭ и описательной текстовой информации большого объёма, хранящейся в базе данных;

3) Добавить подпрограмму-обработчик события для занесения графических изображений в поле «Иллюстрация» таблицы базы данных (Листинг 3);

4) Занести графическую и текстовую информацию в базу данных;5) Добавить в приложение визуальный построитель запросов на основе компо­

нентов ТМешо и TADOQuery:6) Сформировать статический и динамический запрос к базе данных;7) Создать тест и произвести отладку приложения:8) Запустить приложение и выполнить запросы к базе данных,

procedure TForm2.ButtonlCiick(Sender: TObject);var

bmp : TBitMap; jpg : TJpeglmage; s : String;

beginbmp := TBitMap.Create; jpg := TJpeglmage.Create; try

if OpenDiaiogl.Execute then begin

s := Uppercase(ExtractFileExt(OpenDiaiogl.FileName)); if s = 1.BMP' then

begin20

Page 21: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

bmp.LoadFromFile(OpenDiaiogl.FileName);DBImagel.Picture.Bitmap.Assign(bmp);

end;if (s = '.JPG') or (s = '.JPEG') then

beginjpg.LoadFromFile(OpenDiaiogl.FileName); bmp.Assign(jpg) ;DBImagel.Picture.Bitmap.Assign(bmp);

end;end;

finallybmp.Free; jpg.Free;

end; end;Л и сти н г 3. П рим ерны й текст программы для зан есени я граф ических изображ ений в таблицу базы

данны х. Реализуется ввод ф айлов ф орм ата * bm p и * jpg.

Примечание. Необходимо подключить в разделе U s e s модуль JPEG.

Содержание отчёта

1) Номер, название, цель и задачи лабораторной работы.

2) Графические изображения и описания оборудования СТЭ по заданному вари­

анту.

3) Образ формы приложения баз данных, в среде разработчика с подробными

пояснениями элементов интерфейса; визуальных и невизуальных компонен­

тов.

4) Образ формы приложения баз данных при запуске приложения (с результата­

ми запросов), с подробными пояснениями элементов интерфейса.

5) Тексты подпрограмм-обработчиков событий.

6) Выводы по работе и проблемы, возникшие при выполнении лабораторной р а ­

боты.

21

Page 22: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Варианты заданий.

№ № Вариант статическо­

го запроса

Компонент для

реализации за­

проса

Вариант дина­

мического за­

проса

Компонент для

реализации за­

проса

1. С = А П В ADOQuery Проекция ADOQuery

2. С = A U В A D O D ataS et Селекция A D O D ataS et

3. II > 1 со ADOQuery Декартово про­

изведение

ADOQuery

4. 71х A D O D ataS et Соединение A D O D ataS et

5. a F ADOQuery Объединение ADOQuery

6. n x + a F A D O D ataS et П ересечение A D O D ataS et

7. С = А х В ADOQuery Разность ADOQuery

8. С = А > о В

Aj в Bt

A D O D ataS et Проекция A D O D ataS et

9. Создать копию таб­

лицы

ADOCommand Селекция ADOQuery

10. Создать таблицу ADOQuery Декартово про­

изведение

A D O D ataS et

11. Удалить таблицу A D O D ataS et Соединение ADOQuery

12. Очистить таблицу A D O C o n n ectio n Объединение A D O D ataS et

13 Добавить поле в

структуру таблицы.

ADOQuery Пересечение ADOQuery

14. Удалить поле из

структуры таблицы.

A D O D ataS et Проекция A D O D ataS et

15. Рассчитать количе­

ство записей.

ADOQuery Селекция ADOQuery

16. Рассчитать среднее

значение поля.

ADOQuery Декартово про­

изведение

A D O D ataS et

22

Page 23: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Продолжение,

17. Рассчитать суммар­

ное значение поля.

A D O D ataS et Соединение ADOQuery

18. Рассчитать мини­

мальное значение

поля.

ADOQuery Объединение A D O D ataS et

19. Рассчитать объём

для размещения обо­

рудования

A D O D ataS et Пересечение ADOQuery

20. Рассчитать индук­

тивное сопротивле­

ние трансформато­

ров.

ADOQuery Проекция A D O D ataS et

21. Рассчитать объём

для размещения обо­

рудования

A D O D ataS et Селекция ADOQuery

22. Рассчитать количе­

ство вентилей в пре­

образователях

ADOQuery Декартово про­

изведение

A D O D ataS et

23. Обновить значение

Масса*0,75

A D O C o n n ectio n Соединение ADOQuery

24. Рассчитать количе­

ство вентилей в пре­

образователях

ADOQuery Объединение A D O D ataS et

25. Рассчитать объём

для размещения обо­

рудования

A D O D ataS et Проекция ADOQuery

23

Page 24: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 1. Окончание.

26. Обновить значения

uk %o*0,75

ADOCommand Селекция A D O D ataS et

27. Обновить

габариты*0,75

A D O C o n n ec tio n Декартово про­

изведение

ADOQuery

28. Обновить значения

полной массы*0,75

ADOQuery Соединение A D O D ataS et

29. Определить макси­

мальное значение

отключающего тока.

A D O D ataS et Объединение ADOQuery

30. Рассчитать объём

для размещения обо­

рудования

ADOQuery Пересечение A D O D ataS et

31. Определить

наибольшее рабочее

напряжение.

A D O D ataS et Проекция ADOQuery1i

j32. Определить макси­

мальную массу по­

люса

ADOQuery Селекция A D O D ataS et |

33. Определить макси­

мальную массу при­

вода

A D O D a ta S et Декартово про­

изведение

ADOQueryi

Условные обозначения, принятые в таблице 1.

U - операция объединение. С = A U В;

О - операция пересечение, С = А П В;

-----операция разность, С = А — В;

п х— операция проекция на множество атрибутов х:

a F - операция селекция по предикату F;

х - операция декартово произведение, С = А х В;

24

Page 25: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

> < - операция соединение С = А > < В; условие соединения А) 0 Вь где 0 -

условная операция: =, >, <, >=,<=,о , A j, В4 - атрибуты отношений.

Теоретические сведения к работе

Большинство визуальных компонентов для работы с данными похожи на со­

ответствующие компоненты для обычных приложений. Основное отличие заключа­

ется в том, что компоненты для работы с базами данных содержат свойства, позво­

ляющие указать источник данных (D a ta S o u r c e ) и поле, из которого компонент

получает данные (D a t a F ie ld ) .

Таблица 2. Визуальные компоненты для работы с данными со страницы Data

Controls.

Название Описание

D B T ext Предназначен для отображения текущего значения одно­

го поля (аналог компонента L a b e l) .

D B E d it Предназначен для отображения и редактирования теку­

щего значения одного поля (аналог компонента E d it ) .

DBMamo Предназначен для отображения и редактирования много­

строчных текстов (аналог компонента Memo). Макси­

мальный размер текста 2ГБ.

D B R ic h E d it Предназначен для отображения и редактирования много­

строчных форматированных текстов (аналог компонента

R ichE dit).M aкcимaльны й размер текста 2ГБ.

D BIm age Предназначен для просмотра изображений (аналог ком­

понента Im age).

25

Page 26: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 2. Окончание.D B C heckB ox Связанный с данными аналог обычного индикатора

C heckB ox:. Позволяет отображать и редактировать дан ­

ные поля булевого типа. Если при выводе данных поле

имеет значение True, то индикатор включается. И,

наоборот, при редактировании поля присваиваемое ему

значение определяется состоянием индикатора.

D B L ookupC om boB ox Компонент синхронного просмотра и редактирования

связанной информации в базе данных.

D B C h a r t Компонент для создания графиков и диаграмм в базах

данных.

Таблица 3. Общие свойства визуальных компонентов

Свойство Описание

DataField Поле связанного с компонентом набора данных

DataSource Связанный с компонентом источник данных

Readonly Запрещает/разрешает (true/false) пользователю изменять данные

Некоторые термины и определения

Табята. Основной объект, обеспечивающий сохранение данных в реляцион­

ной базе данных. Данные в таблицах, сохраняемые в виде записей (строк) и полей

(столбцов), обычно содержат информацию об определённых категориях, например,

о сотрудниках или инвентаре. Используется также термин базовая таблица. Объект

Recordset табличного типа является логическим представлением таблицы базы

данных.

Отношение (relation) - это математическое название определённого вида таб­

лиц. Отношение - это множество кортежей. В математике множества по определе­

нию не содержат одинаковых элементов, и простые множества в математике не упо-

26

Page 27: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

рядоченьт. Поэтому множество определим как неупорядоченную, неповторяющуюся

совокупность элементов одного и того же типа.

Отношение и таблица. В неформальном контексте термин «таблица» и тер-

мин «отношение» принято считать синонимами. В настоящее время на практике

термин «таблица»' используется гораздо чаще термина «отношение». Но не следует

забывать о принципиальной и существенной разнице между «обычной» таблицей и

отношением.

Кортеж - это множество из п компонентов или множество пар «кортеж -

атрибут» .

Столбец. Визуальное представление поля в сетке. Столбец определяет тип

данных, размер и другие атрибуты значения поля в строке (записи) данных. Набор

столбцов образует строку (запись) в базе данных. Отдельный столбец содержит дан ­

ные, родственные по типу и предназначению во всей таблице. Таким образом, оп ре­

деление столбца не меняется от строки к строке.

Поле. Категория данных, сохранённых в виде столбца в таблице базы данных.

Столбец — это элемент таблицы, в котором сохраняются данные определённого ти­

па.

Тип данных поля. Типы данных объекта Поле - Big Integer, Binary. Boolean,

Bvte. Char, Currency, Date/Time, Decimal, Double, Float, GUID, Integer, Long, Long

Binary (объект OLE), Memo, Num eric, Single. Text, Tim e, TimeStamp и VarBinarv.

Свойства Поля. Атрибуты поля, определяющие, какие данные оно может со­

держать. Примерами могут служить свойства Size. Туре и т.д.

Запрос. Формализованная инструкция базе данных на возвращение набора за ­

писей или выполнение определённых действий над набором записей, указанных в

запросе. Можно создавать и выполнять запросы на выборку, запросы на изменение,

перекрёстные запросы, запросы с параметрами.

Запись. Набор связанных данных о лице, месте, событии или другом элементе.

Табличные данные сохраняются в базе данных в виде записей (строк). Каждая за­

пись состоит из определённого набора полей (столбцов). Каждое поле определяет

27

Page 28: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

один элемент данных в записи. Запись как целое определяет конкретную единицу

информации, извлекаемой из базы данных. Записи также называют строками.

Строка. Набор взаимосвязанных столбцов или полей, используемых для со­

хранения данных. В ядре базы данных M icrosoft Jet строка является синонимом за­

писи. Таблица может не содержать строк или содержать несколько строк данных.

Корт еж и строка или запись. В формальной реляционной теории термин за­

пись не используется вообще, ввиду своей нечеткости (экземпляр записи, тип запись

и т.д.). Вместо него применяется термин «кортеж». Термин «кортеж» примерно со­

ответствует понятию строки, так же как, термин «отношение» приблизительно соот­

ветствует понятию таблицы.

В дальнейшем изложении материала в методических указаниях будут исполь­

зоваться как формальные в реляционной теории термины и понятия, гак и нефор­

мальные. Для устранения недоразумений в толковании содержания указаний сведём

те и другие термины в таблицу

Ф о р м а л ь н ы й р е л я ц и о н н ы й т е р м и н Н е ф о р м а л ь н ы й э к в и в а л е н тО тнош ение ТаблицаКортеж Строка или записьА трибут С толбец или полеА рность (или степень) К оличество столбцовП ервичны й ключ У никальны й идентиф икаторДомен Тип данны х (С овокупность допустим ы х значений)А томарность О дно значение

Основы языка SQL

SQL - это язык, который обеспечивает доступ к информации и позволяет

управлять реляционными базами данных. Язык SQL - Structured Query Language -

структурированный язык запросов, обычно произносится как СИКВЭЛ или

ЭСКЮЭЛЬ.

Язык SQL определяет набор операторов (команд), типы данных, набор встро­

енных функций. Так как язык SQL предназначен для манипулирования данными в

Page 29: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

реляционных базах данных и определения структуры баз данных то в него в каче­

стве составных частей входят:

язык манипулирования данными (Data M anipulation Language. DML);

язык определения данных (D ata Definition Language, DDL).

Язык манипулирования данными сос тоит из четырёх основных команд:

SELECT (выбрать) - извлечь данные из одной или нескольких таблиц:

INSERT (вставить) - добавить строки’ в таблицу;

UPDATE (обновить) - изменить значен ия полей в таблице;

DELETE (удалить) - удалить строки из таблицы.

Язык определения данных используется для создания (CREATE), изменения

(ALTER), удаления (DROP) структуры базы данных л её составных частей. О снов­

ные команды языка определения данных:

CREATE TABLE - создать таблицу;

ALTER TABLE - модифицировать таблицу:

DROP TABLE - удалить таблицу.

Примеры использования язы ка SQL.

Например, вывести все строки таблицы Трансформаторы:

SELECT *FROM Трансформаторы;

Операция селекции (выборки a F) - это построение горизонтального подмно­

жества, т.е. получение части строк, обладающих заданными свойствами. Операция

выборки работает с одной таблицей и позволяет т л ’Учить либо все. лиоо те строки

таблицы, которые удовлетворяют заданному условию.

Page 30: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Рисунок 10. Г раф и ческое изображ ение оп ерац ии селекция.

Например, вывести все строки таблицы Трансформаторы, в которых мощность

трансформаторов превышает ЮОООкВА:

s e l e c t *FROM Трансформаторы WHERE S h o m > 10000;

Операция проекции п х — это построение вертикального подмножества отно-

ш енк'ч> т -е - выделение подмножества столбцов таблицы. Операция проекции приме­

няется к ОДнс,й таблице и в качестве результата выдаёт таблицу, у которой оставлена

только часть .атрибутов и исключены строки-дублккаты.

п

IРисунок 11. Г раф ическое изображ ение оп ерац ии проекция.

Например, вывести типы трансформаторов и напряжение короткого замыкания из

таблицы Трансформаторы :

SELECT [Тип трансформатора], uk FROM Трансформаторы;

На практике очень часто требуется получить подмножество столбцов и строк

таблицы — выполнить комбинацию селекции и проекции. Для этого достаточно пере­

числить столбцы таблицы и наложить ограничения на строки.

зо

Page 31: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Например, получить информацию о типах трансформаторов и напряжения коротко­

го замыкания только для трансформаторов, имеющих мощность свыше ЮОООкВА

SELECT [Тип трансформатора], uk FROM Трансформаторы WHERE Sh o m > 10000;

Декартово произведение R х S двух отношений (двух таблиц) определяет но­

вое отношение, представляющее из себя совокупность всевозможных конкатенаций

записей отношений, участвующих в операции декартово произведение ("результат

сцепления каждой записи из отношения R с каждой записью из отношения S).

Например, выполнить операцию декартово произведение над двумя таблицами, со­

держащими информацию об электрических и механических характеристиках транс­

форматоров тяговых подстанций.

SELECT [Трансформаторы Эл].*, [Трансформаторы Мех].*FROM [Трансформаторы Эл], [Трансформаторы Мех];

R * 8 = С

с х

Рисунок 12. И ллю страц ия операции декартово произведение.

Если в предложении FROM указано более одной таблицы, то эти таблицы со­

единяются. По умолчанию результирующая таблица представляет собой перекрёст­

ное соединение или декартово произведение.

Page 32: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 4. Электрические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы Эл».

1 нп 1 р а ш 'ф о |» м ю р» P ix Р к Г " ukТМ ТН -10000/110-67 115 23 80 10,5ТДТН -16000/110-66 115 26 105 10,5ТДТНЭ-20000/110-Б 115 45 127 10,5

Таблица 5. М еханические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы Мех».

!и ц гр ан сф о р м аю р а . • М я с с я . В ы с о т Д лина Ш ирин;!ТМ ТН-10000/110-67 57100 5860 1 7 1 5 0 3360ТДТН -16000/110-66 67500 5665 7185 4470ТДТНЭ-20000/110-Б 68000 6460 7600 4440

Таблица 6. Результат операции декартово произведение над таблицами 4 и 5.

Г|1Н1К'ф(1р.ЧИ1 (*|1Ы 1.1. ш'■*%

u k ■ (р я н сф и р ч и ю р ы М м . i iu i i p v u i f i рм<г 1,11

ГИ ы сош |Д .ш и » 1 и 1 » |) |й |я I

ТМТН-10000/110-67 115 23 ш 10,5 ТМТН-10000/110-67 57100 5b oL 7150 3360ТДТН-16000/110-66 115 26 105 10,5 ТМТН-10000/110-67 57100 5860 7150 3360ТДТНЭ-20000/110-Б 115 45 127 10,5 ТМТН-10000/110-67 57100; 5860 7150 3360ТМТН-10000/110-67 115 23 80 10,5 ТДТН-16000/110-66 67500 5665 7185 4470ТДТН-16000/110-66 115 26 105 10,5 ТДТН-16000/110-66 67500 5665 7185 4470ТДТНЭ-20000/Н0-Б 115 45 127 10,5 ТДТН-16000/110-66 67500 5665 7185 4470ТМТН-10000/110-67 115 23 80 10,5 ТДТНЭ-20000/110-Б 68000 6460 7600 4440ТДТН-16000/110-66 115 26 105 10,5 ТДТНЭ-20000/110-Б 68000 6460 7600 4440ТДТНЭ-20000/110-Б 115 45 127 10,5 ТДТНЭ-20000/110-Б 68000 6460 7600 4440

Как правило, специалиста интересует только та часть записей декартова про­

изведения, которая удовлетворяет некоторому условию, поэтому на основе декарто­

ва произведения строится одна из самых важных операций реляционной алгебры —

операция соединения - С = А > < В, при в ы п ол н ен и и условия Aj © В,.

Например, выполнить операцию соединение по эквивалентности над двумя табли­

цами. содержащими информацию об электрических и механических характеристи­

ках трансформаторов тяговых подстанций при условии равенства ключевых полей

(типов трансформаторов).

Page 33: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

SELECT [Трансформаторы Эл].*, [Трансформаторы Мах].* FROM [Трансформаторы Эл] , [Трансформаторы Мех]WHERE [Трансформаторы Эл].[Тип трансформатора] =

[Трансформаторы Мех].[Тип трансформатора];

Таблица 7. Результат операции соединения по эквивалентности над таблицами 4 и 5.

Г рям сф п рш горы Эл. ||<п ц;.шсц. .рм ялф п

Т М Т Н -1 0 0 0 0 /1 10-67

Т Д Т П -16000/110-66

01

П 5 ! 15

Рхх

2326

PiO

80

~105

Ilk I f ||И 'ф |'[ M.un[ .-J M .iifni Т ип грансфер* чтора i

10.5 lT M T H -10000 /i 10-67 5710010.5 ТДТН-1бООО/П 0-66 67500

В м г< м

^ 6 0

5665

.1.Ш11.1

7150

7185

Ш нринн

33604470

ТД Т Н Э -20000/110-Б 115 45 127 10,5!Т Д Т Н Э -20000/110-Б | 68000 6460 7600 4440

Операция объединения ( UNION).

Результатом операции объединения двух отношений R.1 и R2 является отно­

шение, представляющее собой множество строк, принадлежащ их или отношению

R1 или отношению R2. Таким образом, предложение UNION объединяет вывод

двух или более SQL запросов в единый набор строк и столбцов. Набор строк в ре­

зультирующей таблице будет уникальным. При этом результаты запросов должны

быть совместимы, т. е. иметь одинаковое количество полей с совпадающими типами

данных (быть совместимыми по объединению).

Рисунок 4' Г раф ическое и зображ ен и е операции объеди н ен и е .

Например, выполнить операцию объединение над двумя т&слицами (8 и 9), содер­

жащими информацию об электрических характ еристиках трансформаторов тяговых

подстанций.

SELECT [Трансформаторы Эл1].*FROM [Трансформаторы Эл1]UNIONSELECT [Трансформаторы Эл2].*FROM [Трансформаторы Эл2];

Page 34: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Таблица 8. Электрические характеристики трансформаторов тяговых подстанций.

Имя таблицы «Трансформаторы Эл1».

Tiiu трансфооматорв *; т V ' F Р \ \ h r t Ь f 'uk ?ТМ ТН -6300/110-65 6300 115! 17 60 10,5

ТМ ТН -10000/110-67 10000 115"! 23 80 10,5

Т Д Т Н -16000/110-66 16000 115> 26 105 10.5

Таблица 9. Электрические характеристики трансформаторов тяговых подстанций

Имя таблицы «Трансформаторы Эл2».

Тип граис^орматора ' SaoM 1 4 г " Рчх Рь-э uk.]0 ,5ТМ ТН -10000/110-67 10000 115 23 80*

Т Д Т Н -16000/110-66 16000 115 26 105 10,5ТДТНЭ-20000/110-Б 20000 115 45 127 10,5

Таблица 10. Результат операции объединение над таблицами 8 и 9.

Гип трансформатора Sho.m И Р \ \ Pin ' 'Т М ТН -6300/110-65 6300 ; 151 17 60 10.5ТМ ТН -10000/110-67 10000 115! 23 80 10,5Т Д ТН -16000/110-66 16000 и з ] 26 105 10,5ТДТНЭ-20000/110-Б 20000 115 45 127 10.5

Операция пересечение отношений R и S определяет отношение (таблицу), ко­

торое содержит записи, присутствующ ие как в R, так и в S. Отношения R и S долж ­

ны быть совместимы по объединению. Таким образом, пересечением двух таблиц -

R и S является таблица, содержащая все строки, присутствующие в обеих исходных

таблицах одновременно.

цS

Рисунок 5. Г раф и ческое и зображ ение операции пересечение.

Page 35: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Например, выполнить операцию пересечение над двумя таблицами (8 и 9), содер­

жащими информацию об электрических характеристиках трансформаторов тяговых

подстанций.

SELECT [Трансформаторы Эл1].*FROM [Трансформаторы Эл1]WHERE Exists(SELECT [Трансформаторы Эл2].*FROM [Трансформаторы Эл2]

WHERE [Трансформаторы Эл2].[Тип трансформатора] =[Трансформаторы Эл1].[Тип трансформатора]);

Пояснение. Текст запроса представляет собой структуру - запрос с подзапросом.

П одзапрос подключается к внешнему запросу при помощи так называемого «кван­

тора существования» - Exists (существует). В данном примере, в подзапросе прове­

ряется существование совпадения значений ключевых полей.

Таблица 11. Результат операции пересечение над таблицами 8 и 9.

1 ип фапсф ормагора Is ном и г ■ 1*0 Гк< iikТ М Т Н -10000/110-67 10000 115 23 80 10,5^ТДТН-16000/110-66 16000 115 26 1051 Ю,5

Возможна и другая реализация операции пересечения;

SELECT *FROM [Трансформаторы Эл1]WHERE [Тип трансформатора] IN

(SELECT [Тип трансформатора] FROM [Трансформаторы Эл2]);

Пояснение. Текст запроса также представляет собой структуру - запрос с подзапро­

сом. Подзапрос формирует множество на основе всех данных поля «Тип трансфор­

матора» таблицы «Трансформаторы Эл2». Внешний запрос выводит только те запи­

си из таблицы «Трансформаторы Эл1», которые есть в сформированном множестве.

Это осуществляет оператор 1N.

Разность двух отношений R и S состоит из записей, которые имеются в отно­

шении R, но отсутствуют в отношении S. Причём отношения R и S должны быть

совместимы по объединению. Таким образом, разностью двух таблиц R и S является

Page 36: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

таблица, содержащая все строки, которые присутствуют в таблице R, но отсутству­

ю т в таблице S.

Рисунок 6 Г раф и ческое изображ ение оп ерац ии разность.

Например, выполнить операцию разность над двумя таблицами (8 и 9), содержащи­

ми информацию об электрических характеристиках трансформаторов тяговых под­

станций.

SELECT [Трансформаторы Эл1].*FROM [Трансформаторы Эл1]WHERE Not Exists (SELECT [Трансформаторы Эл2].*FROM [Трансформаторы Эл2]

WHERE [Трансформаторы Эл2].[Тип трансформатора] =[Трансформаторы Эл1].[Тип трансформатора]);

Пояснение. Текст запроса представляет собой структуру - запрос с подзапросом.

Подзапрос подключается к внешнему запросу при помощи выражения - N o t

E x i s t s (не существует). В данном примере, в подзапросе проверяется условие про­

тивоположное условию в операции пересечение.

Таблица 12. Результат операции разность над таблицами 8 и 9.

Возможна и другая реализация операции разность:

s e l e c t *FROM [Трансформаторы Эл1]WHERE [Тип трансформатора] NOT IN

(SELECT [Тип трансформатора] FROM [Трансформаторы Эл2]);Пояснение. Текст запроса также представляет собой структур)' — запрос с подзапро­

сом. Подзапрос, по-прежнему, формирует множество на основе всех данных поля

«Тип трансформатора» таблицы «Трансформаторы Эл2», однако, теперь внешний36

Page 37: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

запрос выводит только те записи из таблицы «Трансформаторы Эл1», которых нет в

сформированном множестве. Это осуществляет связке.NOT IN.

Деление

Пусть отнош ение R , называемое делимым, содерж ит атрибуты (А1,А2,...,Ап).

Отношение S - делитель содержит подмножество атрибутов А: (А1.А2.....Ак) (к<п).

Результирующее отношение С определено на атрибутах отношения R, которых нет в

S. т.е. A k+i,A k+2,...,A n. Записи включаются в результирую щ ее отношение С только

в том случае, если его дехартово произведение с отнош ением S содержится в дел и ­

мом R.

К / S - с

Дмленге ->> А

Рисунок 7. Г раф ическое и зображ ен ие оп ерац и и деление.

Операция деления, может быть выражена через выше описанные операции реляци­

онной а л г е б р ы п р и п о м о щ и ф о р м у л ы :

R :S = n x (R) - л х ( я X(R) * S - Д ))

Например, имеются таблицы R - «Остановки поездов на станциях» и S - «Н омера

поездов».

Таблица 13. Остановки поездов на станциях.

I i iv i . ‘н е i-M .’JLiiii Номер ПоездаСтанция 1 351Станция 1 370Станция 1 235Станция 2 3 5 11Станция 3 370

Page 38: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Т аблица 14. Номера поездов.

'Номер Поезда351

___________ 370235]

Требуется определить имена станций из таблицы 13, на которых останавливаются

все поезда из таблицы 14. Задача может быть решена применением реляционной

операции деления и представлена в виде одного запроса с подзапросами на языке

SELECT DISTINCT R . [Название станции]FROM RWHERE NOT Exists

(SELECT *FROM SWHERE NOT Exists

(SELECT *FROM R R1WHERE Rl.[Название станции]=R.[Название станции] and

Rl.[Номер поезда]=S.[Номер поезда]));

Пояснение запроса. О пределить те станции из таблицы R, для которых не су­

ществует тех номеров поездов из таблицы R. для которых не существует записей об

остановках в таблице R для этой станции и этого номера поезда.

Это выражение дословно переводится на язык SQL. При переводе выражения

на язык SQL нужно учесть, что во внутреннем подзапросе таблица R должна быть

переименована, для того чтобы отличать её от экземпляра этой же таблицы, исполь­

зуемой во внешнем запросе. Директива D IST IN C T (несовпадающий) необходима

для исключения дублирования строк в результирующем отношении.

Содержание отчёта

1) Номер, название, цель и задача лабораторной работы;

2) Графические изображения и описания оборудования системы тягового элек­

троснабжения по заданному варианту;

3) Распечатки текстов подпрограмм - обработчиков событий:

38

Page 39: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

4) Вид интерфейса приложения баз данных в интегрированной среде разработ­

чика с подробным описанием элементов интерфейса (примерный вид интер­

фейса приведён на рисунке 7);

5) Вид интерфейса приложения баз данных при выполнении статического запро­

са (примерный вид интерфейса приведён на рисунке 8);

6) Вид интерфейса приложения баз данных при выполнении динамического за ­

проса (примерный вид интерфейса приведён на рисунке 9);

7) Выводы по работе и проблемы, возникшие при выполнении лабораторной ра­

боты;

Component loefc. fcjelp : Def*aLovout ▼ :

4 tr. - - .w-s ' * ,: *4JK|W ^j n w e j «

_ u - , iT. g b l j

^ и ; -J 'Щ: ;AOOQuery.jf SDOOstiSs» Ops-Oatoj l■ •. I

................................. ^С§*в:Я^ЛЗДеСТ^»Ц|*Я;:. jj J..

; Окно д л я в в о д а дина^йм ескогб запроС-Э;:

' Багопнктъ ,.

Рисунок 8. И нтерфейс с отображ ением данны х в режиме сетки и в реж име формы в процессе р а з­

работки. Для отображ ения в реж им е сетки используется ком понент D B G rid , а режиме ф орм ы

компоненты D B Im a g e и DBMemo. Для ф ормирования динам ического запроса используется ком ­

понент Memo.

Page 40: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

'**" ^ *....V &84 V aes я

ш р м^ . ■* . ✓ d

*8 &S& <№#*5М*»У:9е/ J ;i<fl cnHUW.;Cn« w a v • j i J O C : *«. •£>»'' «' U},S.&m .<*£ ,.

Ш: »; 84 Л<$:фО» **■%"'0 B S B m a m i "**' iis' :*..*»'**;*«* Щ ||

еЧ'Й

. Окнодаирвводч^

и в

$ ш т £ i L

гШ тр**#*ткм«*е гр»<фр«итаЛ«

Шфн&ШШяъ Ш^Ш’т^Ш$%■ .л ':1пом ?епьы 1(м1е*вожу-л,;:...< мг упфомяаи «тея**»» поя н*пн#оЛ $prt $

Ри сунок 9. И н терф ейс с отображ ением данн ы х в реж им е сетки и в реж и м е ф орм ы при вы полнении

п рилож ени я баз данны х. В ы полнен стати ческий зап рос для ви зуализаци и данн ы х из таблицы

«Трансф орм аторы ».

Р и сунок 10. И нтерф ейс с отображ ением данн ы х в реж им е сетки и в реж им е формы при вы п олн е­

нии п рилож ения баз данны х. В ы полнен динам ический запрос н а о снове операции селекция для

ви зуализаци и данн ы х из таблиц ы «Т рансф орм аторы ».

40

Page 41: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Контрольны е вонромы и задачи

1) В чём принципиальное отличие отображения данных в режиме сетки и в р е ­

жиме формы?

2) Какими дополнительными свойствами обладает компонент DBImage в срав­

нении с компонентом Image?3) Какими дополнительными свойствами обладает компонент DBMemo в срав­

нении с компонентом Memo?4) Каким образом можно занести иллюстрацию (фото, рисунок, схему и т.п.) в

базу данных?

5) Каким образом можно занести объёмный текст (подробное описание техни­

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

базу данных?

6) В чём принципиальное отличие статического запроса от динамического?

7) Какие компоненты страницы dbGo предназначены для формирования и вы ­

полнения запросов к базе данных на языке SQL?

8) Какие компоненты страницы dbGo способны выполнять запросы на языке

SQL с возвращением набора данных клиенту?

9) Какие компоненты страницы dbGo не возвращают результаты запроса клиен­

ту?

10) В чём отличие операции объединения от операции соединения?

11) Какие по смыслу запросы реализуются операцией деление?

41

Page 42: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Лабораторная работа №3. Создание приложения баз данных по си­стеме клиент/сервер.

Цель работы

Освоение технологии создания трёхуровневой системы базы данных: «Тонкий

клиент» - «Сервер приложений» - «Сервер баз данных».

Постановка задачи

Создать в Delphi приложения «Тонкий клиент»и «Сервер приложений» для

организации статических и динамических запросов к базе данных, содержащей

информацию об оборудовании системы тягового электроснабжения и

расположенной на сервере баз данных MS Access.

Т еоретические сведения к работе

Технология MIDAS (M ulti-tier Distributed Application Services Suite - сервис

для создания многоуровневых распределённых приложений) была предложена

фирмой Borland. И с тех пор практически все приложения для работы с базами

данных создаются именно на основе M1DAS. О преимуществах. Даже простое

разделение приложения на две части, одна из которых работает с базой данных

(сервер приложений), а другая обеспечивает интерфейс пользователя, создает

значительные удобства как при разработке приложения, так и при его

использовании.

Чаще всего создается трехзвенное приложение, в котором сервер приложений

просто соединяет сервер БД с клиентской частью, просто абстрагируя работу с

базой данных.

С одной стороны, это даёт некоторое преимущество при переходе с

двухуровневой технологии (клиент-сервер) на трехуровневую, для чего компоненты

доступа к базе данных из клиентской части переносятся в сервер приложений, С

другой стороны, хочется больш его, а именно переноса на сервер не только работы с

таблицами базы данных, но и основной логики приложения, оставляя клиентской

части только задачу взаимодействия с пользователем.

42

Page 43: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

В лаоораторной работе рассматривается очень простое приложение для

работы с сервером баз данных MS Access. Два других уровня - тонкий клиент и

сервер приложений строятся на основе Delphi. С его помощью демонстрируются

некоторые способы создания полноценного сервера приложений, обеспечивающего

полную обработку данных.

Порядок выполнения работы

1. Разработка сервера приложений.

1. Создать обычное приложение Delphi.

2. На форму приложения добавить одну кнопку, предназначенную для завер­

шения работы сервера приложений (рисунок 1),

j . Добавить в приложение модуль с именем «Remote Data Module» - удалён­

ный модуль данных. Путь к модулю: File\New\Other\Delphi Рго-

jects\M ultitier\Remote Data M odule (рисунок 2).

4. В появившемся диалоговом окне следует заполнить поле с именем

«CoClass Name». Например, A ppServer_T C E _lll_ Ivanov (рисунок 3). В

дальнейшем под этим именем будет выполнена регистрация сервера при­

ложений на удалённом компьютере. Остальные поля следует оставить без

изменений. Нажать кнопку Ок.

43

Page 44: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Выгрузитьтрт^лН ' , : , '1

■* -j & <г-,".— —

Рисунок 1. П рим ер интерф ейса сервера прилож ений.

' ! C++- ! г : ActiveX : v i C++Buftder fifes

г t DataSnap Server : • r , Mifttar ; ( ■ Web9»oxsr . • i" , Web3er*ces •• ; . ; WebSnap- Г ’ W l

Delphi P ro jec ts

! Aebvex• r j DataSnap Server

1 Deipht Files: T •••: Inheritable Itenis , i- - .frUfefcer . . v d for the vVeb- ; Webflrofcer

! V t W ebS erv-ces

j . : « e b S n a p

• ’""i *wi; O the? ^ a s ; P»-oSlnQ • U n i T e s t

VCI h e <he W eb

W eo Doa>T:ent2

Л , - ~ 'Q

., i, .О : \ - ч

'■4'StetFA&tfrfa.-x Trans&cbona! j Hoduift ‘ BatsModde

Hetpj .

Рисунок 2. В клю чение в проект D elphi удалённого модуля данн ы х - R em ote D ata M odule.

44

Page 45: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

5. Сделать активной страницу с удалённым модулем данных (рисунок 4).

6. Добавить на форму модуля компоненты для работы с базами данных по

технологии ADO: TADOConnection, TADOTable, TADOQuery. К оличе­

ство компонентов определяется разработчиком.

7. Добавить на форму модуля компоненты TDataSetProvider, находящи­

еся в разделе Data Access (рисунок 5).

8. Задать значения свойств указанным компонентам, необходимые для орга­

низации доступа к таблицам расположенным на сервере баз данных.

9. В главном меню Delphi выбрать Run\Parameters и в появившемся окне вве­

сти значение - «/RegServer» в строку с именем «Parametrs».

10.Откомпилировать и запустить приложение. Это необходимо для регистра­

ции сервера приложений в системе.

■-cm ponsnt T ook A Q tгг.е 'Л'.-яЮэд Help

* Ф т з У 1 - 0 ^ i* z <Waxis

Выгрузить сервер

приложенDate Ш Ш

Remote »*U Module•jse г Ч е т Cute Madute wiia a to c rw ie ir- spgfcalisn *>•<, txf-ed datable appkcaston.

I- r *

I - J * *

App5e'er_TCE_.i 1 IJvanovQjCkssUzfne- £is<rt)3om T hrssa'rg Mote';

- Cance*.

Рисунок 3. Задание им ени серверу прилож ений. В прим ере C oC lass N am e - A ppServ-

er_T C E _) 1 J Jv a n o v . 45

Page 46: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Run C s m p o n a r t■ Tools i AQtime H tlp 0 Default Layout.......... ;/

& > - Ф- - .', a : S <f % « ’P * Seuxxls

Vi^Wbm^Pagei ijltotZ ^Urrtb A&WtZrk*. B_ _ w * --

ADOConnection 1

J U

• Ш •АООТзЫе I

ADOQueryl

■ ■ ‘ Й-Ш’ 'OataSetProviderl

I ®AmDataSetProvider2

' ...........’ -*e „ . ■ч.а.мМЦ..» Itt f ' . . ■

Prefect Option? for &j|Mg Coirfiguiatur

j -Вфднег,;;-• SyTrijo? Tabies

Environment Block

. Host application

P ameters

W oridng d re c to ry :

g p u rc e p a th

▼ ! Srowse,,. I

Рисунок 4. Задание п арам етра «/R egServer», необходим ого для регистрации сервера прилож ений в

системе.

46

Page 47: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

• S tan d ard ■ " ■■■ ' .■/* ■*.

■ t Additional» w»»33[• System » Diabgs

Ггоайа'дс^8 ~7 11(1 у ; -— — i9 * TDataSoirce. •'. . r ^

.ijgj TOtntDafeSet . . • ■ . • . • ■ •.-;••

TOtfaSe^otfder . < *

TXM-Trsnsfbrm

Й T X M L ltansfcrm ftow der f431™ ' T b r t « S e t P ™ d e r l; •••••.* lUnit: Pf<K i<f«' Iis! ВМЛМпЛпяОвЛ .. 5P«tto3t;:'tfWmidmbpl If dbtxpress- D a ta m a p S erver

j BOE4*; V ista Oiatogs iB T « C K ir tS td

Р исунок 5. Располож ение ком п он ен та провайдера - T D ataSetP rov ider в палитре компонентов

Delphi.

II. Разработка приложения «Тонкий клиент».

1. Создать обычное приложение Delphi.

2. На форму приложения добавить компонент T D C O M C o n n ec tio n (рисунок

который находится в разделе DataSnap Client.

- Pro... | ffiM odei View A lPataExpSorer

4 ' ■*

- ■ 1 t 03

d - i TSocketCennect ' ...................... .............. : N a m e : T D C O M C c n n e c tio n l:

| § TSim pleO bjectBrU niti M C o f in td . I .% rWefaContiecfa p3ckagg d ^^Q :bpi; . ■ j•Iff TConnecocnBroker.

f f l T5harecConnecfeo?i

§6 ГсосаСоглейоп >,■TDSPfostderGonnectJon : 4

1 In te rB ase ■ f< dbGo ‘ Indy Clients t Indy Server* r In d y I/O Handlers t Indy In te rce p ts •>. Indy Mtec

Рисунок 6. Располож ение ком п он ен та TDCOMConnection в п алитре ком понентов Delphi.47

*t\ TeotAitette ■

Page 48: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

3. П роизвести настройку соединения этого компонента с удалённым модулем

данных на сервере приложений. В первую очередь задать значение свойства

ServerName из выпадающего списка. После этого автоматически создастся

глобальный уникальный идентификатор в поле ServerGUlD. И, наконец, свой­

ство Connected переключить в true (рисунок 7).

Object Inspector , i

D C O M C o iin e c t io n l )■% ) i

'{ E v e n t s ! _ _ ................................ _ ..........]{

;ComputerName | \

» |® > п п е с Ы j V T r i i e . . . . . . . H j• llogriP rom pt i l^ F a te e j

;Name IDCOMConriectiart 1 j

. ;O b je c tf rd s e r 4iServerGUlD . {& 1 F 3 5 C F 7 0 4 3 C -4 S 4 D A7’E3 ^ 7 A :

tServftrName P ro je c t 2 .A p p }ic a t k in _ S e r v e r_ A e !_ ■

;Ta g 10 ! rp O O ^C m n e C ^xii

Р исунок 7. Н астрой ка свойств ком п он ен та TDCOMConnaction, обеспечиваю щ его связь с удалён ­

ным м одулем данн ы х R em ote D ata M odule.

4. Перенести на форму компонент TClientDataSet, расположенный в разделе

D ata Access палитры компонентов (рисунок 8). Н астроить его свойства (рису­

нок 9). В первую очередь задать значение свойства RemoteServer - в нашем

примере это DCOMConnectionl. Затем выбрать провайдера - свойство Рго-

viderNam e - в нашем примере DataSetProviderl. И, наконец, установить

свойство Active в true.

5. Добавить на форму компоненты, необходимые для отображения набора дан­

ных, как в режиме сетки, так и в режиме формы (рисунок 10). Настроить все

необходимые свойства.

Page 49: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

i^ P r o j e c t^ .d p fQ j'-P ro ,,. j View ■ ^ D a t a ЕхЫ сгег.

Мд tdo{ Paiette - . >4<*л

Standard

t Additюпа!

и Wto32

> S y stem

* Wm 3.1

* Dialog - D ata A c c e ss

• . TDataSourre

i$j ^| h j .TDataSetProvider .

. ^ TM’ILTrsnsfbrfn ■Ш TVMLTransforftiP.rcvider

TXMLTfgAs’fortnCkeni

+ D a ta C c m trd k

* dbfxpres*I Слона* • r. ■■:■.>■■Рисунок 8. Располож ение ком понента TClientDataSst в палитре ком понентов D elphi - страни­

ца Data Access.

Ш-

~ feme TCtentDataSeti' U « Й Ь Р В-С11P a c k a g e d c tm id lS Q b p !

C h e flt& ateS c tl Ч .

J Properties [Events;

{Filteri filtered False

lijFiterQptions ■0IlndexDefs i^bdexDe^s)j TndexFieidMamesIndexNameMasterFieids

jMsste-SciurceiName ClentDataSetilObjectView . iVI TrueiPackexRecords :- l;Pararas 0 P a ram s):Prc>viderNeme D a ta S e tP ro v id e r l'Readonly j: j Faise

±iR.ernotebervei' I D COM Connectkm l.StoreOefs j False|Tag ;G

. ; ' " ■ ■; • C iientbatoSeti ■

Рисунок 9. Н астройка свойств ком п он ен та TClientDataSet, предн азн ачен н ого для ф орм ирова­

ния запросов через провайдера - DataSetProviderl к базам данны х, располож енны м на серве­

ре баз данных.

49

Page 50: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Ри сунок 10. П рим ер интерф ейса п рилож ени я «Тонкий клиент» в среде разработчи ка D elphi. П оля

таблицы базы данны х отображ аю тся как в реж им е сетки, т а к и в реж им е формы.

III. Программирование статических и динамических запросов к базам данных,

расположенных на сервере баз данных.

Некоторые примеры программного кода подпрограмм - обработчиков событий

в приложении «Тонкий клиент».

1. Удаление таблицы из базы данных.Листинг 1.

procedure TForm2.ButtonlClick(Sender: TObject); begin

ClientDataSetl.CommandText := 'Drop Table Трансформаторы;1; ClientDataSetl.Execute;

end;

2. Простой запрос на выборку данных из таблицы.

Листинг 2.

procedure TForir2 . Button2Click (Sender : TObject); begin

ClientDataSetl.CommandText := 'Select * From prl;';ClientDataSetl.Active := true;

end;

Page 51: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Листинг 3.

procedure TForm2.Button3Click(Sender: TObject); begin

ClientDataSetl,CommandText :='Select * 1 +'From Prl1 +'Where Уклон = (Select Max(Уклон) From Prl);';

ClientDataSetl.Active := true; end;

3. Запрос с подзапросом.

4. Реакция на нажатие кнопки «Сохранить на сервере баз данных».

Листинг 4.

procedure TForm4.Button4Click(Sender: TObject); begin

ClientDataSetl. ApplyOpdat.es (-1) ; end;

хпг/сл: ,. . j

I • **>!*--. * C*7д?кэ-*1»я чах -ъ.се: svves-sf j 4 J 4 W O C C J - t * ' t,> л л

► rvT -K cn < v o 3 .i , - v c

! ^«<пТя4«:Зср«г-» ^ .**We{.-2« ,V »3

, rH, -----

Выгрузитьсервер

приложений

ГММеГфдаМДОДОРбГ nSi?C»»«3fi4l4C«'*Hi«re 7S*5S JWWH*.''*!'мгвкхгвтсялэ «rycac-SY. Ояшн* n '* и аруп>* ааял-t: erssve - • считав** к*б»№ л :»ey-r »*-r » надежность ./№*4>msw. Ocftc ra tas*n*.?vm нгстг»з«в1№<. c-iisiso-tw.* в iito 'fiaM s+u. X* г л «^c>o • **см, ’**««; жх& б^наих ггм’5* i1 x зт,-*гт<!и к- tatis. « m m w .

' '63M8M»:*W3S < ’-:r5i.!C' BOM "-tVX&A ISS'CBC*’ Г0ДС?аЛ5«1 луавяпягь'■x s :s*k- OS >ia ч«> гл«*-еел«*о sn с Kiajfcrt 1рек®>р*«7«м ?;»• '.>•3 fjyn г эю-ть ц (оодзд . трв’чф зд& ттав оз -аSto.'v^y.te'ir е . гд т р м ^ и > ! *гс'’5е»!с<гче. Ks-.oat>RA-.wvji.-ei> 6ti:tpiJi.tir?E?waiT»i еыо-ю- геяр* 62 ••

8. A>Oj№' 81г«ф9»а«>1•Лтоа'*с?М!>»'

Рисунок 11. П рим ерны й ви д п рилож ени й баз данн ы х «Т онкий клиент» и «Сервер прилож ений»

после ком пиляции, зап уска в ОС W indow s и вы полн ен и я д и нам и ческого запроса, введённого

пользователем в ком п он ен т M em o.

Page 52: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

Содержание отчёта

1) Номер, название, цель и задача лабораторной работы;

2) Вариант лабораторной работы;

3) Скриншоты, отражающие последовательность создания сервера приложений;

4) Скриншоты, отражающие последовательность создания приложения «Тонкий

клиент»;

5) Скриншоты, отображающие результаты статических и динамических запросов

к базе данных;

6) Распечатки программного кода подпрограмм - обработчиков событий, выпол­

няющих статические и динамические запросы к базе данных в приложении

«Тонкий клиент»;

7) Выводы по работе и проблемы, возникшие при выполнении лабораторной ра­

боты.

Контрольны е вопромы и задачи

1) Как расшифровывается аббривиатуру MIDAS?

2) В чём состоит основной смысл создания многоуровневых приложений баз

данных?

3) Сколько уровней и какие именно получили наибольш ее распространение при

реализации клиент/серверных приложений баз данных?

4) Какие уровни чаще всего реализуют на Delphi?

5) Какие компоненты Delphi размещ ают на сервере приложений?

6) Почему компонент TDatsSetProvidsr называют «ключиком к серверному

зазеркалью»?

7) Какие компоненты Delphi размещ ают в приложении «Тонкий клиент»?

8) Какие основные функции выполняет компонент TClientDataSet?9) Какие основные свойства необходимо настроить у компонента

TClientDataSet?10) Назовите наиболее распространённые промыш ленные серверы баз данных?

11) Какая СУБД является «родной» для Delphi?

52

Page 53: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

писок использованной и рекомендуемой литературы.

1) И.К. Давыдова. Б.И. Попов, В.М. Эрлих. Справочник по эксплуатации

тяговых подстанций и постов секционирования. М осква, «Транспорт» 1978.

2) Справочник по электроснабжению железных дорог. Под редакцией К.Г.

Марквардта, Том 1, М осква. «Транспорт» 1980.

3) Справочник по электроснабжению железных дорог. Под редакцией К.Г.

Марквардта. Том 2, М осква, «Транспорт» 1980.

4) К. Дейт. Руководство по реляционной СУБД DB2. М осква, «Финансы и

статистика» 1988.

5) К. Дж. Дейт Введение в системы баз данных. М осква; Санкт Петербург;

Киев. 2001.

6) В.В. Фаронов. Delphi. Программирование на языке высокого уровня.

Питер. 2009.

7) В. Фаронов. Программирование баз данных в Delphi 7. Учебный курс.

Page 54: ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В …library.miit.ru/methodics/30_09_2013/03 41751 (3362).pdfРАЗРАБОТКА ПРИЛОЖЕНИЙ БАЗ ДАННЫХ В СРЕДЕ

У чебно-м етодическое издание

Андреев Валерий Васильевич

Гречишников Виктор Александрович

Шевлюгии Максим Валерьевич

Дожииа Галина Владимировна

Шаламай Ирина Валерьевна

ИНФ О РМ АЦ ИОН НЫ Е ТЕХНО ЛО ГИ И В СИСТЕМ Е ЭЛЕКТРОСНАБЖ ЕНИЯ

ЭЛЕКТРИФ ИЦ ИРОВАНН Ы Х Ж ЕЛЕЗН Ы Х ДОРОГ. РАЗРАБОТКА П РИ ЛОЖ ЕН ИЙ БАЗ ДАНН Ы Х В СРЕДЕ DELPHI

150048, Ярославль, Московский пр-т д. 151 Типография Ярославского ж.д. техникума - филиала МИИТ

М етодические указания

П одписано к печ. У сл.-печ.л. 3 ,5 Заказ

Ф орм ат 6 0 /8 4 x 1 6 Т и раж - 100 экз И зд. № 142-12

54