Типы данных
В Visual FoxPro используются поля следующих типов:
> Character - символьный тип. Позволяет хранить любой текст. Отводится 1 байт на символ, то есть хранится только код каждого символа безобозначения, каким шрифтом его отображать, какого размера и цвета.Максимальная длина поля - 254 символов;
> Float - числовой тип. Отводится 8 байт;
> Numeric - числовой тип. Отводится 8 байт;
> Integer - целочисленный тип. Отводится 4 байта;
> Double - числовой тип с двойной точностью. Можно использовать большее количество знаков после запятой, чем в других числовых типах. Отводится 8 байт;
> Date - тип даты. Отводится 8 байт;
> DateTime - тип даты с указанием времени. Отводится 8 байт;
> Currency - тип валюты. Отводится 8 байт;
> Logical - логический тип. Отводится 1 байт. Имеет значение либо True(.Т.), либо False (.F.);
> Memo - содержит ссылку на текстовое поле, хранящееся в отдельномфайле с расширением .fpt. Отводится 4 байта;
> General - содержит ссылку на OLE-объект. Отводится 4 байта;
> Blob - ссылка на двоичные данные неопределенной длины. Отводится4 байта;
> Varchar - символьный тип. Позволяет хранить любой текст, но не допускаются дополнительные пробелы. Отводится 1 байт на символ. Максимальная длина поля - 254 символов;
> Varbinary - двоичный тип. Позволяет хранить значения в десятичном виде.
Одно из новшеств Visual FoxPro 9 - это улучшенная совместимость с MicrosoftSQL Server. Три последних поля в списке - Blob, Varchar и Varbinary - специально введены для этого.
При работе с данными в таблице базы данных происходит их автоматический контроль. Например, если вы попытаетесь внести в поле числового типабуквы, Visual FoxPro выдаст ошибку*- Data type mismatch (Неподходящий типданных).
Определимся с типами данных в наших табличках со списком сотрудникови списком должностей. Табельный номер обычно состоит только из цифр и неимеет ни одного знака после запятой, то есть является целым числом. Для этого поля лучше всего подойдет тип Integer. Для записи имен и адресов требуются буквы, а значит, следует использовать символьный тип. Видимо, длины поляCharacter (254 символа) достаточно и для записи имен, и для записи адресов.Возможный вариант выбора типов полей для наших таблиц приведен в таблицах 2.3 и 2.4. В этих же таблицах указаны имена полей латинскими буквами.Традиционно для лучшей совместимости имена полей задаются именно латинскими буквами, хотя Visual FoxPro позволяет работать и с русскими именамиполей.
Таким образом, мы спроектировали структуру таблиц будущей базы данных иопределили тип и размерность полей. Также мы определили связь между таблицами по полю. Именно с проектирования и начинается создание базы данных.Чем лучше вы будете представлять себе будущий набор таблиц и их связь междусобой, тем эффективнее у вас получится организовать хранение и обработкуданных. А главное, будет меньше путаницы, особенно если с созданными таблицами будут работать несколько разработчиков.
Создаем базу данных
Мы уже определились с терминологией, однако именно перед рассмотрениемэтапа создания баз данных стоит повторить еще раз: база данных объединяетнесколько таблиц по их назначению или смысловой нагрузке. В традиционномFoxPro для MS DOS создавался набор таблиц (файлов с расширением .dbf), аобъединение их в базу данных происходило либо только логически в головахразработчиков и в технической документации, либо путем расположения файлов в одном каталоге (папке). В Visual FoxPro существует способ создания иработы с базой данных, в которой кроме таблиц (традиционно хранящихся вфайлах с расширением .dbf) могут содержаться представления таблиц, в томчисле удаленных, и хранимые процедуры. Если вы предполагаете использоватьлокальную базу данных, к которой не будут производиться запросы из другихприложений, есть смысл воспользоваться традиционным подходом. Для начала рассмотрим процесс создания отдельных таблиц в Visual FoxPro, а затемсоздание баз данных.