Смекни!
smekni.com

База данных 3 (стр. 1 из 5)

Само задание:

Учет движения продуктов по складу горюче-смазочных материалов. Составить базу данных, полями которой являются: шифр продукта, наиме­нование продукта, объём, признак прибытие/убытие, дата, наименование (фамилия) потребителя/поставщика номер счёта потребителя/поставщика, адрес, телефон и др. Вывести динамику поступления-убытия каждого кон­кретного продукта, а также общий объём движения продуктов на складе ГСМ (сколько прибыло и убыло за текущий месяц).

Что нужно проделать

ЛАБОРАТОРНАЯ РАБОТА №1

ОСНОВЫ ПОСТРОЕНИЯ БАЗЫ ДАННЫХ

В СРЕДЕ BORLAND DELPHI

Определение структуры таблицы

Например, в учебном управлении высшего учебного за­ведения необходимо хранить информацию о студентах заведения: № зачётной книжки, шифр группы, ФИО, год рождения, пол, предмет, среднюю оценку по предмету.

ТаблицаБД пред­ставляет собой обычную двумерную таблицу с характеристи­ками (атрибутами) какого-то множества объектов и имеющая имя - идентификатор, по которому на неё можно сослаться.

Таблица 1. Данные о студентах

№ зач. книж­ки Груп­па Фамилия Имя Отчество Год рожде­ния Пол Предмет Оценка
Zach Group Fam Nam Par Year_b Sex Pred Oz
115261 В2201 Иванов Егор Петрович 1982 М Информатика 4
234582 Э3514 Петров Иван Сидорович 1984 М Информатика 5
365484 Э3514 Сидоров Иван Петрович 1983 М СПО 3
498759 А1501 Егорова Инна Егоровна 1982 Ж ТОЭ 4

Например, для таблицы введём для последующих ссылок имена полей Zach, Group, Fam, Nam, Par, Year_b, Sex, Pred, Oz, соответ­ствующие указанным в ней заголовкам полей.

Тип поля характеризует тип хранящихся в поле данных. Это могут быть строки, числа, булевы значения,большие тексты (на­пример характеристики сотрудников),изображения (фотографии) и т.п.

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

При построении таблиц БД важно обеспечить непротиворе­чивость информации. Это делается введением ключевых полей, обеспечивающих уникальность каждой записи. Ключе­вым может быть одно или несколько полей. В приведённом примере можно было бы сделать ключевыми совокупность полей Fam, Nam и Par. Но в этом случае нельзя было бы заносить в таб­лицу сведения о полных однофамильцах, у которых совпадают фамилия, имя и отчество. Поэтому целесообразнее использовать поле Zach – номер зачётной книжки, которое можно сделать клю­чевым, по­скольку номер зачётной книжки не может быть одинаковым у двух студентов.

В каждый момент времени есть некоторая текущая запись, с которой ведётся работа. Записи в таблице БД физиче­ски могут располагаться без какого-либо порядка, просто в по­следовательности их ввода (появления новых студентов). Но когда данные таблицы предъявляются пользователю, они должны быть упорядочены. Для упорядочения данных в БД, так же, как и для упорядочения данных в массивах, используется понятие индекса. Индекс показывает, в какой последовательности будет просматриваться таблица. Часто индексы хранятся от­дельно от файла с данными. Для быстрой сортировки обычно ин­дексы выносят в отдельный индексный файл с тем же названием, но с другим расширением. В таком файле содержатся только пер­вичные ключи и описание очередности записей. Основной же файл при этом остается неупорядоченным. Т. к. индексный файл на­много меньше файла объектов, сортировка по индексу происходит гораздо быстрее, чем сортировка основного файла.

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

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

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

Для работы с базами данныхнаиболее распространённых форматов можно использовать утилиту DatabaseDesktop, постав­ляемую в составе большинства продуктов корпорации Inprise (Borland). При установке Delphi создаётся типовая структура каталогов и меню "Пуск" Windows, а в меню "Пуск"Прогpaммы->Borland Delphi->Database Desktop.

Создание таблицы базы данных осуществляется выбором опции меню File->New->TableпослезапускаутилитыDatabase Desktop.

