Учебный курс по SQL

1.

Учебный курс по SQL
Программисты делятся на две категории: первая это те, которые запустили UPDATE без условия
WHERE, и вторая – те, которым предстоит ее
запустить.

2.

Обзор курса
Курс предназначен для быстрого изучения основ Структурного
Языка Запросов (SQL). В нем будут даны формальные
определения основных операторов языка, описаны как главные
компоненты SQL, так и его расширения (на примере
разработанного фирмой Sybase диалекта Transact-SQL).
Отдельно будут рассмотрены вопросы приемы оптимизации
программного кода.
По окончании курса Вы должны быть способны применить
полученные знания при разработке реальных деловых
приложений.

3.

2.Выборка
2.Выборкаинформации
информациииз
избазы
базы
данных
данных
Разделы, изучаемые в курсе «FastTrack» - 24 часа
Разделы, изучаемые в курсе «FastTrack» - 24 часа
9.Манипулирование
9.Манипулированиеданными
данными
10.Транзакции
10.Транзакцииииблокировки
блокировки
11.Переменные,
11.Переменные,хранимые
хранимыепроцедуры,
процедуры,
курсоры
и
триггеры.
курсоры и триггеры.
12.Оптимизация
12.Оптимизацияиинастройка
настройка
производительности.
производительности.Основные
Основныеошибки
ошибки
иикак
их
избежать
как их избежать
Разделы, изучаемые в курсе «Programming» - 16 часов
Разделы, изучаемые в курсе «Programming» - 16 часов
16часов
часов
16
6.Объединение
6.Объединениетаблиц
таблицииподзапросы
подзапросы
часа
44часа
5.Группировка
5.Группировкаданных
данныхииагрегатные
агрегатные
функции
функции
8.Ограничения
8.Ограниченияиииндексы.
индексы.
Представления
Представления
часов
88часов
4.Основные
4.Основныефункции
функции
часа
44часа
3.Сортировка
3.Сортировкаииметоды
методыотбора
отбора
7.Создание
7.Созданиеииуправление
управление
таблицами
таблицами
часов
44часов
1.Введение
1.Введение
часа
44часа
Список изучаемых
разделов

4.

Соглашения
Соглашения принятые в тексте.
Команды SQL, функции набраны в верхнем
регистре
SELECT * FROM syslogins
Переменные, имена пользователей, имена
столбцов набраны в нижнем регистре
… name FROM …
Англоязычные термины набраны в нижнем
регистре жирным шрифтом
foreign key
Определения отдельных понятий, название книг,
ссылки на документацию и названия курсов
набраны курсивом

5.

Соглашения
Соглашения принятые в программном
коде
Команды SQL, функции набраны в верхнем
регистре жирным шрифтом
SELECT * FROM …
Переменные, названия функций и таблиц, имена
пользователей, имена столбцов набраны в нижнем
регистре
… name FROM syslogins

6.

Регламент
Порядок проведения занятий, лабораторных и
контрольных работ.

7.

1.Введение
Цели
Реляционная модель баз данных
Определение реляционной СУБД и реляционные операции
Язык SQL и базовые SQL предложения
Модели данных.Объекты
Методы проектирования
Итог

8.

Цели
После окончания введения вы должны:
Настроится на рабочий лад
Уметь умно рассуждать о теоретических и
физических аспектах реляционных СУБД

9.

Концепция реляционной модели
В 1970 году доктор И.Ф. Кодд предложил использовать реляционный
подход к управлению базами данных, основанный на математической
модели, использующей методы реляционной алгебры и реляционного
исчисления.
Реляционная модель отвечает следующему неформальному определению,
которое дал С. Дейт:
1.
2.
3.
Вся информация в базе данных представлена в виде набора таблиц(отношений)
Для работы с таблицами она поддерживает набор реляционных операторов выбора, проектирования и объединения
Обеспечивает механизм целостности и непротиворечивости данных
Реляционная модель
Принципы реляционной модели были впервые разработаны доктором И.Ф. Коддом в июне 1970 года в
работе «A relational Model of Data for Large Shared Data Banks».В этой работе Кодд предложил
использовать реляционную модель для СУБД.
Наиболее популярными в то время были сетевые модели и модели, использующие структуру плоских
файлов. Кодд, разработал список критериев, которым должна удовлетворять реляционная
модель. Этот список, часто ошибочно называемый «12 правилами Кодда», состоит из 13 правил и
используется совместно с более общим определением Дейта.

