Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ФОРМАТИРОВАНИЕ СВОДНОЙ ТАБЛИЦЫ.docx
Скачиваний:
8
Добавлен:
12.04.2015
Размер:
188.49 Кб
Скачать

Операции с таблицами

При помощи команд языка SQL можно создавать, удалять таблицы, изменять столбцы, вносить и удалять данные. Эти опе­рации могут быть также реализованы средствами Visual Basic for Application (подробнее об этом рассказано в главе 10 «Visual Basic»).

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

CREATE TABLE table_name (columnl_name data_type [constraint]

[,column2_name data_type [constraint]]...

[CONSTRAINT key | index]);

где: table_name - имя таблицы;

columnl_name, column2 - name, ... - имена столбцов;

data_type - тип данных столбца;

constraint - накладываемое на столбец ограничение. Сущест­вуют следующие ограничения: NULL, NOT NULL, PRIMARY KEY, UNIQUE (подробнее ниже);

key | index - имя создаваемого ключа или индекса.

Приведем пример создания таблицы tbIFaculties (сведения о факультетах):

CREATE TABLE tbIFaculties ( fIDFaculty COUNTER NOT NULL PRIMARY KEY, fFaculty CHAR(l) UNIQUE, fFacultyFull VARCHAR(20) UNIQUE);

где: fIDFaculty - код факультета. Имеет тип данных COUNTER (счетчик) и такие ограничения:

NOT NULL - указывает на то, что столбец не может содержать неопределенных значений;

PRIMARY KEY - задает первичный ключ отношения; fFaculty - символ факультета. Имеет строковый тип данных CHAR(l) (указывающий на то, что это текстовое поле, которое состоит из 1 символа) и содержит ограничение UNIQUE. С помо­щью UNIQUE задается уникальность значений в столбце. Такому столбцу автоматически устанавливается свойство NOT NULL;

fFacultyFull - полное название факультета. Имеет строковый тип данных VARCHAR(20) (указывающий на то, что это текстовое поле, которое состоит максимум из 20 символов) и содержит ог­раничение UNIQUE.

В табл. 4.1 описаны ключевые слова для обозначения основ­ных типов данных Access (с указанием синонимов).

Таблица 4.1

Ключевые слова для обозначения основных типов данных Access

Название

типа

Уточнение типа

Ключевое слово (Синонимы)

Текстовый

-

CHAR | VARCHAR

Поле MEMO

-

MEMO | NOTE

6-8301

Название

типа

Уточнение типа

Ключевое слово (Синонимы)

Числовой

Байт

BYTE

Числовой

Целое

SHORT

Числовой

Длинное целое

INTEGER | INT | LONG

Числовой

Одинарное с плавающей точкой

SINGLE | REAL

Числовой

Двойное с плавающей точкой

DOUBLE | FLOAT | NUMBER

Дата/время

- .

DATA | TIME | DATA- TIME

Денежный

-

CURRENCY | MONEY

Счетчик

-

COUNTER | AUTOIN­CREMENT

Логический

BOOLEAN | LOGICAL

Поле объекта OLE

-

OLEOBJECT | GENERAL

Рассмотрим создание в таблице внешних ключей. Приведем пример записи команды создания таблицы tbIGroups (информация

о группах), связанной с таблицей tbIFaculties по полю fIDFaculty:

CREATE TABLE tbIGroups (

fIDGroup COUNTER NOT NULL PRIMARY KEY,

fGroup CHAR(3) UNIQUE,

fIDFaculty INT REFERENCES tblFaculties(flDFaculty), fCourse BYTE NOT NULL, fGroupNumber BYTE NOT NULL);

где: fIDGroup - код группы (первичный ключ); fGroup - шифр группы (поле из трех символов); fIDFaculty - код факультета (целочисленный тип данных INT); fCourse - номер курса (целочисленный тип данных BYTE); fGroupNumber - номер группы (целочисленный тип данных BYTE).

В этой команде поле fIDFaculty таблицы tbIGroups является внешним ключом и связывается при помощи предложения REF-

ERENCES с одноименным полем таблицы tbIFaculties, которое яв­ляется в ней первичным ключом.

Примечание. В диалекте SQL для Access отсутствует ключевое сло­во DEFAULT, с помощью которого можно установить для столбца таблицы значение по умолчанию. Также отсутствует ключевое слово CHECK, с помощью которого можно задать для столбца таблицы ус­ловие на значение.

При создании таблицы можно с помощью конструкции CON­STRAINT установить первичный ключ, простой или составной индекс, добавить ограничения (NOT NULL, UNIQUE) для столбца, а также установить связь с другой таблицей по внешнему ключу (FOREIGN KEY). Например, создадим таблицу tbIStudents с состав­ным индексом FIO:

CREATE TABLE tbIStudents ( fIDStudent COUNTER NOT NULL PRIMARY KEY, flDGroup INT REFERENCES tblGroups(flDGroup), fLastName CHAR(20) NOT NULL, fFirstName CHAR(20) NOT NULL, fMiddleName CHAR(20) NOT NULL,

CONSTRAINT FIO UNIQUE (fFirstName, fLastName, fMiddleName)); Подробнее об установлении связи по внешнему ключу при помощи конструкции CONSTRAINT будет рассказано ниже.