Издательство Иркутского государственного 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Издательство Иркутского государственного



С.С. Сосинская

УПРАВЛЕНИЕ ДАННЫМИ

Учебное пособие

Издательство Иркутского государственного

технического университета

 

УДК [002+681.3+681.5] (075.8)

ББК 32.97я 73

 

Рецензенты:

д-р. техн. наук, проф. каф-ры технологии машиностроения Д.А. Журавлев

 

канд. физ.- мат. наук П.И. Гошев

 

Редактор, гл. специалист издательства Е. М. Куликова

 

Компьютерный набор и верстка Сосинская С.С.

 

Сосинская С.С. Управление данными: Учеб. Пособие. -- Иркутск: Изд-во ИрГТУ, 2006. - 138 с.

 

Приводятся сведениия по проектированию и разработке приложений баз данных на основе различных технологий с использованием CASE-средств, а также примеры в системах CBuilder и JSP. Даются указания к выполнению лабораторных работ, курсового проекта и индивидуальные варианты.

Учебное пособие предназначено для студентов специальности 0719 «Информационные системы и технологии в машиностроении».

 

 

Подписано в печать 26.02.2006. Формат 60 х 84/8.

Бумага офсетная. Печать офсетная. Усл.- печ.л. 8,75

Уч.–изд. л. 9,0 Тираж 100 экз. Заказ 45. Поз. 187.

 

ИД N 06506 от 26.12.2001

Иркутский государственный технический университет

664074, Иркутск, ул. Лермонтова, 83

 

ã Сосинская С.С., 2006

ãИркутский государственный

технический университет, 2006

ОГЛАВЛЕНИЕ

1. Определение базы данных. Состав банка данных, система управления

базами данных…………...………………….…………………………………….5

2. Проектирование логической структуры базы данных………………………7

2.1. Основные понятия реляционной модели данных………………..............8

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

метода «Объект-связь»………………………………………………………….10

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

метода функциональных зависимостей и ее нормализация………………….13

2.4. Разработка логической модели базы данных с помощью

пакета ERWIN…………...………………………………………………………23

3. Лабораторная работа 1……………………………….………………………28

4. Разработка объектной модели задачи……………………………………….28

4.1. Диаграммы сценариев…………………………………………………….29

4.2. Диаграммы классов……………………………………………………….32

4.3. Диаграммы взаимодействия……………………………………………...39

5. Лабораторная работа 2…………………………………………………..…...41

6. Реляционная алгебра и язык SQL……………..…………………………….42

6.1. Основы реляционной алгебры…………………………………………...42

6.2. Язык SQL…………………………………………………………………..48

7. Настраиваемая cреда разработчика CBuilder……………………………….49

7.1.Инспектор объектов (Object Inspector)…………………………………..49

7.2. Формы, модули и метод разработки «Two-Way Tools»……………….52

7.3. Палитра компонент………………………………………………………53

8. Разработка локального приложения баз данных…………………………..56

8.1. Создание файлов базы данных………………………………………..…56

8.2. Создание приложения и включение в него модуля

данных….……………………………………………………………………….58

8.3. Размещение в модуле данных невизуальных компонент для

доступа к БД и ее таблицам………………...…………………………………..58

8.4. Создание главной формы……………………..…………………………63

8.5. Создание форм просмотра и корректировки таблиц и размещение

в них визуальных компонент…………….…………………………………….64

8.6. Разработка отчета для выдачи выходного документа…………………..68

9. Лабораторная работа 3……………………………………………………….74

10. Технология «клиент-сервер»……………………..………………………...75

10.1. Серверная часть………………………………………………………….76

10.2. Разработка клиентской части……………………………….…………..93

11. Разработка клиентского приложения в виде набора

Web-страниц…………..……………………….………………………………102

11.1. Взаимодействие Internet-браузера с Web-сервером………………….104

11.2. Разработка HTML-страниц…………………………………………….105

11.3. Классы и пакеты классов Java……………….………………………...120

