скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыУчебное пособие: Основы баз данных

Рис. 4. Окно для определения структуры таблицы

Для выполнения дополнительных действий по определению структуры таблицы используется комбинированный список Table properties (свойства таблицы), содержащий следующие пункты:

·          Secondary Index – задание индекса;

·          Validity Checks – ограничения на ввод значений полей;

·          Password Security – определение пароля;

·          Referential Integrity – определение ссылочной целостности между таблицами;

·          Table Language – задание языка;

·          Table Lookup – задание полей просмотра.

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

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

·          Unique – индекс допускает уникальные значения для составляющих его полей;

·          Case sensitive – для полей строкового типа учитывается регистр символов;

·          Descending – сортировка выполняется в порядке убывания значений.

После задания состава индексных полей и нажатия кнопки ОК появляется окно Save Index As, в котором указывается имя индекса.


Рис. 5. Окно задания индекса

После определения структуры таблицы ее необходимо сохранить, нажав кнопку Save as… (сохранить как) и указав расположение таблицы и ее имя на диске.

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

1.6.2 Создание формы приложения

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

Вид формы приложения представлен на рис. 6. На форме расположены следующие компоненты: Table1, DataSource1, DBGrid1 и DBNavigator1.

Рис. 6. Форма приложения для работы с БД

Компонент Table1 обеспечивает взаимодействия с БД. Для связи с требуемой таблицей необходимо установить соответствующие значения свойств DataBaseName, которое указывает путь к БД, и TableName, которое задает имя таблицы. После задания таблицы БД свойству Active должно быть установлено значение True.

При смене таблицы перед значением свойств DataBaseName и TableName нужно установить значение False свойству Active.

Имя таблицы лучше выбирать из раскрывающегося списка в поле значения свойства TableName. Если путь к БД (свойство DataBaseName) задан правильно, в этом списке отображаются все доступные файлы.

Компонент DataSourse1 является промежуточным звеном между компонентом Table1, который соединен с реальной таблицей БД, и управляющими компонентами DBGrid1 и DBNavigator1, с помощью которых пользователь взаимодействует с этой таблицей. На компонент Table1, с которым связан компонент DataSourse1, указывает свойство DataSet последнего.

Компонент DBGrid1 отображает содержимое таблицы БД в виде сетки, в которой столбцы соответствуют полям, а строки – записям. По умолчанию пользователь может просматривать и редактировать данные. Компонент DBNavigator1 предоставляет возможность перемещаться по таблице, редактировать, вставлять и удалять записи. Компоненты DBGrid1 и DBNavigator1 связываются со своим источником данных – компонентом DataSourse1 через свои свойства DataSource.

При разработке приложения значения всех свойств компонентов можно задать с помощью Инспектора объектов. При этом требуемые значения можно набрать в поле значений или выбрать из раскрывающихся списков. В табл. 2 приведены компоненты для работы с БД, а также основные свойства и их значения. В данном примере используется таблица из файла с названием spispe1.db, которая лежит в папке, указанной пользователем. Путь к каталогу указывает псевдоним pimDB.

Таблица 2

Значения свойств компонентов

Компонент Свойства Значения
Table1 Active spispe1.db
DataBaseName TableName primDB true
DataSourse1 DataSet Table1
DBGrid1 DataSource DataSource1
DBNavigator1 DataSource DataSource1

Для автоматизации процесса создания формы, использующей компоненты для операции с БД, можно вызвать Database Form Wizard (Мастер форм баз данных). Появится окно, представленное на рис. 7. Мастер форм баз данных расположен на странице Business хранилища объектов, доступ к которому осуществляется по команде File/New… (файл/новый).

Рис. 7. Окно Мастера форм баз данных

Мастер форм баз данных позволяет создавать формы для работы с отдельной таблицей и с взаимосвязанными таблицами, при этом можно использовать наборы данных Table и Query.

1.7 Программа BDE Administrator

Программа BDE Administrator представляет собой администратор процессора баз данных BDE. Для вызова администратора BDE запускается файл bdadmin.exe. Администратор позволяет настраивать параметры БД и системные параметры (операционной системы). Параметры псевдонима: название, тип, путь. Параметры драйвера: тип, язык. Системные установки: установки по умолчанию, форматы даты, времени и числовые параметры.

Для настройки некоторого параметра в левой части окна администратора BDE выбирается нужный объект, после чего в правой части окна становится доступным список параметров этого объекта. Добавить новый объект можно, выбрав в окне администратора пункт меню Object/New (Объект/Новый).

1.8 Работа с псевдонимами

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

Для добавления нового псевдонима перед вызовом пункта меню Object/New администратора нужно выбрать вкладку Database в левой части окна. В диалоговом окне нужно выбрать тип драйвера. Для локальных таблиц Paradox выбирается тип STANDARD.

После нажатия кнопки ОК создается новый псевдоним, и его данные отображаются в окне администратора BDE (рис. 8). Новый псевдоним автоматически получает имя STANDARD1 и параметры по умолчанию.

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

·          DEFAULT DRIVER – указывает формат таблицы БД;

·          ENABLE BCD – указывает на необходимость перевода чисел в формат BCD, что позволяет более точно выполнять числовые значения, но уменьшает скорость их выполнения;

