Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МР - Лекция № 2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
356.86 Кб
Скачать

Frame1

Тема № 1:

Базы данных специального назначения

Занятие № 2:

Реляционная модель: Введение в реляционные БД. Основы языка SQL.

Учебные цели занятия:

Получить общее представление о реляционной модели данных и языке SQL работы с реляционными БД.

Время:

4 часа

Место проведения:

Аудитория

Материально-техническое обеспечение:

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

Литература:

  1. К. Дж. Дейт. - Введение в системы баз данных, 7-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2001. – 1072 с., ил.

  2. Дж. Грофф, П. Вайнберг.- SQL: Полное руководство.- Пер. с англ.-2-е изд., перераб. и доп.-К.: Издательская группа BHV, 2001.- 816 с., ил.

  3. SQL в примерах и задачах; учеб. пособие / И.Ф.Астахова, А.П.Толстобров, В.М.Мельников.— Мн.: Новое знание, 2002. — 176 с.

  4. Теория и практика построения баз данных/Д.Кренке.- 8-е изд.- СПб.: Питер, 2003.- 800 с., ил.- (Серия «Классика computer science»).

Учебные вопросы и ориентировочный размер времени:

п/п

Содержание вопроса

Время

Вступительная часть

5 мин

Основная часть

170 мин

1

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

55 мин

2

Введение в язык SQL

55 мин

3

Домены, отношения, базовые переменные-отношения

60 мин

Заключительная часть

5 мин

Всего:

180 мин

Оглавление

3

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

1.1. Реляционная модель 3

1.2. Отношения и переменные-отношения 5

1.3. Оптимизация 7

1.4. Каталог 8

1.5. Базовые переменные отношения и представления 9

1.6. Транзакции 10

2. Введение в язык SQL 11

2.1. Обзор языка SQL 11

2.2. Каталог 13

2.3. Представления 14

2.4. Транзакции 15

2.5. Взаимодействие приложений и СУБД 15

3. Домены, отношения и базовые переменные-отношения 16

3.1 Домены 17

3.2 Значения отношений 18

3.3 Средства SQL 19

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

    1. Реляционная модель

Реляционные системы базируются на формальных основах, или теории, которая называется реляционная модель данных. Для таких систем характерно выполнение трех условий:

  • Структурный аспект. Данные в базе воспринимаются пользователем, как таблицы (и никак иначе).

  • Аспект целостности. Эти таблицы удовлетворяют определенным условиям целостностности.

  • Аспект обработки. В распоряжении пользователя имеются операторы манипулирования данными, которые генерируют новые таблицы на основании уже имеющихся и среди которых есть по крайней мере операторы выборки (restrict), проекции (project) и объединения (join).

Пример 2.1. На рис. 2.1 представлен простой пример реляционной базы данных отделов (таблица Отделы) и служащих (таблица Служащие). На рис. 2.2 показаны некоторые примеры применения операций SELECT, PROJECT и JOIN для этой базы данных.

Отделы

НомОтдела

НазваниеОтд

Бюджет

Отд1

Экономический

10М

Отд2

Конструкторский

12М

Отд3

Исследовательский

Служащие

НомСлужащего

ИмяСлужащего

НомОтдела

Зарплата

С1

Иванов

Отд1

21K

С2

Петров

Отд1

18K

С3

Никитин

Отд2

20K

С4

Буденко

Отд2

19K

Рис. 2.1. База данных отделов и служащих

SELECT (RESTRICT)

Выборка строк из Отделы, где БЮДЖЕТ > 8M

НомОтдела

НазваниеОтд

Бюджет

Отд1

Экономический

10М

Отд2

Конструкторский

12М

PROJECT

Извлечение столбцов НомОтдела,

НомОтдела

Бюджет

Отд1

10М

Отд2

12М

Отд3

JOIN:

Соединение Отделы и Служащие на основе столбца НомОтдела

НомОтдела

НазваниеОтд

Бюджет

НомСлужащего

ИмяСлужащего

Зарплата

Отд1

Экономический

10М

С1

Иванов

21K

Отд1

Экономический

10М

С2

Петров

18K

Отд2

Конструкторский

12М

С3

Никитин

20K

Отд2

Конструкторский

С4

Буденко

19K

Рис. 2.2. Примеры выполнения операций SELECT, PROJECT и JOIN

Операция SELECT предназначена для извлечения определенных строк из таблицы. Операция PROJECT предназначена для извлечения определенных столбцов из таблицы. Операция JOIN предназначена для соединения двух таблиц на основе общих значений в общих столбцах. При выполнении операции JOIN строки таблиц соединяются на основе значения некоторого столбца и только тогда, когда две строки соединяемых таблиц содержат в этих полях одинаковое значение.

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

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

Таблицы в реляционной системе являются логическими, а не физическими структурами. На физическом уровне СУБД может использовать любую структуру памяти (индексированный файл, последовательный файл и т.п.), лишь бы существовала возможность их отображения в виде таблиц на логическом уровне. Таким образом, таблицы представляют некоторую абстракцию способа физического хранения данных, в которой множество деталей на уровне памяти скрыто от пользователя. «Логическая структура» в терминологии ANSI/SPARC относится как к концептуальному, так и к внешнему уровням.

Вернемся к аспекту целостности. Данный аспект состоит в том, что на хранимые в базе данные может и должны накладываться некоторые ограничения, которые представляют те, или иные семантические (смысловые, логические) ограничения на их значения. В частности, возвращаясь к примеру, представленному на рис. 2.1 можно сказать, что такие ограничения есть. Например, каждая строка в таблице «Служащие» должна иметь уникальное значение столбца «НомСлужащего», а каждая строка в таблице «Отделы» - уникальное значение столбца «НомОтдела». В таком случае говорят, что указанные столбцы в соответствующих таблицах являются потенциальными ключами. Среди всех потенциальных ключей (по тем или иным соображениям) выбирается один, который называется первичным ключом. На рис. 2.1 столбцы, соответствующие первичным ключам таблиц, подчеркнуты двойной линией. Могут быть и другие ограничения, например размер зарплаты не может быть отрицательным значением или имя служащего состоять менее чем из 2-х символов.

Итак, в первом приближении дадим определение реляционной модели.

Реляционная модель состоит из следующих пяти компонентов:

  • Неограниченный набор скалярных типов (включая, в частности, логический тип или значение истины).

  • Генератор типов отношений и соответствующая интерпретация для таких сгенерированных типов отношений.

  • Возможность определения переменных отношений для таких сгенерированных типов отношений.

  • Операции реляционного присвоения для присвоения реляционных значений таким переменным отношений.

  • Неограниченный набор общих реляционных операторов для получения значений отношений из других значений отношений.

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