lec_05_1_2_2007.ppt
- Количество слайдов: 26
Основы работы с базами данных Под базой данных понимается некоторая унифицированная совокупность данных, совместно используемая персоналом/населением группы, предприятия, региона, страны, мира. . . Требования к базам данных Хорошо спроектированная база данных: 1. Удовлетворяет всем требованиям пользователей к содержимому базы данных. 2. Гарантирует непротиворечивость и целостность данных. 3. Обеспечивает естественное, легкое для восприятия структурирование информации. 4. Удовлетворяет требованиям пользователей к производительности базы данных 1
1. 2. 3. Шаги проектирования базы данных: Определить информационные потребности базы данных. Проанализировать объекты реального мира, которые необходимо смоделировать в базе данных. Сформировать из этих объектов сущности и характеристики этих сущностей (например, для сущности "деталь" характеристиками могут быть "название", "цвет", "вес" и т. п. ) и сформировать их список. Поставить в соответствие сущностям и характеристикам - таблицы и столбцы (поля) в нотации выбранной Вами СУБД. 2
4. 5. 6. 7. Определить атрибуты, которые уникальным образом идентифицируют каждый объект. Выработать правила, которые будут устанавливать и поддерживать целостность данных. Установить связи между объектами (таблицами и столбцами), провести нормализацию таблиц. Спланировать вопросы надежности данных и, при необходимости, сохранения секретности информации. 3
Системы управления базами данных Функции СУБД – наличие средств для ввода и хранения не только самих данных, но и описаний их структуры. 1. Управление данными – обеспечивает хранение данных и служебной информации, обеспечивающей работу СУБД. 2. Управление данными в памяти компьютера – в целях ускорения работы СУБД используется буферизация данных в оперативной памяти компьютера. 3. Управление транзакциями – производит ряд операций над БД, как над единым целым. Если транзакция (манипуляция с данными) успешно выполняется, то СУБД вносит соответствующие изменения в БД. 4
Архитектура клиент/сервер Система построенная по принципу клиент/сервер состоит из трех компонентов: q сервер БД – управляет хранением данных, доступом, защитой, резервным копированием, отслеживает целостность данных и выполняет запросы клиента; q клиенты – представляют собой различные приложения пользователей и выполняющие запросы к серверу; q сеть и коммуникационное программное обеспечение – осуществляющее взаимодействие между клиентом и сервером с помощью сетевых протоколов. 5
Основные концепции реляционных баз данных В реляционной теории одним из главных является понятие отношения: Пусть даны n множеств D 1, D 2, . . . , Dn. Тогда R есть отношение над этими множествами, если R есть множество упорядоченных наборов вида < d 1, d 2, . . . , dn>, где d 1 - элемент из D 1, d 2 элемент из D 2, . . . , dn - элемент из Dn. При этом наборы вида <d 1, d 2, . . . , dn> называются кортежами, а множества D 1, D 2, . . . , Dn доменами. Каждый кортеж состоит из элементов, выбираемых из своих доменов. Эти элементы называются атрибутами, а их значениями атрибутов. 6
7
Следующие тройки терминов являются эквивалентными: отношение, таблица, файл (для локальных баз данных) кортеж, строка, запись атрибут, столбец, поле. Реляционная база данных представляет собой совокупность отношений, содержащих всю необходимую информацию и объединенных различными связями. Атрибут (или набор атрибутов), который может быть использован для однозначной идентификации конкретного кортежа называется первичным ключом. 8
Для ускорения доступа по первичному ключу во всех СУБД имеется механизм, называемый индексированием. Индекс представляет собой инвертированный древовидный список, указывающий на истинное местоположение записи для каждого первичного ключа. Вразных СУБД индексы реализованы поразному (в локальных СУБД - как правило, в виде отдельных файлов), но принципы их организации одинаковы. Для поддержания ссылочной целостности данных во многих СУБД имеется механизм так называемых внешних ключей. Некоторому атрибуту (или группе атрибутов) одного отношения назначается ссылка на первичный ключ другого отношения, тем самым закрепляются связи подчиненности между этими отношениями. 9
Отношение, на первичный ключ которого ссылается внешний ключ другого отношения, называется master-отношением, или главным отношением; а отношение, от которого исходит ссылка, называется detail-отношением, или подчиненным отношением. После назначения такой ссылки СУБД имеет возможность автоматически отслеживать вопросы "не нарушения" связей между отношениями. Реляционную БД можно рассматривать как набор отношений, связанных между собой. Связь в данном случае - это ассоциирование двух или более отношений. Существуют следующие основные виды связей: один к одному; один ко многим; многие к одному; многие ко многим. 10
Связь "один к одному" предполагает, что в каждый момент времени каждому элементу (кортежу) А соответствует 0 или 1 элементов (кортежей) В 1 1 А В Связь "один ко многим" состоит в том, что в каждый момент времени каждому элементу (кортежу) А соответствует несколько элементов (кортежей) В. Например: в доме проживает много жильцов. 11
Связь "многие к одному" предполагает, что в каждый момент времени множеству элементов А соответствует 1 элемент В. Например: несколько студентов представляют собой студенческую группу. А В 12
Связь "многие ко многим" состоит в том что в каждый момент времени множеству элементов А соответствует множество элементов В. Этот тип связи в реляционных БД непосредственно «не поддерживается. Пример: у студентов учебные занятия по дисциплинам ведут множество преподавателей. 13
Реляционная алгебра Основой реляционной модели БД является реляционная алгебра, основанная на теории множеств и рассматривающая специальные операторы над отношениями. Набор алгебраических операций состоит из восьми основных отношений: o выборка; o проекция; o объединение; o пересечение; o вычитание; o произведение; o соединение; o деление. 14
Выборка Результатом выборки отношения по некоторому условию является отношение, которое включает только те кортежи первоначального отношения, которые удовлетворяют этому условию. Проекция При осуществлении проекции отношения на заданный набор его атрибутов будет получено отношение, кортежи которого взяты из соответствующих кортежей первоначального отношения. 15
Объеденение При выполнении операции объединения двух отношений будет получено отношение, включающее все кортежи, входящие хотя бы в одно из участвующих в операции отношений. Пересечение В качестве результата операции пересечения двух отношений получается отношение, включающее все кортежи, входящие в оба первоначальные отношения. 16
Вычитание Отношение являющее разностью двух отношений, включает все кортежи, входящие в первое отношение и одновременно такие, что ни один из них не входит в отношение, являющееся вторым. Произведение А Б Г В Д А А Б Б В В Г Д Г Д При выполнении прямого произведения двух отношений получаются отношение, кортежи которого являются сочетанием кортежей первого и второго отношения. 17
Соединение А Г Г Б Г В Д Ж А Г Ж Д З Б Г Ж Е В Д З И При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются сочетанием кортежей первого и второго отношений, удовлетворяющим этому условию. Деление А Г А Д Г А Е А Д Б Д В Е В Д Результат операции – отношение, состоящее из кортежей, включающих значение первого атрибута кортежей первого отношения, причем таких, что множество значений второго атрибута совпадает со множеством значений второго атрибута. 18
Проектирование логической структуры базы данных Нормализация базы данных Проектирование базы данных осуществляется на основе подхода, при котором весь процесс проектирования производится в терминах реляционной модели данных. Начало проектирования - представление предметной области (то есть той реальной информации, которая будет храниться в БД) в виде одного или нескольких отношений. Процесс проектирования представляет собой нормализацию схем отношений, причем каждая следующая нормальная форма (НФ) обладает свойствами лучшими чем предыдущая. 19
Идея нормализации заключается в следующем. Каждая таблица в реляционной базе данных удовлетворяет условию, в соответствии с которым в позиции на пересечении каждой строки и столбца таблицы всегда находится единственное значение, и никогда не может быть множества таких значений. После применения правил нормализации логические группы данных располагаются не более чем в одной таблице. 20
Выделяют следующую последовательность нормальных форм: • первая нормальная форма (1 НФ); • вторая нормальная форма (2 НФ); • третья нормальная форма (ЗНФ); • нормальная форма Бойса-Кодда (НФБК), • четвертая нормальная форма (4 НФ). • пятая нормальная форма, или нормальная форма проекции-соединения (ЗНФ или НФПС) Основные свойства НФ: • каждая следующая НФ в некотором смысле лучше предыдущей; • при переходе к следующей НФ свойства предыдущих нормальных форм сохраняются. 21
Приведение к первой нормальной форме Когда поле в данной записи содержит более одного значения для каждого вхождения первичного ключа, такие группы данных называются повторяющимися группами. 1 НФ не допускает наличия таких многозначных полей. Пример: Таблица ОТДЕЛ №_отдела 100 600 100 Название Руководитель продаж Иванов разработок Петров продаж Иванов Бюджет 1000000 11000000 Расположение Москва Зеленоград Тверь Калуга Для приведения этой таблицы к 1 НФ мы должны устранить атрибут Расположение из таблицы ОТДЕЛ 22
Создадим новую таблицу РАСПОЛОЖЕНИЕ _ОТДЕЛОВ, в которой определить первичный ключ, являющийся комбинацией номера отдела и его расположения (№_отдела+Расположение). Теперь для каждого расположения отдела существуют различные строки. Табл. РАСПОЛОЖЕНИЕ_ОТДЕЛОВ №_отдела Расположение 100 Москва 100 Зеленоград 600 Тверь 100 Калуга 23
Приведение ко второй нормальной форме Следующий шаг - удалении всех неключевых атрибутов, которые зависят только от части первичного ключа. Такие атрибуты называются частично зависимыми. Неключевые атрибуты заключают в себе информацию о данной сущности предметной области, но не идентифицируют ее уникальным образом. Пример: Табл. ПРОЕКТ №_ раб 28 17 06 ИД_проек Фамилия Наз_проек ОП_ проек Продукт БРЖ Иванов Биржа <blob> программа ДОК Петров Документы <blob> программа УПР Сидоров Управление <blob> адм. меры 24
Приведение к третьей нормальной форме Третий этап процесса приведения таблиц к нормальной форме состоит в удалении всех неключевых атрибутов, которые зависят от других неключевых атрибутов. Каждый неключевой атрибут должен быть логически связан с атрибутом (атрибутами), являющимся первичным ключом. Пример: Табл. ПРОЕКТ ИД_проек БРЖ ДОК УПР №_ руков Телефон Назв_ проек 02 2 -21 Биржа 12 2 -43 Документы 08 2 -56 Управление Продукт программа адм. меры 25
Табл. ПРОЕКТ ИД_проек Руководитель Назв_ проек БРЖ 02 Биржа ДОК 12 Документы УПР 08 Управление Продукт программа адм. меры Табл. РАБОТНИКИ №_ раб 02 08 Фамилия Иванов Петров №_ отдела 100 200 Код. ПРФ Телефон инж 2 -69 мндж 2 -56 23 Сидоров 200 мндж -45 26
lec_05_1_2_2007.ppt