Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

SQL — язык реляционных баз данных

Покупка
Артикул: 799076.01.99
Доступ онлайн
450 ₽
В корзину
Учебное пособие предназначено для студентов, изучающих в дисциплинах «Базы данных» и «Управление данными» языковые и программные средства создания баз данных и манипулирования данными. Рассматривается реляционная модель данных. Приводятся содержательные определения основных понятий из области проектирования реляционных баз данных. Язык SQL изучается на примере версии Access SQL (Microsoft Jet SQL), поскольку учебное пособие рассчитано на начинающего пользователя. Изучаются подмножества SQL: язык определения данных (DDL), язык манипулирования данными (DML) и язык запросов (DQL). Рассматриваются примеры выполнения команд языка SQL и типы запросов к базе данных. Обсуждаются приемы работы и предлагаются контрольные задания для самостоятельных занятий.
Кара-Ушанов, В. Ю. SQL — язык реляционных баз данных : учебное пособие / В. Ю. Кара-Ушанов. - Екатеринбург : Изд-во Уральского ун-та, 2016. - 156 с. - ISBN 978-5-7996-1622-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/1936331 (дата обращения: 15.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
Министерство образования и науки Российской Федерации
Уральский федеральный университет
имени первого Президента России Б. Н. Ельцина

В. Ю. Кара-Ушанов

SQL — язык реляционных 
баз данных

Учебное пособие

Рекомендовано 
методическим советом УрФУ для студентов, 
обучающихся по направлению подготовки 
230100 «Информатика и вычислительная техника», 
230400 «Информационные системы и технологии»

Екатеринбург
Издательство Уральского университета
2016

УДК 004.43:004.652.4(075.8)
ББК 32.973.2я73
         К21

Рецензенты:
кафедра прикладной информатики Института урбанистики Уральской 
государственной архитектурно-художественной академии (заведующая 
кафедрой кандидат технических наук, доцент Г. Б. Захарова);
кандидат физико-математических наук, доцент В. П. Кондратьев (кафедра «
Информационные системы и технологии» Уральского технического 
института связи и информатики (филиал Сибирского государственного 
университета телекоммуникации и информатики).

Научный редактор — проф., канд. физ.-мат. наук В. И. Рогович

 
Кара-Ушанов, В. Ю.
К21     SQL — язык реляционных баз данных : учебное пособие / В. Ю. Кара-
Ушанов. — Екатеринбург : Изд-во Урал. ун-та, 2016. — 156 с.

ISBN 978-5-7996-1622-9

Учебное пособие предназначено для студентов, изучающих в дисциплинах 
«Базы данных» и «Управление данными» языковые и программные средства создания 
баз данных и манипулирования данными. Рассматривается реляционная 
модель данных. Приводятся содержательные определения основных понятий 
из области проектирования реляционных баз данных. Язык SQL изучается на примере 
версии Access SQL (Microsoft Jet SQL), поскольку учебное пособие рассчитано 
на начинающего пользователя. Изучаются подмножества SQL: язык определения 
данных (DDL), язык манипулирования данными (DML) и язык запросов 
(DQL). Рассматриваются примеры выполнения команд языка SQL и типы запросов 
к базе данных. Обсуждаются приемы работы и предлагаются контрольные 
задания для самостоятельных занятий.

Библиогр.: 13 назв. Рис. 12. Табл. 16. Прил. 1.

УДК 004.43:004.652.4(075.8)
ББК 32.973.2я73

ISBN 978-5-7996-1622-9 
© Уральский федеральный
 
     университет, 2016

Введение

К

ак известно, для изучения нового языка требуется значительная 
затрата сил и времени, поэтому стоит остановиться 
на причинах, которые могут побудить к изучению языка SQL.
SQL (Structured Query Language — язык структурированных запро-
сов) является языком реляционных баз данных, которые уже на про-
тяжении многих лет заслуженно пользуются признанием у разработ-
чиков информационных систем. Сочетание простоты и наглядности 
основных понятий с их строгим математическим обоснованием обе-
спечили широкое распространение реляционных баз данных. SQL — 
это первый и единственный язык работы с базами данных, который 
получил широкое распространение и поддерживается всеми произ-
водителями коммерческих реляционных СУБД.
SQL не является отдельным программным продуктом, подобным 
офисным приложениям, системам программирования или CASE-
системам, его нельзя приобрести в компьютерном магазине. SQL яв-
ляется важнейшим компонентом методологии и технологии реляци-
онных баз данных, неотъемлемой частью реляционной СУБД. Без SQL 
немыслимы разработка и эксплуатация реляционных баз данных.
В составе СУБД SQL выполняет множество функций. Его можно 
использовать в интерактивном режиме по принципу «запрос-ответ». 
SQL является подъязыком баз данных в обстановке прикладной про-
граммы, составленной на языке программирования. SQL — это язык 
запросов в приложениях многопользовательской клиент-серверной 
системы. SQL — это язык администрирования баз данных. Любому 
профессионалу, является ли он квалифицированным пользователем 
базы данных или прикладным программистом или администрато-
ром баз данных, необходимо знать язык SQL. Таким образом, знание 
языка SQL является обязательным для специалиста в области раз-
работки и сопровождения баз данных.

Введение

SQL создавался в середине 1970-х годов сотрудниками фирмы IBM 
как высокоуровневый декларативный язык, основанный на реляци-
онном исчислении. Предложения SQL описывают данные, которые 
необходимо получить, а не определяют способ поиска результата. 
Особенность предложений этого языка состоит в том, что они ориен-
тированы в большей степени на конечный результат обработки дан-
ных, чем на процедуру этой обработки. Исходная версия языка на-
зывалась SEQUEL (Structured English QUEry Language — английский 
структурированный язык запросов) ясно говорит о намерении его ав-
торов создать язык, близкий к естественному. И это им удалось. Ко-
манды SQL выглядят как обычные предложения английского языка, 
что упрощает их изучение и понимание.
Итак, SQL достаточно легок и понятен для освоения.
SQL является реляционным языком. Его осмысленное изучение 
предполагает знакомство с реляционной моделью данных. Основные 
концепции реляционной модели включают определение структуры 
и типов данных, определение множества операций, допустимых над 
элементами структуры данных, и определение правил целостности 
данных, регулирующих допустимые отношения между элементами 
структуры данных. Вследствие популярности реляционной модели 
в публикациях, посвященных методологии проектирования баз данных, 
всегда можно найти подробное описание реляционной модели 
(например, в [1–5]). SQL всегда был и остается актуальной проблемой 
методологии проектирования баз данных. На сей счет также имеется 
множество публикаций, в том числе учебного характера, как в печатных 
изданиях [6–8], так и в электронных ресурсах [9, 10]. Таким 
образом, самостоятельное изучение SQL на основе обширного методического 
обеспечения — вполне реальное дело.
Возникнув как фирменный стандарт, SQL по факту приобрел статус 
международного языка. Его первая полноценная версия известна 
как стандарт ANSI SQL-89. Этот стандарт оказался далек от совершенства, 
имел чрезвычайно общий характер и допускал очень широкое 
толкование. Опыт использования SQL позволил дополнить первый 
стандарт новыми возможностями, необходимыми для реализации 
языка в составе коммерческих СУБД. На этой основе был разработан 
стандарт ANSI SQL-92, который принято считать истинно реляционным. 
После его принятия стало возможным говорить про стандартную 
среду SQL-ориентированной СУБД. В настоящее время этот 

Введение

стандарт поддерживается практически всеми современными реляционными 
СУБД. Хотя конкретные реализации, диалекты SQL, поддерживая 
стандарт в главном, отличаются от него, как правило, в сторону 
расширения. Начинающему пользователю SQL полезно знать 
возможности стандарта.
Для изучения языка SOL начинающему пользователю предлагается 
использовать его диалект Access SQL (Microsoft SQL Jet) в интерактивном 
режиме, свободном от проблем прикладного программирования 
и знания языков программирования. Выбор Access обусловлен, 
главным образом, доступностью и распространенностью этого популярного 
программного продукта.

Реляционная модель данных

Р

еляционная модель была предложена Э. Ф. Коддом 
в 1970 году [1] как средство структуризации данных, основанное 
на строгих математических принципах.
Что такое «модель данных» и в частности «реляционная модель 
данных»? Прежде чем давать определение понятию модели данных, 
отметим некоторые коллизии терминологического характера, связанные 
с термином «модель данных».
Дело в том, что понятие «модель данных» употребляется в двух 
разных контекстах, отличающихся той ролью, которую играет модель 
данных в моделировании [11].
Во-первых, модель данных рассматривается как модель предметной 
области, т. е. результат моделирования. И в ней должны быть учтены 
статические (структурные) и динамические (поведенческие) 
аспекты предметной области. При такой трактовке понятия «модель 
данных» объектом моделирования, строго говоря, являются не данные 
вообще, а конкретная база данных. В таком контексте правильнее 
говорить не о модели данных вообще, а о модели базы данных 
конкретной предметной области.
Во-вторых, модель данных часто рассматривается как совокупность 
инструментальных средств, с помощью которых происходит 
определение и разработка модели данных предметной области как 
результата моделирования. Определение модели данных в таком контексте 
выглядит так [2]:

модель данных — это совокупность допустимых структур данных 
и операций над ними, поддерживаемая компьютерной средой (
в т. ч. СУБД), для определения логической структуры базы 
данных и динамического моделирования состояний предметной 
области.

Структура данных

В определении понятия модели данных используется термин «допустимые». 
Речь идет о том, что реальный мир и его отображение 
в компьютерной среде находятся под влиянием некоторых ограничений (
ограничений целостности), которые либо присущи природе 
реальной действительности, либо связаны с отображением модельных 
представлений в компьютерной среде.
Итак, в определение модели данных [3] в инструментальном смысле 
входят:
· определение типа структуры данных;
· определение ограничений целостности, определяющих допустимые 
отношения между элементами структуры данного типа;
· определение множества операций над данными этого типа.
Это определение модели данных в полной мере применимо и к реляционной 
модели данных. Итак, термин «реляционная модель данных» 
употребляется как совокупность инструментальных средств.

Структура данных

Любые данные, используемые в моделировании, имеют свои типы 
данных. Какие типы данных поддерживает реляционная модель?
В первом приближении принято различать типы данных простые 
и структурированные [4].
Простые, или атомарные, типы данных не обладают внутренней 
структурой. Данные такого типа называют скалярными. К простым 
типам данных относятся, например, следующие типы:
· логический;
· строковый;
· численный.
Этот список можно расширить и уточнить, добавляя другие типы:
· целый;
· вещественный;
· дата;
· время;
· денежный;
· перечислимый;
· интервальный и т. д.

Реляционная модель данных

Структурированные типы данных предназначены для задания 
сложных структур данных. Структурированные типы данных конструируются 
из составляющих элементов, называемых компонентами, 
которые, в свою очередь, могут обладать структурой. В качестве 
структурированных типов данных особенно распространены следующие 
типы данных:
· массивы;
· записи (структуры).
Общим для структурированных типов данных является то, что 
они имеют внутреннюю структуру. При работе с массивами или 
записями можно манипулировать массивом или записью как с единым 
целым (создавать, удалять, копировать целые массивы или 
записи), так с и их компонентами. Для структурированных типов 
данных есть специальные функции — конструкторы типов, позволяющие 
создавать массивы или записи из элементов более простых 
типов.
Работая же с простыми типами данных, например с числовыми, 
мы манипулируем ими как неделимыми целыми объектами.
Так вот, реляционная модель требует, чтобы типы используемых 
данных были простыми. Но что значит «простые»?
Для реляционной модели данных тип используемых данных сам 
по себе не важен. Требование, чтобы тип данных был простым, нужно 
понимать так, что в реляционных операциях не должна учитываться 
внутренняя структура данных [4]. Конечно, должны быть описаны 
действия, которые можно производить с данными как с единым целым, 
например данные числового типа можно складывать, для строк 
возможна операция конкатенации и т. д.
В реляционной модели данных с понятием типа данных тесно связано 
понятие домена, которое можно считать уточнением типа данных:

домен — это семантическое понятие. Домен можно рассматривать 
как подмножество значений некоторого типа данных, имеющее 
определенный смысл.

Домен характеризуется следующими свойствами:
·  имеет уникальное имя;
·  определен на некотором простом (скалярном) типе данных 
или на другом домене;

Структура данных

·  может иметь некоторое логическое условие, позволяющее описать 
подмножество данных, допустимых для данного домена;
· может быть задан перечислением множества допустимых элементов 
данных;
· несет определенную смысловую нагрузку.
Домен и тип данных — это разные понятия. Домен представляет 
собой подмножество допустимых элементов данных некоторого 
типа, имеющее семантически значимое имя. Отличие домена от подмножества 
данных некоторого типа состоит именно в том, что домен 
отражает семантику, определенную предметной областью. Может 
быть несколько доменов, совпадающих как подмножества, но несущих 
различный смысл. Например, на множестве неотрицательных 
целых чисел могут быть определены домены «табельный номер», 
«стаж», «отпуск», «возраст», но смысл этих доменов будет различным, 
и это будут различные домены.
Понятие домена помогает правильно моделировать предметную 
область, исключая некорректные сравнения семантически разнородных 
данных. Некорректно, с логической точки зрения, сравнивать 
значения из различных доменов, даже если они имеют одинаковый 
тип. В этом проявляется смысловое ограничение доменов.
Единственным средством структуризации данных в реляционной 
модели является отношение. 
Отношение (по-английски relation, отсюда происходит название 
модели) — это множество со специфическими свойствами.
В теории множеств отношением R называется подмножество 
декартова произведения множеств Dj:

 R
D
D
D
d d
d
d
D
d
D
d
D
n
n
n
n
Н
ґ
ґјґ
= б
ј
с
О
Щ
О
ЩјЩ
О
1
2
1
2
1
1
2
2
{
,
,
,
|
}.

Отношение представляет собой множество n-арных кортежей 
типа б
ј
с
d d
dn
1
2
,
,
,
 (n — число множеств-сомножителей Dj). Кортежи 
образуются из элементов множеств Dj по одному из каждого в заданном 
порядке.
Пример декартова произведения множеств A = {a1, a2} и B = 
= {b1, b2, b3}:
 
A
B
a b
a
A
b
B
i
j
i
j
ґ
= б
с
О
Щ
О
=
{
,
|
}

 
= б
с б
с б
с б
с б
с б
с
{
,
,
,
,
,
,
,
,
,
,
,
}
a b
a b
a b
a b
a b
a b
1
1
1
2
1
3
2
1
2
2
2
3
.

Реляционная модель данных

В математике отношение — не более чем абстрактный объект. 
В моделировании данных отношение наполняется содержательным 
смыслом и применяется для определения объектов реальной действительности 
и связей между ними.
В теории данных отношение определено на доменах Dj. Домен 
представляет собой именованное множество элементов данных скалярного 
типа.
В моделировании данных домен играет роль области определения 
атрибутов Aj — спецификаторов свойств моделируемых объектов 
и связей между ними. Атрибутам как спецификаторам свойств 
сущностей или связей присваиваются семантически значимые имена, 
как правило, в форме существительного. Причем на одном домене 
могут быть определены несколько атрибутов, но любой атрибут может 
быть определен только на одном домене.
Если отношение моделирует тип объекта или тип связи, то его элементы — 
кортежи — представляют экземпляры объектов или связей.
Наглядным образом отношения является реляционная таблица. 
Отношение, подобно таблице, содержит заголовок и тело. Заголовок 
отношения представлен конечным множеством атрибутов. Атрибу-
ты Aj определены на соответствующих доменах Dj и в заголовке пред-
ставлены своими содержательными именами.
Тело отношения содержит множество кортежей-строк. В каж-
дом i-кортеже для каждого j-атрибута имеется одно единственное 
значение, принадлежащее j-домену.
Максимальное число строк-кортежей называется кардинальным 
числом (мощностью) отношения. Число столбцов-атрибутов назы-
вается степенью отношения.
Отношение, точнее, переменная-отношение, имеет имя, допу-
стим R. Атрибуты, определенные на доменах, также имеют имена, на-
пример A1, A2, …, An. Заголовок отношения иначе называется схемой 
отношения. Схема отношения задается именем отношения и именами 
атрибутов R(A1, A2, …, An). Экземпляр отношения, или значение пере-
менной-отношения, образует тело отношения (реляционную таблицу).
Набор взаимосвязанных отношений называется реляционной ба-
зой данных. А набор заголовков (схем) отношений входящих в базу 
данных называется схемой реляционной базы данных.
Манипулируя реляционными таблицами, следует помнить, что та-
блица и отношение — не синонимы. Отношение — это множество 

Доступ онлайн
450 ₽
В корзину