11.4. Обработка исключений…………………………………..…………….121

11.5. Теги JSP………………………..………………………………………..123

11.6. Сессия JSP……………………………………………………………....123

11. 7. Пакет java.util…………………………………………………………..124

11. 8. Пакет sql…………………………………………….………………….125

Курсовой проект……………………………………………………………...131

Варианты заданий………………………………………………….………...132

Библиографический список……………………………………..…………...137

 

Определение базы данных.

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

Разработка логической модели базы данных с помощью

Пакета ERWIN

Пакет ERWIN (мы рассматриваем версию AllFusion ERwin DataModeler 4.1) предназначен для визуального проектирования логической модели базы данных.

Реализация моделирования в ERWIN базируется на теории реляционных баз данных и методологии IDEF1X. Методология IDEF1X определяет стандарты терминологии, используемой при информационном моделировании, и графического изображения типовых элементов на диаграммах. Возможны две точки зрения на информационную модель и, соответственно, два уровня модели. Первый - логический (точка зрения пользователя) - описывает данные, задействованные в бизнесе предприятия. Второй - физический - определяет представление информации в БД. ERWIN объединяет их в единую диаграмму, имеющую несколько уровней представления. Процесс построения информационной модели состоит из следующих шагов:

· определение сущностей;

· определение атрибутов сущностей;

· задание первичных ключей;

· определение зависимостей между сущностями;

ERWIN создает визуальное представление (модель данных) для решаемой задачи. Это представление может использоваться для детального анализа, уточнения и распространения как части документации, необходимой в цикле разработки. Однако ERWIN далеко не только инструмент для рисования. ERWIN автоматически создает базу данных (таблицы и другие объекты, необходимые для управления данными).

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

,

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

При создании новой модели появляется окно:

 

Общий вид окна программы ERWIN с примером записанной моделипоказан на рис. 7.

Рис. 7

 

На диаграмме пока будем изображать только логические модели. Вид модели выбирается переключением списка Logical/Phisical.

 

С помощью панели инструментов на диаграмме можно разместить:

 


 

После размещения на диаграмме сущности задается ее имя (с помощью пункта контекстного меню Entity Properties). При этом появляется окно

Сущностям приписываются различные атрибуты - поля. Это делается через редактор атрибутов, окно которого становится доступным путем выбора из контекстного меню пункта Attributes. При этом появляется окно для создания и редактирования атрибутов (назначение им имен и типов, назначение некоторых из них ключами).

Для определения первичных ключей сущностей чаще всего создаются дополнительные числовые поля, в которых будет сохраняться уникальный номер для каждого экземпляра сущности (например, Номер класса). Это поле, как правило, не должно быть видимо пользователю (это следует учитывать при разработке программ). В ряде случаев такое уникальное числовое поле уже определено условиями предметной области.

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

Для отображения в модели типов полей в виде пиктограмм следует выбрать пункт основного меню Format, Entity Display, Attribute Icon.

Для установления связи выбирается инструмент Non-Identifying Relationship, делается щелчок сначала по родительской сущности, затем по дочерней сущности. После этого в дочерней сущности появляются атрибуты - первичные ключи родительской сущности. В дочерней сущности такие атрибуты имеют пометку внешнего ключа (Foreign Key -FK).

Щелкнув по связи, следует указать ее имя:

Модель можно отображать в методологиях IE (Information Engineering), что более предпочтительно, и в методологии IDEF1X (Integration Definition for Information Modeling). Выбор методологии производится с помощью пункта меню Model, Model properties, закладка Notation:

 

Лабораторная работа 1

Задание: На основании заданной структуры исходных данных бригада студентов выполняет следующие действия:

1. Разработка концептуальной модели базы данных на основе метода «Объект-Связь».

