
- •Лекции по курсу «Базы данных» для студентов факультета вычислительной математики и кибернетики кгу
- •Системы управления базами данных, их состав и назначение. Файловые и клиент-серверные субд.
- •2. Типы базы данных. Реляционные, иерархические, сетевые, объектно-ориентированные базы данных.
- •Основные понятия теории баз данных. Поиск данных и пользовательские запросы.
- •4. Проектирование предметной области. Объекты и атрибуты предметной области. Связи между объектами типа 1:1, 1:m, m:n.
- •Первичные ключи и индексы
- •Реляционные отношения между таблицами Отношение один-ко-многим
- •Отношение один-к-одному
- •Отношение многие-ко-многим
- •Оператор переименования атрибутов.
- •Теоретико-множественные операторы:
- •Объединение
- •Пересечение
- •3. Вычитание
- •4. Декартово произведение
- •Специальные реляционные операторы
- •5. Выборка (ограничение, селекция)
- •Проекция
- •6. Соединение
- •7. Деление
- •Примеры использования реляционных операторов
- •Кросс-таблицы.
- •Ключи отношений. Их роль и использование в базах данных.
- •Связи между отношениями. Внешние ключи. Проблема целостности внешних ключей.
- •Функциональные зависимости. Аксиоматическая система функциональных зависимостей. Теорема полноты.
- •1. Аксиоматика функциональных зависимостей Армстронга.
- •Покрытия функциональных зависимостей. Структура неизбыточных покрытий.
- •Нормальные формы баз данных. Первая, вторая и третья нормальные формы. Нормальная форма Бойса- Кодда.
- •Вторая Нормальная Форма.
- •Отношение сотрудники_отделы
- •Отношение проекты
- •Отношение задания
- •3 Нормальная форма.
- •Отношение сотрудники
- •Отношение отделы
- •Нормализация баз данных. Алгоритм приведения к 3-й нормальной форме с помощью кольцевых зависимостей.
- •Метод «Entity-Relationship». Проектирование структуры баз данных с помощью er-диаграмм. Пример.
- •Физическая организация баз данных.
- •2. Блочный поиск.
- •3. Двоичный поиск.
- •4. Поиск в индексно-последовательном файле.
- •6. Поиск в сбалансированном дереве.
- •7. Перемешивание.
- •8. Комбинация вышеперечисленных способов.
- •Организация баз данных с помощью хеширования. Влияние на эффективность хеширования размеров блока, плотности заполнения и выбора алгоритма хеширования.
- •2. Деление.
- •3. Сдвиг разрядов.
- •4. Преобразование системы исчисления.
- •Язык sql. Команды create, select, insert, alter, update, drop.
- •Простая выборка
- •Использование операторов сравнения
- •Использование in
- •Использование like
- •Выборка с упорядочением
- •Применение агрегатных функций sum, max, min, average в предложении select.
- •Функции без использования фразы group by
- •Фраза group by
- •Использование фразы having
- •19. Организация сложных запросов с помощью команды select.
- •Декартово произведение таблиц
- •Соединение таблицы со своей копией
- •Простые вложенные подзапросы
- •Объединение (union)
- •Организация клиент–серверных бд. Модели технологий «клиент–сервер».
- •Технологии доступа к данным. Система драйверов odbc. Источники данных. Создание dsn-файла.
- •Модели безопасность данных. Мандатный и дискреционный подход к обеспечению безопасности данных. Передача и отзыв привилегий пользователей с помощью предложения grant.
- •26.Безопасность баз данных. Средства защиты бд access.
- •31. Использование внешних данных в Access. Создание страниц доступа к данным и загрузка внешних баз данных. Выполнение sql-запросов к серверу ms sql Server.
- •I. Создание html-страницы доступа к данным
- •II. Загрузка в Access базы данных c сервера и работа с ней.
- •III. Выполнение в Access запросов к внешним таблицам, хранящимся на ms sql Server.
- •Совместная работа Access и ms sql Server, работа с удаленными данными на сервере. Использование утилиты Query Analyzer.
- •Работа с внешними данными с помощью технологии odbc
- •Команды Transact-sql
- •Создание представлений
- •Создание триггеров
- •37. Raid массивы и уровни их организации.
Специальные реляционные операторы
5. Выборка (ограничение, селекция)
Определение
6. Выборкой (ограничением,
селекцией) на отношении
с
условием
называется
отношение с тем же заголовком, что и у
отношения
,
и телом, состоящем из кортежей, значения
атрибутов которых при подстановке в
условие
дают
значение ИСТИНА.
представляет
собой логическое выражение, в которое
могут входить атрибуты отношения
и
(или) скалярные выражения.
В
простейшем случае условие
имеет
вид
,
где
-
один из операторов сравнения (
и т.д.), а
и
-
атрибуты отношения
или
скалярные значения. Такие выборки
называются
-выборки
(тэта-выборки) или
-ограничения,
-селекции.
Синтаксис операции выборки:
,
или
Пример 6. Пусть дано отношение с информацией о сотрудниках:
Табельный номер |
|
|||
Фамилия |
Зарплата |
|
||
1 |
Иванов |
1000 |
||
2 |
Петров |
2000 |
||
3 |
Сидоров |
3000 |
Таблица 9 Отношение A
Результат
выборки
будет
иметь вид:
Табельный номер |
|
|||
Фамилия |
Зарплата |
|
||
1 |
Иванов |
1000 |
||
2 |
Петров |
2000 |
Таблица 10 Отношение A WHERE Зарплата<3000
Смысл операции выборки очевиден - выбрать кортежи отношения, удовлетворяющие некоторому условию. Таким образом, операция выборки дает "горизонтальный срез" отношения по некоторому условию.
Проекция
Определение
7. Проекцией отношения
по
атрибутам
,
где каждый из атрибутов принадлежит
отношению
,
называется отношение с заголовком
и
телом, содержащим множество кортежей
вида
,
таких, для которых в отношении
найдутся
кортежи со значением атрибута
равным
,
значением атрибута
равным
,
…, значением атрибута
равным
.
Синтаксис операции проекции:
Замечание. Операция проекции дает "вертикальный срез" отношения, в котором удалены все возникшие при таком срезе дубликаты кортежей.
6. Соединение
Определение 10. Пусть даны отношения A(A1, A2, …, An, X1, X2, …, Xm) и B(X1, X2, …, Xm , B1, …, Bk ) имеющие одинаковые атрибуты X1, X2, …, Xm (т.е. атрибуты с одинаковыми именами и определенные на одинаковых доменах). Тогда естественным соединением отношений A и B называется отношение с заголовком C(A1, A2, …, An, X1, X2, …, Xm, B1, …, Bk ), состоящее из кортежей < a1, a2, …, an, x1, x2, …, xm, y1, …, yk > таких, что < a1, a2, …, an, x1, x2, …, xm> A, < a1, a2, …, an, x1, x2, …, xm, y1, …, yk >B.
A JOIN B
Замечание. В синтаксисе естественного соединения не указываются, по каким атрибутам производится соединение. Естественное соединение производится по всем одинаковым атрибутам.
Замечание. Естественное соединение эквивалентно следующей последовательности реляционных операций:
Переименовать одинаковые атрибуты в отношениях
Выполнить декартово произведение отношений
Выполнить выборку по совпадающим значениям атрибутов, имевших одинаковые имена
Выполнить проекцию, удалив повторяющиеся атрибуты
Переименовать атрибуты, вернув им первоначальные имена
Замечание. Можно выполнять последовательное естественное соединение нескольких отношений. Нетрудно проверить, что естественное соединение (как, впрочем, и соединение общего вида) обладает свойством ассоциативности, т.е.
поэтому такие соединения можно записывать, опуская скобки:
Пример
10. В предыдущем примере ответ на
вопрос "какие детали поставляются
поставщиками", более просто записывается
в виде естественного соединения трех
отношений
(для
удобства просмотра порядок атрибутов
изменен, это является допустимым по
свойствам отношений):
Номер поставщика PNUM |
Наименование поставщика PNAME |
Номер детали DNUM |
Наименование детали DNAME |
Поставляемое количество VOLUME |
1 |
Иванов |
1 |
Болт |
100 |
1 |
Иванов |
2 |
Гайка |
200 |
1 |
Иванов |
3 |
Винт |
300 |
2 |
Петров |
1 |
Болт |
150 |
2 |
Петров |
2 |
Гайка |
250 |
3 |
Сидоров |
1 |
Болт |
1000 |
Таблица 20 Отношение P JOIN PD JOIN D