Создание таблиц с помощью sql-запросов Содержание icon

Создание таблиц с помощью sql-запросов Содержание



НазваниеСоздание таблиц с помощью sql-запросов Содержание
Дата конвертации17.07.2012
Размер73.31 Kb.
ТипУрок
1. /Введение в DELPHI/Alexs.rtf
2. /Введение в DELPHI/Les00.rtf
3. /Введение в DELPHI/Les11.rtf
4. /Введение в DELPHI/Les110.rtf
5. /Введение в DELPHI/Les12.rtf
6. /Введение в DELPHI/Les13.rtf
7. /Введение в DELPHI/Les14.rtf
8. /Введение в DELPHI/Les15.rtf
9. /Введение в DELPHI/Les16.rtf
10. /Введение в DELPHI/Les17.rtf
11. /Введение в DELPHI/Les18.rtf
12. /Введение в DELPHI/Les19.rtf
13. /Введение в DELPHI/Les21.rtf
14. /Введение в DELPHI/Les22.rtf
15. /Введение в DELPHI/Les23.rtf
16. /Введение в DELPHI/Les31.rtf
17. /Введение в DELPHI/Les310.rtf
18. /Введение в DELPHI/Les311.rtf
19. /Введение в DELPHI/Les32.rtf
20. /Введение в DELPHI/Les33.rtf
21. /Введение в DELPHI/Les34.rtf
22. /Введение в DELPHI/Les35.rtf
23. /Введение в DELPHI/Les36.rtf
24. /Введение в DELPHI/Les37.rtf
25. /Введение в DELPHI/Les38.rtf
26. /Введение в DELPHI/Les39.rtf
27. /Введение в DELPHI/Les41.rtf
28. /Введение в DELPHI/Les42.rtf
29. /Введение в DELPHI/Les43.rtf
30. /Введение в DELPHI/Les44.rtf
31. /Введение в DELPHI/Les45.rtf
32. /Введение в DELPHI/Menu.doc
HighWay Soft Group
Borland Delphi
Среда программирования Delphi Содержание
Средства создания мультимедийных приложений Содержание
html">Проект Delphi Пункт меню "File"
Обзор Палитры Компонент Содержание
Рисование и закраска Содержание
Печать текстовая и графическая Содержание
Свойства в Delphi Содержание Îáçîð -error: Reference source not found
Обзор
Обработка исключительных ситуаций в Delphi Содержание
События в Delphi Содержание
Dynamic Data Exchange получило свое имя потому, что позволяет двум приложениям обмениваться данными (текстовыми, через глобальную память) динамически во время выполнения. Связь между двумя программа
Ole содержание Обзор Основы ole объект tolecontainer Пример ole приложения Сохранение ole объекта в базе данных Обзор
Использование dll в Delphi Содержание
Обзор
Управление транзакциями Содержание
Local InterBase Содержание
Настройка bde содержание Обзор 2 Обзор
Создание таблиц с помощью Database Desktop Содержание
Создание таблиц с помощью sql-запросов Содержание
Содержание
Компонент ttable. Создание таблиц с помощью компонента ttable Содержание
Содержание
Содержание
Управление соединением с базой данных (класс tdataBase,объект Session) Содержание
Создание собственных компонент Содержание
Редакторы свойств Содержание
Содержание
Урок 30: Основы языка sql содержание урока 30
Обзор Local InterBase 0 les311. rtf Подменю «Сложный материал» Создание собственных компонент les41. rtf Создание редакторов свойств компонент les42. rtf Генератор отчет

32 óðîêà ïî Delphi



Создание таблиц с помощью SQL-запросов


Содержание


Обзор



