Материал: Graber_Martin_-_SQL_dlya_prostykh_smertnykh_-_2014

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Глава 1. Введеиие в реляциоиные базы даииых

танавливает связь с таблицей Salespeople, которая дает информацию об этом продавце (salespeople). Очевидно, что продавец, который обслуживает данного покупателя, су­ ществует, т.е. значение поля snum в таблице Customers присутствует также и в таблице Salespeople. В этом случае мы говорим, что система находится в состоянии ссылочной целостности (referential iпtegrity). Это понятие более подробно и формально объясня­ ется в главе 19.

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

Перед вами объяснение столбцов таблицы l .l :

ПОЛЕ

СОДЕРЖИМОЕ

snum

Уникальный номер, приписанный каждому продавцу ("номер

 

служащего")

sname

Имя продавца

city

Место расположения продавца

comm

Вознаграждение (комиссионные) продавца в форме с десятич­

 

ной точкой

Таблица 1.2

содержит следующие столбцы:

ПОЛЕ

СОДЕРЖИМОЕ

cnum

Уникальный номер, присвоенный покупателю

cname

Имя покупателя

city

Место расположения покупателя

rating

Цифровой код, определяющий уровень предпочтения данного

 

покупателя. Чем больше число, тем больше предпочтение

snum

Номер продавца, назначенного данному покупателю (из табли­

 

цы Salesperson)

И, наконец, столбцы таблицы 1.3:

6

 

Итоги

 

 

ПОЛЕ

СОДЕРЖИМОЕ

onum

Уникальный номер, присвоенный данной покупке

amt

Количество

odate

Дата покупки

cnum

Номер покупателя, сделавшего покупку (из таблицы Customers)

snum

Номер продавца, обслужившего покупателя (из таблицы

 

Salespeople)

Итоги

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

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

возможности их применения.

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

языке и ориентирует вас в изложенном в книге материале.

7

Работаем на SQL

1.Какое поле в таблице Custoшers является первичным ключом?

2.Дайте объяснение столбцу с номером 4 в таблице Custoшers?

3.Как иначе называются строка и столбец?

4.Почему нельзя попросить показать вам первые пять строк таблицы?

(Ответы см. в приложении А.)

8

2

Введение в SQL

Глава 2. Введение в SQL

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

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

тому, что этот материал расположен в начале книги.

Как работает SQL?

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

который может иметь произвольное число строк, а затем создавать процедуры для

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

l.Посмотреть очередную строку таблицы.

2.Оттестировать ее и убедиться, что это та строка, которая Вас интересует.

3.Запомнить ее до тех пор, пока не будет просмотрена вся таблица.

4.Определить, есть ли в таблице еще строки.

5.Если в таблице еще есть строки (просмотрены не все строки), то вернуться к шагу

1.

6.Если в таблице больше нет строк (просмотрены все строки таблицы), вывести все

значения, полученные на третьем этапе.

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

единого целого.

Как осуществляется связь с АNSI-таблицей?

Стандарт SQL определен ANSI (American National Standards Institute - Американ­

ским национальным институтом стандартов). SQL не является изобретением ANSI, он - продукт исследований фирмы IВМ. Однако другие компании тоже внесли свою лепту в развитие SQL; по крайней мере, компания Oracle превзошла IВМ в создании популярного рыночного программного SQL-продукта.

После того, как на рынке появилось несколько конкурирующих SQL-продуктов, ANSI определила стандарт, которому все они должны удовлетворять. Однако вве-

10

Источник: https://studfile.net/preview/16418473/