Уровень баз данных Введение в РСУБД. Содержание Что такое база данных? СУБД и РСУБД Транзакции ACID свойства транзакций Уровни изоляции в транзакциях.

Презентация:



Advertisements
Похожие презентации
Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение.
Advertisements

Информационные системы. Базы данных. Информационная система – любая система обработки информации (шир)
Нормализация таблиц реляционной базы данных © Панова И.В
Проектирование БД. Нормальные формы В теории реляционных баз данных обычно выделяется следующая последовательность нормальных форм: первая нормальная.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
Базы данных. Системы управления базами данных (СУБД)
База данных и СУБД: основные понятия. База данных: общее понятие База данных: хранилище информации отражает объект реального мира имитирует деятельность.
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
Тема 6. Технология разработки реляционной модели данных Вопросы 1.Объекты реляционных БД, терминология 2.Разработка структуры БД 3.Нормализация отношений.
Модуль 1. Математические основы баз данных и знаний.
Базы данных Презентация к уроку информатики в 11 классе Учитель Халайчева Н.Г.
50/codd.pdf 50/codd.pdf
Виды моделей данных. Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности.
Даталогическое проектирование. 1. Представление концептуальной модели средствами модели данных СУБД Общие представления о моделях данных СУБД С одной.
Классификация БД. СУБД и ее компоненты. Логическое и физическое описание данных.
Лекция 6. Геоинформационные структуры данных Харитонов А. Ю. Министерство образования и науки Украины Донецкий национальный технический университет Кафедра.
БАЗА ДАННЫХ – ОСНОВА ИНФОРМАЦИОННОЙ СИСТЕМЫ ТЕХНОЛОГИЯ ИСПЛЬЗОВАНИЯ И РАЗРАБОТКА ИНФОРМАЦИОННЫХ СИСТЕМ.
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
Технология хранения, поиска и сортировки информации в базах данных
Транксрипт:

Уровень баз данных Введение в РСУБД

Содержание Что такое база данных? СУБД и РСУБД Транзакции ACID свойства транзакций Уровни изоляции в транзакциях Модель данных Классические модели данных Реляционная модель данных Реляционная база данных Нормализация базы данных

Что такое база данных? База данных – набор структурированных записей, преимущественно связанных между собой. Основные типы записей: данные; метаданные. Метаданные – определяют структуру базы. Данные – хранимая информация.

СУБД Database Managed System (DBMS) Система управления базой данных (СУБД) – программное обеспечение: предназначенное для создания и управления базой данных; позволяющее сохранять, модифицировать и извлекать информацию из базы данных. MS Access, FoxPro, DBase

Роль СУБД Доступность – СУБД должна обеспечивать доступ к данным всем пользователям, которым они предназначены. Безопасность – СУБД должна защищать от потери или повреждения данных. Конфиденциальность – СУБД должна защищать от неправомерного доступа к данным или их изменения. Целостность – СУБД должна гарантировать целостность данных, т.е. мы можем быть уверены, что данные верны и надежны, а также у нас должна быть возможность задавать определенные требования значениям данных. Например: все работники должны иметь имя (not null); все строки в таблице должны быть уникальными; менеджеры также должны являться работниками (FK).

Роль СУБД (продолжение) Распределенный доступ – для систем, где несколько пользователей одновременно работают над одними и теми же данными, СУБД должна обеспечить возможность параллельного доступа к одной записи двух или более пользователей, сохраняя целостность данных. Независимость – разработчики программ, поддерживающих использование СУБД: не обязаны знать, как хранится информация; не обязаны знать, где хранится информация; не обязаны быть осведомлены об информации, неиспользуемой, в частности, в их программах. Распределенная база данных – может пригодится поддержка СУБД, управляющей данными, которые хранятся на нескольких связанных между собой вычислительных машинах.

Транзакции Транзакция (transaction) – группа последовательных операций, которая представляет собой логическую единицу работы с данными. Может быть выполнена целиком: либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций; либо не выполнена вообще, и тогда она не должна произвести никакого эффекта. Пример: перевод денежных средств с одного счета на другой Начать транзакцию прочесть баланс на счету номер 5 уменьшить баланс на 10 денежных единиц сохранить новый баланс счёта номер 5 прочесть баланс на счету номер 7 увеличить баланс на 10 денежных единиц сохранить новый баланс счёта номер 7 Окончить транзакцию

ACID свойства транзакций в СУБД ACID свойства гарантируют надежность выполнения транзакций. Atomicity (атомарность) – гарантия того, что выполнятся все операции транзакции, либо не выполнится ни одна. Consistency (непротиворечивость) – состояние базы данных находится в непротиворечивом состоянии до и после выполнения транзакции. Isolation (изоляция) – во время выполнения транзакции другие процессы не должны видеть данные в промежуточном состоянии. Durability (долговечность) – гарантия того, что если получено уведомление об успешном выполнении транзакции, можно быть уверенным, что изменения не будут отменены из-за кого-либо сбоя.

Уровни изоляции транзакций в СУБД По соображениям производительности и для выполнения некоторых специальных задач, СУБД предоставляют различные уровни изоляции транзакций. 0 – Неподтвержденное чтение (Read Uncommitted, Dirty Read, грязное чтение) чтение незафиксированных изменений своей транзакции и конкурирующих транзакций; возможны нечистые, неповторяемые чтения и фантомы. 1 – Подтвержденное чтение (Read Committed) чтение всех изменений своей транзакции и зафиксированных изменений конкурирующих транзакций; нечистые чтения невозможны, возможны неповторяемые чтения и фантомы.

Уровни изоляции транзакций в СУБД (продолжение) 2 – Повторяемое чтение (Repeatable Read, Snapshot) чтение всех изменений своей транзакции; любые изменения, внесённые конкурирующими транзакциями после начала своей, недоступны; нечистые и неповторяемые чтения невозможны, возможны фантомы. 3 – Упорядоченный (Serializable, сериализуемый) транзакции выполняются в строгой последовательности, результаты действий которых не зависят от порядка выполнения шагов транзакции (запрещено чтение всех данных изменённых с начала транзакции, в том числе и своей транзакцией); фантомы невозможны. Чем выше уровень изоляции, тем больше требуется ресурсов, чтобы их поддерживать.

РСУБД Relational Database Management System (RDBMS) Реляционная СУБД (РСУБД) – управляет базами данных, построенными на основе реляционной модели данных. Oracle, DB2, MS SQL Server

Модель данных Модель данных – теория представления и обработки данных в системе управления базами данных (СУБД). Определяет различные аспекты: методы описания типов и логических структур данных; методы манипулирования данными; методы описания и поддержки целостности. Развитие технологий моделирования баз данных

Классические модели данных Классические модели данных: Hierarchical Data Model (Иерархическая модель данных) Network Data Model (Сетевая модель данных) Relational Data Model (Реляционная модель данных)

Иерархическая модель данных В иерархической модели данные представлены в виде дерева. Сегменты иерархии: parent (предок); child (потомок). Иерархическая модель структурирует данные в виде дерева записей. Каждая запись имеет одного предка и несколько потомков.

Сетевая модель данных В сетевой модели данные представлены в виде сети. Сегменты сети: parent (предок); child (потомок). Сетевая модель данных структурирует данные в виде сети записей. Каждая запись имеет как несколько потомков, так и несколько предков.

Недостатки иерархической и сетевой моделей данных Доступ к данным происходит не с помощью SQL, а с помощью специальных интерфейсов: FIND, CREATE, READ, UPDATE and DELETE. Каждый интерфейс может получить доступ только к одной таблице. Ограничения механизмов выборки данных: прочитать все записи; прочитать одну запись, используя ее главный ключ; прочитать всех потомков, ассоциированных с выбранным предком. Отсутствие возможности совершать выборку сортированных данных.

Реляционная модель данных Реляционная модель данных была изобретена Эдгаром Коддом в конце 1960-х. Модель данных основана на математической теории отношений, описывающей следующие аспекты: структурный аспект – данные представляют собой набор отношений; аспект целостности – отношения (таблицы) отвечают определенным условиям целостности: декларативные ограничения целостности уровня домена (типа данных) и уровня отношения; аспект обработки (манипулирования) – модель поддерживает операторы манипулирования отношениями (реляционная алгебра, реляционное исчисление)

