Введение в системы управления базами данных


Элементы теории множеств


Введение
Введение Основное назначение данного учебного пособия - дать систематическое введение в основы реляционной модели данных и принципы функционирования реляционных баз данных. Реляционная модель опис...
Пример 1
Пример 1ОтделСотрудникиДети сотрудников (интересы)ЦехИванов И.И.МашаЛЕГОПетяКнигиВидеоСашаКомпьютерыДимаСпортПетров П.П.АртурНичем не интересуетсяСидоров С.С.СергейКомпьютерыКнигиВалерийКнигиСтани...
Глава 1 Элементы теории множеств
Глава 1. Элементы теории множеств...
Множества
МножестваНаиболее простая структура данных, используемая в математике, имеет место в случае, когда между отдельными изолированными данными отсутствуют какие-либо взаимосвязи. Совокупность таких да...
Операции над множествами
Операции над множествамиОсновными операциями над множествами являются объединение, пересечение и разность. Определение 1. Объединением двух множеств называется новое множество Определение 2. Перес...
Декартово произведение множеств
Декартово произведение множествОдним из способов конструирования новых объектов из уже имеющихся множеств является декартово произведение множеств. Пусть и - множества. Выражение вида , где и , на...
Отношение
ОтношениеОпределение 6. Подмножество декартового произведения множеств называется отношением степени n (n-арным отношением). Определение 7. Мощность множества кортежей, входящих в отношение , назы...
Примеры отношений
Примеры отношений...
Бинарные отношения (отношения степени 2)
Бинарные отношения (отношения степени 2)В математике большую роль играют бинарные отношения, т.е. отношения, заданные на декартовом произведении двух множеств ....
Отношение эквивалентности
Отношение эквивалентности Определение 8. Отношение на множестве называется отношением эквивалентности, если оно обладает следующими свойствами: для всех (рефлексивность) Если , то (симметричность...
Отношения порядка
Отношения порядка Определение 9. Отношение на множестве называется отношением порядка, если оно обладает следующими свойствами: для всех (рефлексивность) Если и , то (антисимметричность) Если и ,...
Функциональное отношение
Функциональное отношение Определение 10. Отношение на декартовом произведении двух множеств называется функциональным отношением, если оно обладает следующим свойством: Если и , то (однозначность...
Еще пример бинарного отношения
Еще пример бинарного отношения Пример 5. Пусть множество есть следующее множество молодых людей: {Вовочка, Петя, Маша, Лена}, причем известны следующие факты: Вовочка любит Вовочку (эгоист). Петя...
Пример 1
Пример 1Кого Кто ВовочкаПетяМашаЛена ВовочкаЛюбит   Петя  Любит  Маша ЛюбитЛюбит  Лена Любит   Таблица 1. Матрица взаимоотношений Способ 4. При по...
Пример 2
Пример 2Кто любитКого любят ВовочкаВовочка ПетяМаша МашаПетя МашаМаша ЛенаПетя Таблица 2 Таблица фактов С точки зрения реляционных баз данных наиболее предпочтительным является четвертый способ, т...
Nарные отношения (отношения степени n)
n-арные отношения (отношения степени n) В математике n-арные отношения рассматриваются относительно редко, в отличие от баз данных, где наиболее важными являются именно отношения, заданные на дека...
Пример 3
Пример 3A (Преподаватель)B (Предмет)Q (Количество часов) ПушниковАлгебра40 ПушниковБазы данных80 ЦыгановГеометрия50 ШариповАлгебра40 ШариповГеометрия50 Таблица 3 Отношение "Читает лекции по-&...
Пример 4
Пример 4C (студент)B (предмет)A (Преподаватель) ИвановАлгебраШарипов ИвановБазы данныхПушников ПетровАлгебраПушников ПетровГеометрияЦыганов СидоровГеометрияЦыганов СидоровБазы данныхПушников Табли...
Транзитивное замыкание отношений
Транзитивное замыкание отношенийВведем понятие транзитивного замыкания, связанное с бинарными отношениями, которое понадобится в дальнейшем. Определение 11. Пусть отношение задано на декартовом кв...
Пример 5
Пример 5КонструкцияГде используется БолтДвигатель БолтКолесо ГайкаДвигатель ГайкаКолесо ДвигательАвтомобиль КолесоАвтомобиль ОсьКолесо Таблица 5 Отношение R Транзитивное замыкание состоит из корте...
Пример 6
Пример 6КонструкцияГде используется БолтДвигатель БолтКолесо ГайкаДвигатель ГайкаКолесо ДвигательАвтомобиль КолесоАвтомобиль ОсьКолесо БолтАвтомобиль ГайкаАвтомобиль ОсьАвтомобиль Таблица 6 Транзи...
Выводы
ВыводыМножество- это неопределяемое понятие, представляющее некоторую совокупность данных. Элементы множества можно отличать друг от друга, а также определять, принадлежит ли данный элемент данном...
Глава 2 Базовые понятия реляционной модели данных
Глава 2. Базовые понятия реляционной модели данных...
Общая характеристика реляционной модели данных
Общая характеристика реляционной модели данных Основы реляционной модели данных были впервые изложены в статье Е.Кодда [43] в 1970 г. Эта работа послужила стимулом для большого количества статей и...
Типы данных
Типы данныхЛюбые данные, используемые в программировании, имеют свои типы данных. Важно! Реляционная модель требует, чтобы типы используемых данных были простыми. Для уточнения этого утверждения р...
Простые типы данных
Простые типы данных Простые, или атомарные, типы данных не обладают внутренней структурой. Данные такого типа называют скалярами. К простым типам данных относятся следующие типы: Логический. Строк...
Структурированные типы данных
Структурированные типы данных Структурированные типы данных предназначены для задания сложных структур данных. Структурированные типы данных конструируются из составляющих элементов, называемых ко...
Ссылочные типы данных
Ссылочные типы данных Ссылочный тип данных (указатели) предназначен для обеспечения возможности указания на другие данные. Указатели характерны для языков процедурного типа, в которых есть поняти...
Типы данных используемые в реляционной модели
Типы данных, используемые в реляционной модели Собственно, для реляционной модели данных тип используемых данных не важен. Требование, чтобы тип данных был простым, нужно понимать так, что в реляц...
Домены
Домены В реляционной модели данных с понятием тип данных тесно связано понятие домена, которое можно считать уточнением типа данных. Домен - это семантическое понятие. Домен можно рассматривать ка...
Отношения атрибуты кортежи отношения
Отношения, атрибуты, кортежи отношения...
Определения и примеры
Определения и примеры Фундаментальным понятием реляционной модели данных является понятие отношения. В определении понятия отношения будем следовать книге К. Дейта [11]. Определение 1. Атрибут отн...
Пример 1
Пример 1Номер_сотрудникаФамилияЗарплатаНомер_отдела 1Иванов10001 2Петров20002 3Сидоров30001 Таблица 1 Отношение "Сотрудники" Определение 3. Реляционной базой данных называется набор отно...
Пример 2
Пример 2Реляционный терминСоответствующий "табличный" термин База данныхНабор таблиц Схема базы данныхНабор заголовков таблиц ОтношениеТаблица Заголовок отношенияЗаголовок таблицы Тело о...
Свойства отношений
Свойства отношений Свойства отношений непосредственно следуют из приведенного выше определения отношения. В этих свойствах в основном и состоят различия между отношениями и таблицами. В отношении...
Первая нормальная форма
Первая нормальная форма Труднее всего дать определение вещей, которые всем понятны. Если давать не строгое, описательное определение, то всегда остается возможность неправильной его трактовки. Есл...
Выводы
ВыводыРеляционная модель данных состоит из трех частей: Структурной части. Целостной части. Манипуляционной части. В классической реляционной модели используются только простые (атомарные) типы д...
Глава 3 Целостность реляционных данных
Глава 3. Целостность реляционных данныхВо второй части реляционной модели данных определяются два ограничения, которые должны выполняться в любой реляционной базе данных. Это: Целостность сущносте...
Nullзначения
Null-значенияОсновное назначение баз данных состоит в том, чтобы хранить и предоставлять информацию о реальном мире. Для представления этой информации в базе данных используются привычные для прог...
Трехзначная логика (3VL)
Трехзначная логика (3VL)Т.к. null-значение обозначает на самом деле тот факт, что значение неизвестно, то любые алгебраические операции (сложение, умножение, конкатенация строк и т.д.) должны дава...
Пример 1
Пример 1ANDFTU FFFF TFTU UFUU Таблица 1 Таблица истинности AND...
Пример 2
Пример 2ORFTU FFTU TTTT UUTU Таблица 2 Таблица истинности OR...
Пример 3
Пример 3NOT FT TF UU Таблица 3 Таблица истинности NOT Имеется несколько парадоксальных следствий применения трехзначной логики. Парадокс 1. Null-значение не равно самому себе. Действительно, выраж...
Потенциальные ключи
Потенциальные ключиПо определению, тело отношения есть множество кортежей, поэтому отношения не могут содержать одинаковые кортежи. Это значит, что каждый кортеж должен обладать свойством уникальн...
Пример 4
Пример 4Табельный номерФамилияЗарплата 1Иванов1000 2Петров2000 3Сидоров3000 Таблица 4 Отношение "Сотрудники" При первом взгляде на таблицу, изображающую это отношение, может показаться,...
Пример 5
Пример 5ABC 1Иванов1000 2Петров2000 3Сидоров3000 Предъявим кому-нибудь эту таблицу и не сообщим смысл наименований атрибутов. Очевидно, что невозможно судить, не понимая смысла данных, может или н...
Целостность сущностей
Целостность сущностейТ.к. потенциальные ключи фактически служат идентификаторами объектов предметной области (т.е. предназначены для различения объектов), то значения этих идентификаторов не могут...
Внешние ключи
Внешние ключиРазличные объекты предметной области, информация о которых хранится в базе данных, всегда взаимосвязаны друг с другом. Например, накладная на поставку товара содержит список товаров с...
Пример 6
Пример 6Номер поставщикаНаименование поставщикаНомер деталиНаименование деталиПоставляемое количество 1Иванов1Болт100 1Иванов2Гайка200 1Иванов3Винт300 2Петров1Болт150 2Петров2Гайка250 3Сидоров3Вин...
Пример 7
Пример 7Номер поставщикаНаименование поставщика 1Иванов 2Петров 3Сидоров Таблица 6 Отношение "Поставщики"...
Пример 8
Пример 8Номер деталиНаименование детали 1Болт 2Гайка 3Винт Таблица 7 Отношение "Детали"...
Пример 9
Пример 9Номер поставщикаНомер деталиПоставляемое количество 11100 12200 13300 21150 22250 331000 Таблица 8 Отношение "Поставки" В отношении "Поставки" атрибуты "Номер пос...
Целостность внешних ключей
Целостность внешних ключейТ.к. внешние ключи фактически служат ссылками на кортежи в другом (или в том же самом) отношении, то эти ссылки не должны указывать на несуществующие объекты. Это определ...
Замечания к правилам целостности сущностей и внешних ключей
Замечания к правилам целостности сущностей и внешних ключейНа самом деле приведенные правила целостности сущностей и внешних ключей прямо следуют из определений понятий "потенциальный ключ&qu...
Операции могущие нарушить ссылочную целостность
Операции, могущие нарушить ссылочную целостностьСсылочная целостность может нарушиться в результате операций, изменяющих состояние базы данных. Таких операций три - вставка, обновление и удаление...
Для родительского отношения
Для родительского отношения Вставка кортежа в родительском отношении. При вставке кортежа в родительское отношение возникает новое значение потенциального ключа. Т.к. допустимо существование корте...
Для дочернего отношения
Для дочернего отношения Вставка кортежа в дочернее отношение. Нельзя вставить кортеж в дочернее отношение, если вставляемое значение внешнего ключа некорректно. Вставка кортежа в дочернее отношени...
Стратегии поддержания ссылочной целостности
Стратегии поддержания ссылочной целостностиСуществуют две основные стратегии поддержания ссылочной целостности: RESTRICT (ОГРАНИЧИТЬ)- не разрешать выполнение операции, приводящей к нарушению ссыл...
Применение стратегий поддержания ссылочной целостности
Применение стратегий поддержания ссылочной целостностиРассмотрим, как применяются стратегии поддержания ссылочной целостности при выполнении операций модификации базы данных....
При обновлении кортежа в родительском отношении
При обновлении кортежа в родительском отношенииДопустимые стратегии: RESTRICT (ОГРАНИЧИТЬ) - не разрешать обновление, если имеется хотя бы один кортеж в дочернем отношении, ссылающийся на обновляе...
При удалении кортежа в родительском отношении
При удалении кортежа в родительском отношенииДопустимые стратегии: RESTRICT (ОГРАНИЧИТЬ) - не разрешать удаление, если имеется хотя бы один кортеж в дочернем отношении, ссылающийся на удаляемый ко...
При вставке кортежа в дочернее отношение
При вставке кортежа в дочернее отношениеДопустимые стратегии: RESTRICT (ОГРАНИЧИТЬ) - не разрешать вставку, если внешний ключ во вставляемом кортеже не соответствует ни одному значению потенциальн...
При обновлении кортежа в дочернем отношении
При обновлении кортежа в дочернем отношенииДопустимые стратегии: RESTRICT (ОГРАНИЧИТЬ) - не разрешать обновление, если внешний ключ в обновляемом кортеже становится не соответствующим ни одному зн...
Выводы
ВыводыСовременные СУБД допускают использование null-значений, т.к. данные часто бывают неполными или неизвестными. Споры о допустимости использования null-значений ведутся до сих пор. Использовани...
Глава 4 Реляционная алгебра
Глава 4. Реляционная алгебра...
Обзор реляционной алгебры
Обзор реляционной алгебрыТретья часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему ре...
Замкнутость реляционной алгебры
Замкнутость реляционной алгебры Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвращающие отношения в качестве результата. Таким образом...
Отношения совместимые по типу
Отношения, совместимые по типу Некоторые реляционные операторы (например, объединение) требуют, чтобы отношения имели одинаковые заголовки. Действительно, отношения состоят из заголовка и тела. Оп...
Оператор переименования атрибутов
Оператор переименования атрибутов Оператор переименования атрибутов имеет следующий синтаксис: где - отношение, - исходные имена атрибутов, - новые имена атрибутов. В результате применения операт...
Теоретикомножественные операторы
Теоретико-множественные операторы...
Объединение
Объединение Определение 2. Объединением двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих или , или...
Пример 1
Пример 1Табельный номерФамилияЗарплата 1Иванов1000 2Петров2000 3Сидоров3000 Таблица 1 Отношение A...
Пример 2
Пример 2Табельный номерФамилияЗарплата 1Иванов1000 2Пушников2500 4Сидоров3000 Таблица 2 Отношение B Объединение отношений и будет иметь вид:...
Пример 3
Пример 3Табельный номерФамилияЗарплата 1Иванов1000 2Петров2000 3Сидоров3000 2Пушников2500 4Сидоров3000 Таблица 3 Отношение A UNION B Замечание. Как видно из приведенного примера, потенциальные клю...
Пересечение
ПересечениеОпределение 3. Пересечением двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих одновремен...
Пример 4
Пример 4Табельный номерФамилияЗарплата 1Иванов1000 Таблица 4 Отношение A INTERSECT B Замечание. Казалось бы, что в отличие от операции объединения, потенциальные ключи могли бы наследоваться перес...
Вычитание
Вычитание Определение 4. Вычитанием двух совместимых по типу отношений и называется отношение с тем же заголовком, что и у отношений и , и телом, состоящим из кортежей, принадлежащих отношению и н...
Пример 5
Пример 5Табельный номерФамилияЗарплата 2Петров2000 3Сидоров3000 Таблица 5 Отношение A MINUS B...
Декартово произведение
Декартово произведение Определение 5. Декартовым произведением двух отношений и называется отношение, заголовок которого является сцеплением заголовков отношений и : , а тело состоит из кортежей,...
Пример 6
Пример 6Номер поставщикаНаименование поставщика 1Иванов 2Петров 3Сидоров Таблица 6 Отношение A (Поставщики)...
Пример 7
Пример 7Номер деталиНаименование детали 1Болт 2Гайка 3Винт Таблица 7 Отношение B (Детали) Декартово произведение отношений и будет иметь вид:...
Пример 8
Пример 8Номер поставщикаНаименование поставщикаНомер деталиНаименование детали 1Иванов1Болт 1Иванов2Гайка 1Иванов3Винт 2Петров1Болт 2Петров2Гайка 2Петров3Винт 3Сидоров1Болт 3Сидоров2Гайка 3Сидоров...
Специальные реляционные операторы
Специальные реляционные операторы...
Выборка (ограничение селекция)
Выборка (ограничение, селекция) Определение 6. Выборкой (ограничением, селекцией) на отношении с условием называется отношение с тем же заголовком, что и у отношения , и телом, состоящем из кортеж...
Пример 9
Пример 9Табельный номерФамилияЗарплата 1Иванов1000 2Петров2000 3Сидоров3000 Таблица 9 Отношение AРезультат выборки будет иметь вид:...
Пример 10
Пример 10Табельный номерФамилияЗарплата 1Иванов1000 2Петров2000 Таблица 10 Отношение A WHERE Зарплата<3000 Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некотором...
Проекция
Проекция Определение 7. Проекцией отношения по атрибутам , где каждый из атрибутов принадлежит отношению , называется отношение с заголовком и телом, содержащим множество кортежей вида , таких, дл...
Пример 11
Пример 11Номер поставщикаНаименование поставщикаГород поставщика 1ИвановУфа 2ПетровМосква 3СидоровМосква 4СидоровЧелябинск Таблица 11 Отношение A (Поставщики)Проекция будет иметь вид:...
Пример 12
Пример 12Город поставщика Уфа Москва Челябинск Таблица 12 Отношение A[Город поставщика]...
Соединение
Соединение Операция соединения отношений, наряду с операциями выборки и проекции, является одной из наиболее важных реляционных операций. Обычно рассматривается несколько разновидностей операции с...
Общая операция соединения
Общая операция соединения Определение 8. Соединением отношений и по условию называется отношение представляет собой логическое выражение, в которое могут входить атрибуты отношений и и (или) скаля...
Тэтасоединение
Тэта-соединение Определение 9. Пусть отношение содержит атрибут , отношение содержит атрибут , а - один из операторов сравнения ( и т.д.). Тогда -соединением отношения по атрибуту с отношением по...
Пример 13
Пример 13Номер поставщикаНаименование поставщикаX (Статус поставщика) 1Иванов4 2Петров1 3Сидоров2 Таблица 13 Отношение A (Поставщики)...
Пример 14
Пример 14Номер деталиНаименование деталиY (Статус детали) 1Болт3 2Гайка2 3Винт1 Таблица 14 Отношение B (Детали)Ответ на вопрос "какие поставщики имеют право поставлять какие детали?" дае...
Пример 15
Пример 15Номер поставщикаНаименование поставщикаX (Статус поставщика)Номер деталиНаименование деталиY (Статус детали) 1Иванов41Болт3 1Иванов42Гайка2 1Иванов43Винт1 2Петров13Винт1 3Сидоров22Гайка2...
Эквисоединение
Экви-соединение Наиболее важным частным случаем -соединения является случай, когда есть просто равенство. Синтаксис экви-соединения: Пример 9. Пусть имеются отношения , и , хранящие информацию о п...
Пример 16
Пример 16Номер поставщика PNUMНаименование поставщика PNAME 1Иванов 2Петров 3Сидоров Таблица 16 Отношение P (Поставщики)...
Пример 17
Пример 17Номер детали DNUMНаименование детали DNAME 1Болт 2Гайка 3Винт Таблица 17 Отношение D (Детали)...
Пример 18
Пример 18Номер поставщика PNUMНомер детали DNUMПоставляемое количество VOLUME 11100 12200 13300 21150 22250 311000 Таблица 18 Отношение PD (Поставки)Ответ на вопрос, какие детали поставляются пост...
Пример 19
Пример 19Номер поставщика PNUM1Наименование поставщика PNAMEНомер поставщика PNUM2Номер детали DNUMПоставляемое количество VOLUME 1Иванов11100 1Иванов12200 1Иванов13300 2Петров21150 2Петров22250 3...
Естественное соединение
Естественное соединение Определение 10. Пусть даны отношения и , имеющие одинаковые атрибуты (т.е. атрибуты с одинаковыми именами и определенные на одинаковых доменах). Тогда естественным соединен...
Пример 20
Пример 20Номер поставщика PNUMНаименование поставщика PNAMEНомер детали DNUMНаименование детали DNAMEПоставляемое количество VOLUME 1Иванов1Болт100 1Иванов2Гайка200 1Иванов3Винт300 2Петров1Болт150...
Деление
Деление Определение 11. Пусть даны отношения и , причем атрибуты - общие для двух отношений. Делением отношений на называется отношение с заголовком и телом, содержащим множество кортежей , таких,...
Пример 21
Пример 21Номер поставщика PNUMНомер детали DNUM 11 12 13 21 22 31 Таблица 21 Проекция X=PD[PNUM,DNUM]В качестве делителя возьмем проекцию , содержащую список номеров всех деталей (не обязательно п...
Пример 22
Пример 22Номер детали DNUM 1 2 3 Таблица 22 Проекция Y=D[DNUM]Деление дает список номеров поставщиков, поставляющих все детали:...
Пример 23
Пример 23Номер поставщика PNUM 1 Таблица 23 Отношение X DEVIDEBY YОказалось, что только поставщик с номером 1 поставляет все детали....
Примеры использования реляционных операторов
Примеры использования реляционных операторовПример 12. Получить имена поставщиков, поставляющих деталь номер 2. Решение: Пример 13. Получить имена поставщиков, поставляющих по крайней мере одну га...
Зависимые реляционные операторы
Зависимые реляционные операторыКак было сказано в начале главы, не все операторы реляционной алгебры являются независимыми - некоторые из них выражаются через другие реляционные операторы....
Оператор соединения
Оператор соединенияОператор соединения определяется через операторы декартового произведения и выборки. Для оператора естественного соединения добавляется оператор проекции....
Оператор пересечения
Оператор пересеченияОператор пересечения выражается через вычитание следующим образом:...
Оператор деления
Оператор деленияОператор деления выражается через операторы вычитания, декартового произведения и проекции следующим образом: Таким образом показано, что операторы соединения, пересечения и делени...
Примитивные реляционные операторы
Примитивные реляционные операторыОставшиеся реляционные операторы (объединение, вычитание, декартово произведение, выборка, проекция) являются примитивными операторами - их нельзя выразить друг че...
Оператор декартового произведения
Оператор декартового произведенияОператор декартового произведения - это единственный оператор, увеличивающий количество атрибутов, поэтому его нельзя выразить через объединение, вычитание, выборк...
Оператор проекции
Оператор проекцииОператор проекции - единственный оператор, уменьшающий количество атрибутов, поэтому его нельзя выразить через объединение, вычитание, декартово произведение, выборку....
Оператор выборки
Оператор выборкиОператор выборки - единственный оператор, позволяющий проводить сравнения по атрибутам отношения, поэтому его нельзя выразить через объединение, вычитание, декартово произведение,...
Операторы объединения и вычитания
Операторы объединения и вычитанияДоказательство примитивности операторов объединения и вычитания более сложны и мы их здесь не приводим....
Запросы невыразимые средствами реляционной алгебры
Запросы, невыразимые средствами реляционной алгебрыНесмотря на мощь языка реляционной алгебры, имеется ряд типов запросов, которые принципиально нельзя выразить только при помощи операторов реляци...
Плохая нормализация отношений
Плохая нормализация отношений Данный пример взят из книги Гилуа М.М. [6, стр.43]. Пример 16. Пусть имеется отношение ХИМИЧЕСКИЙ_СОСТАВ_ВЕЩЕСТВ с набором атрибутов (Наименование вещества, Водород,...
Пример 24
Пример 24Наименование веществаВодородГелий-105 элемент Дезоксирибону-клеиновая кислота53-0.01 Бензин500-0 ----- Таблица 24 Отношение ХИМИЧЕСКИЙ_СОСТАВ_ВЕЩЕСТВ Рассмотрим запрос "Найти все хим...
Пример 25
Пример 25НОМ_ВЕЩЕСТВАВЕЩЕСТВО 1Дезоксирибонуклеиновая кислота 2Бензин Таблица 25 Отношение ВЕЩЕСТВО...
Пример 26
Пример 26 НОМ_ЭЛЕМЕНТАЭЛЕМЕНТ 1Водород 2Гелий -- 105- Таблица 26 Отношение ЭЛЕМЕНТЫ...
Пример 27
Пример 27НОМ_ВЕЩЕСТВАНОМ_ЭЛЕМЕНТАПРОЦЕНТ 115 123 11050.01 2150 Таблица 27 Отношение ХИМИЧЕСКИЙ_СОСТАВ_ВЕЩЕСТВ Для отношений, нормализованных таким образом, исходный запрос реализуется следующей по...
Невыразимость транзитивного замыкания реляционными операторами
Невыразимость транзитивного замыкания реляционными операторамиСледующий пример иллюстрирует класс запросов, невыразимых средствами реляционной алгебры или реляционного исчисления по причине невыра...
Пример 28
Пример 28ТАБ_НОМФАМИЛИЯДОЛЖНОСТЬТАБ_НОМ_РУК 1ИвановДиректор1 2ПетровГлав.бухгалтер1 3СидоровБухгалтер2 4ВасильевНачальник цеха1 5СуховМастер4 6ШариповРабочий5 ---- Таблица 28 Отношение СОТРУДНИКИР...
Кросстаблицы
Кросс-таблицы Одной из задач, связанных с представлением табличных данных является построение так называемых кросс-таблиц. Пусть имеется отношение с тремя атрибутами и потенциальным ключом, включа...
Пример 29
Пример 29ТоварМесяцКоличество КомпьютерыЯнварь100 ПринтерыЯнварь200 СканерыЯнварь300 КомпьютерыФевраль150 ПринтерыФевраль250 СканерыФевраль350 --- Таблица 29 Данные о продажахТребуется представить...
Пример 30
Пример 30ТоварЯнварьФевраль- Компьютеры100150- Принтеры200250- Сканеры300350- Таблица 30 Кросс-таблицаПостроение кросс-таблицы средствами реляционной алгебры невозможно, т.к. для этого требуется п...
Выводы
ВыводыДоступ к реляционным данным возможен при помощи операторов реляционной алгебры. Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов, и возвр...
Глава 5 Элементы языка SQL
Глава 5. Элементы языка SQLВ данной главе рассматриваются элементы языка SQL (Structured Query Language). Текущая версия стандарта языка SQL принята в 1992 г. (Официальное название стандарта - Меж...
Операторы SQL
Операторы SQLОснову языка SQL составляют операторы, условно разбитые не несколько групп по выполняемым функциям. Можно выделить следующие группы операторов (перечислены не все операторы SQL):...
Операторы DDL (Data Definition Language) операторы определения объектов базы данных
Операторы DDL (Data Definition Language) - операторы определения объектов базы данных CREATE SCHEMA - создать схему базы данных DROP SHEMA - удалить схему базы данных CREATE TABLE - создать таблиц...
Операторы DML (Data Manipulation Language) операторы манипулирования данными
Операторы DML (Data Manipulation Language) - операторы манипулирования данными SELECT - отобрать строки из таблиц INSERT - добавить строки в таблицу UPDATE - изменить строки в таблице DELETE - уда...
Операторы защиты и управления данными
Операторы защиты и управления данными CREATE ASSERTION - создать ограничение DROP ASSERTION - удалить ограничение GRANT - предоставить привилегии пользователю или приложению на манипулирование объ...
Примеры использования операторов манипулирования данными
Примеры использования операторов манипулирования данными...
INSERT вставка строк в таблицу
INSERT - вставка строк в таблицу Пример 1. Вставка одной строки в таблицу: INSERT INTO P (PNUM, PNAME) VALUES (4, "Иванов"); Пример 2. Вставка в таблицу нескольких строк, выбранных из...
UPDATE обновление строк в таблице
UPDATE - обновление строк в таблице Пример 3. Обновление нескольких строк в таблице: UPDATE P SET PNAME = "Пушников" WHERE P.PNUM = 1;...
DELETE удаление строк в таблице
DELETE - удаление строк в таблицеПример 4. Удаление нескольких строк в таблице: DELETE FROM P WHERE P.PNUM = 1; Пример 5. Удаление всех строк в таблице: DELETE FROM P;...
Примеры использования оператора SELECT
Примеры использования оператора SELECTОператор SELECT является фактически самым важным для пользователя и самым сложным оператором SQL. Он предназначен для выборки данных из таблиц, т.е. он, собст...
Отбор данных из одной таблицы
Отбор данных из одной таблицыПример 6. Выбрать все данные из таблицы поставщиков (ключевые слова SELECT- FROM-): SELECT * FROM P; Замечание. В результате получим новую таблицу, содержащую полную...
Пример 1
Пример 1TNAMEKOLPRICEEQUSUMMA Болт10100=1000 Гайка20200=4000 Винт30300=9000 Пример 11.Упорядочение результатов запроса (ключевое слово ORDER BY-): SELECT PD.PNUM, PD.DNUM, PD.VOLUME FROM PD...
Пример 2
Пример 2PNUMDNUMVOLUME 11100 21150 311000 12200 22250 13300 Пример 12. Упорядочение результатов запроса по нескольким полям с возрастанием или убыванием (ключевые слова ASC, DESC): SELECT PD.PNU...
Пример 3
Пример 3PNUMDNUMVOLUME 311000 21150 11100 22250 12200 13300 Замечание. Если явно не указаны ключевые слова ASC или DESC, то по умолчанию принимается упорядочение по возрастанию (ASC)....
Отбор данных из нескольких таблиц
Отбор данных из нескольких таблицПример 13. Естественное соединение таблиц (способ 1 - явное указание условий соединения): SELECT P.PNUM, P.PNAME, PD.DNUM, PD.VOLUME FROM P, PD WHERE P.P...
Пример 4
Пример 4PNUMPNAMEDNUMVOLUME 1Иванов1100 1Иванов2200 1Иванов3300 2Петров1150 2Петров2250 3Сидоров11000 Замечание. Соединяемые таблицы перечислены в разделе FROM оператора, условие соединения привед...
Пример 5
Пример 5PNAMEDNAMEVOLUME ИвановБолт100 ИвановГайка200 ИвановВинт300 ПетровБолт150 ПетровГайка250 СидоровБолт1000 Пример 17. Прямое произведение таблиц: SELECT P.PNUM, P.PNAME, D.DNUM, D.DN...
Пример 6
Пример 6PNUMPNAMEDNUMDNAME 1Иванов1Болт 1Иванов2Гайка 1Иванов3Винт 2Петров1Болт 2Петров2Гайка 2Петров3Винт 3Сидоров1Болт 3Сидоров2Гайка 3Сидоров3Винт Замечание. Т.к. не указано условие соединения...
Пример 7
Пример 7PNUMPNAMEPSTATUS 1Иванов4 2Петров1 3Сидоров2 Таблица 1 Отношение P (Поставщики)...
Пример 8
Пример 8DNUMDNAMEDSTATUS 1Болт3 2Гайка2 3Винт1 Таблица 2 Отношение D (Детали)Ответ на вопрос "какие поставщики имеют право поставлять какие детали?" дает следующий запрос: SELECT P.PNU...
Пример 9
Пример 9PNUMPNAMEPSTATUSDNUMDNAMEDSTATUS 1Иванов41Болт 3 1Иванов42Гайка 2 1Иванов43Винт1 2Петров13Винт1 3Сидоров22Гайка2 3Сидоров23Винт1...
Использование имен корреляции (алиасов псевдонимов)
Использование имен корреляции (алиасов, псевдонимов)Иногда приходится выполнять запросы, в которых таблица соединяется сама с собой, или одна таблица соединяется дважды с другой таблицей. При этом...








Начало