3 введение в базы данных.ppt
- Количество слайдов: 75
ВВЕДЕНИЕ В БАЗЫ ДАННЫХ Введение в базы данных 1
Базы данных – основа ИКС Для удовлетворения хранения и обработки больших объемов данных необходима эффективная организация данных в виде т. н. базы данных, которая является основой современной инфокоммуникационной системы. База данных представляет собой совокупность сведений об объектах предметной области хранилище сведений для совместного использования данных. Введение в базы данных 2
Типы задач Первоначально архитектуры ЭВМ и системы программирования разрабатывались для решения вычислительных задач, сложных в алгоритмическом отношении (много вычислительных операций и мало операций ввода-вывода) – решение «диффур» численными методами. Сейчас такие задачи решаются на HPC кластерах. Информационные задачи - решаются в рамках ИКС (объем исходных и/или выходных данных значительно превосходит объем оперативной памяти, данные представлены в символьном (не числовом) виде, вычислительные операции примитивны. Данные хранятся отдельно и многократно используются. Результат обработки представляется пользователю в удобном для него виде (формы, документы). Объемы данных велики, а структура данных сложна. Введение в базы данных 3
С появлением накопителей на магнитных дисках (НМД) после МЛ началась история развития систем управления данными (СУБД). Ранее программисты должны знать, где физически располагаются данные, формат записей, используемый прикладной программой. Изменение формата приводит к перекодированию программы. Проблемы поддержки согласованности данных Введение в базы данных 4
Файлы и базы данных Infocomm. System File Infocomm. System Database (consolidated & integrated data from files) Infocomm. System File Введение в базы данных 5
Логическое и физическое представление данных Метод баз данных решает проблему обеспечивает два разных представления данных: логическое и физическое: Логическое представление имеет дело с тем, как пользователи организуют, просматривают, понимают данные и их отношения (важны объекты данных и их параметры). Физическое представление имеет дело с тем, как и где данные физически размещаются и хранятся на дисках, магнитных лентах и других носителях. Введение в базы данных 6
Определения БД- набор данных, организованных таким образом, что представляет модель предметной области (например, бронирование мест в гостиницах) и обеспечивает информационные потребности пользователей (например, поиск гостиниц со свободными номерами) БД также представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Введение в базы данных 7
Определения терминов Файл - это именованный набор данных фактического хранения информации и представляет собой одномерный массив байт – последовательность байт. Формат файла определяется его содержимым и представляет собой контейнер данных, который может иметь весьма сложную структуру, которую необходимо интерпретировать, например, графический файл, документ. В файле различают структуру и собственно данные. Структура файла остается неизменной, а информация (данные) могут изменяться при операциях обращения к нему из приложений. Введение в базы данных 8
Записи Записи состоят из фиксированной совокупности полей, предназначенных для представления значений какого-либо типа (чисел, символьных строк, дат, булевских значений, денежных единиц и т. д. ), и могут иметь формат фиксированной или переменной длины. Полям в базе данных присваиваются, как правило, уникальные имена в данной, ассоциируемые с предметной областью. Пример - сотрудники организации: номер, фамилия, … ИКС решает задачи управления данными - ведения (вставки, удаления, замены, …) поиска и представления данных. Введение в базы данных 9
Управление данными выполняется в различных ИКС и имеет много общего, и стремление выделить общую часть информационных систем, ответственную за управление сложно организованными данными, стало основной причиной создания систем управления базами данных (СУБД). СУБД - это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Введение в базы данных 10
Обычно СУБД различают по используемой модели данных (иерархическая, сетевая, реляционная, объектно-ориентированная, объектно-реляционная) , и популярные в настоящее время СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД представляет собой инструментальную оболочку пользователя , ориентированную на оперативное удовлетворение запросов пользователя, работающую в режиме интерпретатора. Введение в базы данных 11
Состав информационной модели данных Каждая ИКС в зависимости от назначения имеет дело с некоторым фрагментом реального мира, который принято называть ее предметной областью. Анализ предметной области является необходимым начальным этапом разработки любой системы, на котором определяются информационные потребности пользователей создаваемой системы, и которые, в свою очередь, предопределяют содержание ее базы данных. Предметная область конкретной ИКС рассматривается, прежде всего, как некоторая совокупность реальных объектов, описываемых набором атрибутов и связей между ними, которые представляют интерес для ее 12 Введение в базы данных
Понятие сущности Информационный объект - это описание некоторой сущности предметной области (реального объекта, процесса, явления или события), который описывается совокупностью логически взаимосвязанных атрибутов (свойств), представляющих собой качественные и количественные характеристики объекта. Сущность, таким образом, представляет некоторый объект, идентифицируемый в предметной области пользователей, о чем пользователь хотел бы получать сведения. Введение в базы данных 13
Понятие сущности Сущностями, в зависимости от предметной области, могут быть люди, места, самолеты, рейсы, вкус, цвет и т. д. Понятие "тип сущности" относится к набору однородных экземпляров сущностей (сотрудников, предметов, событий или идей), выступающих как целое - класс. Экземпляр сущности относится к конкретному вхождению в наборе – конкретный сотрудник Иванов. Введение в базы данных 14
Связи: обязательные и не… Между объектами предметной области могут существовать связи, имеющие различный содержательный смысл и могут быть обязательными или необязательными. Если вновь создаваемый объект оказывается по необходимости связанным с каким-либо другим объектом предметной области, то между этими объектами существует обязательная связь, в противном случае, связь является или необязательной. Пример: Сотрудник - Должность Введение в базы данных 15
Информационно-логическая модель (ИЛМ) ИЛМ - совокупность информационных объектов (сущностей) предметной области и связей между ними. Процесс создания информационной модели начинается с определения концептуальных требований будущих пользователей БД. Требования отдельных пользователей интегрируются в едином интегрированной представлении, которое называют концептуальной моделью данной предметной области в виде взаимосвязанных объектов без определения способов их физического хранения. Введение в базы данных 16
Логическая и внешняя Вариант концептуальной модели, которая может быть реализована в среде конкретной СУБД, называется логической моделью, отражает логические связи между атрибутами объектов вне зависимости от их содержания и среды хранения и может быть реализована в рамках различных СУБД. Отдельное логическое представление данных для каждого пользователя называется внешней моделью данных или пользовательским представлением. Введение в базы данных 17
Три уровня представления Введение в базы данных 18
Внутренняя модель Внутренняя модель предметной области определяет размещение данных, методы доступа к ним и технологию индексирования в данной логической модели и иначе называется физической моделью. Информационные объекты любого пользователя в БД должны быть независимы от всех других пользователей, т. е. не должны оказывать влияния на существующие внешние модели. Внешние модели пользователей никак не связаны с типом физической памяти, в которой будут храниться данные, и с физическими методами доступа к этим данным. Введение в базы данных 19
Типы моделей данных Основой любой базы данных является модель данных. Модель данных - это совокупность структур данных и операций их обработки. По способу установления связей между данными различают иерархическую, сетевую и реляционную модели. Введение в базы данных 20
Линейная структура В основе всех моделей данных лежит линейная структура, которая имеет следующие свойства: элементами линейной структуры являются атрибуты (поля), имеющие простые данные каждое поле имеет имя (идентификатор) и множество возможных значений, задаваемое словарем, диапазоном или правилом формирования множество полей, составляющих линейную структуру, описывает множество однотипных объектов; все поля линейной структуры (записи) однородны: порядок следования полей во всех экземплярах структуры не меняется размер и тип поля для одного имени во всех экземплярах структуры одинаковы Одно или несколько полей , которые однозначно Введение в базы данных 21
Пример линейной структуры Ключ - Код студента, поскольку это значение однозначно идентифицирует студента, по крайней мере, в рамках одного учебного заведения. Введение в базы данных 22
Функциональная зависимость С понятием ключа тесно связано понятие функциональная зависимость (FD) между элементами данных в линейной структуре, выявление которой играет важную роль в процессе построения логической модели базы данных. Определение FD : Поле В таблицы функционально зависит от поля А таблицы в том и только в том случае, когда в любой заданный момент времени для каждого из различных значений поля А обязательно существует только одно из различных значений поля В. Допускается, что поля А и В могут быть составными. Введение в базы данных 23
Пример зависимости Рассмотрим структуру СТУДЕНТЫ_ЭКЗАМЕНЫ {СТУД_НОМ, СТУД_ИМЯ, СТУД_ОЦЕНКА, ДИСЦ_НОМ, ДИСЦ_ПРЕП} СТУД_НОМ-> СТУД_ИМЯ СТУД_НОМ->СТУД_ОЦЕНКА СТУД_НОМ->ДИСЦ_НОМЕР СТУД_НОМ->ДИСЦ _ПРЕП {СТУД_НОМ, ДИСЦ_НОМЕР}->СТУД_ОЦЕНКА ДИСЦ_НОМЕР->ДИСЦ _ПРЕП {СТУД_НОМ, СТУД_ДИСЦ}->{СТУД_ОЦЕНКА, ДИСЦ_ПРЕП} СТУД_НОМ 3941 3942 3943 3944 СТУД_ИМЯ Иванова Е. Петров М. Сидоренко И. СТУД_ОЦЕНКА 4 5 3 4 Введение в базы данных ДИСЦ_НОМ 1 1 2 2 ДИСЦ_ПРЕП Жданов П. А. Киров С. М. 24
Пример иерархической модели Введение в базы данных 25
Иерархическая модель Позволяет строить базы данных с использованием древовидной структурой, где каждый узел содержит линейные структуры различных типов (сущность). Связанные между собой элементы дерева относятся так, что каждому экземпляру верхнего уровня ("родительского") можно поставить в соответствие несколько экземпляров нижнего ("подчиненного") узла. На верхнем уровне дерева в этой модели имеется только один узел - корень, на следующем уровне располагаются узлы, связанные с этим корнем, затем узлы, связанные с узлами предыдущего уровня и т. д. Введение в базы данных 26
Иерархическая модель Каждый узел может иметь только одного предка и несколько подчиненных различных типов. Элементы дерева, не имеющие подчиненных узлов называются концевыми или листьями. Таким образом, связь между непосредственно связанными элементами формально определяется как «один к многим» или 1: М Введение в базы данных 27
Обработка данных Операция поиска данных в иерархической системе всегда начинается с корня. Затем производится спуск с одного уровня дерева на другой, пока не будет достигнут искомый уровень. Перемещения по системе от одной записи к другой осуществляются с помощью ссылок. Примером иерархической базы данных является файловая система, состоящая из корневого каталога, в котором имеется иерархия подкаталогов и файлов. Введение в базы данных 28
Достоинства и недостатки иерархической модели Простота описания иерархических структур реального мира и быстрое выполнение запросов. Однако не всегда удобно каждый раз начинать поиск нужных данных с корня, но другие способы перемещения по базе данных в иерархических структурах не поддерживаются. Введение в базы данных 29
Сетевая модель Указанный недостаток отсутствует в сетевой модели, в которой возможны связи всех информационных объектов со всеми. Сетевая модель – это граф с записями в виде вершин (узлов) графа и связями в виде его ребер. В основу положены графы произвольной структуры, которые отражает взаимосвязи между данными в этой модели, как показано на рисунке ниже: Введение в базы данных 30
Правила сетевой модели данных элементами являются линейные структуры различных типов; связи образуются аналогично древовидной структуре; между двумя элементами (типами записей) может быть более одной связи; у одного элемента может быть более одного старшего; возможны несколько связей внутри линейной структуры (петли); возможны циклические подструктуры; связи типа N : M (многие ко многим) Введение в базы данных 31
Пример сетевой модели преподаватель может обучать многих (теоретически всех) студентов и каждый студент может обучаться у многих (теоретически у всех) преподавателей. Поскольку на практике это, естественно, невозможно, прибегают к некоторым ограничениям количества реализуемых всвязей. Введение базы данных 32
Проблемы рассмотренных моделей данных Использование иерархической и сетевой моделей повышает эффективность обработки информации в базе данных, однако, поскольку каждый элемент данных должен содержать ссылки на другие элементы, требуются значительные ресурсы как дисковой, так и основной (оперативной) памяти компьютера и это приводит, конечно, к снижению скорости обработки данных. Кроме того, для применения таких моделей характерна сложность реализации системы управления базами данных Введение в базы данных 33
Реляционная модель - РМ Разработана в начале 70 -х прошлого века Коддом и является стандартом по де-факто и де-юре. Простота и гибкость этой модели привлекли к ней внимание разработчиков, и уже 80 -х годах ХХ в. она получила широкое распространение и реляционные СУБД приняли промышленным стандартом. Реляционная модель опирается на систему понятий реляционной алгебры, важнейшими из которых являются таблица, строка, столбец, отношение и первичный ключ, а все операции в этом случае сводятся к манипуляциям с таблицами (проекция, селекция , объединение, …) Введение в базы данных 34
Правила РМ В РМ данные представляется в виде таблиц (линейных структур), которая имеет уникальное имя, и состоит из строк и столбцов. Таблица отражает объект реального мира - сущность, а каждая ее строка (запись) представляет конкретный экземпляр объекта - экземпляр сущности. Столбцы таблицы имеет уникальные для данной таблицы имена и располагаются в соответствии с порядком номером, присвоенном при создании таблицы. Введение в базы данных 35
Правила РМ Строки не именуются, их порядок следования в таблице не определен, а количество строк не ограничено. Поскольку строки в таблице не упорядочены, отсутствует возможность выбрать строку по ее позиции. Номер, имеющийся в файле у каждой строки, не характеризует ее, так как его значение изменяется при удалении строк из таблицы. Логически не существует первой и последней строки. Введение в базы данных 36
Правила РМ Реляционные системы исключили необходимость сложной навигации, поскольку данные представлены не в виде одного файла, а независимыми наборами данных, каждому из которых соответствует одна таблица, и для выборки данных используются операции реляционной алгебры - прикладной теории множеств. Для каждой таблицы определен первичный ключ. Атрибуты строк–кортежей (и таблиц–отношений) – это значения из определенных вместе с таблицами областей определения ( «доменов» ). Введение в базы данных 37
Правила РМ Набор кортежей, составляющий таблицу, образует математическое отношение; таким образом, модель данных представляется множеством таблиц– отношений (называемых также R–таблицами); отсюда название «реляционная» , т. е. модель, представленная отношениями. В РМ все таблицы должны быть преобразованы в отношения. Схема реляционной таблицы (отношения) представляет собой совокупность имен полей, образующих ее запись следующего вида: НАЗВАНИЕ ТАБЛИЦЫ (Поле 1, Поле 2, … Поле n). Введение в базы данных 38
Внешний ключ Внешний ключ - это столбец (совокупность столбцов), значение которого однозначно характеризует значения первичного ключа другого отношения (таблицы) в связанной таблице. Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение (таблицу), в котором та же совокупность столбцов является первичным ключом. Чтобы связать две реляционные таблицы, необходимо ключ первой таблицы ввести в состав ключа второй таблицы, в противном случае следует ввести в структуру первой таблицы внешний ключ – первичный ключ второй таблицы. в базы данных Введение 39
Пример внешнего ключа СОТРУДНИК (Номер пропуска, ФИО, Должность, Название отдела, Телефон); ОТДЕЛ (Название отдела, Расположение отдела, Назначение отдела). Введение в базы данных 40
Воможности реляционной модели Развитая теория (реляционной алгебры); Аппарат сведения других моделей данных к реляционной модели; Специальные средства ускоренного доступа к данным (индексирование и хеширование); Наличие стандартизированного высокоуровневого языка запросов к БД - SQL, позволяющего манипулировать данными без знания конкретной физической организации БД во внешней памяти. Введение в базы данных 41
Типы взаимосвязей в модели В практике моделирования обычно анализируются связи, устанавливающие различные виды соответствия между объектами. Связь (relationship) - это ассоциация, установленная между несколькими сущностями. Различают следующие типы связей: один к одному (1: 1), один ко многим (1: М), многие ко многим (М: M). Например, поскольку каждый сотрудник работает в каком-либо отделе, между сущностями СОТРУДНИК и ОТДЕЛ существует связь "работает в " или ОТДЕЛ-РАБОТНИК. Или, так как один из работников отдела является его руководителем, то между сущностями СОТРУДНИК и ОТДЕЛ имеется Введение в базы данных связь "руководит" или ОТДЕЛ-РУКОВОДИТЕЛЬ. 42
Мощность связи Число сущностей, которое может быть ассоциировано посредством связей с другой сущностью, называют мощностью (или степенью) связи. Таким образом, мощность связи определяет минимальное и максимальное количество вхождений одной сущности, которая может быть связана с единственным вхождением другой сущности. Введение в базы данных 43
Семантика - смысл В реальном проектировании структуры базы данных применяются т. н. семантическое моделирование структуры данных, в котором опираются на смысл этих данных. Для моделирования различные варианты диаграмм сущность-связь (ER - Entity. Relationship) поскольку они изображает данные в терминах сущностей и связей, описываемых данными, автором которой является Chen профессор компьютерных наук в университете штата Луизиана. Введение в базы данных 44
Основные понятия ER-диаграмм Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели. Сущность должна иметь наименование, выраженное существительным в единственном числе. Примерами сущностей могут быть такие классы объектов как "Поставщик", "Сотрудник", "Накладная". Каждая сущность в модели изображается в виде прямоугольника с наименованием: Введение в базы данных 45
Атрибут сущности - это именованная характеристика, являющаяся некоторым свойством сущности. Наименование атрибута должно быть выражено существительным в единственном числе (возможно, с характеризующими прилагательными). Ключевые атрибуты изображаются на диаграмме подчеркиванием Введение в базы данных 46
Связь Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собою. Связи позволяют по одной сущности находить другие сущности, связанные с ней. 1: 1, 1: M, M: M (временная и должна resolve) Каждая связь может иметь одну из двух модальностей связи Введение в базы данных 47
Целостность данных Каждая строка таблицы должна отличаться от других строк значением хотя бы значением одного столбца. Например, можно предположить, что сотрудники одного подразделения могут иметь одинаковые фамилии, должности и телефон. Внешний ключ не может быть указателем на несуществующую строку той таблицы, на которую он ссылается. Это ограничение называется ограничением целостности данных в базе по ссылкам. Введение в базы данных 48
Шаблон построения фраз <Каждый экземпляр СУЩНОСТИ 1> <МОДАЛЬНОСТЬ СВЯЗИ> <НАИМЕНОВАНИЕ СВЯЗИ> <ТИП СВЯЗИ> <экземпляр СУЩНОСТИ 2>. Каждая связь может быть прочитана как слева направо, так и справа налево. Связь, например, читается так: Слева направо: "каждый сотрудник может иметь несколько детей". Справа налево: "Каждый ребенок обязан принадлежать ровно одному сотруднику". Существует несколько нотаций ERD. Большинство называются по именам их открывателей (например, Chen, Martin, Bachman, Merise), а также по опубликованному стандарту (т. е. , IDEF 1 X). Введение в базы данных 49
Нотация Мартина Мощность (Cardinality )
Нотация IDEF 1 X Мощность (Cardinality )
Категоризация (Generalization ) Категоризация - конструкция при которой атрибуты, которые общие для нескольких типов сущностей группируются в отдельную сущность, называемую супертипом (supertype). Сущность супертип – сущность, экземпляры которой содержат атрибуты, общие для одной или более сущностей подтипа (сущность - категория). Сущность подтипа (сущность-категория) – экземпляры которой наследуют несколько общих атрибутов из сущности супертипа и затем добавляет другие атрибуты, которые уникальны для экземпляров подтипа (сущность-категория).
Концепция моделирования данных: Категоризация
Пример модели Введение в базы данных 54
Нормализация баз данных Одни и те же данные могут быть сгруппированы в таблицы различными способами. Группировка атрибутов в отношениях должна быть рациональной, т. е. устраняющей (минимизирующей) дублирование данных и упрощающей процедуры их обработки и обновления. Устранение избыточности данных является одной из важнейших задач при проектировании баз данных и обеспечивается нормализацией. Введение в базы данных 55
Понятие нормализации Нормализация - технология анализ данных, которая формирует атрибуты данных, группируя их в виде безызбыточных, устойчивых, гибких и адаптивных сущностей. Нормализация предназначена для приведения структуры БД к виду, обеспечивающему минимальную логическую избыточность, и не ставит целью уменьшение или увеличение производительности работы или же уменьшение или увеличение физического объёма базы данных. В идеале при нормализации надо добиться, чтобы любое значение хранилось в базе в одном экземпляре, причем значение это не должно быть производным из Введение в базы в базе. 56 других данных, хранящихсяданных
Рассмотрим отношение ПРОЕКТЫСОТРУДНИКИ (Назв_проекта, Дата_начала, Дата_окончания, Сотрудник, Телефон) со следующими значениями строками: Назв_проекта Проект А Проект В Проект С Дата_начала 30. 03. 2012 10. 08. 2012 01. 03. 2012 Дата окончания 15. 05. 2012 31. 12. 2012 20. 10. 2012 Введение в базы данных Работник Иванов Петрова Сидоров Петрова Иванов Телефон 348 524 712 524 348 57
Проблемы структуры Аномалия вставки (нельзя вставить сведения о сотруднике до тех пор, пока он не станет участником какого-либо проекта; аналогичное замечание можно высказать и в отношении проекта). Аномалия обновлений (фамилия, телефон сотрудника содержатся во многих кортежах отношений, и в случае необходимости изменения (например, фамилии или номера телефона) следует выполнять процедуру массовой замены. Аномалия удаления (При удалении некоторых данных может произойти потеря другой информации). Причина : хранение в одном отношении разнородной Введение в базы данных 58 информации.
Процесс нормализации заключается в разложении (декомпозиции) исходных отношений БД на более простые отношения. При этом на каждой шаге этого процесса схемы отношений приводятся в нормальные формы. Для каждого шага нормализации имеется набор условий, которым должны удовлетворять отношения БД. В процессе нормализации из таблиц базы удаляется избыточная неключевая информация. Введение в базы данных 59
Процесс нормализации основан на понятии функциональной зависимости атрибутов: атрибут B зависит от атрибута A (A -> B), если в любой момент времени каждому значению атрибута A соответствует не более одного значения атрибута B. Зависимость, при которой каждый неключевой атрибут зависит от всего составного ключа и не зависит от его частей, называется полной функциональной зависимостью. Введение в базы данных 60
Если атрибут B зависит от атрибута. A, а атрибут C зависит от атрибута B (A -> В -> C), но обратная зависимость при этом отсутствует, то зависимость С от А называется транзитивной. Некоторые функциональные зависимости не желательно сохранять в логической схеме базы данных и для выполнения нормализации отношений применяется семантический анализ атрибутов схемы. Введение в базы данных 61
Замечания Процесс нормализации подразделяется на несколько нормальных форм, которые удовлетворяют следующим свойствам: Каждая следующая НФ в некотором смысле является более ограниченной, но лучше, чем предыдущая. При переходе к следующей форме положительные свойства предыдущей НФ сохраняются. Простой атрибут - атрибут, значения которого атомарны (неделимы). Сложный атрибут получается соединением нескольких атомарных атрибутов, которые могут быть определены на одном или разных доменах (его также называют вектор или агрегат данных). Введение в базы данных 62
1 NF Отношение находится в первой нормальной форме (1 NF) если не существует атрибутов, которые могут иметь более чем одно значение в одном экземпляре сущности. Любые атрибуты, которые могут иметь множественные значения фактически описывают отдельную сущность, возможно сущность и связь. Иными словами значения атрибутов являются атомарными. Если в каком-либо атрибуте имеются повторяющиеся или множественные значения, то объект (сущность) не находится в 1 НФ, и пропущен, по крайней мере, еще один информационный объект (еще одна сущность). Введение в базы данных 63
Пример ДИСЦИПЛИНА (Код дисциплины, Название, Цикл, Объем часов, Преподаватели). Это отношение не находится в 1 НФ, так как атрибут Преподаватели подразумевает возможность наличия нескольких фамилий преподавателей в записи, относящейся к какому-то конкретному предмету, что соответствует участию нескольких преподавателей в ведении одной дисциплины. ДИСЦИПЛИНА (Код дисциплины, Название, Цикл, Объем часов); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность, Оклад, Адрес, Код дисциплины). Введение в базы данных 64
1 NF ДИСЦИПЛИНА (Код дисциплины, Название, Цикл, Объем часов); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность, Оклад, Адрес); ПРЕПОДАЕТ (Код дисциплины, Код преподавателя). Введение в базы данных 65
2 NF Отношение находится во второй нормальной форме , если оно уже в 1 NF и если значения неключевых атрибутов зависят от полного ключа, а не от его части. Все неключевые атрибуты, которые зависят только от части ключа, следует поместить в другие отношения, в которых часть ключа является действительно полным ключом. Это может потребовать создания нового отношения и связи в модели. Если некий атрибут не зависит полностью от уникального идентификатора информационного объекта, значит, он внесен в состав этого информационного объекта ошибочно и его следует оттуда изъять. Введение в базы данных 66
ПРЕДМЕТ (Код предмета, Название, Объем часов, Код цикла); ЦИКЛ (Код цикла, Название цикла); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Должность, Оклад, Адрес); ИЗУЧЕНИЕ (Код предмета, Код преподавателя). Введение в базы данных 67
3 NF Отношение находится в третьей нормальной форме , если оно уже во 2 NF и значения его неключевых атрибутов не зависят от любых других неключевых атрибутов. Неключевые атрибуты, которые зависят от других неключевых атрибутов, должны быть перемещены либо удалены. Опять, новые отношения и связи должны быть добавлены в модель данных. Атрибуты, зависящие от других неидентифицирующих атрибутов, нормализуются путем перемещения зависимого атрибута и атрибута, от которого он зависит, в новое отношение. Введение в базы данных 68
ДИСЦИПЛИНА (Код дисциплины, Название дисциплины, Объем часов, Код цикла); ЦИКЛ (Код цикла, Название цикла); ПРЕПОДАВАТЕЛЬ (Код преподавателя, ФИО, Код должности, Адрес); ДОЛЖНОСТЬ (Код должности, Название должности, Оклад); ПРЕПОДАЕТ (Код предмета, Код преподавателя) Введение в базы данных 69
Пользователи БД и СУБД Система управления базами данных (СУБД) - это совокупность языковых и программных средств, обеспечивающих управление созданием и использованием БД многими пользователям. Существует две основные категории: конечные пользователи; администраторы баз данных. Проектирование базы данных. Оптимизация производительности базы данных. Обеспечение и контроль доступа к базе данных. Обеспечение безопасности в базе данных. Резервирование и восстановление базы данных. Обеспечение целостности баз данных. Обеспечение перехода на новую версию СУБД. Введение в базы данных 70
Основные функции СУБД Непосредственное управление данными во внешней памяти. Эта функция включает обеспечение необходимых структур внешней памяти как для хранения таблиц данных, непосредственно входящих в БД, так и для служебных целей, например, для ускорения доступа к данным в некоторых случаях (обычно для этого используются индексы). Пользователи современных СУБД не должны заботиться о физических принципах хранения данных и организацией файлов. Введение в базы данных 71
Основные функции СУБД Управление буферами ввода/вывода. Если при каждом обращении к элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью, обеспечиваемой устройствами внешней памяти (имеющими механические элементы). Использование буферизации предполагает, что при вводе данных одни устройства или процессы производят запись данных в буфер, а другие — чтение из него, при выводе — наоборот. Процесс, выполнивший запись в буфер, может немедленно продолжать работу, не ожидая, пока данные будут обработаны другим процессом, которому они предназначены. Введение в базы данных 72
Основные функции СУБД Управление транзакциями. Под транзакцией понимается неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации). Если транзакция выполнилась успешно, то результаты всех операторов, входящих в транзакцию, отображаются в БД, иначе воздействие всех этих операторов полностью удаляется. При удачном завершении транзакции результаты гарантированно фиксируются во внешней памяти оператором COMMIT ( "зафиксировать" результаты транзакции); при завершении транзакции оператором ROLLBACK результаты удаляются из внешней памяти ( Введение в базы данных 73 ликвидировать результаты транзакции
Основные функции СУБД Ведение журналов. Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти. Введение в базы данных 74
Поддержка языков БД. Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В ранних СУБД поддерживалось несколько специализированных по своим функциям языков, но в настоящее время выделяется два языка: язык определения схемы БД (SDL - Schema Definition Language) язык манипулирования данными (DML - Data Manipulation Language). Оба реализуются SQL… Введение в базы данных 75
3 введение в базы данных.ppt