Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Реляционная теория баз данных

Жизненный цикл информационных систем

Анализ ситуации (сложность разработки ИС, не эффективное использование ИС), проведенный учеными, показал, что такое положение было вызвано тем, что при разработке программного обеспечения не соблюдались очень важными требования:

· Отсутствие полной спецификации всех требований;

· Отсутствие приемлемой методологии (системы методов) разработки ИС;

· Отсутствие разделения общего глобального проекта на отдельные компоненты, поддающиеся эффективному контролю и управлению.

Жизненный цикл (ЖЦ) информационных систем – это структурный подход к разработке программного обеспечения.

(некая схема) за 26.09.12

1. Планирование разработки ИС. Подготовительные действия, позволяющие с максимальной эффективностью реализовывать этапы ЖЦ ИС. Три основных компонента: оценка объема работ; оценка необходимых ресурсов; оценка общей стоимости проекта.

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

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

4. Проектирование базы данных. Создание проекта базы данных. Два основных подхода к проектированию систем баз данных: «нисходящий» и «восходящий».

5. Выбор целевой СУБД. Выбор СУБД подходящего типа, предназначенной для поддержки создаваемого приложения базы данных.

6. Разработка приложений. Проектирование интерфейса пользователя и прикладных программ, предназначенных для работы с базой данных.

7. Создание прототипа. Создание рабочей модели приложения баз данных.

8. Реализация. Физическая реализация базы данных и разработанных приложений.

9. Конвертирование и загрузка данных. Перенос существующих данных в новую базу данных, загрузка и модификация существующих приложений с целью организации совместной работы с новой БД.

10. Тестирование. Процесс выполнения прикладных программ с целью поиска ошибок. Стратегии тестирования: нисходящее тестирование; восходящее тестирование; тестирование потоков; интенсивное тестирование.

11. Эксплуатация и сопровождение. Наблюдение за системой и поддержка её нормального функционирования: контроль производительности; сопровождение и модернизация приложений.

Реляционная теория баз данных

Терминология

В 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 правил, которым они должны удовлетворять.

  Правило
    Фундаментальное правило. Реляционная СУБД должна быть способна управлять базами данных исключительно с помощь её реляционных функций
    Представление информации. Вся информация в реляционной БД представляется в явном виде на логическом уровне только одним способом – в виде значений в таблицах. В том числе, метаданные.
    Гарантированный доступ. Для каждого элемента данных реляционной БД должен быть гарантирован логический доступ на основе комбинации имени таблицы, значения первичного ключа и имени столбца.
    Поддержка неопределенных значений. СУБД поддерживает неопределенные значения (Null).
    Реляционный системный каталог. Описание БД должно представляться на логическом уровне таким образом, как и обычные данные, что позволяет пользователям использовать для обращения к ним тот же реляционный язык.
    Исчерпывающий подъязык данных. реляционная СУБД может поддерживать несколько языков. Однако должен существовать по крайней мерее один язык, операторы которого позволяли бы выполнить следующие функции: 1. Определение данных; 2. Определение представлений; 3. Команды манипулирования данными; 4. Ограничения целостности; 5. Авторизации пользователей; 6. Организации транзакций
     
    Высокоуровневые операции извлечения, вставки, удаления, обновления. Способность СУБД выполнять операции извлечения данных команд вставки, удаления и обновления как единой операции.
    Физическая независимость от данных. От способа хранения
    Логическая независимость от данных. Независимость приложений от изменения базовых таблиц.
    Независимость ограничений целостности. Ограничения целостности должны определяться на подъязыке реляционных данных и храниться в системном каталоге, а не в прикладных программах.
    Независимость от распределения данных.
    Правило запрета обходных путей. Если СУБД имеет низкоуровневый язык (с последовательной построчной обработкой), он не должен позволять обходить правила и ограничения целостности, описанных на реляционном языке высокого уровня.

 

 

Моделирование данных на основе процесса нормализации

Цель нормализации.

нормализация Метод создания набора отношений в заданными свойствами.

Процесс нормализации был предложен в 1972 году Э. Ф. Коддом – три нормальные формы (НФ): первая (1НФ), вторая (2НФ) и третья (3НФ).

Более строгое определение третьей НФ (Р. Бойс и Э. Ф. Кодд, 1974) – нормальная форма Бойса-Кодда (НФБК).

Избыточность данных и аномалии обработки.

Отсутствие нормализации приводит:

· Избыточность данных

· Аномалии вставки (невозможно добавлять записи)

· Аномалии удаления (при удалении информации теряется другая информация)

· Аномалии обновления (требуется обновление многих записей)

· Свойства сохранения без потерь и сохранения зависимости.

Функциональные зависимости

Функциональная зависимость (ФЗ) Описывает связь между атрибутами отношения. Если каждое значение атрибута (или группы атрибутов) A связано только с одним значением атрибута B (или группы атрибутов), то говорят, что атрибут B функционально зависит от атрибута A. Обозначение: A→B.
Детерминант ФЗ Атрибут, или группа атрибутов, расположенная слева от символа стрелки.
Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...