Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Преподаватель: Моор Павел Климентьевич.
Дисциплина: Базы данных.
Литература:
Введение в базы данных.
Файловые системы.
Файловая система набор программ, которые выполняют некоторые операции (например, создание отсчета) над данными, причем каждая программа определят свои данные и управляем ими.
Файлы набор записей, которые содержат логически связанные данные.
Каждая запись набор полей, каждое из которых представляет некоторую характеристику объекта.
Для ускорения доступа применяются методы индексации.
Важный шаг в развитии информационных систем переход к использованию централизованных систем.
Пользователи видят файл как линейную последовательность записей и могут выполнить над ним ряд новых стандартных операций.
Главные особенности (недостатки) ФС:
Эти недостатки послужили толчком, который заставил разработчиков информационных систем предложить новый подход, который был реализован в рамках новых программных систем, названных Системами Управления Базами Данных (СУБД).
Классификация моделей данных.
«Данные» - это набор конкретных значений, параметров, характеризующих объект.
Данные могут не обладать определенной структурой.
Центральным понятием в области баз данных является понятие модели данных.
Модель данных это концептуальный способ структурирования данных, описывающее взаимосвязь между ними.
Модели данных:
Иерархические и сетевые модели
Наиболее развитыми моделями данных являются:
Иерархическая БД состоит из упорядоченного набора деревьев, дерево состоит из одной «корневой» записи и упорядоченного набора поддеревьев
Схема иерархической модели:
Базовыми объектами модели являются:
Базовыми объектами модели являются:
Элемент данных то же самое, что и в иерархической модели, то есть минимальная информационная единица, доступная пользователю с использованием СУБД.
Агрегат данных соответствует следующему уровню обобщения в модели. В сетевой модели определены агрегаты двух типов: агрегат типа вектор и агрегат типа повторяющаяся группа.
Агрегат типа вектор соответствует линейному набору элементов данных.
Архитектура систем баз данных.
Системы баз данных.
База данных (database) совместно используемое единое хранилище для некоторого набора логически связанных данных по определенной предметной области. Кроме того, в БД имеются «данные о данных» - метаданные.
Система баз данных (database system) Компьютеризированная БД.
Пользователю системы предоставляется возможность выполнения множества различных операций над данными. Например:
Четыре главных компонента системы БД:
Пользователи. Пользователей можно разделить на четыре группы:
Трехуровневая архитектура ANSI - SPARC
В соответствии со стандартом, разработанным Национальным Институтом Стандартизации США (ANSI) и Комитета планирования стандартов и норм (SPARC), архитектура систем баз данных включает 3 уровня:
Ниже внутреннего находится физический уровень, который контролируется операционной системой.
Основные соображения в пользу выбора трехуровневой модели архитектуры БД:
Схема организации доступа к данным
Система управления базами данных (СУБД) представляет собой программное обеспечение, которое управляет доступом к базе данных.
Это происходит следующим образом:
Основные функции СУБД:
Жизненный цикл информационных систем
Анализ ситуации (сложность разработки ИС, не эффективное использование ИС), проведенный учеными, показал, что такое положение было вызвано тем, что при разработке программного обеспечения не соблюдались очень важными требования:
Жизненный цикл (ЖЦ) информационных систем это структурный подход к разработке программного обеспечения.
(некая схема) за 26.09.12
Реляционная теория баз данных
Терминология
В 1970 г. Реляционная модель впервые была предложена Э.Ф. Коддом.
Отношение (таблица, файл) |
Плоская таблица, состоящая из столбцов и строк |
В реляционной СУБД предполагается, что пользователь воспринимает БД как набор таблиц (и не как иначе).
Атрибут (столбец, поле) |
Поименованный столбец отношения |
Домен |
Набор допустимых значений для одного или нескольких атрибутов |
Кортеж (строка, запись) |
Строка отношения |
Заголовок (или содержание) отношения |
Описание структуры отношения вместе со спецификацией доменов и другими ограничениями значений атрибутов |
Степень |
Количество кортежей в отношении |
Кардинальность, кардинальное число |
Количество кортежей в отношении |
Реляционная база данных |
Набор нормализующих отношений |
Математические отношения.
Теория реляционных БД основана на математической теории отношений.
Пусть D1, D2, … Dn некоторые множества.
Декартовым произведение D1 D2 … Dn = {(X1,X2,…,Xn) | X1 D1, X2 D2, … Xn Dn}
Отношение подмножество R D1*D2*…*Dn
Например, n=2, D1={2,4} и D2={1,3,5}, D1 * D2 = {(2,1),(2,3),(2,5),(4,1),(4,3),(4,5)}, R={(2,1),(4,1)}
Подмножество м. б. задано условием, например:
R={(x1,x2) |x1 D1, x2 D2, X2=1}, A1, A2, … An имена атрибутов с доменами D1, D2, … Втб тогда отношение будем записывать в виде:
R(A1:D1,A2:D2,…An:Dn)
R
Свойства отношений:
Пример:
D1 студенты
D2 дисциплины: Математика, Информатика
Реляционные ключи
Реляционные ключи служат для уникальной идентификации кортежа описания связей между отношениями.
Суперключ |
Атрибут или совокупность атрибутов, которые единственным образом идентифицирует кортеж |
Потенциальный ключ |
Суперключ, который не содежрить подмножества атрибутов, образующих суперключ. |
Составной ключ |
Ключ, составленный из нескольких атрибутов |
Первичный ключ |
Потенциальный ключ, который выбран для уникальной идентификации кортежей в отношении |
Альтернативные ключи |
Остальные потенциальные ключи |
Внешний ключ |
Атрибут или совокупность атрибутов, которые соответствуют потенциальному ключу некоторого отношения |
Реляционная целостность.
Определитель Null |
Указывает, что значение атрибута не определено |
Целостность сущностей |
В базовом отношении ни один атрибут не может содержать Null |
Ссылочная целостность |
Если в отношении существует внешний ключ, то значение внешнего ключа должно соответствовать значению потенциального ключа в базовом отношении, либо быть не определенным (Null) |
Реляционная алгебра
Реляционная алгебра (РА) |
Теоретический язык операций, который на основе одного или нескольких отношений позволяют создавать другое отношение без изменения самих исходных отношений |
Результат операции, может использоваться в качестве операнда для другой операции, что позволяет создавать вложенные выражения (замкнутость РА).
Реляционная алгебра является языком, в котором все кортежи обрабатываются одной командой.
Пять основных операций:
На основе этих операций могут быть получены другие:
Выборка
(сигма)Предикат (R) |
Определяет отношение, которое содержит только те кортежи отношения R, которые удовлетворяют заданному условию (предикату). |
В предикате могут использоваться знаки логических операций ^(And), v(Or), ~(not).
Пример. Получить список всех сотрудником с окладом свыше 300.
Проекция.
Определяет отношение, атрибутами которого являются атр1, …, атрn и содержит только уникальные кортежи.
Декартово произведение
RxS |
Определяет новое отношение, которое получается в результате конкатенации (т.е. сцепления) каждого картежа из отношения R с каждым картежом отношения S |
Декартово произведение используется редко, к результату применяют выборку.
Объединение
RᴗS |
Определяет новое отношение, в которое включены все картежи из К и S, с удалением дублирующих картежей. При этом отношения R и S должны быть совместимы по объединению имеют одинаковые атрибуты с совпадающими доменами. |
Разность
R-S |
Определяет новое отношение, в которое включены картежи из R, которые отсутствуют в отношении S. При этом отношения R и S должны быть совместимы по объединению. |
Операции соединения.
Тета-соединение
R |><|FS |
Операция тета-соединения определяет отношение, которое содержит картежи из их декартового произведения, удовлетворяющее предикату F. Предикат имеет вид R.AiΘS.Bi Где Ai и Bi имена атрибутов, Θ - один из знаков < | <= | >= | > | ~= Если предикат F содержит только операцию =, то соединение называется соединением по эквивалентности. |
Естественное соединение
R|><|S |
Операция естественного соединения операция соединения по эквивалентности, выполненная по всем общим атрибутам, из результатов которого исключаются по одному экземпляру каждого общего атрибута |
Внешнее соединение
Rↄ<|S |
Левое внешнее соединение естественное соединение, при котором картежи отношения R, не имеющие совпадающих значений общих атрибутов в отношении S, также включаются в результирующее отношение. Для отсутствующих значений используется Null. |
То при левом внешнем соединении сохраняется вся исходная информация из отношения R. Аналогично также можно определить правое внешнее соединение.
Полусоединение
R|< FS |
Определяет отношение, которое содержит те картежи отношения R, которые входят в тета-соединение отношений R и S. |
Операцию полусоединения можно определить с помощью операторов проекции и соединения.
Пересечение
R∩S |
Операция пересечения определяет отношение, которое содержит картежи, присутствующие как в отношении R, так и в отношении S. Отношения R и Sдолжны быть совместимы по объединению |
Представления
Базовое отношение |
Поименное отношение, соответствующее сущности в концептуальной схеме, кортежи которого физически хранятся в базе данных |
Представление |
Динамический результат одной или нескольких реляционных операций над базовыми отношениями. |
Назначение представлений:
Правила, которые должны удовлетворить
реляционные СУБД
Для определения того, является ли СУБО реляционной Кодд (1985 г.) предложил 13 правил, которым они должны удовлетворять.
№ |
Правило |
|
0 |
Фундаментальное правило. |
|
1 |
Представление информации. |
|
2 |
Гарантированный доступ. |
|
3 |
Поддержка неопределенных значений. |
|
4 |
Реляционный системный каталог. |
|
5 |
Исчерпывающий подъязык данных.
|
|
7 |
Высокоуровневые операции извлечения, вставки, удаления, обновления. |
|
8 |
Физическая независимость от данных. |
|
9 |
Логическая независимость от данных. |
|
10 |
Независимость ограничений целостности. |
|
11 |
Независимость от распределения данных. |
|
12 |
Правило запрета обходных путей. |
Моделирование данных на основе процесса нормализации
Цель нормализации.
нормализация |
Метод создания набора отношений в заданными свойствами. |
Процесс нормализации был предложен в 1972 году Э. Ф. Коддом три нормальные формы (НФ): первая (1НФ), вторая (2НФ) и третья (3НФ).
Более строгое определение третьей НФ (Р. Бойс и Э. Ф. Кодд, 1974) нормальная форма Бойса-Кодда (НФБК).
Избыточность данных и аномалии обработки.
Отсутствие нормализации приводит:
Функциональные зависимости
Функциональная зависимость (ФЗ) |
Описывает связь между атрибутами отношения. Обозначение: A→B. |
Детерминант ФЗ |
Атрибут, или группа атрибутов, расположенная слева от символа стрелки. |
Первая нормальная форма (1НФ)
Ненормализованная форма |
Таблица, содержащая одну или несколько повторяющихся групп данных, или атрибут содержит неатомарные значения |
Первая нормальная форма (1НФ) |
Отношение, в котором на пересечении каждой строки и каждого столбца содержится только одно значение, и нет повторяющихся групп данных. |
Пример. Первая нормальная форма (1НФ)
Ключевой атрибут в отношении R_o KodR.
Повторяющаяся группа:
(KodP,Address,RStart,RFinish,Rent,KodO,OName)
Первый подход. Каждая повторяющаяся группа образует новый кортеж, для которого дублируются значения атрибутов, не входящих в повторяющуюся группу.
Второй подход. Каждая повторяющаяся группа удаляется из этого отношения и переносится в другое отношение с копией ключевого атрибута.
Вторая нормальная форма (2НФ)
Полная функциональная зависимость |
Атрибут (или группа) B называется полностью функционально зависимым от группы атрибутов A, если атрибут B функционально не зависит ни от какого подмножества атрибутов A |
Частичная ФЗ |
Частичной функциональной зависимостью называется такая зависимость A→B, при которой в A есть некий атрибут, при удалении которого эта зависимость сохраняется. |
Вторая нормальная форма (2НФ) |
Отношение, которое находится в первой нормальной форме и каждый атрибут, не входящий в состав первичного ключа, характеризуется полной функциональной зависимостью от этого первичного ключа. |
Пример. Функциональные зависимости, вторая нормальная форма (2НФ).
Правило. Для преобразования отношения ко 2НФ для каждой ЧФЗ необходимо создать новое отношение: атрибуты, находящиеся в ЧФЗ перемещаются в них вместе с копией части первичного ключа, от которой они функционально зависят.
Третья нормальная форма (3НФ)
Транзитивная зависимость |
Если для атрибутов A, B и C существует ФЗ вида A→B и B→C, то говорят, что атрибут C транзитивно зависит от атрибута A через атрибут B |
Третья нормальная форма (3НФ) |
Отношение, которое находится в 2НФ и не имеет не ходящих в первичный ключ атрибутов, которые находились бы в транзитивной функциональной зависимости от этого первичного ключа |
Правило. Если в отношении существует транзитивная зависимость, то транзитивно-зависимые атрибуты перемещаются в новое отношение вместе с копией детерминанта.
Нормальная форма Бойса-Кодда (НФБК)
Нормальная форма Бойса-Кодда (НФБК) |
Отношение находится в НФБК, если оно находится в 2НФ и если каждый его детерминант является потенциальным ключом |
Нарушение требования НФБК происходят крайне редко это может случиться только тогда, когда:
Пример нарушения НФБК:
3 потенциальных ключа: CN,ID,IT; SN,ID,IT; RN,ID,IT
Первичный ключ (CN,ID,IT)
C_I(CN,ID,IT,SN,RN)
Примерами сущностей могут быть такие классы объектов как «Клиент», «Товар», «Накладная», а экземпляром сущности «Клиент» - Иванов И.И.
Экземпляры сущностей должны быть различны, т.е. сущности должны иметь некоторые свойства, уникальные для каждого экземпляра.
Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными).
Примерами атрибутов сущности «Товар» могут быть такие атрибуты как «Код товара», «Наименование», «Цена» и т.п.
Ключ сущности (первичный) |
Неизбыточный набор атрибутов, значения которых в совокупности являются уникальными для каждого экземпляра сущности |
Первичный ключ может быть простым и составным. Неибыточность заключается в том, чо удаление любого атрибута из ключа нарушается его уникальность. Сущность может иметь несколько различных ключей, в этом случае необходимо выбрать один из них.
Сущность отображается прямоугольником, где сверху над прямоугольником представлено название сущности. Прямоугольник делится горизонтальной линией: атрибуты, входящие в ключ сущности, указываются выше линии, а неключевые атрибуты ниже линии.
Связь |
Некоторая логическая ассоциация, устанавливаемая между двумя сущностями, которая представляет |