·          PATH – указывает расположение (каталог) БД.


Рис. 8. Установка параметров псевдонимов

1.9 Работа со связанными таблицами

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

Для организации связи между таблицами в подчиненной таблице используются свойства (в Object Inspector):

·          MasterSource – источник данных главной таблицы;

·          IndexName – текущий индекс;

·          IndexFieldNames поле или поля связи текущего индекса подчиненной таблицы;

·          MasterFields – поле или поля индекса главной таблицы.

Для таблиц Paradox в качестве полей связи должны использоваться поля главного индекса, а для подчиненной таблицы – поля вторичного индекса.

Рассмотрим пример вывода данных из главной и подчиненной таблиц (рис. 9). Для организации связи в качестве поля связи главной таблицы берется автоинкрементное поле Kod уникального кода. По этому полю построен главный ключ, значение которого автоматически формируется при добавлении новой записи и в пределах таблицы является уникальным. В подчиненной таблице полем связи является целочисленное поле KodPe, по которому построен вторичный индекс.

Рис. 9. Форма связи между таблицами "один ко многим"

В верхней части формы (см. рис. 9) выводится список всех подвижных единиц (ПЕ), в нижней сведения о ремонтах выбранной ПЕ. Для наглядности в наборы данных включены все поля таблиц, которые отображаются в компонентах DBGrid. При этом названия заголовков столбцов совпадают с названиями полей.

В рассмотренном примере связь между таблицами устанавливается при выполнении приложения. Обычно таблицы связывают на этапе разработки через Инспектор объектов. При этом для установки свойства MasterFields можно использовать редактор полей связи (Field link Designer). В списке Detail Fields выбирается поле подчиненной таблицы, а в списке Master Fields поле главной таблицы (рис. 10).

Рис. 10. Редактор полей связи


После нажатия кнопки Add выбранные поля связываются, что отображается в списке Joined Fields. Заполнение свойства MasterFields происходит после закрытия окна при нажатии кнопки OK.

В Delphi для работы с наборами данных таблиц применяются компоненты Table, Query, Decision Query и StoredProc.

Компонент Table представляет набор данных, который в некоторый момент времени может быть связан с одной таблицей БД. Расположение БД, с таблицами которой выполняются операции, указывает свойство DataBaseName типа String (рис. 11). Значением свойства является имя каталога, в котором расположены БД, или псевдоним, ссылающийся на этот каталог.

Рис. 11. Свойства компонента Table в инспекторе объектов


Связь между таблицей и компонентом Table устанавливается через его свойство TableName типа TFileName, которое определяет имя таблицы (и имя файла, содержащего данные). По умолчанию в набор данных Table попадают все записи связанной с ним таблицы. Для отбора данных можно использовать фильтрацию.

Для того чтобы запретить пользователю изменять записи, можно использовать свойство ReadOnly типа Boolean. По умолчанию это свойство имеет значение False. Это означает, что пользователь может редактировать записи.

Установить текущий индекс можно с помощью свойства IndexName типа String. Текущий индекс выбирается из списка индексов, которые были заданы при создании таблицы. На этапе разработки приложения все возможные значения свойств IndexName содержат раскрывающиеся списки, доступные в Инспекторе объектов.

Наборы данных могут находиться в открытом или закрытом состоянии, на что указывает свойство Active типа Boolean. Если свойству Active установлено значение True, то набор данных открыт. Если значение свойства Active равно False (по умолчанию), то набор данных закрыт и его связь с БД разорвана.

Для вывода содержимого набора данных в табличном виде удобно использовать сетку, представленную компонентом DBGrid. Внешний вид сетки соответствует внутренней структуре таблицы БД и набора данных, при этом строке сетки соответствует запись, а столбцу – поле.

Компонент DataSource – источник данных. Используется как промежуточное звено между набором данных и визуальными компонентами, с помощью которых пользователь управляет этим набором данных. Для указания набора данных, с которым связан источник данных, используется свойство DataSet типа TDataSet последнего. Визуальные компоненты связаны с источником данных через свои свойства DataSource при проектировании в Инспекторе объектов.

2. Задания к лабораторным работам

Вариант 1

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

2. Создать запросы, в которых необходимо:

·          вывести коды простоев за последний месяц, которые произошли в первую смену;

·          вывести список водителей, работающих на “своем” и на “другом” маршруте;

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

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

4. В путевом листе измените поле “Дата”, проставив текущую дату для маршрута 2.

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

6. Вывести информацию о всех графиках для любого маршрута, заданного пользователем в режиме диалога.

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

8. Создать многотабличную форму с помощью Мастера форм. Главная форма – путевой лист, подчиненная – информация о простоях.

9. С помощью Мастера отчетов создать отчет на основе таблицы “Путевой лист”, сгруппировав данные по табельному номеру водителя. Вывести дату, номер маршрута, номер графика, номер смены, номер вагона, реальное время начала и окончания работы. Отсортировать данные по дате.

Вариант 2

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

2. Создать запросы, в которых необходимо:

·          вывести номера вагонов, в которых за последний месяц устанавливали один тип узла, например колесную пару;

Страницы: 1, 2, 3, 4


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

© 2010.