Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 8.doc
Скачиваний:
10
Добавлен:
01.05.2025
Размер:
385 Кб
Скачать
☆

2. Определение данных

Определение данных — это манипулирование целыми таблицами. Сюда вклю­чаются операции:

  • создания новой таблицы;

  • удаления таблицы:

  • изменения состава полей таблицы;

  • создания и удаления индекса.

Эти действия выполняются с помощью подмножества операторов определения данных языка SQL.

2.1. Создание и удаление таблицы

Для создания таблицы служит оператор create table, который имеет следую­щий формат:

CREATE TABLE <Имя таблицы>

(<Имя поля> <Тип данных>,

. . .

<Имя поля> <Тип данньк>);

Обязательными операндами являются имя создаваемой таблицы и имя как ми­нимум одного поля с соответствующим типом данных.

Замечание

В действительности вместо имени таблицы указывается имя главного файла таблицы.

Для локальной таблицы ее формат автоматически определяется по расширению файла: DB для таблицы Paradox и DBF для таблицы dBASE. Если расширение файла не указано, то тип таблицы определяется драйвером, заданным в BDE для локальных БД (см. главу 22, посвященную инструментальным средствам). По умолчанию установлен драйвер Paradox.

Файлы таблицы размещаются в каталоге БД, на который указывает псевдоним БД. Для компонента Query псевдоним задается свойством DatabaseName.

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

Типы данных языка SQL и соответствующие им типы данных для таблиц dBASE и Paradox приведены в табл. 8.1.

В приведенной таблице N обозначает длину поля в байтах, х — число цифр, y — число цифр после десятичной точки. Для типа character допускается сокраще­ние char. Отметим, что в стандарте SQL-92 число допустимых для полей типов данных намного меньше, например, нет автоинкрементного типа.

Таблица 8.1

Типы данных для таблиц БД

SQL

dBASE

Paradox

SMALLINT

Number (6,10)

Short

INTEGER

Number (20,4)

Long Integer

DECIMAL(X,Y)

—

BCD

NUMERIC(X,Y)

Number (X,Y)

Number

FLOAT(X,Y)

Number

Float (X,Y)

CHARACTER(N)

Character

Alpha

VARCHAR(N)

Character

Alpha

DATE

Date

Date

BOOLEAN

Logical

Logical

BLOB(N, 1)

Memo

Memo

BLOB (N,2)

Binary

Binary

BLOB(N,3)

—

Formatted memo

BLOB (N,4)

OLE

OLE

BLOB (N,5)

—

Graphic

TIME

—

Time

TIMESTAMP

—

Timestamp

MONEY

Number (20,4)

Money

AUTOINC

—

Autoincrement

BYTES(N)

Bytes

Пример создания таблицы средствами языка SQL:

CREATE TABLE NewTable.dbf

(Number INTEGER,

Name CHAR(20),

BirthDay DATE);

В каталоге БД создается новая таблица NewTable формата dBase, для которой определены целочисленное поле Number, символьное поле Name и поле даты BirthDay.

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

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

CREATE TABLE Personnel.db

(Code AUTOINC,

Name CHAR(20),

Position CHAR(15),

Salary NUMERIC(10,2),

PRIMARY KEY(Code));

Новая таблица Personnel имеет формат Paradox, и для нее определены автоин­крементное поле кода Code, символьные поля фамилии Name, должности Position и числовое поле оклада Salary. По полю кода построен главный ключ.

Для удаления таблицы предназначен оператор:

DROP TABLE <Имя таблица >;

Например:

DROP TABLE NewTable.dbf;

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