Анимация
JavaScript


Главная  Библионтека 

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146

К1даЭ пйрйХищения пйряДтрСПАЛйЖЁНИЯ попёД ЙШТа блицы

Имя поля

I able Jesigner

Дробная часть

Подцерк! значения WULL

Тип паля Ширина I i

btabase:

lautonfiDbile pasenger car Table

Ncttic

(i:\piDieDt DODh:aLto Etps dbc

Table Propefties...

Type

key model datejssue

Integef Integer Dale Numeric

Indew

Width DccmdNULL

10 2

CaicEl

Insert

-j delete

pField Properties ( kej/ auta Vaiddion Rula:

Vdidation Text: DefaJt Value: Г

Caption:

ннкагьнын К.ЛОЧ аетс

iield Camment:

c: V.. \aLioniobile passenger car. dbf

Records:

7 FieUs: 4 Length:

Заголовок najiftt

Koh,iueHTapL-iL?i для пгзля програн,чг,чиста

Значение по умолчанию

TtJKCT сааб11ения об ошибке при вводе Значен if Я

Правила проверки вводимого значения

Рис. 6.2.

Следующий фрагмент программы создает таблицу Salesman с четырьмя столбцами под именами key salman, last name, first name, patronymic:

OPEN DATABASE Auto Store

CREATE TABLE Salesman (key salmen I, ;

last name C(17), ;

first name C(17), ;

patronymic C(17))

Напомним, что в Visual FoxPro символ "I" обозначает поле с типом данных Integer, которое имеет стандартную длину, и она не указывается. Символ "C(17)" обозначает символьное поле с типом данных Character и длиной 17 символов.

Новая таблица автоматически ассоциируется с той базой данных, которая открыта в момент создания таблицы.

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

Если таблица связана с базой данных, можно задать длинное имя таблицы. Длинное имя таблицы может содержать до 128 символов и употребляется вместо стандартного имени для идентификации таблицы в базе данных. Visual FoxPro использует длинные имена таблиц (если они заданы) во всех случаях, когда имя встречается в интерфейсе, например в Конструкторе баз данных, в Конструкторе запросов, Конструкторе представлений, а также в заголовке окна Browse.

Для присвоения таблице базы данных длинного имени в Конструкторе таблиц введите имя в поле Table Name (см. рис 6.2). В программе используйте предложение NAME в команде CREATE



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

Когда создается таблица базы данных, Visual FoxPro запоминает длинные имена полей в записи файла DBC. Первые 10 символов длинного имени запоминаются и в файле DBF в качестве имени поля.

Если окажется, что усечения длинных имен до 10 символов не являются уникальными в таблице, Visual FoxPro генерирует имена, состоящие из первых n символов длинных имен с добавленными к ним последовательными номерами так, чтобы общая длина сгенерированных имен составляла 10 символов. Например, следующие длинные имена будут преобразованы в такие 10-символьные:

Длинное имя Короткое имя

automobile passenger car key auto automobile automobile passenger car key model automobil1 automobile passenger car date issue automobil2

automobile passenger car cost automobi11

Если таблица связана с базой данных, то ее поля можно обозначать только длинными именами. Использование 10-символьных имен полей для таблицы в составе базы данных невозможно. Если таблица удаляется из базы данных, то длинные имена ее полей теряются и для ссылок на поля таблицы придется использовать 10-символьные имена, хранящиеся в файле DBF.

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

Правила составления длинных имен полей такие же, как и для любых идентификаторов Visual FoxPro, за исключением ограничения длины до 128 символов.

После создания в открытой базе данных таблицы можно добавить к каждому ее полю описание, чтобы облегчить понимание и упростить дальнейшую ее модификацию. Visual FoxPro показывает текст комментария при выборе поля в списке полей таблицы в Project Manager.

Для добавления комментария к полю таблицы базы данных в Конструкторе таблиц введите текст комментария в поле ввода Field Comment или используйте функцию DBSETPROP().

Например, можно пояснить, что содержится в поле key model таблицы Model, введя в качестве комментария к полю текст "Уникальный ключ модели автомобиля": ?DBSETPROP(Model.key model, FIELD, COMMENT, ; Уникальный ключ модели автомобиля)

Для каждого поля таблицы в базе данных может быть задан заголовок. Visual FoxPro выводит текст этого заголовка в качестве названия столбца для данного поля в окне Browse и в качестве заголовка по умолчанию для колонок объекта Grid формы.

TABLE. Следующий фрагмент создает таблицу Automobil и присваивает ей более осмысленное имя Automobile Passenger Car:

CREATE TABLE Automobil NAME Automobile Passenger Car ; (key auto I, ; key model I, date issue

D, cost N(10,2))

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

В команде CREATE TABLE задается имя того DBF-файла, который Visual FoxPro создает для хранения новой таблицы. Это имя файла является стандартным именем таблицы как для таблиц, связанных с базой данных, так и для свободных таблиц.

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



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

Для добавления заголовка поля таблицы базы данных в Конструкторе таблиц введите текст в поле Caption в разделе Field Properties или используйте функцию DBSETPROP().

Например, можно ввести текст "Наименование модели" как заголовок поля name model в таблице Model :

?DBSETPROP(Model.name model, FIELD, CAPON,; Наименование модели)

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

• Какого рода значения допускаются для данного поля (например, в числовое поле нельзя будет заносить текст).

• Объем памяти, резервируемый Visual FoxPro для хранения значений поля (например, для каждого значения типа Currency используется 8 байтов).

• Какого рода операции могут производиться над значениями данного поля. Например, Visual FoxPro может находить суммы значений выражений типов Numeric или Currency, но не сможет провести эту операцию с выражениями типов Character или General.

• Сможет ли FoxPro выполнять индексирование или сортировку по значениям данного поля (невозможно выполнять сортировку или индексирование по полям примечаний или General).

Для телефонных номеров, кодов изделий и других чисел, с которыми не предполагается выполнять математические вычисления, следует задавать тип данных Character, а не тип Numeric. Если вы используете поле для размещения уникального цифрового ключа, используйте тип данных Integer.

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

Как управлять использованием значений NULL для отдельных полей? В Конструкторе таблиц установите или снимите отметку со столбца Null для данного поля. Если столбец Null отмечен, то в поле могут вводиться значения NULL (см. рис. 6.2). В программе используйте предложения NULL или NOT NULL в команде CREATE TABLE.

Например, следующая команда создает и открывает таблицу, в которой не допускаются значения NULL в поле key body, а разрешаются значения NULL в поле name body:

CREATE TABLE body (key body i NOT NULL, name body c(20); NULL)

Можно также определять режим использования значений NULL с помощью команды SET NULL.

Для того чтобы разрешить использование значений NULL во всех полях таблицы в Конструкторе таблиц, отметьте столбец Null для каждого поля таблицы или перед использованием команды CREATE TABLE выполните команду SET NULL ON.

После команды SET NULL ON Visual FoxPro автоматически отмечает столбец NULL для всех полей, создаваемых в Конструкторе таблиц. Если команда SET NULL задана до использования команды CREATE TABLE, то нет необходимости указывать предложения NULL или NOT NULL. Например, следующий программный код создает таблицу, в которой допускаются значения NULL для всех полей:

SЕТ NULL ON

CREATE TABLE Fuel oil (key fuel oil I, name fuel oil C(20))

Наличие значений NULL оказывает влияние на свойства таблиц и индексов. Например, если команда APPEND FROM используется для копирования записей из таблицы, где есть значения NULL, в таблицу, где они не допускаются, то значения NULL будут при копировании рассматриваться или как пустые строки, или как нули, или как пустые поля.

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



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 [ 49 ] 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146