На данном уроке мы познакомимся еще с одной возможностью создания таблиц - через посылку SQL-запросов. Как Вы, наверное, могли заметить на предыдущем уроке, Database Desktop не обладает всеми возможностями по управлению SQL-серверными базами данных. Поэтому с помощью Database Desktop удобно создавать или локальные базы данных или только простейшие SQL-серверные базы данных, состоящие из небольшого числа таблиц, не очень сильно связанных друг с другом. Если же Вам необходимо создать базу данных, состоящую из большого числа таблиц, имеющих сложные взаимосвязи, можно воспользоваться языком SQL (вообще говоря, для этих целей лучше всего использовать специализированные CASE-средства, которые позволяют в интерактивном режиме сгенерировать всю структуру базы данных и сформировать все связи; описание двух наиболее удачных CASE-средств - System Architect и S-Designor - дано в дополнительных уроках). При этом можно воспользоваться компонентом Query в Delphi, каждый раз посылая по одному SQL-запросу, а можно записать всю последовательность SQL-предложений в один так называемый ñêðèïò и послать его на выполнение, используя, например, Windows Interactive SQL (WISQL.EXE) - интерактивное средство посылки SQL-запросов к InterBase (в том числе и локальному InterBase), входящее в поставку Delphi. Конечно, для этого нужно хорошо знать язык SQL, но, уверяю Вас, сложного в этом ничего нет! Конкретные реализации языка SQL незначительно отличаются в различных SQL-серверах, однако базовые предложения остаются одинаковыми для всех реализаций. Практика показывает, что если нет необходимости создавать таблицы во время выполнения программы, то лучше воспользоваться WISQL.

Создание таблиц с помощью SQL

Если Вы хотите воспользоваться компонентом TQuery, сначала поместите его на форму. После этого настройте свойство DatabaseName на нужный Вам алиас (если базы данных еще не существует, удобней создать ее в WISQL командой File|Create Database..., а затем уже настроить на нее новый алиас). После этого можно ввести SQL-предложение в свойство SQL. Для выполнения запроса, изменяющего структуру, вставляющего или обновляющего данные на сервере, нужно вызвать метод ExecSQL компонента TQuery. Для выполнения запроса, получающего данные с сервера (т.е. запроса, в котором основным является оператор SELECT), нужно вызвать метод Open компонента TQuery. Это связано с тем, что BDE при посылке запроса типа SELECT открывает так называемый êóðñîð, с помощью которого осуществляется навигация по выборке данных (подробней об этом см. в уроке, посвященном TQuery).

Как показывает опыт, проще воспользоваться утилитой WISQL. Для этого в WISQL выберите команду File|Run an ISQL Script... и выберите файл, в котором записан ваш скрипт, создающий базу данных. После нажатия кнопки “OK” ваш скрипт будет выполнен, и в нижнее окно будет выведен протокол его работы.

Приведем упрощенный синтаксис SQL-предложения для создания таблицы на SQL-сервере InterBase (более полный синтаксис можно посмотреть в online-справочнике по SQL, поставляемом с локальным InterBase):


CREATE TABLE table

( [, | ...]);


где

table - имя создаваемой таблицы,

- описание поля,

- описание ограничений и/или ключей (квадратные скобки [] означают необязательность, вертикальная черта | означает “или”).


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


= col {datatype | COMPUTED BY () | domain}

[DEFAULT {literal | NULL | USER}]

[NOT NULL] []

[COLLATE collation]


Здесь

col - имя поля;

datatype - любой правильный тип SQL-сервера (для InterBase такими типами являются - см. урок 11 - SMALLINT, INTEGER, FLOAT, DOUBLE PRECISION, DECIMAL, NUMERIC, DATE, CHAR, VARCHAR, NCHAR, BLOB), символьные типы могут иметь CHARACTER SET - набор символов, определяющий язык страны. Для русского языка следует задать набор символов WIN1251;

COMPUTED BY () - определение вычисляемого на уровне сервера поля, где - правильное SQL-выражение, возвращающее единственное значение;

domain - имя домена (обобщенного типа), определенного в базе данных;

DEFAULT - конструкция, определяющая значение поля по умолчанию;

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

COLLATE - предложение, определяющее порядок сортировки для выбранного набора символов (для поля типа BLOB не применяется). Русский набор символов WIN1251 имеет 2 порядка сортировки - WIN1251 и PXW_CYRL. Для правильной сортировки, включающей большие буквы, следует выбрать порядок PXW_CYRL.