2. Разработка концептуальной модели базы данных на основе метода функциональных зависимостей и ее нормализация (вплоть до нормальной формы Бойса - Кодда (НФБК).

3. Разработка логической модели базы данных до уровня 3 НФ с помощью пакета ERWIN.

Эта логическая модель служит основой для последующих этапов лабораторной работы и для курсового проекта.

Состав отчета:

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

2. Перечень допущений, принимаемых при проектировании.

3. Последовательность разработки концептуальной модели методом «Объект-связь» (изображение ER- диаграмм, полученных при проектировании методом «Объект-Связь», отношения для каждой диаграммы с указанием применяемого правила и сводный набор отношений).

4. Процесс проектирования базы данных методом функциональных зависимостей (универсальное отношение, функциональные зависимости, процесс декомпозиции отношений для последовательного получения 1НФ, 2НФ, 3НФ и НФБК).

5. Логическая модель базы данных, полученная с помощью пакета ERWIN.

Диаграммы сценариев

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

Сам сценарий, как было сказано, – логически связанные действия. Например, в «Системе управления школой» отдельные действия – «Корректировка предметов», «Корректировка классов», «Запрос об оценках учеников» и т.д.

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

Если диаграмма сценариев очень обширна, ее можно разбить на несколько диаграмм второго уровня.

Итак, диаграмма Use Case отображает взаимодействие между функциями системы и действующими лицами, представляющимим людей или системы, получающие или передающие информацию в данную систему. Она отражает требования к системе с точки зрения пользователя. Этот тип диаграмм описывает общую функциональность систем.

Общий вид окна в начале создания диаграммы Use Case имеет следующи

вид:

 

 
 

 


 

Можно размещать в панели инструментов дополнительные элементы. Для этого панель настраивается путем нажатия правой кнопки мыши при нахождении в области панели и выбора пункта Customize:

 

В списке элементов можно выбирать дополнительные элементы и добавлять их в панель инструментов:

 

 

Пример диаграммы Use Case показан на рис.8:

 

Рис. 8

Диаграммы классов

 

Класс – множество объектов, имеющих общую структуру и общее поведение (одинаковые атрибуты, операции).

Классы размещаются в разделе Logical View. Они могут перетаскиваться из списка существующих или создаваться прямо в окне с помощью инструментов:

Пакет – это совокупность нескольких взаимосвязанных классов. В окне Main группы Logical View будем изображать два пакета: пакет данных и пакет элементов программ:

 

При двойном щелчке по любому пакету открывается окно с изображениями взаимосвязанных классов. Пакет данных – это сущности, созданные в диаграмме Use Case. Пакет элементов программ – это классы Меню (как правило, одно), Формы входных документов и Отчеты выходных документов, создавемые при разработке пакета.

Пиктограмма класса – это прямоугольник из трех частей (имя класса, необязательный список атрибутов с типами и список операций с необязательным списком аргументов и возвращаемым типом).

При создании нового класса или корректировке существующего в контекстном меню следует выбрать пункт Open Specification; появится окно, в котором можно корректировать список атрибутов и операций:

 

К классу можно добавлять атрибуты (на странице Attributes окна спецификаций) и операции (на странице Operations окна спецификаций). Для атрибута задается имя и тип значения:

 

 

Тип значения нужно выбрать из списка существующих типов:

 

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

 

Операции нужно именовать и можно указывать тип возвращаемого значения:

На странице Detail следует указывать аргументы операций (если они есть) и выбирать их типы:

Между классами можно изобразить связи. Поместив на диаграмму связь, следует выделить ее и в контекстном меню связи (пункт Multiplicity) выбрать количество экземпляров объектов, участвующих в связи:

 

 

Получим диаграмму классов данных со связями. Для того, чтобы была видна вся информация об операциях, следует в меню Rational Rose выполнить пункт Format, Show Operation Signature для каждого класса сущности:

В пакете элементов программы следует создать класс меню, которое управляет работой программы, и классы форм входных документов с атрибутами, соответствующими полям входных документов, и методами Добавить, Удалить, Заменить, а также классы отчетов с полями, которые нужно видеть в отчете, и методами, определяемыми условием задачи.

На следующем рисунке показан пример фрагмента диаграммы пакета элементов программы:

Рис. 9

 

Диаграммы взаимодействия

 

На диаграмме взаимодействия отображают один из процессов обработки информации в функции. Такие диаграммы изображаются для каждой функции. Мы рассмотрим один из видов диаграмм взаимодействия – диаграммы последовательностей (Sequence). Диаграммы взаимодействия визуализируют объекты и сообщения (с помощью сообщений один объект запрашивает у другого выполнения конкретной функции). Диаграмма последовательности – это графическое изображение сценария, который показывает взаимоотношения объектов во временной последовательности – что произошло вперед, что произошло потом. Диаграмма Sequence создается в представлении Use Ca se. Для ее создания следует нажать правую кнопку мыши при нахождении курсора на соответствующей функции в списке объектов:

Sequence диаграммы читаются сверху вниз. Вверху размещаются объекты, у каждого объекта имеется линия жизни. Сообщения рисуют между линиями жизни объектов. Сообщение показывает, что один объект вызывает функцию другого (того, к которому оно направлено). Сообщение может направляться другому объекту или самому себе.

Период контроля показывает период времени, в течение которого объект выполняет действия.

Пример диаграммы последовательности (Рис. 10).

Рис. 10

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

Последовательная нумерация присваивает последовательные номера сообщениям. Для включения такой нумерации нужно в пункте меню Tools, Options выбрать закладку Diagram и включить Sequence Numbering. Для иерархической нумерации нужно дополнительно включить Hierarchical Messages

Иерархическая нумерация основана на зависимых сообщениях.

При перемещении сообщения по вертикали все зависимые сообщения также перемещаются.

Действующие лица и объекты (Формы, Отчеты и Сущности) выбираются из левого столбца диаграммы (это уже созданные классы), а связи между ними -из списка названий методов при установке новой связи.

Лабораторная работа 2

Задание: На основании заданной постановки задачи бригада студентов выполняет следующие действия:

1. Разработка диаграммы сценариев с помощью пакета Rational Rose.

2. Разработка диаграммы классов с помощью пакета Rational Rose.

3. Разработка диаграмм последовательности с помощью пакета Rational Rose.

Состав отчета:

1. Диаграмма сценариев.

2. Диаграмма классов (пакет данных и пакет элементов программ).

3. Диаграммы последовательности.

После разработки концептуальной и логической модели базы данных и построения объектной модели решаемой задачи можно приступать к разработке приложения баз данных.

Прежде чем рассматривать различные технологии их разработки, познакомимся с реляционной алгеброй и языком SQL, на которых основано большинство реляционных систем управления базами данных (СУБД).

Основы реляционной алгебры

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

Рассмотрим вариант алгебры, который был предложен Коддом. Набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:

· объединения отношений;

· пересечения отношений;

· взятия разности отношений;

· прямого произведения отношений.

Специальные реляционные операции включают:

· ограничение отношения;

· проекцию отношения;

· соединение отношений;

· деление отношений.

Операндами каждой такой операции является одно или несколько отношений, результатом выполнения операции всегда является новое отношение.

В рассмотренных ниже примерах используются следующие отношения:

P(D1,D2,D3) Q(D4,D5) R(M,P,Q,T) S(A,B)

1 11 x x 1 x 101 5 a 5 a

2 11 y x 2 y 105 3 a 10 b

3 11 z y 1 z 500 9 a 15 c

4 12 x w 50 1 b 2 d

w 10 2 b 6 a

w 300 4 b 1 b.

· ОБЪЕДИНЕНИЕ
Отношения-операнды в этом случае должны быть определены по одной схеме. Результирующее отношение содержит все строки операндов, за исключением повторяющихся.

 

· ПЕРЕСЕЧЕНИЕ
На входе операции два отношения, определенные по одной схеме. На выходе - отношение, содержащие кортежи, которые присутствуют в обоих исходных отношениях.

 

· РАЗНОСТЬ
Операция, во многом похожая на ПЕРЕСЕЧЕНИЕ, за исключением того, что в результирующем отношении содержатся кортежи, присутствующие в первом и отсутствующие во втором исходных отношениях.

 

· ДЕКАРТОВО ПРОИЗВЕДЕНИЕ

Входные отношения могут быть определены по разным схемам. Схема результирующего отношения включает все атрибуты исходных. Кроме того:

o степень результирующего отношения равна сумме степеней исходных отношений;

o мощность результирующего отношения равна произведению мощностей исходных отношений.

 

 

· ПРОЕКЦИЯ (ВЕРТИКАЛЬНОЕ ПОДМНОЖЕСТВО)

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

 

· ВЫБОРКА (ОГРАНИЧЕНИЕ, ГОРИЗОНТАЛЬНОЕ ПОДМНОЖЕСТВО)
На входе используется одно отношение, результат - новое отношение, построенное по той же схеме, содержащее подмножество кортежей исходного отношения, удовлетворяющих условию выборки.

 

· СОЕДИНЕНИЕ
Данная операция имеет сходство с ДЕКАРТОВЫМ ПРОИЗВЕДЕНИЕМ. Однако здесь добавлено условие, согласно которому вместо полного произведения всех строк в результирующее отношение включаются только строки, удовлетворяющие определенному соотношению между атрибутами соединения 1,A2) соответствующих отношений.

 

