Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемТарас Шилов
1 Уровень баз данных Введение в РСУБД
2 Содержание Что такое база данных? СУБД и РСУБД Транзакции ACID свойства транзакций Уровни изоляции в транзакциях Модель данных Классические модели данных Реляционная модель данных Реляционная база данных Нормализация базы данных
3 Что такое база данных? База данных – набор структурированных записей, преимущественно связанных между собой. Основные типы записей: данные; метаданные. Метаданные – определяют структуру базы. Данные – хранимая информация.
4 СУБД Database Managed System (DBMS) Система управления базой данных (СУБД) – программное обеспечение: предназначенное для создания и управления базой данных; позволяющее сохранять, модифицировать и извлекать информацию из базы данных. MS Access, FoxPro, DBase
5 Роль СУБД Доступность – СУБД должна обеспечивать доступ к данным всем пользователям, которым они предназначены. Безопасность – СУБД должна защищать от потери или повреждения данных. Конфиденциальность – СУБД должна защищать от неправомерного доступа к данным или их изменения. Целостность – СУБД должна гарантировать целостность данных, т.е. мы можем быть уверены, что данные верны и надежны, а также у нас должна быть возможность задавать определенные требования значениям данных. Например: все работники должны иметь имя (not null); все строки в таблице должны быть уникальными; менеджеры также должны являться работниками (FK).
6 Роль СУБД (продолжение) Распределенный доступ – для систем, где несколько пользователей одновременно работают над одними и теми же данными, СУБД должна обеспечить возможность параллельного доступа к одной записи двух или более пользователей, сохраняя целостность данных. Независимость – разработчики программ, поддерживающих использование СУБД: не обязаны знать, как хранится информация; не обязаны знать, где хранится информация; не обязаны быть осведомлены об информации, неиспользуемой, в частности, в их программах. Распределенная база данных – может пригодится поддержка СУБД, управляющей данными, которые хранятся на нескольких связанных между собой вычислительных машинах.
7 Транзакции Транзакция (transaction) – группа последовательных операций, которая представляет собой логическую единицу работы с данными. Может быть выполнена целиком: либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций; либо не выполнена вообще, и тогда она не должна произвести никакого эффекта. Пример: перевод денежных средств с одного счета на другой Начать транзакцию прочесть баланс на счету номер 5 уменьшить баланс на 10 денежных единиц сохранить новый баланс счёта номер 5 прочесть баланс на счету номер 7 увеличить баланс на 10 денежных единиц сохранить новый баланс счёта номер 7 Окончить транзакцию
8 ACID свойства транзакций в СУБД ACID свойства гарантируют надежность выполнения транзакций. Atomicity (атомарность) – гарантия того, что выполнятся все операции транзакции, либо не выполнится ни одна. Consistency (непротиворечивость) – состояние базы данных находится в непротиворечивом состоянии до и после выполнения транзакции. Isolation (изоляция) – во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Durability (долговечность) – гарантия того, что если получено уведомление об успешном выполнении транзакции, можно быть уверенным, что изменения не будут отменены из-за кого-либо сбоя.
9 Уровни изоляции транзакций в СУБД По соображениям производительности и для выполнения некоторых специальных задач, СУБД предоставляют различные уровни изоляции транзакций. 0 – Неподтвержденное чтение (Read Uncommitted, Dirty Read, грязное чтение) чтение незафиксированных изменений своей транзакции и конкурирующих транзакций; возможны нечистые, неповторяемые чтения и фантомы. 1 – Подтвержденное чтение (Read Committed) чтение всех изменений своей транзакции и зафиксированных изменений конкурирующих транзакций; нечистые чтения невозможны, возможны неповторяемые чтения и фантомы.
10 Уровни изоляции транзакций в СУБД (продолжение) 2 – Повторяемое чтение (Repeatable Read, Snapshot) чтение всех изменений своей транзакции; любые изменения, внесённые конкурирующими транзакциями после начала своей, недоступны; нечистые и неповторяемые чтения невозможны, возможны фантомы. 3 – Упорядоченный (Serializable, сериализуемый) транзакции выполняются в строгой последовательности, результаты действий которых не зависят от порядка выполнения шагов транзакции (запрещено чтение всех данных изменённых с начала транзакции, в том числе и своей транзакцией); фантомы невозможны. Чем выше уровень изоляции, тем больше требуется ресурсов, чтобы их поддерживать.
11 РСУБД Relational Database Management System (RDBMS) Реляционная СУБД (РСУБД) – управляет базами данных, построенными на основе реляционной модели данных. Oracle, DB2, MS SQL Server
12 Модель данных Модель данных – теория представления и обработки данных в системе управления базами данных (СУБД). Определяет различные аспекты: методы описания типов и логических структур данных; методы манипулирования данными; методы описания и поддержки целостности. Развитие технологий моделирования баз данных
13 Классические модели данных Классические модели данных: Hierarchical Data Model (Иерархическая модель данных) Network Data Model (Сетевая модель данных) Relational Data Model (Реляционная модель данных)
14 Иерархическая модель данных В иерархической модели данные представлены в виде дерева. Сегменты иерархии: parent (предок); child (потомок). Иерархическая модель структурирует данные в виде дерева записей. Каждая запись имеет одного предка и несколько потомков.
15 Сетевая модель данных В сетевой модели данные представлены в виде сети. Сегменты сети: parent (предок); child (потомок). Сетевая модель данных структурирует данные в виде сети записей. Каждая запись имеет как несколько потомков, так и несколько предков.
16 Недостатки иерархической и сетевой моделей данных Доступ к данным происходит не с помощью SQL, а с помощью специальных интерфейсов: FIND, CREATE, READ, UPDATE and DELETE. Каждый интерфейс может получить доступ только к одной таблице. Ограничения механизмов выборки данных: прочитать все записи; прочитать одну запись, используя ее главный ключ; прочитать всех потомков, ассоциированных с выбранным предком. Отсутствие возможности совершать выборку сортированных данных.
17 Реляционная модель данных Реляционная модель данных была изобретена Эдгаром Коддом в конце 1960-х. Модель данных основана на математической теории отношений, описывающей следующие аспекты: структурный аспект – данные представляют собой набор отношений; аспект целостности – отношения (таблицы) отвечают определенным условиям целостности: декларативные ограничения целостности уровня домена (типа данных) и уровня отношения; аспект обработки (манипулирования) – модель поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление)
18 Реляционная модель данных (продолжение) Отношение – основной элемент в реляционной модели данных, представляющий собой двумерную таблицу. Отношение состоит из кортежей (строк) и атрибутов (колонок). Домен (тип данных) – область значений, которые могут принимать атрибуты. Пример: если возраст должен быть 16 – 65 лет, то домен для атрибута «возраст» – целое число в диапазоне
19 Реляционная модель данных (продолжение) Помимо создания и управления кортежами существуют средства манипулирования отношениями. На таких операциях основана реляционная алгебра: SELECT – выборка кортежей для создания нового отношения PROJECT – выборка атрибутов для создания нового отношения JOIN – присоединение атрибутов одного отношения к другому PRODUCT – комбинирование всех кортежей одного отношения со всеми кортежами другого UNION – слияние двух отношений для создания нового INTERSECT – создание нового отношения из двух, у которых совпадают значения ключей Формальный язык реляционной алгебры представлен в математической форме и отличается от коммерческих РСУБД.
20 Реляционная база данных Реляционная база данных построена на реляционной модели данных. Данные представлены в виде простых таблиц, разбитых на строки и столбцы на пересечении каждого столбца и строчки – одно значение у каждого столбца есть свое имя все значения в одном столбце имеют один тип Запросы к таблицам возвращают таблицы, которые сами могут становиться предметом дальнейших запросов Каждая база данных может включать несколько таблиц Строки данных неупорядочены – упорядочивание происходить в момент формирования ответа на запрос
21 Объекты реляционной базы данных Table (таблица) объект хранения данных содержит строки и колонки View (представление) виртуальная, динамическая или логическая таблица, вычисленная на основе данных в базе изменения данных в таблицах отображаются в представлении Stored Procedure (хранимая процедура) хранимая процедура – подпрограмма, представляющая собой набор SQL инструкций может содержать входные, выходные параметры, локальные переменные, циклы, ветвления и т.п. находится в базе данных
22 Объекты реляционной базы данных (продолжение) Trigger (триггер) триггер базы данных – процедурный код, автоматически выполняемый при возникновении определенных событий для отдельных таблиц в базе данных триггеры могут запретить доступ к данным, выполнять логирование или проверку изменений данных Index (индекс) индекс – структура базы данных, ускоряющая выполнение операций над таблицами индексы могут быть созданы на основе одной или более колонок типы индексов: уникальные неуникальные
23 Объекты реляционной базы данных (продолжение) Primary Key (первичный ключ) состоит из одной или более уникальных ненулевых колонок в таблице является идентификатором каждой строки в таблице Foreign Key (внешний ключ) колонка в таблице, значения которой совпадают со значениями первичного ключа в другой таблице используется для создания и обеспечения надежных связей между данными в двух таблицах
24 Нормализация базы данных Нормализация – устранение недостатков структуры базы данных удаление избыточной информации обеспечение целесообразности связей между данными Нормальная форма – формальное свойство таблиц, характеризующее степень избыточности хранимых данных и возможные проблемы.
25 Нормальные формы таблиц Наиболее известные и важные нормальные формы: Первая нормальная форма (1НФ, 1NF) Вторая нормальная форма (2НФ, 2NF) Третья нормальная форма (3НФ, 3NF) Третья усиленная нормальная форма, или нормальная форма Бойда-Райса (НФБК, BCNF) Четвёртая нормальная форма (4НФ, 4NF) Пятая нормальная форма (5НФ, 5NF) Доменно-ключевая нормальная форма (ДКНФ, DKNF) При решении практических задач в большинстве случаев третья нормальная форма является достаточной.
26 Первая нормальная форма таблиц Первая нормальная форма (1NF) каждая колонка должна содержать одно значение все строки должны быть различны Исходная таблица: Таблица, приведенная к 1NF:
27 Вторая нормальная форма таблиц Вторая нормальная форма (2NF) выполнение условий 1NF любой атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа Исходная таблица: Приведение к 2NF:
28 Третья нормальная форма таблиц Третья нормальная форма (3NF) выполнение условий 2NF любой неключевой атрибут функционально зависит только от первичного ключа Исходная таблица: Приведение к 3NF:
29 Далее... Связи между таблицами Структурированный язык запросов (SQL)
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.