Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
часть2.doc
Скачиваний:
17
Добавлен:
24.08.2019
Размер:
892.42 Кб
Скачать

3) Модификация структуры таблицы:

Для добавления нового поля в структуру таблицы следует, находясь в последнем столбце последней строки таблицы, нажать клавиши Enter либо Tab. После этого в таблице полей БД добавится внизу новая строка. Тип у

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

При удалении поля из структуры следует нажать клавиши Ctrl-Del. При этом надо соблюдать осторожность, т. к. данные из удаляемого поля будут потеряны.

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

4) Определение характеристик таблицы:

В правой части окна находятся описания характеристик таблицы. Переход от описания полей к части описания характеристик таблицы осуществляется нажатием клавиши F4 или с помощью мыши. Обратный переход осуществляется с помощью мыши или клавиш Shift+Tab. Характеристики таблиц приведены в выпадающем списке, находящемся в правой верхней части окна.

Validity Checks (Проверка ввода значений)

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

1. Required Field (Обязательное поле). Данный выключатель определяет, обязательно ли нужно вводить значение в поле. Этот выключатель необходимо включать для ключевого поля.

  1. Minimum Value (Минимальное значение). Величина, находящаяся в этой строке ввода, определяет минимально допустимое значение в выбранном поле таблицы.

  2. Maximum Value (Максимальное значение). Величина, находящаяся в этой строке ввода, определяет максимально допустимое значение в выбранном поле таблицы.

  3. Default Value (Значение по умолчанию). Определенное в этой строке ввода значение устанавливается в поле при создании новой записи в таблице.

5. Picture (Шаблон). В данной строке ввода определяется, какие символы могут быть введены в текущее поле. Это условие описывается в виде строки, состоящей из некоторого множества символов. Для удобства ввода и проверки шаблона можно воспользоваться диалоговым окном, которое вызывается при нажатии кнопки Assist (Помощник).

Table Lookup (Таблица - справочник)

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

Secondary Indexes (Вторичные индексы)

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

Referential Integrity (Ссылочная целостность)

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

Password Security (Защита паролем)

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

Table Language (Язык таблицы)

Данное свойство позволяет переопределить драйвер языка, который задает порядок сортировки всех значений в таблице и использование определенного набора символов. Этот драйвер определяется в программе настройки конфигурации BDE.

Dependent Table (Зависимые таблицы)

После выбора этой характеристики появляется список всех таблиц, для которых редактируемая таблица является основной. Эта связь задается при определении характеристики Referential Integraty (Ссылочная целостность).

Корректировка таблиц в DBD 7.0

Корректировку с помощью отображенной таблицы выполнять нельзя. Необходимо выполнить команду главного меню Table|Restructure, с помощью

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

Индексирование

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

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

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

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

Сортировка

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

Проектирование приложений для работы с БД

Одной из самых существенных возможностей пакета Delphi является разработка приложений для работы с БД. Здесь под приложением мы будем понимать экранную форму, созданную для удобной работы с информацией, хранящейся в таблицах БД.

Виды форм БД и их создание

Формы БД различаются по способу представления информации. Существуют следующие виды форм:

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

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

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

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

Одной из важных задач при создании приложения для работы с БД является создание качественных форм БД. Простое, понятное расположение компонент не только повышает эффективность работы, но и позволяет минимизировать ошибки ввода.

Создание форм с помощью эксперта-построителя форм БД -FormWizard

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

Вызвать данный эксперт можно командой меню DataBase|FormWizard или операцией File|New|Bisuness|DataBase Form Wizard.