10.

Информационное правило (12 правил Кодда)
Вся информация в реляционной базе данных (включая таблицу и названия(имена) столбца)
представляется явно как значения в таблицах.
Каждая таблица (отношение, relation) состоит из строк и столбцов. Каждая строка имеет
отдельный объект или сущность(entity) – человека, компанию, счет. Каждый столбец
описывает одну характеристику объекта – имя человека или его адрес, тел.номер
компании или название счета.
Таблица Users пользователи
Таблица Accounts Счета
Номер
Наименовани
е
Дата
открытия
Дата
изменения
0
33333
Счет Иванова
11.11.03
10.11.04
1
44444
Счет Петрова
11.11.04
11.11.04
Логин
Фамилия
Имя
Отчество
Статус
BM03
Иванов
Иван
Иванович
BM04
Петров
Петр
Петрович

11.

Гарантированный доступ (12 правил Кодда)
Используя комбинацию имени таблицы, первичного ключа и имени столбца
гарантируется доступ к любому значению.
Пара слов о принятой терминологии.
COUNTRY
CURRENCY
4
2
COUNTRY_ID
1
COUNTRY_NBU
COUNTRY_NAME
3
CURR_ID
CURR_ID
UAH
EUR
978
Евро
EUR
USD
840
Доллары США
CURR_NBU
CURR_NAME
UA
UKR
Украина
FR
FRA
Франция
US
USA
США
USD
UAH
802
Украинская
гривна
BN
NULL
Бруней
Даруссалам
BND
BND
096
Брунейский
доллар
5
6
Primary key
Foreign key
Primary key

12.

Терминология
Реляционная база данных представляет собой множество связанных таблиц. Таблица - это базовая структурная
единица СУБД. Все данные представляются в табличном формате – другого способа просмотреть
информацию в базе нет. Каждая таблица состоит из столбцов и строк.
На предыдущем слайде представлены две таблицы – справочники стран и валют.
Отдельная строка (кортеж) описывает отдельный объект или сущность (entity).Каждая строка в
таблице может быть и должна единственным образом идентифицироваться по одному из своих
уникальных значений. Порядок, в котором строки помещаются, в общем случае, значения не имеет.
Столбец (поле, атрибут) описывает однотипный набор свойств множества объектов. В данном
примере, это код страны. Этот поле является первичным ключом.
Столбец, который не является ключевым полем.
Столбец, который представляет собой внешний ключ(foreign key).
Каждый элемент данных, или поле (value), определяется пересечением строки и столбца таблицы.
Чтобы найти требуемый элемент данных, необходимо знать имя содержащей его таблицы, столбец и
значение его первичного ключа (primary key), или уникального идентификатора.
Поле может и не иметь значения. В таком случае говорят, что поле содержит “NULL”.Работу с NULL
значениями мы будем рассматривать в последующих разделах.
Поскольку данные о различных объектах содержатся в разных таблицах, часто возникает потребность в
объединении информации из разных таблиц. СУБД позволяет связывать данные в разных таблицах с
помощью механизма внешних ключей. Внешний ключ (foreign key) – это столбец или набор столбцов,
которые ссылаются на первичный ключ в той же или другой таблице.
Возможность связывать данные из разных таблиц упрощает проектирование, делает его более наглядным и
повышает управляемость.

13.

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

14.

Логическая независимость (12
правил Кодда)
Logical data independence означает, что изменение взаимосвязей
между таблицами, столбцами и строками не влияет на правильное
функционирование программных приложений.

15.

Физическая независимость (12
правил Кодда)
Physical data independence - с точки зрения пользователя,
представления данных не зависит от способа их физического
хранения. Как следствие этого физическое перемещение данных
никоим образом не может повлиять на логическую структуру СУБД и
восприятие данных пользователем.

16.

