
- •1.Информационные системы
- •2.Основные понятия теории баз данных
- •2.1.Предметная область
- •2.2.Пользователи информационной системы
- •2.3.Интеграция данных Достоинства интеграции данных
- •Проблемы, связанные с интеграцией данных
- •Функции администратора бд
- •Проектирование и развитие бд
- •3.Архитектура информационной системы
- •4.Сетевые базы данных
- •4.1.Способы упорядочения подчиненных записей
- •4.2.Режим включения подчиненных записей
- •4.3.Режим исключения подчиненных записей
- •4.4.Операции над данными
- •5.Иерархические базы данных
- •5.1.Операции над данными
- •6.Реляционные базы данных
- •6.1.Цели проектирования баз данных
- •6.2.Универсальные отношения
- •6.3.Проблемы, связанные с использованием единственного отношения
- •Проблема вставки.
- •Проблема обновления.
- •Проблема удаления.
- •6.4.Функциональные зависимости
- •6.5.Нормальные формы отношений Первая нормальная форма
- •Вторая нормальная форма
- •Третья нормальная форма
- •Третья усиленная форма или нормальная форма Бойса–Кодда (нфбк)
- •6.6.Общая схема проектирования баз данных
- •6.7.Избыточные функциональные зависимости. Правила вывода
- •Правило 1. Избыточные зависимости
- •6.8.Схема проектирования баз данных методом декомпозиции
- •7.Метод проектирования бд «Сущность-связь»
- •7.1.Сущности и связи
- •Диаграмма еr–экземпляров:
- •Д иаграмма er–типа:
- •7.2.Степень связи
- •Правило 1.
- •Правило 2.
- •Правило 3.
- •Правило 4.
- •Правило 5.
- •7.3.Бинарные связи степени m:n.
- •Правило 6.
- •Пример проектирования с использованием связей степенью м:n
- •7.4.Связи более высокого порядка
- •Правило 7
- •Пример проектирования с использованием связей более высокого порядка
- •7.5.Использование ролей
- •Правило 8
- •Пример проектирования с использованием ролей
- •8.Постреляционные базы данных
- •8.1.Ограничения реляционных баз данных.
- •Недостатки реляционных баз данных
- •8.2.Системы управления базами данных следующего поколения
- •Абстрактные типы данных
- •Генерация систем баз данных, ориентированных на приложения
- •8.3.Ориентация на расширенную реляционную модель
- •Расширенная реляционная модель
- •9.Объектно-ориентированные субд.
- •9.1.Объектно-ориентированная парадигма.
- •Структура:
- •Целостность данных:
- •Средства манипулирования данными:
- •9.2.Анализ эффективности объектно-ориентированных баз данных Преимущества объектно-ориентированных баз данных:
- •Недостатки объектно-ориентированных баз данных:
- •9.3.Стандарт odmg.
- •Объектная модель
- •Язык описания объектов
- •Язык объектных запросов
- •Связывание с оо-языками
- •9.4.Объектные расширения реляционных субд. Язык sql-3.
- •10.Базы знаний
- •10.1.Понятие системы баз знаний.
- •10.2.Структура системы базы знаний Компоненты Системы баз знаний (сбз):
- •Экстенсиональная и интенсиональная части базы данных
- •10.3.Активные базы данных
- •10.4.Дедуктивные базы данных
- •10.5.Инструментальные средства построения систем баз знаний.
- •11.Язык sql
- •11.1.Стандарт языка доступа к бд
- •11.2.Классификация операторов sql
- •Ddl (data definition language) – операторы определения объектов бд.
- •Insert into (Вставка записей).
- •Update (Редактирование записей).
- •Delete (Удаление записей).
- •Оператор select.
- •Модификатор distinct (предотвращение выборки повторяющихся слов).
- •Order by (упорядочение строк в результате запроса).
- •Использование псевдонимов (alias).
- •11.4.Арифметические выражения.
- •11.5.Групповые функции.
- •Предложение having.
- •11.6.Вложенные запросы.
- •Подзапросы, возвращающие набор значений.
- •Подзапросы, возвращающие значения из нескольких столбцов.
- •Составные запросы с несколькими подзапросами.
- •Синхронизация повторяющихся подзапросов
- •Комбинация нескольких команд Select
- •11.7.Индексы
- •7. Метод проектирования бд «Сущность-связь» 41
- •8. Постреляционные базы данных 75
- •9. Объектно-ориентированные субд. 81
- •10. Базы знаний 87
- •11. Язык sql 93
5.1.Операции над данными
Запомнить – позволяет занести в БД новые записи. Для корневой записи необходим уникальный ключ. Система не допускает хранение в БД двух корневых записей с идентичными значениями ключей. Запись можно запомнить только при наличии экземпляра исходной записи.
Обновить – изменение значений элементов предварительно извлеченной записи, ключевые значения обновляться не должны.
Удалить – операция служит для исключения из БД некоторой записи и всех подчиненных ей.
Извлечь Эта операция имеет несколько модификаций:
извлечь корневую запись по ключу;
извлечь корневую запись последовательно.
Всякая обработка БД начинается с какой-либо корневой записи. Для движения по структуре служит операция извлечь следующего, т.е. понимается в смысле левостороннего обхода дерева.
Пример: для дерева изображенного на рисунке 5.3, левосторонний обход вершин следующий: A, B, C, D, E, F. Операция извлечь допускает задание условий выборки, на Пример: выбрать только мужчин в картотеке поликлиники. Таким образом, обработка БД начинается всегда с корневой записи, дальнейшая обработка некорневых записей осуществляется по иерархическому пути.
|
Рис. 5.3 Левосторонний обход дерева. |
6.Реляционные базы данных
Реляционная модель предложена сотрудником компании IBM Е.Ф.Коддом в 1970 г. В настоящее время эта модель является фактическим стандартом, на который ориентируются практически все современные коммерческие СУБД.
В реляционной модели достигается гораздо более высокий уровень абстракции данных, чем в иерархической или сетевой. Представление данных не зависит от способа их физической организации. Это обеспечивается за счет использования математической теории отношений (само название "реляционная" происходит от английского relation - "отношение").
Домен - это семантическое понятие, которое можно рассматривать как подмножество значений некоторого типа данных имеющих определенный смысл. Домен характеризуется следующими свойствами:
Домен имеет уникальное имя (в пределах базы данных).
Домен определен на некотором простом типе данных или на другом домене.
Домен может иметь некоторое логическое условие, позволяющее описать подмножество данных, допустимых для данного домена.
Домен несет определенную смысловую нагрузку.
Например, домен D, имеющий смысл "возраст сотрудника" можно описать как следующее подмножество множества натуральных чисел:
Основное значение доменов состоит в том, что домены ограничивают сравнения. Некорректно, с логической точки зрения, сравнивать значения из различных доменов, даже если они имеют одинаковый тип. В этом проявляется смысловое ограничение доменов.
Кортежи – это упорядоченная совокупность элементов доменов.
Математическое описание отношения :
пусть даны множества D1,D2,…,Dn – домены и
существует ряд кортежей вида <d1, d2,…,dn>; di D, тогда декартовым произведением
D = D1•D2•D3•…•Dn называется множество всех возможных кортежей.
Пример:
D1 = { красный, синий }
D2 = { карандаш, фломастер, ручка }
Dn = { +, – }
D = D1•D2•D3 = { |
<красный, |
карандаш, |
+> |
|
<… |
… |
…> |
|
<синий, |
ручка, |
–>} |
Отношением R на доменах D1, D2,… ,Dn называется подмножество декартового произведения R D.
С точки зрения организации данных отношения удобно изображать в виде таблиц (таблица 6.1):
Таблица 6.1
Цвет |
Предмет |
Наличие |
Красный |
Карандаш |
+ |
Красный |
Карандаш |
– |
… |
… |
… |
Синий |
Ручка |
– |
Термины, которыми оперирует реляционная модель данных, имеют соответствующие "табличные" синонимы:
Таблица 6.2
Реляционный термин |
Соответствующий "табличный" термин |
База данных |
Набор таблиц |
Отношение |
Таблица (файл) |
Атрибут отношения |
Наименование столбца таблицы (поле) |
Кортеж отношения |
Строка таблицы (запись) |
Степень (-арность) отношения |
Количество столбцов таблицы |
Мощность отношения |
Количество строк таблицы |
Реляционная база данных есть совокупность отношений содержащих информацию о предметной области.
Степень отношения – это количество доменов (столбцов) образующих данное отношение, как правило, степень отношения в процессе жизненного цикла не меняется.
Мощность отношения – количество кортежей отношения (количество строк в таблице). В общем случае она изменяется с течением времени.
Замечание.
По определению в отношении не может содержаться два идентичных кортежа. Многие реляционные СУБД допускают хранение файлов данных идентичных записей. Если в каком-либо приложении хранение идентичных записей недопустимо, программист должен позаботься об этом лично.
Пример: реляционной базы данных.
Таблица 6.3 «Поставщик»
№ поставщика |
Название поставщика |
Город |
2 |
Нормаль |
Н.Новгород |
1 |
Красная Этна |
Н.Новгород |
3 |
Уралмаш |
Екатеринбург |
4 |
Нормаль |
Москва |
Таблица 6.4 «Деталь»
№ детали |
Название детали |
4 |
Болт 17 |
8 |
Шпильки |
1 |
Гайка 22 |
2 |
Гайка 10 |
Таблица 6.5 «Поставщик – Деталь»
№ поставщика |
№ детали |
Количество |
1 |
1 |
20 |
1 |
2 |
10 |
2 |
1 |
7 |
3 |
8 |
20 |
БД содержит три типа информации.
Информация о поставщиках деталей на предприятие (таблица 6.3):
номер поставщика;
наименование детали;
название города.
Информация о деталях, используемых на предприятии (таблица 6.4):
номер детали;
наименование детали.
Информация о номере и количестве поступления деталей от каждого поставщика (таблица 6.5)
Каждое отношение храниться в отдельном файле. Структура файла, хранящего отношение проста, то есть все записи имеют одинаковый формат.
Первичный ключ - есть атрибут или набор атрибутов, значение которых однозначно указывают на конкретный кортеж отношения. Первичный ключ должен быть минимальным набором атрибутов. Число отношений в БД и конкретные атрибуты, приписываемые каждому отношению определяются в процессе проектирования БД, который может быть довольно продолжительным. После проектирования создание БД средствами СУБД может пойти достаточно быстро.
В таблице 6.6 описаны типы данных для атрибутов БД «Поставщики и детали».
Таблица 6.6 Типы Атрибутов.
Атрибуты |
Тип |
Пном |
Числовой (3) |
Пназ |
Символьный(16) |
Гор |
Символьный(15) |
Дназ |
Символьный(10) |
Штук |
Числовой (5) |
Дном |
Числовой (5) |
Отношения и первичные ключи:
Поставщик (Пном, Пназ, Гор)
Деталь (Дном, Дназ)
Поставщик-Деталь (Пном, Дном, Штук)
Результатом проектирования является концептуальная модель БД.