· ДЕЛЕНИЕ

Пусть отношение R, называемое делимым, содержит атрибуты (A1,A2,...,An). Отношение S - делитель содержит подмножество атрибутов A: (A1,A2,...,Ak)(k<n). Результирующее отношение C определено на атрибутах отношения R, которых нет в S, т.е. Ak+1,Ak+2,...,An. Кортежи включаются в результирующее отношение C только в том случае, если его декартово произведение с отношением S содержится в делимом R.

 

 

Язык SQL

 

Фактическим стандартом доступа к реляционным данным стал язык SQL (Structured Query Language). Язык SQL использует синтаксис, близкий к фразам английского языка.

Все СУБД, претендующие на название "реляционные", реализуют тот или иной диалект SQL. Целью стандартизации является переносимость приложений между различными СУБД.

Нужно заметить, что в настоящее время ни одна система не реализует стандарт SQL в полном объеме. Кроме того, во всех диалектах языка имеются возможности, не являющиеся стандартными. Таким образом, можно сказать, что каждый диалект - это надмножество некоторого подмножества стандарта SQL.

Язык SQL оперирует терминами, несколько отличающимися от терминов реляционной теории. Например, вместо "отношений" используются "таблицы", вместо "кортежей" - "строки", вместо "атрибутов" - "столбцы".