Реляционная модель данных (продолжение) Отношение – основной элемент в реляционной модели данных, представляющий собой двумерную таблицу. Отношение состоит из кортежей (строк) и атрибутов (колонок). Домен (тип данных) – область значений, которые могут принимать атрибуты. Пример: если возраст должен быть 16 – 65 лет, то домен для атрибута «возраст» – целое число в диапазоне

Реляционная модель данных (продолжение) Помимо создания и управления кортежами существуют средства манипулирования отношениями. На таких операциях основана реляционная алгебра: SELECT – выборка кортежей для создания нового отношения PROJECT – выборка атрибутов для создания нового отношения JOIN – присоединение атрибутов одного отношения к другому PRODUCT – комбинирование всех кортежей одного отношения со всеми кортежами другого UNION – слияние двух отношений для создания нового INTERSECT – создание нового отношения из двух, у которых совпадают значения ключей Формальный язык реляционной алгебры представлен в математической форме и отличается от коммерческих РСУБД.

Реляционная база данных Реляционная база данных построена на реляционной модели данных. Данные представлены в виде простых таблиц, разбитых на строки и столбцы на пересечении каждого столбца и строчки – одно значение у каждого столбца есть свое имя все значения в одном столбце имеют один тип Запросы к таблицам возвращают таблицы, которые сами могут становиться предметом дальнейших запросов Каждая база данных может включать несколько таблиц Строки данных неупорядочены – упорядочивание происходить в момент формирования ответа на запрос

Объекты реляционной базы данных Table (таблица) объект хранения данных содержит строки и колонки View (представление) виртуальная, динамическая или логическая таблица, вычисленная на основе данных в базе изменения данных в таблицах отображаются в представлении Stored Procedure (хранимая процедура) хранимая процедура – подпрограмма, представляющая собой набор SQL инструкций может содержать входные, выходные параметры, локальные переменные, циклы, ветвления и т.п. находится в базе данных

Объекты реляционной базы данных (продолжение) Trigger (триггер) триггер базы данных – процедурный код, автоматически выполняемый при возникновении определенных событий для отдельных таблиц в базе данных триггеры могут запретить доступ к данным, выполнять логирование или проверку изменений данных Index (индекс) индекс – структура базы данных, ускоряющая выполнение операций над таблицами индексы могут быть созданы на основе одной или более колонок типы индексов: уникальные неуникальные

Объекты реляционной базы данных (продолжение) Primary Key (первичный ключ) состоит из одной или более уникальных ненулевых колонок в таблице является идентификатором каждой строки в таблице Foreign Key (внешний ключ) колонка в таблице, значения которой совпадают со значениями первичного ключа в другой таблице используется для создания и обеспечения надежных связей между данными в двух таблицах

Нормализация базы данных Нормализация – устранение недостатков структуры базы данных удаление избыточной информации обеспечение целесообразности связей между данными Нормальная форма – формальное свойство таблиц, характеризующее степень избыточности хранимых данных и возможные проблемы.

Нормальные формы таблиц Наиболее известные и важные нормальные формы: Первая нормальная форма (1НФ, 1NF) Вторая нормальная форма (2НФ, 2NF) Третья нормальная форма (3НФ, 3NF) Третья усиленная нормальная форма, или нормальная форма Бойда-Райса (НФБК, BCNF) Четвёртая нормальная форма (4НФ, 4NF) Пятая нормальная форма (5НФ, 5NF) Доменно-ключевая нормальная форма (ДКНФ, DKNF) При решении практических задач в большинстве случаев третья нормальная форма является достаточной.

Первая нормальная форма таблиц Первая нормальная форма (1NF) каждая колонка должна содержать одно значение все строки должны быть различны Исходная таблица: Таблица, приведенная к 1NF:

Вторая нормальная форма таблиц Вторая нормальная форма (2NF) выполнение условий 1NF любой атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа Исходная таблица: Приведение к 2NF:

Третья нормальная форма таблиц Третья нормальная форма (3NF) выполнение условий 2NF любой неключевой атрибут функционально зависит только от первичного ключа Исходная таблица: Приведение к 3NF:

Далее... Связи между таблицами Структурированный язык запросов (SQL)