Описание ограничений и/или ключей включает в себя предложения CONSTRAINT или предложения, описывающие уникальные поля, первичные, внешние ключи, а также ограничения CHECK (такие конструкции могут определяться как на уровне поля, так и на уровне таблицы в целом, если они затрагивают несколько полей):


= [CONSTRAINT constraint ]



Здесь


= {{PRIMARY KEY | UNIQUE} (col[,col...]) | FOREIGN KEY (col [, col ...]) REFERENCES other_table

| CHECK ()}

=

{ { | ()}

| [NOT] BETWEEN AND

| [NOT] LIKE [ESCAPE ]

| [NOT] IN ( [, ...] |


= {

col [] | | |

| NULL | USER | RDB$DB_KEY } [COLLATE collation]


= num | "string" | charsetname "string"


= {

COUNT (* | [ALL] | DISTINCT )

| SUM ([ALL] | DISTINCT )

| AVG ([ALL] | DISTINCT )

| MAX ([ALL] | DISTINCT )

| MIN ([ALL] | DISTINCT )

| CAST ( AS )

| UPPER ()

| GEN_ID (generator, )

}


= {= | < | > | <= | >= | !< | !> | <> | !=}


= âûðàæåíèå SELECT ïî îäíîìó ïîëþ, êîòîðîå âîçâðàùàåò â òî÷íîñòè îäíî çíà÷åíèå.

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


Пример : Простая таблица с конструкцией PRIMARY KEY на уровне поля

CREATE TABLE REGION (

REGION REGION_NAME NOT NULL PRIMARY KEY,

POPULATION INTEGER NOT NULL);


Предполагается, что в базе данных определен домен REGION_NAME, например, следующим образом:


CREATE DOMAIN REGION_NAME

AS VARCHAR(40) CHARACTER SET WIN1251 COLLATE PXW_CYRL;


Пример : Таблица с предложением UNIQUE как на уровне поля, так и на уровне таблицы

CREATE TABLE GOODS (

MODEL SMALLINT NOT NULL UNIQUE,

NAME CHAR(10) NOT NULL,

ITEMID INTEGER NOT NULL, CONSTRAINT MOD_UNIQUE

UNIQUE (NAME, ITEMID));


Пример : Таблица с определением первичного ключа, внешнего ключа и конструкции CHECK, а также символьных массивов

CREATE TABLE JOB (

JOB_CODE JOBCODE NOT NULL,

JOB_GRADE JOBGRADE NOT NULL,

JOB_REGION REGION_NAME NOT NULL,

JOB_TITLE VARCHAR(25) CHARACTER SET WIN1251 COLLATE PXW_CYRL NOT NULL,

MIN_SALARY SALARY NOT NULL,

MAX_SALARY SALARY NOT NULL,

JOB_REQ BLOB(400,1) CHARACTER SET WIN1251,

LANGUAGE_REQ VARCHAR(15) [5],

PRIMARY KEY (JOB_CODE, JOB_GRADE, JOB_REGION),

FOREIGN KEY (JOB_REGION) REFERENCES REGION (REGION),

CHECK (MIN_SALARY < MAX_SALARY));


Данный пример создает таблицу, содержащую информацию о работах (профессиях). Типы полей основаны на доменах JOBCODE, JOBGRADE, REGION_NAME и SALARY. Определен массив LANGUAGE_REQ, состоящий из 5 элементов типа VARCHAR(15). Кроме того, введено поле JOB_REQ, имеющее тип BLOB с подтипом 1 (текстовый блоб) и размером сегмента 400. Для таблицы определен первичный ключ, состоящий из трех полей JOB_CODE, JOB_GRADE и JOB_REGION. Далее, определен внешний ключ (JOB_REGION), ссылающийся на поле REGION таблицы REGION. И, наконец, включено предложение CHECK, позволяющее производить проверку соотношения для двух полей и вызывать исключительное состояние при нарушении такого соотношения.

Пример : Таблица с вычисляемым полем

CREATE TABLE SALARY_HISTORY (

EMP_NO EMPNO NOT NULL,

CHANGE_DATE DATE DEFAULT "NOW" NOT NULL,

UPDATER_ID VARCHAR(20) NOT NULL,

OLD_SALARY SALARY NOT NULL,

PERC_CHANGE DOUBLE PRECISION DEFAULT 0 NOT NULL

CHECK (PERC_CHANGE BETWEEN -50 AND 50),

NEW_SALARY COMPUTED BY

(OLD_SALARY + OLD_SALARY * PERC_CHANGE / 100),

PRIMARY KEY (EMP_NO, CHANGE_DATE, UPDATER_ID),

FOREIGN KEY (EMP_NO) REFERENCES EMPLOYEE (EMP_NO));


Данный пример создает таблицу, где среди других полей имеется вычисляемое (физически не существующее) поле NEW_SALARY, значение которого вычисляется по значениям двух других полей (OLD_SALARY и PERC_CHANGE).


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


Заключение

Итак, мы рассмотрели, как создавать таблицы с помощью SQL-выражений. Этот процесс, хотя и не столь удобен, как интерактивное средство Database Desktop, однако обладает наиболее гибкими возможностями по настройке Вашей системы и управления ее связями.


Epsylon Technologies
Óðîê 18: Ñîçäàíèå òàáëèö ñ ïîìîùüþ SQL çàïðîñîâ






Похожие:

Создание таблиц с помощью sql-запросов Содержание iconДокументы
1. /SQL/sql в примерах и задачах.pdf
2. /SQL/sql...

Создание таблиц с помощью sql-запросов Содержание iconПрактическая работа 7 Создание вычислительных таблиц в Word Задание Клумбы с помощью таблицы решим следующую задачу
Четвертая клумба представляет собой равносторонний треугольник, длина стороны которого равна 4 метрам. Длины сторон пятой клумбы...
Создание таблиц с помощью sql-запросов Содержание iconОткрытое занятие элективного курса «Компьютерная графика» в 10М классе по теме «Создание анимации с помощью графического редактора». Учитель – Газизова Л. Р. Тип урока
М классе по теме «Создание анимации с помощью графического редактора». Учитель – Газизова Л. Р
Создание таблиц с помощью sql-запросов Содержание iconОткрытое занятие элективного курса «Компьютерная графика» в 10М классе по теме «Создание анимации с помощью графического редактора». Учитель – Газизова Л. Р. Тип урока
М классе по теме «Создание анимации с помощью графического редактора». Учитель – Газизова Л. Р
Создание таблиц с помощью sql-запросов Содержание iconРешение задач оптимизации с помощью электронных таблиц
Имеется квадратный лист картона со стороной а см. Из этого листа делают коробку(вырезают по углам четыре квадрата и склеивают)
Создание таблиц с помощью sql-запросов Содержание iconВ. Т. Безручко «Практикум…» из
В таблицах Word реализованы некоторые функции электронных таблиц. Подобно Excel, Word позволяет выполнять вычисления с помощью формул...
Создание таблиц с помощью sql-запросов Содержание iconСоздание компьютерных игр
Самоучитель создания прикладных и игровых программ с помощью компилятора Borland C++ Builder 0
Создание таблиц с помощью sql-запросов Содержание iconДокументы
1. /Виктор Солодчук - Создание анимационного фильма с помощью ПК.pdf
Создание таблиц с помощью sql-запросов Содержание iconЛабораторная работа по теме «Построение таблиц истинности с помощью электронных таблиц Excel» Цель работы : познакомиться с логическими функциями Excel, научиться строить таблицы истинности сложных высказываний
Цель работы: познакомиться с логическими функциями Excel, научиться строить таблицы истинности сложных высказываний
Создание таблиц с помощью sql-запросов Содержание iconДокументы
1. /Виктор Солодчук - Создание анимационных сцен с помощью Poser 4.pdf
Создание таблиц с помощью sql-запросов Содержание iconВведение 3 Создание новой базы данных 4
Иллюстрированное экспресс-руководство по заполнению аттестатов с помощью программы Certificate Printer 2010
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©podelise.ru 2000-2014
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы

Разработка сайта — Веб студия Адаманов