Программирование >>  Руководство по sql 

1 ... 12 13 14 [ 15 ] 16 17 18 ... 105


Если в записи оператора встречаются круглые скобки ( () ), они действительно являются его частью (в отличие от фигурных и квадратных скобок). Не забывайте об этом!

Операторы SQL обычно требуют наличия терминаторов (terminator), которые инициируют исполнение оператора в системе управления базами данных. Различные SQL используют разные терминаторы, наиболее распространенными являются точка с запятой ( ; ) и слово go. В системах баз данных с графическим интерфейсом (GUI) для выполнения команды можно просто щелкнуть на соответствующей кнопке или выбрать опцию из меню. Так как здесь могут быть самые разные варианты и возможности, терминаторы не включаются в примеры команд из этой книги.

Обработка ошибок

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


sleet name -- Введите seJect, а не stect, fromauthers ----auftors, а не autte,s

select name, phone Предложение FROM

where state = CA -- должно предшествовать

from authors предложению WHERE

select name

from authors Слово CA должно

where state = CA -*---------заключаться в кавычки

select title ,

from documents ----T * тзывгется titles

Puc. 3.4. Типичные ошибки в операторах SQL

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

Вот несколько примеров из SQL Anywhere:

SQL:

select *

from publihsers

Результат:

table publihsers not found

SQL: sleet *

from publishers Результат:

Syntax error near *



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

СОЗДАНИЕ БАЗ ДАННЫХ

База данных - это именованная область на носителе данных, содержащая таблицы, курсоры, индексы и другие объекты. Сначала вы создаете саму базу данных, а затем входящие в нее объекты.

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

В однопользовательских системах вся ответственность за управление ресурсами ложится на вас.

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

Установка прав других пользователей на использование базы данных.

Регулярное создание резервных копий и запуск процедур восстановления в случаях сбоев системы.

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

Владение большинством производных объектов базы данных.

Понимание типов данных базы данных и умение их использовать.

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

В зависимости от используемого программного и аппаратного обеспечения базы данных могут физически храниться на дисках, в разделах диска или в файлах операционной системы. Для всех этих случаев мы будем использовать общий термин - устройство базы данных (database device).

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

В ANSI-стандарт SQL 1992 года (часто называемый SQL-92) не входит оператор CREATE DATABASE. Вместо этого он предусматривает команду CREATE SCHEMA для определения части базы данных, которой будет владеть конкретный пользователь. Обычно база данных состоит больше чем из одной схемы (schema).

Однако в коммерческие версии SQL обычно включена команда CREATE DATABASE. Ее упрощенная форма (т.е. без необязательных предложений и расширений) имеет вид

CREATE DATABASE имя базы данных

Чтобы создать базу данных bookbiz, введите следующую команду:

SQL:

create database bookbiz



(SQL Anywhere для создания базы данных использует не команду CREATE DATABASE, а специальную утилиту инициализации.)

В зависимости от реализации в запись этого оператора могут входить разные предложения, позволяющие вам (или системному администратору) управлять расположением базы данных (устройством базы данных, на котором физически расположена база данных), ее размером (пространством, которое может использоваться под базу данных) и другими параметрами. Например, общий синтаксис команды CREATE DATABASE в Sybase System 11 SQL Server имеет вид

CREATE DATABASE имя базы данных [ON {DEFAULT имя устройства} [ = SIZE] [ , имя устройстБа [ = SIZE]] ] [LOG ON устройство базы данных [ = SIZE] [ , устройство базы данных [ = SIZE]] ] [WITH OVERRIDE] [FOR LOAD]

Чтобы получить представление о синтаксисе этого оператора в разных коммерческих системах, просмотрите Приложение Б. В нем представлен полный синтаксис большинства команд, описываемых в этой книге.

Выбор базы данных

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

USE имя базы данных

DATABASE имя базы данных

Возможно также, что для выбора нужной базы данных вам потребуется использовать команду CONNECT или возможности графического интерфейса пользователя. Уточните это в документации к своей системе.

СОЗДАНИЕ ТАБЛИЦ

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

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

В большинстве реализаций SQL таблицей владеет создавший ее пользователь, выдавая разрешения на ее использование другим пользователям. Чтобы создать таблицу, по меньшей мере, надо сделать следующее.

Задать имя таблицы.

Задать имена составляющих ее столбцов.

Определить тип данных для каждого столбца.

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

Для максимальной гибкости в базе данных bookbiz при определении таблиц используются только эти основные элементы. Тем не менее большинство производителей предусматривают дополнительные возможности для оператора CREATE TABLE, поддерживаемые стандартом SQL-92.



1 ... 12 13 14 [ 15 ] 16 17 18 ... 105

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика