- •Создание базы данных
- •Создание базы данных Visual FoxPro
- •Создание таблиц
- •3.4. Создание первичных ключей и индексов
- •Контроль правильности ввода данных
- •Создание связей между таблицами
- •Обеспечение ссылочной целостности данных
- •Устранение связи «многие ко многим»
- •Создание отчетов
- •Технология работы
Создание базы данных Visual FoxPro
Перейдем к конкретным действиям по созданию базы данных. Запустите Microsoft Visual FoxPro на вашем компьютере и воспользуйтесь одним из трех способов.
В окне менеджера панели задач (Task Pane Manager) на его первой вкладке Start выберите ссылку New Database. На экране дисплея появится окно Create. Перейдите в папку DBF, в которой мы будем хранить данные, задайте имя базы данных - Real Estate. Нажмите кнопку Сохранить. База данных получила свое название и законное место на жестком диске.
В главном меню Visual FoxPro щелкните пункт File и выберите команду New. В открывшемся окне щелкните радиокнопку Database и нажмите кнопку New file. На экране дисплея появится окно Create. Перейдите в папку DBF, в которой мы будем хранить данные, задайте имя базы данных - Real Estate. Нажмите кнопку Сохранить.
Введите в командном окне (Command) команду Create Database. На экране дисплея появится окно Create. Перейдите в папку DBF, в которой мы будем хранить данные, задайте имя базы данных - Real Estate. Нажмите кнопку Сохранить.
Теперь в папке DBF появилось три файла - так называемый контейнер базы данных. Это файлы:
Real Estate.dbc Real Estate.dct Real Estate.dcx
Отличительной особенностью Microsoft Visual FoxPro является то, что один объект этой СУБД размещается в нескольких файлах (от одного до трех). Расширения других файлов, используемых Visual FoxPro, будут рассмотрены нами позднее в соответствующих главах.
Создание таблиц
Visual FoxPro 9.0 позволяет создавать как таблицы, входящие в базу данных, так и свободные таблицы. Это дань истории развития продукта -черта, свойственная только ему. Так уж сложилось со времен появления Visual FoxPro 3.0. Воспользуемся ей.
Будут применяться таблицы обоих типов. Свободная (вне базы данных) таблица User даст возможность отрегулировать вопрос о правах доступа к приложению (рис. 1.2), а все остальные, размещенные в контейнере Real Estate, представляют реляционную базу данных.
Существует несколько способов создания таблиц в Microsoft Visual FoxPro:
- с помощью мастера таблиц;
- с использованием конструктора таблиц;
- путем импорта данных из внешнего файла в текущую базу данных;
4) создание их в текущей базе данных, связанных с таблицами внешнего файла.
Первый способ - для новичков в работе с базами данных, испытывающих сильное желание немедленно создать свою первую таблицу.
Рис. 1.5. Работа в главном меню Visual FoxPro 9.0 с базой данных
Во всех трех случаях увидим окно конструктора таблицы. Это форма с тремя вкладками: Fiels, Indexes и Table.
• Fields (Поля) - поля создаваемой таблицы и условия достоверности вводимых данных на уровне поля;
• Indexes (Индексы) - индексы создаваемой таблицы;
• Table (Таблица) - условия достоверности вводимых данных на уровне записи, а также триггеров добавления, удаления и модификации.
Первая вкладка (рис. 1.6) используется при определении полей таблицы. Она предназначена для ввода названия полей, типа данных и ширины поля. При занесении числовых полей задается количество десятичных знаков. Кроме основных параметров для каждого поля на этой вкладке задаются дополнительные параметры, которые помогут вам при сопровождении программного комплекса. Обратите особое внимание на ячейку Field comment. Не оставляйте ее пустой! Опишите подробно назначение поля таблицы. Позже обязательно поймете важность этого совета.
Имена полей должны содержать не более 255 символов и могут включать любые комбинации символов за исключением точки, восклицательного знака и квадратных скобок. Используйте в именах полей только латинские буквы при общей длине имени до 10 символов включительно. В этом случае у Вас не будет проблем с конвертацией таблиц Microsoft Visual FoxPro в таблицы других СУБД (например, Microsoft SQL Server).
Каждое поле таблицы должно иметь уникальное имя, но в различных таблицах можно использовать одинаковые имена полей. В табл. 1.1 приведены основные типы данных полей Microsoft Visual FoxPro 9.0.
Таблица 1.1
Типы данных полей таблиц Microsoft Visual FoxPro 9.0
Вид данных Тип данных |
Описание |
|
Текстовый |
Character |
Текст или числа, не требующие проведения расчетов. Максимальная длина - 255 символов. По умолчанию длина текстового поля устанавливается равной 10 символов |
|
Character 1 Аналогичен Character. Используется в том случае, (binary) | если не требуется учитывать кодовую страницу |
|
|
Varchar |
1Аналогичен Character. Для этого типа не происходит заполнение свободных мест незначащей информацией |
|
Varbinary |
Шестнадцатеричные значения |
Дата и время |
Datetime |
Любая дата от 01.01.0001 до 31.12.9999 и время от 00.00.00 a.m. до 11.59.59 p.m. |
Дата |
Date |
Любая дата от 01.01.0001 до 31.12.9999 |
Денежный |
Currency |
Позволяет выполнять расчеты с точностью до 15 знаков в целой и до 4 знаков в дробной части |
Логический |
Logical |
Содержит значение True (.T.) или False (.F.) Истина или ложь |
Числовой |
Integer |
Целые числа от -2147483647 до 2147483648 |
|
Integer (AutoInc) |
Счетчик. Уникальные, последовательно возрастающие числа, автоматически вводящиеся в таблицу при добавлении каждой новой записи |
|
Numeric |
Десятичные данные с фиксированной точкой |
|
Float |
Десятичные данные с плавающей точкой простой точности |
|
Double |
Десятичные данные с плавающей точкой высокой точности |
Двоичное поле произвольной длины |
General |
Включает рисунок, фотографию, звукозапись, диаграммы, векторную графику, форматированный текст и т. п. |
Текстовое поле произвольной длины |
Мемо |
Поля типа МЕМО предназначены для хранения больших текстовых данных. Длина поля может достигать 64 Кб. Поле не может быть ключевым или индексированным |
Двоичный |
Blob |
Двоичные символы |
В правой части первой вкладки Fields конструктора таблицы (рис. 1.6) также расположены ячейки, позволяющие задать для каждого поля создаваемой таблицы свойства, которые будут задействованы при вводе данных.
Format (Формат) - задает формат отображения данных в окне Browse, отчетах и формах.
Input mask (Маска ввода) - задает шаблон для ввода данных.
Caption (Заголовок) - определяет заголовок поля.
Rule (Условие) - проверка правильности ввода данных на уровне поля создаваемой таблицы.
Message (Сообщение) - текст сообщения, которое появится на экране дисплея при неправильном вводе данных в поле.
Default value (Значение по умолчанию) - значение, вводимое в поле по умолчанию.
Display library (Показать библиотеку) - определяет имя файла библиотеки классов.
Display class (Показать класс) - определяет имя класса из выбранной библиотеки классов.
Next Value (Начальное значение) - задает начальное значение счетчика. Доступно только для поля IntegerInc.
Step (Шаг) - приращение счетчика. Доступно только для поля Integerlnc.
Создадим
нашу первую таблицу Building.
Ее
окончательная структура взята из табл.
2.7. Имейте в виду, что имя поля и его
описание вводится с клавиатуры, а тип
данных выбирается из списка.
Рассмотрим действия по созданию таблицы подробнее (рис. 3.6).
Введите в первую колонку имя первого поля: Street и нажмите клавишу <Tab>. Курсор переместится во вторую колонку Type. По умолчанию будет назначен тип Character длиной 10 символов.
Раскройте список типов данных при помощи мыши. Выберите тип Numeric и нажмите клавишу <Tab>.
Заполните колонки Width (Число знаков) и Decimal (Число знаков после десятичной точки). Для ссылки на номер улицы используем четыре десятичных знака. Это дает возможность работать с 9999 улицами, что вполне достаточно для города с миллионным населением. Кстати, в Хабаровске 1248 улиц, переулков, проездов, шоссе, кварталов, площадей, бульваров и т. д.
Обязательно заполните ячейку Field comment. Не ленитесь, пишите подробнее!
5. Повторите
шаги 1-4 для всех оставшихся полей таблицы.
Остальные поля первой вкладки конструктора
таблиц на этом этапе можно не заполнять.
После занесения данных обо всех полях
таблицы просто закройте окно конструктора
таблиц. Появится диалоговое окно
«Сохранение»,
запрашивающее
подтверждение на сохранение структуры
таблицы (рис. 1.7).
Щелкните по кнопке «Yes». Наша первая таблица появится в окне базы данных, а в папке DBF - два файла: Building.dbf (сама таблица) и Building.fpt (поле Memo). Заполнять сейчас созданную таблицу начинающему пользователю категорически не рекомендуется, да так и не делается! Посмотрите на содержимое табл. 1.2. Это не отдельная таблица, она будет связана с другими таблицами базы данных Real Estate. Что в ней хранится - пока загадка. Уверен, что большинство цифр Вам просто непонятны.
Таблица 1.2
Информация, содержащаяся в связанной таблице
Street |
House |
Flat |
Storey |
Rooms |
Square |
Dwell |
Branch |
Account |
14 |
102 |
1 |
1 |
3 |
60,8 |
40 |
20 |
3450 |
14 |
102 |
2 |
1 |
4 |
100 |
70 |
28 |
1000 |
14 |
102 |
3 |
1 |
4 |
78 |
60 |
16 |
4321 |
14 |
102 |
4 |
2 |
4 |
90 |
80 |
5 |
666 |
14 |
102 |
5 |
2 |
3 |
100 |
95 |
30 |
778 |
14 |
102 |
6 |
10 |
1 |
200 |
190 |
8 |
9787 |
14 |
102 |
7 |
10 |
7 |
170 |
150 |
10 |
879 |
179 |
104 |
1 |
1 |
1 |
30 |
20 |
9 |
23210 |
179 |
104 |
2 |
1 |
2 |
42 |
30 |
11 |
3267 |
179 |
104 |
3 |
1 |
1 |
27 |
20 |
6 |
6666 |
179 |
104 |
4 |
2 |
4 |
100 |
90 |
5 |
4587 |
Аналогичным образом создадим все наши таблицы, разработанные в разд. 2: Flat, Owners, Account, Street, District и Wall.