Стандарт языка SQL, хотя и основан на реляционной теории, но во многих местах отходит он нее. Например, отношение в реляционной модели данных не допускает наличия одинаковых кортежей, а таблицы в терминологии SQL могут иметь одинаковые строки. Имеются и другие отличия.

 

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

Операторы DDL (Data Definition Language) - операторы определения объектов базы данных:

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

· ALTER TABLE - изменить таблицу,

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

· CREATE DOMAIN - создать домен,

· ALTER DOMAIN - изменить домен,

· DROP DOMAIN - удалить домен,

· CREATE VIEW - создать представление,

· DROP VIEW - удалить представление.

Операторы DML (Data Manipulation Language) - операторы манипулирования данными:

· SELECT - отобрать строки из таблиц,

· INSERT - добавить строки в таблицу,

· UPDATE - изменить строки в таблице,

· DELETE - удалить строки в таблице,

· COMMIT - зафиксировать внесенные изменения,

· ROLLBACK - откатить внесенные изменения.

Любая операция реляционной алгебры может быть выражена одним оператором SELECT.

Палитра компонент

Палитра компонент использует постраничную группировку объектов. Вверху палитры находится набор закладок - Standard, Additional, Dialogs и т.д. Щелкнув мышью по одной из закладок, можно перейти на следующую страницу Палитры компонент:

 

 

 

 

