Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Обзор языка SQL

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

CREATE TABLE S (SN CHAR(5), SNAME CHAR(20), STATUS NUMERIC(5), CITY CHAR(15), PRIMARY KEY (SN)); CREATE TABLE P (PN CHAR(6), PNAME CHAR(20), COLOR CHAR(6), WEIGHT NUMERIC(5,1), CITY CHAR(15), PRIMARY KEY (PN)); CREATE TABLE SP (SN CHAR(5), PN CHAR(6), QTY NUMERIC(9), PRIMARY KEY (SN, PN), FOREIGN KEY (SN) REFERENCES S, FOREIGN KEY (PN) REFERENCES P);

Рис. 2.6. Определение БД поставщиков и деталей средствами языка SQL

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

CHARACTER (n) INTEGER DATE INTERVAL

BIT (n) SMALLINT TIME

NUMERIC (r, q) FLOAT (p) TIMESTAMP DECIMAL(p,q)

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

Определив базу данных, можно начинать выполнять в ней различные операции, задаваемые с помощью операторов манипулирования данными языка SQL: SELECT, INSERT, UPDATE и DELETE. В частности, можно выполнять с данными реляционные операции выборки, проекции и соединения, причем во всех этих случаях следует использовать один и тот же оператор манипулирования данными языка SQL: SELECT.

Выборка:

SELECT SN, PN, QTY

FROM SP

WHERE QTY < 150

Проекция:

SELECT SN, CITY

FROM S

Соединение:

SELECT S.SN, SNAME, STATUS, CITY, PN, QTY

FROM S, SP

WHERE S.SN = SP.SN

Замечание: В данном случае показан пример указания уточненных имен (S.SN, SP.SN), которые допустимы всегда, а неуточненные имена допустимы, только если при этом не возникает неоднозначности.

В языке SQL допустима сокращенная форма предложения SELECT, как показано в следующем примере:

SELECT * -- или SELECT S.* (т.е. символ * может быть уточнен)

FROM S

Результат выполнения последнего запроса – вся таблица S, т.е. * - сокращение для списка всех имен столбцов. Комментарий в конце строки отделяется ‘--’.

Перейдем к операциям обновления. Операции INSERT, UPDATE и DELETE обрабатывают данные на уровне множеств. Рассмотрим несколько примеров обновления на уровне множеств для базы данных поставщиков и деталей:

INSERT

INTO TMP -- Предполагается, что в TMP два столбца PN, WEIGHT

SELECT PN, WEIGHT

FROM P

WHERE COLOR = ‘Красный’

Данный оператор вставляет в таблицу TMP номера деталей и соответствующие веса всех деталей с цветом ‘Красный’.

UPDATE S

SET STATUS = STATUS * 2

WHERE CITY = ‘Москва’

Приведенный выше оператор UPDATE удваивает статус всех поставщиков в ‘Москве’.

Приведенный ниже оператор удаляет из таблицы SP все строки с информацией о детали с номером ‘P2’.

DELETE

FROM SP

WHERE PN = ‘P2’

<== предыдущая лекция | следующая лекция ==>
Введение в язык SQL | Представления
Поделиться с друзьями:


Дата добавления: 2014-01-13; Просмотров: 310; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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