Язык данных (12 правил Кодда)
Используется по крайней мере один язык высокого уровня, обеспечивающий
определение данных, манипулирование ими, правила целостности,
авторизацию, и транзакции. В мире коммерческих СУБД такой язык
получил название SQL. Он используется для манипуляции с
данными (data manipulation), - выборки и модификации,
определения данных (data definition) и администрирования
данных (data administration).
Любая операция по выборке, модификации, определению или
администрированию выполняется с помощью оператора (statement)
или команды (command) SQL.И ANSI, и ISO приняли SQL в качестве
стандарта для реляционных СУБД.

17.

SQL операторы
Select
Data retrieval – оператор обеспечивает выборку данных
из СУБД
Insert, update, delete
Data manipulation language (DML) – набор операторов,
которые позволяют вставлять новые, изменять
существующие и удалять ненужные строки из таблиц.
Create, alter, drop, rename
Data definition language (DDL) - набор операторов,
позволяющий создавать, изменять и удалять структуры
данных в СУБД.
Grant, revoke
Data control language (DCL) – набор операторов,
обеспечивающих пользовательский доступ как к к
отдельным объектам СУБД, так и к самой СУБД
Commit, rollback, savepoint
Transaction control - набор операторов, управляющие
изменениями сделанными с помощью DML операторов

18.

Реляционность (12 правил Кодда)
Реляционная СУБД должна поддерживать основные реляционные операции.
Существует три реляционные операции по выборке данных – проектирование,
выбор (иногда называемый ограничением (restriction)) и объединение, которые
позволяют строго указать системе, какие данные Вы хотите увидеть. Операция
проектирования выбирает столбцы, операции выбора – строки, а операция
объединения собирает вместе данные из связанных таблиц.
Все эти три операции записываются с помощью одного оператора – SELECT.
Учитывая правила логической и физической независимости, язык SQL можно
рассматривать как непроцедурный язык программирования, так как он
описывает то, ЧТО вы хотите получить, а не КАК вы хотите это сделать.

19.

Системная поддержка NULL (12
правил Кодда)
Поддержка неизвестных значений (NULL) – различаются неизвестные, нулевые
значения и пропуски данных.
В реальности мы редко обладаем всей полнотой информации. Для поддержания
целостности данных и определения наличие неопределенной информации в
таблицах используют понятие «NULL».
NULL – не означает пустое поле или обычный арифметический нуль. Он отражает
тот факт, что значение неизвестно. Существенно, что использование NULL
инициирует переход с двухзначной логики (да/нет, что-то/ничего) на
трехзначную (да/нет/может быть или что-то/ничего/не уверен).

20.

Системный каталог (12 правил Кодда)
Реляционный каталог - описание базы данных представляется на логическом уровне как
таблицы и доступно для интерактивных запросов к словарю данных
В реляционных СУБД существует два типа таблиц – пользовательские и системные таблицы.
Пользовательские таблицы содержат информацию, для которой собственно и создавалась
база данных – данные по сделкам, заказам, персоналу и т.д. Системные таблицы –
содержат описание самой базы данных.
Server
System
tables
User tables

21.

Виртуальные таблицы (12 правил
Кодда)
Поддержка механизма альтернативного способа просмотра и модификации данных.
View – можно рассматривать, как перемещаемую по таблицам рамку, через
которую можно увидеть только необходимую вам часть информации. View
можно получить из одной или нескольких таблиц, включая другие View, и
используя любые операции выбора, проектирования и объединения.
View – в отличие от базовых таблиц, физически не хранятся в СУБД.
View – это не копия некоторых данных помещенных в другую таблицу. Когда
изменяются данные в View , то тем самым изменяются данные в базовых
таблицах.

22.

Множественные операции (12
правил Кодда)
Отвечая этому правилу, СУБД должна поддерживать не только множественные
выборки, но также множественные операции вставки, модификации и
удаления.

23.