Поскольку в CBuilder программа строится визуальным образом, то все компоненты имеют свои пиктограммы, когда они размещаются на поле формы, для того, чтобы можно было ими соответствующим образом оперировать. Но у работающей программы видимыми остаются только визуальные компоненты.

Перечислим основные компоненты страницы Standard идадим некоторые пояснения.

TMainMenu позволяет поместить главное меню в программу. Создание меню включает три шага:

· Помещение TMainMenu на форму.

· Вызов Дизайнера меню через свойство Items в Инспекторе объектов.

· Определение пунктов меню в Дизайнере меню.

 

Работа с Дизайнером меню.

Страница Events при работе с Дизайнером меню

TLabel служит для отображения текста на экране. Текст задается в качестве значения свойства Caption. Для изменения шрифта и цвета текста существует свойство Font.

TEdit - поле ввода. Эта компонента может быть использована для отображения короткого фрагмента текста и позволяет пользователю вводить текст (он представляет собой значение свойства Text) во время выполнения программы.

TButton (обычная кнопка) позволяет выполнить какие-либо действия при нажатии кнопки во время выполнения программы. Поместив объект типа TButton на форму, по двойному щелчку можно создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом (подчеркнуто то, что нужно написать вручную):

void __fastcall TPr_Form::Button2Click(TObject *Sender)

{ DM->PR->Insert();

Edit_PR_Form->ShowModal(); }

TCheckBox - кнопка с независимой фиксацией, которая может быть включена или выключена. Состояние объекта определяется значением свойства Checked типа Boolean. При нажатии этой кнопки происходит событие OnClick, в результате которого значение свойства Checked меняется на противоположное. Текст, отображаемый рядом с кнопкой, - значение свойства Caption. Состояние кнопки - включена она или выключена - определяется значением свойства State, которое может быть cbUnchecked или cbChecked.

TGroupBox - компонента для размещения других элементов управления. Заголовок окна - значение свойства Caption.

TRadioButton (кнопка с зависимой фиксацией) позволяет выбрать только одну опцию из нескольких. Как правило, таких компонент несколько. Текст, связанный с кнопкой, - значение свойства Caption. При выборе кнопки изменяется значение ее свойства Checked и происходит событие OnClick.

TRadioGroup -область, содержащая несколько объектов типа TRadioButton. Кнопки представляют собой значения свойства Items, которое имеет тип TStrings, упоминавшийсяранее. Значение этого свойства можно менять как в период проектирования с помощью редактора строк, так и в период выполнения с помощью использования методов и свойств объекта типа TStrings. Значение свойства ItemIndex определяет, какая кнопка выбрана в данный момент (их нумерация в группе начинается с 0):

 

 

Создание файлов базы данных

Для создания таблиц базы данных с определенными полями можно воспользоваться утилитой DatabeDesktop.

В окне DatabasDesktop следует назначить каталог для размещения файлов с помощью пунктов меню File, Working Directory и File, Private Directory. После этого создаваемые таблицы будут размещаться в этом каталоге.

Затем с помощью пункта меню File, New, Table создается таблица.

Предварительно выбирается ее тип с помощью окна:

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

Наиболее часто используемые типы полейпредставлены в табл. 3

Таблица 3

Символ Размер Тип
A 1 - 255 Символьный
N   Числа
S   Целые числа
D   Дата
T   Время
+   Автоувеличивающееся значение

Поле с автоувеличением помечается звездочкой в столбце Key. Это поле будет автоматически увеличиваться на 1 при добавлении в таблицу новой записи. Поле типа Key может быть и не с автоувеличением, если это определяется его смыслом (например, номер паспорта).

После определения полей следует определить индексы. Это делается путем выбора в списке свойств таблицы строки Secondary Indexes и нажатия кнопки Define. В появившемся окне определяется выражение для индекса и его свойства. Индексы нужны для сортировки записей таблицы в определенном порядке:

