Индексы используются для быстрого
поиска нужной записи и для управления порядком отображения записей.
Существуют первичный и вторичный индексы.
Первичный индекс (primary key, primary index) управляет порядком
отображения записей в таблице. Первичный индекс строится по одному полю,
значение которого должно быть уникальным. В приведенном примере на
«звание» первичного индекса претендует поле cno, содержащее уникальный
номер человека в системе. По полю name первичный индекс строить нельзя,
поскольку Ивановых на просторах СНГ очень много, поэтому в нашей
таблице может быть два Иванова и как тогда понять, кто есть кто? А вот номер
cno будет уникальным в нашей системе (об этом может даже позаботиться
сама система), поэтому cno— идеальное поле для первичного индекса.
Первичный индекс обычно задается при создании таблицы.
Вторичный индекс (secondary index) не обязательно должен быть
уникальным, к тому же он может строиться по нескольким полям сразу. Вторичные
индексы, как правило, служат для связывания таблиц. Вторичный ключ еще
иногда называют внешним ключом.
Вот теперь можно приступить к рассмотрению основ SQL. Сразу отмечу, что
приведенного далее материала вполне хватит даже для разработки сложных
проектов, но он никак не претендует на полноту описания SQL.
П3.5. Создание таблиц
Для создания таблицы предназначен SQL-оператор create:
CREATE TABLE Имя_таблицы
(
Имя_поля1 Тип Модификатор,
Имя_поляЫ Тип Модификатор,
[Первичный ключ,]
[Внешний ключ]
)
Приложение 3. Основы SQL
325
Оператор create в SQL используется для создания не только таблиц, но и
других объектов базы данных. В данной книге мы будем говорить только о
создании таблиц, но если вам интересно, в табл. П3.1 описаны
альтернативные операторы create, позволяющие создавать другие объекты базы данных.
Таблица П3.1. Синтаксис оператора create
Синтаксис оператора
CREATE
CREATE DATABASE
CREATE DEFAULT
AS
CREATE FUNCTION
RETURNS
AS
CREATE INDEX
ON
представление>
CREATE PROCEDURE
AS
CREATE RULE
AS
CREATE SCHEMA
AUTHORIZATION
CREATE TABLE
(определение таблицы)
CREATE VIEW
AS
Объект
Создает базу данных. Создать базу данных не
всегда возможно. Во-первых, у вас должны
быть права на ее создание. Во-вторых, многие
хостинг-провайдеры устанавливают лимит на
количество баз данных
Создает константу по умолчанию
Создает пользовательскую функцию
Создает индекс (в таблице или представлении)
Создает пользовательскую процедуру
Создает правило
Таблицы, представления и разрешения будут
созданы как один объект
Создает таблицу
Создает представление
326
Приложения
Вернемся к созданию таблицы. Для определения поля нужно указать его имя,
тип и модификатор поля. Допустимые типы данных приведены в табл. П3.2.
Таблица П3.2. Часто используемые типы данных
Тип
TINYINT
SMALLINT
MEDIUMINT
INT
BIGINT
FLOAT (,)
[UNSIGNED]
DOUBLE (Д,3)
[UNSIGNED]
NUMERIC (Д,3)
[UNSIGNED]
DECIMAL (Д,3)
[UNSIGNED]
REAL (Д,3)
[UNSIGNED]
VARCHAR (N]
TINYTEXT
TEXT
Описание
Целый тип, может принимать значения из диапазона
-128.. .+127
Целый тип, может принимать значения из диапазона
-32768…+32767
Целый тип, может принимать значения из диапазона
-8 388 608…+8 388 607
Целый тип, может принимать значения из диапазона
-2 147 483 648…+2 147 483 647
Целый тип, может принимать значения из диапазона
-9 223 372 036 854 775 808…
+9 223 372 036 854 775 807
Вещественный тип, малая точность. Для каждого
вещественного типа можно указать его длину (д), т. е.
количество знакомест, в которых будет размещено число, а
также количество знаков (з) после десятичной запятой,
которое будет учитываться. Модификатор unsigned
говорит о том, что знак числа учитываться не будет
Вещественный тип, наибольшая точность
Дробное число, хранящееся в виде строки
Псевдоним для numeric
Псевдоним для double
Строка, ? — число символов (не более 255) J
Небольшой текст, максимум 255 символов
Текст (до 64 Кбайт)
Приложение 3, Основы SQL
\
327
Таблица П3.2 (окончание)
Тип
MEDIUMTEXT
LONGTEXT
BLOB
MEDIUMBLOB
LONGBLOB
DATE
TIME
TIMESTAMP
DATETIME
Описание
Текст, максимум 16 777 215 символов
Текст, максимум 4 294 967 295 символов
Используется для хранения бинарных данных,
максимальный размер которых — 64 Кбайт.
5th Фев 2011
|
Теги:
|