Целостность данных(12 правил
Кодда)
Несогласованность или противоречивость данных может возникать по многим
причинам:
вследствие сбоя системы, проблемы с аппаратным обеспечением, ошибки в
системном программном обеспечении или логических ошибок в
пользовательских приложениях.
Для предотвращения подобного типа ошибок реляционные СУБД предлагают ряд
механизмов и технологий.
Один из таких механизмов, обычно называемый управлением транзакциями
(transaction management), гарантирует, что определенный пользователем
набор команд SQL будет или выполнен до конца, или будет полностью
отменен.
Другой тип обеспечения целостности данных, называемой объектной целостностью
(entity integrity), связан с корректным проектированием базы данных.В
частности, объектная целостность требует, чтобы ни один первичный ключ не
имел значения NULL.
Третий тип целостности, называемый ссылочной целостностью, означает
непротиворечивость между частями информации, повторяющимися в разных
таблицах.

24.

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

25.

Устойчивость (непротиворечивость)
(12 правил Кодда)
Язык баз данных должен предоставлять возможность определения правил
целостности. Они должны быть сохранены в репозитарии, и не существует
способа обойти правила целостности, определенные через язык баз данных,
используя языки низшего уровня.

26.

Модели данных
«Создать нужную структуру базы данных (по крайней мере в простых случаях)
зачастую проще, чем строго сформулировать, какой она должна быть»
К.Дж. Дейт.
Модель – краеугольный камень дизайна приложений, использующих СУБД. Модель
помогает связать, описать, конкретизировать определенные концепции и идеи, а
потом исследовать и проанализировать их, имитируя реальные процессы.
Хорошая модель, это в первую очередь, «прозрачная» структура. Прозрачная
структура должна максимально упрощать взаимодействие с базой данных,
обеспечивать представление информации в понятном и общепринятом формате,
обеспечивать непротиворечивость данных и механизмы анализа и
предотвращения ошибок.

27.

Этапы большого пути
Бизнес модель
Концептуальная
модель
Физическая
модель
СУБД
Создание модели при проектирование системы обычно состоит из следующих фаз:
Описание бизнес-процессов и создание бизнес-спецификаций, являющихся
прямым отражением преставления в человеческом мозгу исследуемой
концепции (бизнес модель).
Разделение данных на отдельные сущности (объекты) и построение диаграммы
зависимостей между ними (E-R diagram). На этом этапе бизнес-данные
отделяются от бизнес-действий. Тогда как, типы взаимодействий между
объектами могут изменяться, сами объекты имеет тенденцию оставаться
постоянными (концептуальная модель).
На этапе преобразования концептуальной модели в физическую, построенные
логические взаимосвязи между сущностями преобразуются в конкретные
механизмы их реализации для данной СУДБ. На этом этапе можно определить
низкоуровневые настройки и ограничения модели данных.

28.

Проектирование
Основными методами проектирования является моделирование зависимостей
(entity-relationship modeling) и нормализация (normalization).И если построение
E-R диаграмм облегчает и упрощает сам процесс моделирования, то
нормализация наиболее полезна для проверки созданной структуры.
Возможны четыре вида связей между объектами (степеней отношения):
Первый тип – связь ОДИН-К-ОДНОМУ (1:1): в каждый момент времени
каждому экземпляру сущности А соответствует 1 или 0 экземпляров сущности В
Второй тип – связь ОДИН-КО-МНОГИМ (1:М): одному экземпляру сущности
А соответствуют 0, 1 или несколько экземпляров сущности В.Так как между
двумя сущностями возможны связи в обоих направлениях, то существует еще
два типа связи МНОГИЕ-К-ОДНОМУ (М:1) и МНОГИЕ-КО-МНОГИМ (М:N).
Каждый такой тип связи может быть объявлен обязательным (mandatory):
каждому экземпляру сущности А должен (must be) соответствовать 1 или более
экземпляров сущности В
Или опциональным:
каждому экземпляру сущности А может (may be) соответствовать 0 или более
экземпляров сущности В

29.

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

30.