После создания полей и индексов таблица сохраняется. Таким образом создаются все таблицы.

Мы будем иллюстрировать разработку примером, в котором имеется 3 таблицы:

§ predmet.db с полями NP(номер предмера, ключ), NAMEPRED (название предмета);

§ class.db с полями NCL (номер класса, ключ), NAMECLASS (название класса), NP (номер предмета для указания предмета, преподаваемого в классе);

§ pupil.db с полями NCHI (номер ученика, ключ), NAMECHI (ФИО ученика), NCL (номер класса для указания того, в каком классе учится ученик), BALL (оценка ученика).

Поля ключей должны располагаться первыми по порядку.

После этого приступаем к созданию приложения на CBuilder. Разработка приложение состоит из нескольких этапов.

Создание главной формы

Главная форма будет содержать меню с пунктами, соответствующими выводу форм просмотра таблиц и форм вывода отчетов (выходных документов).

Для активизации формы следует выполнить вызов метода этой формы ShowModal():

имя формы->ShowModal();

Для того, чтобы главная форма имела доступ к компонентам, расположенным в модуле данных, следует при создании этой формы выполнить пункт меню File, Include Unit Hd r и выбрать модуль, соответствующий модулю данных. После этого все компоненты модуля данных будут доступны в главном модуле.

В событии OnShow следует выполнить открытие БД:

Имя модуля данных->имя компоненты TDatabase->Open();

В событии OnClose следует выполнить закрытие БД:

Имя модуля данных->имя компоненты TDatabase->Close();

Лабораторная работа 3

Задание: На основании заданной структуры исходных данных бригада студентов выполняет следующие действия:

1. Создание таблиц (файлов типа Paradox) с помощью программы DatabaseDesktop.

2. Создание приложения в системе CBuilder и включение в его состав модуля данных.

3. Добавление к модулю данных нужных компонент.

4. Добавление к приложению главной формы, имеющей меню с выходом на формы просмотра и корректировки всех таблиц и на формы вывода выходных документов.

5. Создание всех остальных форм и наполнение их функциональностью.

Состав отчета:

1. Таблицы базы данных, созданные в DatabaseDesktop.

2. Таблица тестов вида:

N теста Назначение теста Входные данные Выходные данные
       

3. В качестве тестов должны проверяться как нормальные, так и критические ситуации.

4. Результаты выполнения всех тестов.

Технология «клиент-сервер»

 

Рассмотрим технологию разработки приложений, весьма распространенную в настоящее время – клиент – серверная, которая применима для самых различных предметных областей (офис, банковские системы, управление предприятиями, управление учебным заведением, торговля и т.д.).

В условиях, когда многим пользователям нужен доступ к одной и той же базе данных, причем с разными правами (одни имеют право только на просмотр, другие на корректировку определенных видов информации), вполне разумно хранить базу данных на отдельном компьютере (сервере баз данных). При этом все пользователи общаются с базой данных через клиентские приложения, установленные на их компьютерах. Сервер баз данных должен согласовывать действия различных клиентов. Под согласованностью действий понимается следующее: клиент, формирующий отчеты, не сможет воспользоваться данными, которые начал, но еще не закончил формировать другой клиент и, наоборот, клиент, формирующий данные, не сможет выполнить операцию над данными, которыми пользуется другой клиент, начавший, но не закончивший формировать отчет. Клиент, желающий обновить или удалить данные, не сможет выполнить операцию до тех пор, пока не закончится аналогичная операция над теми же данными, которую ранее начал, но еще не закончил другой клиент. При поддержке согласованности действий все результаты, получаемые от информационной системы, будут соответствовать целостному состоянию базы данных, то есть будут достоверны и непротиворечивы.



Поделиться:


Последнее изменение этой страницы: 2016-12-16; просмотров: 233; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.223.114.142 (0.205 с.)