ВпоявившемсядиалогеCreate Tableвыбираетсятиптабли­цы (изизвестныхстандартных – например,Paradox, Access, dBase, InterBase, Oracle ит.д.).

В этой работе используется наиболее простой тип плоских таблиц dBaseforWindows.

В диалоге задания структурыуказываются: 1. имя поля (FieldName) 2. тип (Type) 3. размер (Size) 4. число десятичных знаков (Dec) и др.

В dBaseforWindows используются типы полей: Character(C) - символьное; Float(F) - вещественное (с вы­сокой точностью); Number(N) - целое, вещественное (с точностью в 2 десятичных знака); Date(D) - дата; Logical(L) - логическое; Мето(М) - текстовое без ограничениядлины;Binary(B) - двоич­ное (рисунки и другие объекты).

Выбор типа поля осуществляется нажатием клавиши <пробел> или правой клавишей «мыши».

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

Рис. 2 Диалог задания структуры таблицы

Изменение кодовой страницы для поддержки русского язы­ка осуществляется следующим образом: в окошке TablePropertiesиз выпадающего списка выбирается пункт TableLanguage, после чего необходимо нажать кнопку Modify; в появившемся диалоге TableLanguage указывается кодовая страница dBaseRUScpp866.

После задания структуры таблицы, её сохранение произво­дится выбором кнопки SaveAs. В диалоге указывается имя файла таблицы (например, stud.dbf).

Если необходимо в дальнейшем изменить структуру табли­цы, следует открыть таблицу в DatabaseDesktop и выбрать в главном меню пункты Table->Restructure.

После создания таблицы возможно её редактирование и использование в при­кладных программах.

Разработка приложения для работы с таблицей данных

Для разработки системы управлениябазой данных можно воспользоваться как стандартными СУБД (Access, Paradox, dBase и т.д.), так и разработать самостоятельное приложение для работы с БД.

Разработка самостоятельного приложения для работы с БД имеет ряд преимуществ по сравнению с использованием готовых пакетов:

1) ресурсы ОС задействованы только для тех задач, которые будут реализованы в СУБД;

2) полученные программные модули очень компактны;

3) обеспечивается более высокое быстродействие вследствие использования только необходимых для решения задачи операций с БД;

4) многообразие реализаций максимально удобного интерфейса пользователя с СУБД;

5) возможность интегрироваться в любые программные приложения;

6) осуществление расчётных задач сложности, которая не может быть обеспечена применением готовых СУБД.

Для разработки системы управлениябазой данных восполь­зуемся интегрированной средой визуальной разработки Windows-приложений Borland Delphi. Одним из важнейших достоинств Delphi является на­личие удобных средств быстрой визуальнойразработки приложе­ний с использованием специализированных компонент доступа и управления базами данных, генерации отчётов, запросов SQL, a так же наличие технологии BorlandDatabaseEngine (BDE), обеспечи­вающей доступ к большинству известных баз данных с использо­ванием их собственных драйверов.

Для программирования баз данныхиспользуются следую­щие вкладки палитры компонент: DataAccess и DataControl(рис. 3, 4, 5).

Рис. 3. Палитра компонентов Borland Delphi

Рис. 4. Вкладка DataAccess

Вкладка Data Access содержит компоненты:

Table (второй слева) - связывающий файл таблицы на диске с приложением и позволяющий оперировать с таблицей (второй компонент).

DataSource (первый слева) - связывает компоненты ото­бражения информации с компонентом Table (первый компонент).

Рис. 5. Вкладка DataControl

Вкладка DataControl содержит компоненты:

DBGrid - для отображения и редактирования записей базы данных (первый компонент)

DBNavigator - для управления данными (удаление, добавле­ние, перемещение и т. д.)

Компоненты переносятся на окно приложения (форму) путём выделения компоненты нажатием правой клавиши мыши на ней, а затем на форме.

Компоненты вкладки DataAccess являются служебными и от­носятся к невидимым (т. е. отображаются на стадии разработки приложения и не отображаются в процессе выполнения), aDataControl к отображаемым как в процессе разработки, так и в про­цессе выполнения.