Нормальные формы
Таблица находится в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее
строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не
пусто. Т.е, первая нормальная форма требует, чтобы на любом пересечении строки и столбца
находилось одно значение, которое должно быть атомарным.
Таблица находится во второй нормальной форме (2НФ), если она удовлетворяет определению
1НФ и все ее поля, не входящие в первичный ключ, связаны полной функциональной
зависимостью с первичным ключом. (Функциональная зависимость. Поле В таблицы
функционально зависит от поля А той же таблицы в том и только в том случае, когда в любой
заданный момент времени для каждого из различных значений поля А обязательно существует
только одно из различных значений поля В). Т.е., любой не ключевой столбец зависит от всего
первичного ключа.
Таблица находится в третьей нормальной форме (3НФ), если она удовлетворяет определению
2НФ и ни одно из ее не ключевых полей не зависит функционально от любого другого не
ключевого поля.
Таблица находится в пятой нормальной форме (5НФ) тогда и только тогда, когда в каждой ее
полной декомпозиции все проекции содержат возможный ключ.
Четвертая нормальная форма (4НФ) является частным случаем 5НФ, когда полная
декомпозиция должна быть соединением ровно двух проекций.

31.

Итог
Реляционные СУБД состоят из таблиц (отношений), над которыми
определены реляционные операции и ряд дополнительных
специфических правил обеспечения логической целостности,
определяемая пользователем.
Sybase ASE - является реляционной СУБД, которая позволяет хранить
данные и манипулировать ими с помощью расширения SQL – TransactSQL.

32.

