W Cat - SQL за 24 часа. Страница 3

SELECT

Эта команда, имеющая множество опций и необязательных параметров, используется для построения запросов к реляционным базам данных. С ее помощью можно конструировать запросы любой сложности - от самых общих до очень специальных и от самых простых до невероятно сложных. Команда SELECT будет подробно обсуждаться в ходе уроков 7-16.

Запрос - это требование на получение информации из базы данных.

Язык управления данными (DCL)

Команды управления данными в SQL позволяют осуществлять контроль над возможностью доступа к данным внутри базы данных. Команды DCL обычно используются для создания объектов, относящихся к управлению доступом пользователей к базе данных, а также для назначения пользователям подходящих уровней привилегий доступа. Вот некоторые из команд управления данными:

ALTER PASSWORD

GRANT

REVOKE

CREATE SYNONYM

Эти команды часто используются вместе с другими командами и поэтому будут появляться во многих последующих главах книги.

Команды администрирования данных

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

START AUDIT

STOP AUDIT

He путайте администрирование данных с администрированием всей базы данных. Администрирование базы данных - это осуществление общего управления базой данных, предполагающее возможность использования команд любого уровня.

Команды управления транзакциями

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

• Команда COMMIT используется для того, чтобы сохранить транзакции.

• Команда ROLLBACK используется для того, чтобы отменить транзакции.

• Команда SAVEPOINT создает точки внутри групп транзакций, к которым отсылает команда ROLLBACK.

• Команда SET TRANSACTION позволяет назначить транзакции имя.

Команды управления транзакциями будут подробно обсуждаться в ходе урока 6. "Управление транзакциями".

Описание базы данных, используемой в данной книге

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

Схема таблиц, используемых в книге

На рис. 1.4 показаны отношения между таблицами, используемыми в этой книге для примеров, вопросов для проверки и упражнений. Каждая из таблиц имеет скос имя, точно так же свои имена назначены в таблицах каждому из полей. Линии, связывающие таблицы, указывают на связи таблиц посредством общего поля, которое в большинстве случаев называется ключевым полем (последние обсуждаются в ходе урока 3, "Управление объектами базы данных").

Стандарты назначения имен таблицам

Стандарты назначения имен таблицам, как и любые стандарты в бизнесе вообще, очень важны с точки зрения осуществления контроля. Проанализировав таблицы и данные из предыдущих разделов, вы, наверное, заметили, что все имена таблиц имели суффикс _TBL. Наличие такого суффикса в именах таблиц принято за стандарт. В этом случае _TBL просто говорит о том, что соответствующий объект является таблицей - ведь в базе данных может содержаться и множество других объектов. Например, вы увидите, что суффикс _IDX используется для индексов таблиц. Стандарты назначения имен вводятся почти исключительно в целях упрощения общей организации и Оказываются очень полезными в деле администрирования любой реляционной базы данных. Вместе с тем, использование суффиксов при назначении имен объектам базы дйнных не является строго обязательным.

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

Рис. 1.4. Связи между таблицами, используемыми в этой книге

Обзор данных

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

EMPLOYEE_TBL

EMP_ID

LAST NAM

FIRST NAM

ADDRESS

CITY

ST

ZIP

PHONE

311549902 442346889 213764555 313782439 220984332 443679012

STEPHENS PLEW GLASS GLASS WALLACE SPURGEON

TINA LINDA BRANDON JACOB MARIAH TIFFANY

D RR 3 BOX 17A С 3301 BEACON S 1710 MAIN ST 3789 RIVER BLVD 7789 KEYSTONE 5 GEORGE COURT

GREENWOOD INDIANAPOLIS WHITELAND INDIANAPOLIS INDIANAPOLIS INDIANAPOLIS

IN IN IN IN IN IN

47890 46224 47885 45734 46741 46234

3178784465 3172978990 3178984321 3175457676 3173325986 3175679007

EMPLOYEE PAY TBL

EMP_ID

POSITION

DATE HIRE

PAY RATE

DATE_LAST

SALARY

BONUS

311549902 442346889 213764555 313782439 220984332 443679012

MARKETING TEAM LEADER SALES MANAGER SALESMAN SHIPPER SHIPPER

23-MAY-89 17-JUN-90 14-AUG-94 28-JUN-97 22-JUL-96 14- JAN-91

14.75

11 15

Ol-MAY-99 Ol-JON-99 Ol-AUG-99

Ol-JUL-99 Ol-JAN-99

40000

30000 20000

2000 1000

CUSTOMERJTBL

ORDERS TBL

CUST ]

CD CUST_NAME

ADDRESS

CUST_CITY

ST

ZIP CUST_PHONE CUST FAX

232 109

345 090 12 432 333

21

43

287 288 590

610 560 221

LESLIE GLEASON NANCY BUNKER

ANGELA DOBKO WENDY WOLF MARYS GIFT SHOP SCOTTYS MARKET JASONS AND DALLAS GOODIES MORGAN CANDIES AND TREATS SCHYLERS NOVELTIES GAVINS PLACE HOLLYS GAMEARAM HEALTHERS FEATHERS AND THINGS RAGANS HOBBIES ANDYS CANDIES RYANS STUFF

798 HARDAWAY DR APT A 4556 WATERWAY RR3 BOX 76 3345 GATEWAY DR 435MAIN ST RR2 BOX 17 LAFAYETTE SQ MALL

5657 W TENTH ST 17 MAPLE ST

9880 ROCKVILLE RD 567 US 31 4090 N SHADELAND AVE

451 GREEN RR 1 BOX 34 2337 S SHELBY ST

INDIANAPOLIS BROAD RIPPLE

LEBANON INDIANAPOLIS DANVILLE BROWNSBURG INDIANAPOLIS

INDIANAPOLIS LEBANON

INDIANAPOLIS WHITELAND INDIANAPOLIS

PLAINFIELD NASHVILLE INDIANAPOLIS

IN IN

IN IN IL IN IN

IN IN

IN IN IN

IN IN IN

47856 3175457690 46950 3174262323

49967 7658970090 46224 3172913421 47978 3178567221 3178523434 45687 3178529835 3178529836 47856 3172978886 3172978887

46950 3172714398 49967 3174346758

46224 3172719991 3172719992 47978 3178879023 47856 3175456768

46950 3178393441 3178399090 49967 8123239871 46224 3175634402

ORD NUM

CUST_ID

PROD_ID

QTY

ORD DATE

56A901 56A917 32A132 16C17 18D778 23E934

232

12 43 090 287 432

11235 87 222 222 90 13

1 100 25 2 10 20

22-OCT-99 30-SEP-99 10-OCT-99 17-OCT-99 17-OCT-99 15-OCT-99

PRODUCTS_TBL

PROD_ID

PROD_DESC

COST

11235

222

13

90

15

9

6

87

119

1234

2345

КОСТЮМ ВЕДЬМЫ

ПЛАСТИКОВЫЕ ТЫКВЫ

ИСКУССТВЕННЫЕ ПАРАФИНОВЫЕ ЗУБЫ

ФОНАРИ

КОСТЮМЫ В АССОРТИМЕНТЕ

СЛАДКАЯ КУКУРУЗА

ТЫКВЕННЫЕ КОНФЕТЫ

ПЛАСТИКОВЫЕ ПАУКИ

МАСКИ В АССОРТИМЕНТЕ

ЦЕПОЧКА ДЛЯ КЛЮЧЕЙ

ПОЛОЧКА ИЗ ДУБА

29.99

7.75

1.10

14.50

10.00

1.35

1.45

1.05

4.95

5.95

59.99

Из чего состоят таблицы

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