русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Запросы на создание таблиц базы данных


Дата добавления: 2015-07-09; просмотров: 962; Нарушение авторских прав


 

В реляционных базах данных таблицы состоят из записей и полей (столбцов). Чтобы создать таблицу, достаточно задать ее имя и описать поля. Описание каждого поля содержит: имя поля, тип данных в поле, (опционально можно задать размер поля и ограничения).

Создание таблиц происходит с помощью команды CREATE TABLE, синтаксис которой можно представить так:

 

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

(<имя поля 1> <тип данных> [<размер>] [ограничения],

<имя поля 2> <тип данных> [<размер>] [ограничения],

… ,

<имя поля N> <тип данных> [<размер>] [ограничения] )

 

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

Наиболее часто используемые типы данных в описании полей следующие:

CHAR - символьные данные;

INTEGER- числовые целые;

FLOAT - числовые с плавающей запятой;

DATE данные типа даты.

Полный список типов данных можно получить в команде «Справка» справочной системы Access (разделе: «Эквивалентные типы данных ANSI SQL»). Фрагмент справочной таблицы типов данных Access приведен ниже:

 

Типы данных ANSI SQL Типы данных Microsoft Jet SQL Синоним Тип данных Microsoft SQLServer
BIT, BIT VARYING BINARY VARBINARY, BINARY VARYING BIT VARYING BINARY, VARBINARY
DATE, TIME, TIMESTAMP DATETIME DATE, TIME (См. Примечания) DATETIME
DECIMAL DECIMAL NUMERIC, DEC DECIMAL
REAL REAL SINGLE, FLOAT4, IEEESINGLE REAL
DOUBLE PRECISION, FLOAT FLOAT DOUBLE, FLOAT8, IEEEDOUBLE, NUMBER (См. Примечания) FLOAT
SMALLINT SMALLINT SHORT, INTEGER2 SMALLINT
INTEGER INTEGER LONG, INT, INTEGER4 INTEGER
CHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYING CHAR TEXT(n), ALPHANUMERIC, CHARACTER, STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING CHAR, VARCHAR, NCHAR, NVARCHAR

При описании типа данных в полях можно, используя специальные ключевые слова, ввести дополнительные ограничения (columns constraints) на множество допустимых значений. Ниже приведены некоторые ключевые слова, описывающие ограничения:



NOT NULL – значение поля не должно быть пустым;

UNIQUE – значение поля должно быть уникальным;

PRIMERY KEY – определяет принадлежность поля ключу;

DEFAULT – автоматическая подстановка конкретного значения;

CHECK (<условие>) – проверка условия, которому должен удовлетворять вводимое значение в поле.

 

Рассмотрим пример создания таблицы базы данных, учитывающей сотрудников предприятия. Положим, что таблица Employees (Сотрудники) будет содержать следующие поля: код сотрудника (E_KOD), фамилия (E_FAM), имя (E_NAM), дата рождения (E_DATE) и стаж работы (E_STAG). Создадим описание таблицы Employees с помощью запроса на SQL, выбрав для этого режим Запросы®Создать®Конструктор®Запрос®SQL и выйдем на окно редактора запросов на языке SQL. В редакторе запишем запрос на языке SQL на создание таблицы Employees:

 

CREATE TABLE Employees (

E_KOD CHAR (4) NOT NULL,

E_FAM CHAR (30),

E_NAM CHAR (30),

E_DATE DATE,

E_STAG INTEGER );

 

Выполним созданный запрос и убедимся, что в списке таблиц появилась новая таблица (Employees). Вызвав режим «Конструктор таблиц», проверим правильность описания полей. Отметим, что в созданной таблице не указано ключевое поле.

 

Замечание: При благополучном исполнении запроса на создание новой таблицы Access не выдает никаких сообщений. В случае же обнаружения ошибки синтаксиса или невозможности выполнения запроса будет дано соответствующее сообщение.

 

Усложним запрос на создание таблицы Employees, введя ограничение, которое определяет поле E_KOD как ключевое («первичный ключ»):

 

CREATE TABLE Employees

(E_KOD CHAR (4) NOT NULL PRIMARY KEY ,

E_FAM CHAR (30),

E_NAM CHAR (30),

E_DAT DATE,

E_STAG INTEGER);

 

Ограничение на поле данных можно описать так же отдельной строкой. Например, если необходимо ускорить поиск данных по коду сотрудника (поле E_KOD), то его можно проиндексировать. Иными словами, можно создать специальный список (индекс), который позволит значительно ускорить поиск по полю, к которому «привязан» индекс. Запрос на создание таблицы с индексированным ключевым полем запишется так:

 

CREATE TABLE Employees

(E_KOD CHAR (4) NOT NULL ,

E_FAM CHAR (30),

E_NAM CHAR (30),

E_DAT DATE,

E_STAG INTEGER,

CONSTRAINT [Index1] PRIMARY KEY (E_KOD) );

 

В приложении 1 можно найти полное описание всех таблиц учебной базы данных Avto.mdb (база данных магазина продаж автомобилей).

Для описания связей между таблицами и обеспечения целостности базы данных используется ключевое слово FOREIGN KEY, полный синтаксис которого следующим образом:

 

FOREIGN KEY<список столбцов>REFERENCES <имя таблицы> [<список столбцов >]

 

Например, таблица Price («Цена») связана с таблицей Orders («Заказы») через поле pnum(код строки в таблице Price). Поле pnumвтаблице Price является ключевым (т.е. оно описано как PRIMARY KEY), а в таблице Orders полеpnum играет роль «внешнего» ключа для связи (FOREIGN KEY).Обычно такая связь отображается на схемах БД как отношение «один-ко-многим» (1:М). Поэтому в таблице Orders полеpnum надо описать как внешний ключ следующим образом:

 

CREATE TABLE Orders

(onum CHAR (4) NOT NULL PRIMARY KEY,

odate DATE,

amont FLOAT,

cnum CHAR(4),

snum CHAR(4),

pnum CHAR(4),

FOREIGN KEY (pnum) REFERENCES Price (pnum));

 

Замечание: Типы данных и размер поля у первичного ключа и у поля внешнего ключа должны быть одинаковые.

 

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

 

 

Запросы на создание индексов в таблицах

 

Для повышения быстродействия базы данных в режиме поиска возможно создание специальных средств типа индексов. Синтаксис команды создания индекса можно представить так:

 

CREATE INDEX <имя индекса> ON <имя таблицы> (<имя столбца 1> [,<имя столбца 2>] …);

 

Описание обязательно должно содержать: имя индекса, имя таблицы, к которой привязан индекс и хотя бы одно имя столбца.

Пример использования индекса. Если в базе данных имеется таблица, в которой хранятся данных счетов клиентов (таблица INVOICES), то очень часто требуется наитии счет по его номеру (поле NUM_INV). В этом случае целесообразно создать индекс (имя индекса INDEX1 ) для поля NUM_INV:

 

CREATE INDEX INDEX1 ON INVOICES (NUM_INV);

 

Удаление индекса производится следующей командой:

 

DROP INDEX <имя индекса>.

 

Следует заметить, что в некоторых SQL-системах создание и удаление индексов происходит автоматически в зависимости от потребностей системы. Так что пользователи могут ничего не знать о существовании индексов в системе.

 

 



<== предыдущая лекция | следующая лекция ==>
Задания для самостоятельной работы. | Запросы на удаление базы данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.455 сек.