Таблицы, используемые в этом
курсе
sy b sy ste m d b
M a ste r D a ta b a se
n am e
N
srv secm ech
s r v id
p a r t ic ip a n t
p a r tic ip a n t
s p a re
s ta tu s
ow ner
x a c tk e y
p r o to c o l
g trid
s ta te
p a r td a ta
b o o tc o u n t
srv n a m e
srv n a m e
srvn a m e
1
N
r a n g e id
syscu rcon Ю gs
s rv id
s r v c la s s
s r v s ta tu s
srv se c m e c h
v a lu e
srv n am e
s rv c o st
com m ent
d a ta ty p e
1
N
lo g v e rs
s t a r ttim e
c o o r d ty p e
N
sysservers
conЮ g
s rv n e tn a m e
s r v id
1
sy sco n Ю g u res
m e m o ry _ u se d
con Ю g
d is p la y _ le v e l
s ta tu s
m essag e_ n u m
v a lu e 2
a p f_ p e rc e n t
d e f v a lu e
u n it
1c o n Ю g
1
rem o te sr v id
v a lu e 3
v a lu e 4
x a c tk e y
1
s y s lo g in s
s ta tu s
a c c d a te
d lev e l
s u id
la n g id
1
to tc p u
m a s te r d b id
n a m e le n
1
su id
s r id
N
s ta tu s
N
s r id
s y s la n g u a g e s
s p id
k p id
Ю d
e n g in e n u m
e x e c la ss
s ta tu s
p r io r it y
s u id
a fЮ n ity
h o s tn a m e
id
dbnam e
1
1n a m e
nam e
N
c o n n e c tio n
srv n a m e
p a ssw o rd
N
1
la n g u a g e
audЯ ags
d b n am e
N
f u lln a m e
N
days
sy sch a r se ts
nam e
id
d e s c r i p tio n
s r id
d e Ю n it io n
s ta tu s
id
1
s u id
c la s s
Ю d
s u id
nam e
s ta tu s
p assw o rd
lo g in c o u n t
s r id
1
a v a ila b le _ s e r v ic e
cm d
o rig su id
cpu
b lo c k _ x lo id
p h y s ic a l_ io
c lie n tn a m e
s e s _ id
page
c o n te x t
1
ty p e
row
s p id
lo id
N
ite r a tio n s
k p id
s y s m o n ito r s
s y s lis te n e r s
d b id
Ю e ld _ n a m e
n e t_ ty p e
g ro u p _ n a m e
a d d re s s _ in fo
Ю e ld _ id
1
g id
tra n _ n a m e
d b id
tim e _ b lo c k e d
u id
d b id
N
s p id 1
N
sy sd a ta b a se s
1
d b id
1
1
nam e
d b id
s ta tu s
Nd b i d
s u id
N
1
v e r s io n
lo g p tr
1
c rd a te
s u id
s ta tu s 2
N
d b id
audЯ ags
1
d e fta b a u d
s y s d e v ic e s
1
S y b a s e A d a p t iv e S e r v e r
E n t e r p r is e S y s t e m T a b le s
D ia g r a m , a n e n t it y
r e la tio n s h ip d ia g r a m fo r
S y b a s e A d a p t iv e S e r v e r
E n te r p r is e 1 2 .5 .
d b id
id
Nd b i d
d b id
s u id
lo w
N
sy su sa g es
nam e
d b id
v sta rt
seg m a p
pad
v s ta r t b e tw e e n lo w , h ig h
h ig h
phynam e
s ta tu s
m ir r o r n a m e
v alu e
d e s c r ip tio n
u id
1
Nl o i d
S y s te m T a b le s D ia g ra m
ite r d a te
lin e n u m
b lo c k e d
1
N
s p id 1
siz e
1
c rd ate
seg m a p
N
d b id
d efvw au d
1
d e fp ra u d
1
To o r d e r a d d i tio n a l p o s te rs , c a ll
(8 0 0 ) 8 -S Y B A S E (in U S A a n d C a n a d a )
1n a m e
P a rt N u m b e r L 0 0 2 9 7
S yb ase, In c.
s y s lo g s h o ld
ls ta r t
c n tr lty p e
S y b a s e A d a p tiv e
S e rv e rЄ E n te rp ris e
s y s te s t lo g
1
s tm t n u m
m em usage
NЮ d , s p i d
id
d b id
se c_ m ech _n a m e
sy ssecm ech s
s p id 1
1
p w d a te
s o r tЮ le
id
1
s y s s r v r o le s
ty p e
c s id
su id
nam e
1
b lo c k _ x l o id
N
e n d tim e
h o stp r o c e ss
k p id
1l a s t _ k p i d
id le _ 4
s y s lo c k s
lo id
s ta r t d a y
1n a m e
p ro c id
1
d b id
s t a te
1
s ta r tt im e
sy s_ id ,
s ta r ttim e
1
lo g in c o u n t
s r id
s e s _ id
1c u r _ k p i d
id le _ 3
id
se c_ m ech _ n am e
k p id
id le _ 2
endday
su id
srv n a m e
nam e
sta tu s
sp are
p w d a te
n am e
1
lo id
sy s_ id
N
Ю d , s p1 i d
s y s s e s s io n s
la n g u a g e
a lia s
u p g ra d e
s p id
s y s _ id , s e s _ id
x a c tn a m e
n am e
id le _ 1
s ta t u s
N
r e s u ltlim it
s u id
o s p r o c id
a fЮ n iti e d
s p a c e lim it
s u id
la s t_ k p id
nam e
sy sp ro cesses
N
1e n g i n e
e n g in e
c u r_ k p id
s ta te
tim e lim it
m o n th s
N
s u id
o sprocn am e
s p id
fa ilo v e r
s ta tu s
to tio
s y s lo g in r o le s
s q ls t a te
s ta tu s 2
s ta r ttim e
c o o r d in a to r
lo id
s u id
N
se v e rity
d e s c r ip tio n
1
s u id
s u id
s u id
s h o r tm o n th s
p ro g r a m _ n a m e
1a p p n a m e
s y s e n g in e s
s p id
s y s tr a n s a c tio n s
s ta tu s
e rro r
la n g id
sp are
1
1
r e m o te u s e r n a m e
sysm essages
d a te Ю r s t
sc o pe
lim itid
e n g in en u m
r e m o te s e rv e r id
d a te f o r m a t
r a n g e id
e n fo rc e d
1
n am e
la n g id
v a lu e 2
lim itv a lu e
nam e
s y s r e m o t e lo g in s
la n g id
p a re n t
v alu e
s ta tu s
appnam e
1
ty p e
d b id
la n g id
conЮ g
com m ent
a c tio n
s y s t im e r a n g e s
id
N
nam e
d b id
d b id
m a s te rx a c tid
re se rv e d
s ta r ttim e
s p id
nam e
page
x lo id
d b id
1
1
s ta tu s 3
n am e
s ta tu s 4
1
6 4 7 5 C h ristie A v e n u e
E m e r y v ille C A 9 4 6 0 8
U . S . A .
x a c tid
b itm a s k
segm e n t
s u id
la n g id
u id
N
N
e rro r
c u r ra u th
id
N
1
p ro c_ n a m e
s u id
id
s ta tu s
1
1
ty p e
s ta tu s
N
u id
1
s u id
s u id
id
c la s s
u id
a ttr ib u te
N
o b je c t_ ty p e
a c tio n
o b j e c t_ c i n fo
p r o te c tty p e
o b je c t
c o lu m n s
g ra n to r
u id
N
id
m a x le n
in d id
m a x ir o w
keycnt
keys1
keys2
1
u id
in d id
sy so b je c ts
1
nam e
im a g e _ v a lu e
id
le a f r o w s iz e
com m ent
a c t iv e s t a t i d
s ta tu s
in d e x h e ig h t
le a f c n t
r s la s tp a g e
in d e x d e l
Ю l l_ fa c to r
schem acnt
ex p _ ro w s ize
sy s sta t2
id e n t ity g a p
c r d a te
1
fo rw ro w c n t
sy sja r s
frla sto a m
d e lr o w c n t
f r la s tp a g e
d p ag ec rcn t
c o n o p t_ th ld
js ta tu s
ip a g e c rc n t
sp a re 3
ji d
d row c rc n t
e m p ty p g c n t
jn a m e
oam apgcnt
sp a re 4
u id
u id
u s e r ty p e
1
a llo w n u lls
sy sx ty p e s
N
c o lid a r r a y
ty p e
le n g th
c o lid 2
s ta tu s
id
1
N
1t d e f a u l t
N
ty p e
id
sequence
h ie ra rc h y
N
v e r s io n ts
N
1
lo g in a m e
Ni d
x d b id
d o m a in
a c c e s s ru le
id
1
id
N
1
s ta tu s
s e la ll
d e p id
r e s u lto b j
depnum ber
re a d o b j
M essages
O b je c ts
t a b le id
c o n s t id
1i d
N
N
num ber
id
d o m a in
v e rsio n
N
N
u se r ty p e
N
I n te g r ity
R e la tio n s h ip s
s y s c o n s tr a in ts
N
c o n s t r id
1
c o n s trid
ta b le i d
e rro r
p r in tf m t
p re c
c o lid
s c a le
s ta tu s
r e m o te _ ty p e
ty p e
re m o te _ n a m e
le n g th
x s ta tu s
o ffse t
x ty p e
u se rty p e
x d b id
1
1
P ro cesses
& L ocks
c o n s tr id
1
s ta tu s
in d e x id
c o n s tr id
ta b le id
r e f ta b id
p m ryd bn a m e
N
L an guage &
C h a r a c te r S ets
k ey cn t
1
sta tu s
1
fr g n d b id
id , c o lid
1i d , c o l i d
N
sy sreferen ces
c o n s tr id
sp are2
erro r
ta b le id , c o lid
N
N
r e fta id
N
c o lid
num ber
c d e fa u lt
u s e r ty p e
N
ta b le id
s y s c o lu m n s
c d e fa u lt
x ty p e id
td e fa u lt
id
1
1i d
id
s ta tu s
id
id
num ber
c o n s tr id
cache
id
id
id
N
1
c k Ю rst
id
sy sp ro ced u res
T im e R a n g e s
& L im its
1
o b jsp a re
id
p re c
x tn a m e
x tc o n ta in e r
te x t
c o lid
id e n t
x ts o u r c e
x ts ta tu s
la n g u a g e
num ber
te x tty p e
s c a le
x tid
nam e
id
c79
d o m a in
p r in tf m t
x tu tid
x tm e ta ty p e
c0 —
S to ra g e
Ni d
sysd ep en d s
d e p id
audЯ ags
N
sy sty p e s
j b in a r y
x tc o n t a in e r
f o r m a tid
usedcount
tex t
id
s e ltr ig
1
id
s ta tu s
id
id
in s t r ig
1
s ta tid
hashkey
key8
d ep k ey 8
sp a re 1
1i d
d e ltr ig
u p d tr ig
id
m o d d ate
sequence
ex p d ate
u id
N
key1 —
depkey1 —
d e p id
N
1
1
sequence
1
id
id
sp a re 2
rsla s to a m
ro w c n t
u id
ty p e
s y s s ta t
N
sp a re 1
pagecnt
N
u se rs ta t
sy sco m m e n ts
R e m o te S e rv e r s
gu i d
s iz e
id
1
id
c s id
seg m e nt
s y s s ta tis tic s
id
id
s o id
c r d a te
d a t a r o w s iz e
U s e r s , R o le s
& P e r m is s io n s
ty p e
d e p id
1
keycnt
id
N
id , in d id
te x t_ v a lu e
id
1
keys3
1
id
C o n Ю g u r a tio n
s y s q u e r y p la n s
id
id
id
N
sy sta b sta ts
in t_ v a lu e
c h a r_ v a lu e
op
Ю rst
id , i n d id
o b je c t _ in f o 3
x a c t id
sp a re
s ta tu s 2
s ta tu s
u id
1
c o n tr o lp a g e
N
1
usagecnt
g id
u id
Ю r s tp a g e
id
p a r titio n id
N
ip g tr ip s
d is tr ib u tio n
nam e
e n v iro n
K ey
s y s lo g s
ty p e
n am e
ro o t
u id
1
sysk eys
lo g i n a m e
io am p g
1
s u id
1
x a c t id
sysgam s
m in le n
id
o b je c t_ in f o 2
j id
1
gran to r
o b je c t_ in f o 1
1
u id
1
segm en t
o a m p g tr i p s
sysu sers
1
u id
1
doam pg
c s id
N
sy sp ro tects
segm en t
nam e
s o id
s y s a ttr ib u te s
id
s ta tu s
N
1
x a c t id
nam e
s y s in d e x e s
id
lr i d
lr id
s ta te
segm ent
c u rra u th
p roc_ n am e
1
N
sy s se g m e n ts
seg m e n t
s y s r o le s
d le v e l
error
seg m e n t
fre e _ sp a c e
N
a lts u id
a lts u id
la n g id
se gm en t
N
N
s u id
u id
d e s c r ip tio n
s y s th re s h o ld s
N
r o le s
v ecto r
s u id
s y s a lte r n a te s
s y s p a r t it io n s
p m ry d b id
t a b le id , fo k e y 1 ...1 6
N
fr g n d b n a m e
N
M is c e lla n e o u s
sp are2
fo k ey 1 —
fo key 1 6
re fk e y 1 —
r e fk e y 1 6
untoaT hpmafsheemprenfer uesila gials. rnhtjmieaotosbi oennorafssevnh.tpehsiTrpeothhsr(le1aei t ntn:oc 1eot hts, lkh.ue1eAm:yrNle encrl, foea nNtltmaioo: tmNfinotsea) hnhs aes i pfheplopi prneaesetar qhasra ue,st ni ianbrdr neeg ldpsl aco btowiht oel eutnohmtsryihcantpiol pel lys-
f rg n d b n a m e
id , c o lid
1
r e f t a b id , r e f k e y 1 . ..1 6
p m ry d b n am e
N
a c c e s s r u le
d o m a in
s ta tu s 2
Nx d b i d
nam e
x ty p e
N
x tid
1
A ll D a ta b a se s
M L G p a rt n u m b er 7 0 2 0 4-0 1-12 5 0 -03

33.

Источники дополнительных
сведений
Transact-SQL® User's Guide. Adaptive Server Enterprise Version
12.5 Document ID: 32300-01-1250-02 Last Revised: May 2001,
Sybase, Inc
Reference Manual. Adaptive Server® Enterprise Version 12.5
Document ID: 36271-01-1250-01 Last Revised: June 2001, Sybase,
Inc
Performance and Tuning Guide. Adaptive Server Enterprise Version
12.5 Document ID: 33621-01-1250-02 Last Revised: May 2001,
Sybase, Inc
Кузнецов С.Д. Введение в стандарты языка баз данных SQL (
http://www.citforum.ru/database/sqlbook/index.shtml )
Ryan K. Stephens, Ronald Plew, Bryan Morgan, Jeff Perkins.Teach
Yourself SQL in 21 Days, Second Edition Macmillan Computer
Publishing.
Мартин Грабер. Понимание SQL.
English     Русский Правила