
- •664074, Иркутск, ул. Лермонтова, 83
- •2.3. Разработка концептуальной модели базы данных на основе
- •4.3. Диаграммы взаимодействия……………………………………………...39
- •5. Лабораторная работа 2…………………………………………………..…...41
- •7.1.Инспектор объектов (Object Inspector)…………………………………..49
- •7.2. Формы, модули и метод разработки «Two-Way Tools»……………….52
- •9. Лабораторная работа 3……………………………………………………….74
- •Пользователи
- •2. Проектирование логической структуры базы данных
- •2.1. Основные понятия реляционных баз данных
- •2.2. Разработка концептуальной модели базы данных на основе метода «Объект-Связь»
- •. Разработка концептуальной модели базы данных на основе метода функциональных зависимостей и ее нормализация
- •Разработка логической модели базы данных с помощью
- •Лабораторная работа 1
- •4. Разработка объектной модели задачи
- •4.1. Диаграммы сценариев
- •4.2. Диаграммы классов
- •4.3. Диаграммы взаимодействия
- •5. Лабораторная работа 2
- •6. Реляционная алгебра и язык sql
- •6.1. Основы реляционной алгебры
- •6.2. Язык sql
- •Настраиваемая cреда разработчика cBuilder
- •7.1.Инспектор объектов (Object Inspector)
- •7.2 Формы, модули и метод разработки «Two-Way Tools»
- •7.3. Палитра компонент
- •8. Разработка локального приложения баз данных
- •8.1. Создание файлов базы данных
- •8.2. Создание приложения и включение в его состав модуля данных
- •8.3.Размещение в модуле данных невизуальных компонент для доступа к бд и ее таблицам
- •Path путь к таблицам бд
- •8.4. Создание главной формы Главная форма будет содержать меню с пунктами, соответствующими выводу форм просмотра таблиц и форм вывода отчетов (выходных документов).
- •8.5. Создание форм просмотра и корректировки таблиц и размещение в них визуальных компонент
- •8.6. Разработка отчета для выдачи выходного документа
- •Выполнение запроса состоит в присвоении значения параметрам и повторном открытии запроса:
- •Лабораторная работа 3
- •Технология «клиент-сервер»
- •База данных
- •10.1. Серверная часть
- •10.2. Разработка клиентской части
- •Размещение в модуле данных невизуальных компонент для доступа к бд и ее таблицам. Разместим в модуле данных один экземпляр компоненты tibDatabase для связи с бд.
- •Разработка клиентского приложения в виде набора Web-страниц
- •11.1. Взаимодействие Internet-браузера с Web-сервером
- •11.2. Разработка html-страниц
- •Тег td. Предназначен для создания одной ячейки таблицы. Тег td должен размещаться внутри контейнера tr, который в свою очередь располагается внутри тега table.
- •11.3. Классы и пакеты классов Java
- •11.4. Обработка исключений
- •11.5. Теги jsp
- •11. 6. Сессия jsp
- •С ее помощью запросу делается доступной сессия и в ней создается 2 переменные. Следующая страница isses.Jsp
- •11. 7. Пакет java.Util в пакете java.Util сосредоточены контейнерные классы, то есть такие, которые содержат другие объекты.
- •Для добавления объекта в конец вектора существует метод addElement(добавляемый объект).
- •11. 8. Пакет sql
- •Метод executeQuery выполняет оператор sql (как правило, select) и возвращает набор данных – объект ResultSet
- •Метод executeUpdate выполняет один из операторов корректировки бд insert, update или delete
- •Метод getString возвращает значение указанного столбца текущей строки таблицы.
- •Курсовой проект
- •Варианты заданий
- •Учет товаров на складах и их потребности на торговых точках
- •Успеваемость студентов
- •Ремонт бытовой техники
- •Библиотека
- •Магазины
- •Конструктор
- •Учет наличия товара на складе
- •Отдел кадров
- •Учет выполнения лабораторных работ
- •Предприятие
- •Студенты
- •Изготовление деталей
- •Потребность в лекарствах
- •Подписка.
- •8. Сайт http://www.Citforum.Ru/database/osbd/contents.Shtml. Кузнецов с.Д. Основы современных баз данных, информационно-аналитические материалы центра информационных технологий .
8.3.Размещение в модуле данных невизуальных компонент для доступа к бд и ее таблицам
Разместим в модуле данных один экземпляр компоненты TDatabase со страницы BDE.
У компоненты TDatabase следует установить следующие свойства:
Database Name - имя БД, его следует набрать - через это имя с компонентой TDatabase будут связываться другие невизуальные компоненты;
Connected – признак, определяющий активна ли база данных. Его задают равным false при разработке программы, а при выполнении программы, в момент активизации главной формы, задают равным true. Также можно активизировать БД, вызвав метод компоненты Open(), а в момент закрытия главной формы – метод компоненты Close();
DriverName – выбирается значение STANDARD;
В свойстве Params через редактор параметров следует задать строку
Path путь к таблицам бд
В модуле данных будут размещаться экземпляры компоненты TTable (таблицы) и связанные с ними экземпляры компоненты TDataSource, а также экземпляры компоненты TQuery (запросы) и связанные с ними экземпляры компоненты TDataSource.
Компонента TDataSource расположена на странице Data Access и представляет собой промежуточное звено для связи невизуальных компонент TTable и TQuery с визуальными компонентами, размещаемыми на формах.
Для компоненты TTable нужно указать свойства:
DatabaseName - имя БД, установленное в компоненте TDatabase, оно выбирается из списка доступных имен БД;
TableType – тип таблиц БД, выбирается ttParadox;
TableName, выбрав имя файла с расширением db из числа созданных таблиц.
Кроме того, для полей таблицы можно задать условия контроля вводимых значений, которые будут проверяться на формах ввода.
Это свойство Constraints. При добавлении каждого условия устанавливаются свойства:
CustomConstraint – некоторое условие, аналогичное where в свойстве SQL компоненты TQuery;
Error Message – текст сообщения, выдаваемого при возникновении ошибки:
Свойство Active изначально равно false (таблица не открыта); она будет открываться вызовом метода компоненты Open() при показе соответствующей формы, а закрываться – вызовом метода компоненты Close() при закрытии формы.
С каждой компонентой TTable должна быть связана компонента TDataSource, в свойстве DataSet которой нужно выбрать имя соответствующей таблицы.
Для отображения на формах полей из нескольких связанных таблиц необходимо использовать компоненты TQuery.
Для экземпляров компонент TQuery должны быть заданы свойства:
DatabaseName - имя БД, установленное в компоненте TDatabase, оно выбирается из списка доступных имен БД;
SQL - для задания оператора языка SQL, который может вернуть набор данных (НД), то есть группу записей из одной или нескольких таблиц БД.
Например, для просмотра таблицы class, в которой желательно видеть названия классов и названия предметов, изучаемых в этом классе, свойство SQL должно быть таким
SELECT * FROM CLASS C, PREDMET P WHERE C.NP=P.NP
В этом примере NP – уникальный номер предмета (его ключ) в таблице PREDMET и поле в таблице CLASS для связи с предметами.
Свойство Active изначально равно false (запрос не открыт); он будет открываться вызовом метода компоненты Open() при показе соответствующей формы, а закрываться – вызовом метода компоненты Close() при закрытии формы.
Для каждой компоненты TQuery и TTable необходимо сделать доступными все поля. Для этого, сделав текущей нужную компоненту, следует нажать правую кнопку мыши и выбрать пункт контекстного меню Fields Editor.
Появится окно:
Для проверки правильности установки всех свойств компоненты TQuery следует при разработке проекта присвоить его свойству Active значение, равное true, что соответствует открытию соответствующего НД. При правильной установке всех свойств это возможно сделать, в противном случае возникают сообщения об ошибках.
Для нашего примера модуль данных будет иметь следующий вид:
НД может находиться в одном из следующих состояний (оно определяется значением свойства State связанной компоненты TDataSource), из каждого его можно перевести в некоторое другое (табл. 4)
Таблица 4
Состояние |
Краткое описание |
Способ перевода в другое состояние |
dsInactive |
НД закрыт |
Перевод в состояние dsBrowse с помощью вызова метода TQuery->Open() или TTable->Open() |
dsBrowse |
Просмотр данных без изменения (состояние по умолчанию после открытия) |
Перевод в состояние dsInactive с помощью вызова метода TQuery->Close() или TTable->Close(). Перевод в состояние dsEdit в результате выполнения метода Edit() компоненты TTable. Перевод в состояние dsInsert в результате выполнения метода Insert() компоненты TTable |
dsEdit |
НД находится в состоянии редактирования |
После вызова метода Post компоненты TTable происходит перевод в состояние dsBrowse |
dsInsert |
НД находится в состоянии добавления новой записи |
После вызова метода Post() компоненты TTable происходит перевод в состояние dsBrowse |
Компонента TTable может обрабатываться методами для последовательной обработки НД.
Для этой цели имеются свойства и методы компоненты TTable:
bool Eof Проверка, достигнут ли конец НД (свойство);
First(); Установка указателя на первую запись НД;
Next(); Переход к следующей записи НД;
Last(); Установка указателя на последнюю запись НД;
bool Locate(константа – имя поля или полей, по которым идет поиск, поле или массив полей типа Variant со значениями полей, поле типа TLocateOptions с режимом поиска); Поиск в НД записи, поля которой совпадают с указанными значениями, и установка ее в качестве текущей.
Кроме того, компоненты TQuery и TTable имеют метод FieldByName, аргументом которого является строка с именем поля; метод возвращает значение поля для текущей записи.
Пример:
Variant V; TLocateOptions Opts;
Opts.Clear(); //Очистка режима поиска
V=DM->CHI_CL->FieldByName("ncl")->AsInteger; //Запоминание значения поля текущей записи
DM->CL->First();//Установка таблицы на начало
//Поиск в таблице записи с определенным значением ключа
DM->CL->Locate("ncl",V,Opts);
Пример поиска по совпадению значения двух полей:
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");
CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);
Функция VarArrayOf возвращает одномерный массив типа Variant с элементами, заданными первым араметром. Второй параметр на 1 меньше числа значений в массиве.