Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СПРАВОЧНИК VFP.doc
Скачиваний:
11
Добавлен:
11.11.2018
Размер:
970.75 Кб
Скачать

Проектирование баз данных.

Проектирование БД включает следующие основные этапы:

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

  2. Концептуальная разработка модели, представление инфологической модели БД на ER-диаграмме.

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

  4. Использование механизма СУБД для формирования запросов, отчетов и других форм представления данных.

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

  1. Описание таблиц проекта. Допустим, в БД представляет две таблицы КЛИЕНТЫ (Client) с полями(атрибутами): код клиента (icdcl), фамилия (cfamcl), Имя (сnamecl), город (cnamecity), N товара (ntovar) и ТОВАРЫ (Tovar) c полями Код товара (icdtovar), Наименование (cnametovar), Цена (nprice), Скидка (nskidka) (Пример: см. таблицу 1).

Таблица 1

Таблица “Client”

Код клиента

Фамилия

Имя

Город

N товара

1

Петров

Илья

Новодвинск

3

Таблица “Tovar”

Код товара

Наименование

Цена

Скидка

3

Телевизор LG

8000

0.05

  1. Создание проекта в оболочке FoxPro. Файл(File) – Создать(New) – Проект (Project).Вам будет предложено назвать файл “proj1.pjx”. Вы можете оставить это название или дать другое. Примечание: каждая структура VFP, представленная в виде файла, имеет свое расширение. Типы файлов и их расширения указаны в Приложении 1.

  2. Создание таблиц. Закладку «Данные» (Data). Выберете «Базы данных» (Data Bases) и «Создать» (New –New DataBase). Запускается конструктор таблиц (рис.1).

Рис. 1. Конструктор таблиц.

В данном конструкторе вы должны обязательно указать: имена полей (Name)-одним словом, их тип (Type), ширину (Width), количество десятичных знаков у числовых полей (Decimal),.индексированное поле или нет (Index), а у индексированных - тип индекса. Тип индекса указывается на закладке «Индексы». Код клиента ( Код товара в таблица Tovar)– ключевое поле и индекс Primary. Номер товара – обычный (Regular) индекс (т.к. номера товаров могут повторяться).

Допустимые виды полей приведены в Приложении 2.

Для удобства использования таблиц, желательно указать название поля по-русски (можно в несколько слов) и значение поля по умолчанию (Default value).

ПРИМЕР 2.1: У ключевых полей в Default value записывается функция RECNO() и тем самым организуется автоматический счетчик записей.

ПРИМЕР 2.2: У полей типа DATE (хронологической даты) в Default value можно записать функцию DATE() –текущая дата.

Возможен также ввод формата и маски ввода.

  1. Связь таблиц. Для того, чтобы связать таблицы заходим в меню View – DATABASE DESINGER. Нажимаем правую кнопку мыши и добавляем (Add table) таблицы client.dbf и tovar.dbf. Затем встаем на поле icdtovar и перетаскиваем его на поле ntovar таблицы client. Получаем связь один-ко-многим.

Рис.2. Связь между таблицами Client и Tovar.

4. Команда BROWSE. Данная команда является самым доступным и мощным средством быстрого доступа к записям таблицы, их просмотра, редактирования и дополнения. Примеры применения команды BROWSE (команды можно сочетать, записав их через «пробел»):

    1. Дополнение таблицы новой записью: нажать Ctrl+Y (^Y)

    2. Пометить запись к удалению: мышкой кликнуть по крайнему чистому прямоугольнику слева от записи (или ^T). Для физического удаления с диска набрать команду PACK.

    3. Запретить изменения в таблице: BROWSE NOEDIT

    4. Запретить дополнения таблицы: BROWSE NOAPPEND

    5. Вывести только записи, отвечающие условию: BROWSE FOR <условие>

    6. Вывести записи только определенных полей: BROWSE поле1, поле2, …

  1. Команды управления записями. Данные команды приведены в таблице 1.