Базы данных

Содержание

Слайд 2

Лекции 1, 2. План лекций 1. История возникновения баз данных (БД);

Лекции 1, 2. План лекций

1. История возникновения баз данных (БД);
2. Определения

БД;
3. Определение банка данных (БнД);
4. Понятие и функции Системы управления базами данных (СУБД);
Примеры классификации БнД и СУБД.
Структуры данных (иерархические, сетевые, реляционные);
Основные определения, используемые в реляционной модели;
Свойства отношений;
Определение понятия ключа;
Функциональные зависимости;

Литература:
К. Дейт Введение в системы баз данных. 8-е изд., М.: СПб: Вильямс.- 2005 г.
С.Д. Кузнецов «Базы данных: языки и модели. Учебник – М.: ООО «Бином-Пресс», 2008 г.
3. С.М. Диго Базы данных: проектирование и использование: Учебник. – М.: Финансы и статистика, 2005 г.

Слайд 3

История возникновения БД, определения БД, БнД, СУБД Определения: База данных –

История возникновения БД, определения БД, БнД, СУБД

Определения:
База данных –

поименованная совокупность взаимосвязанных данных, находящихся под управлением СУБД.
База данных — некоторый набор перманентных (постоянно хранимых) данных, используемых прикладными программными системами какого-либо предприятия (К. Дейт);
Банк данных – система БД, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
Система баз данных — это компьютеризированная система хранения записей, т.е. компьютеризированная система, основное назначение которой — хранить информацию, предоставляя пользователям средства ее извлечения и модификации (К.Дейт).
3. СУБД – совокупность программных и языковых средств, предназначенных для создания БД, поддержания их в актуальном состоянии и организации доступа к ним различных пользователей.
Слайд 4

Функции СУБД Определения: Целостность БД – непротиворечивость информации, хранящейся в БД.

Функции СУБД

Определения:
Целостность БД – непротиворечивость информации, хранящейся в БД.
Транзакция

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

Пример классификации БнД По характеру преобладающей обработки информации: ОLTP (On-Line Transaction

Пример классификации БнД

По характеру преобладающей обработки информации:
ОLTP (On-Line Transaction Processing)

– системы оперативной обработки информации.
OLAP (On-Line Analytical Processing) – системы для сложной аналитической обработки информации.
Слайд 6

Пример классификации СУБД По «мощности» СУБД делятся на: «Настольные» - невысокие

Пример классификации СУБД

По «мощности» СУБД делятся на:
«Настольные» - невысокие требования

к техническим средствам, ориентация на конечного пользователя («дружелюбность» интерфейса, простота создания БД и обработки информации), низкая стоимость;
Пример: МsAccess
Корпоративные - обеспечивают работу в распределенной среде, высокую производительность, имеют развитые средства администрирования и более широкие возможности поддержания целостности. Системы сложны, дороги, требуют значительных вычислительных мощностей.
Примеры: Oracle, DB2, Sybase, Ms SQL Server, Progress
Слайд 7

Иерархичаские структуры данных. Иерархическую структуру данных можно представить в виде набора

Иерархичаские структуры данных.

Иерархическую структуру данных можно представить в виде набора

графов «древовидной структуры».
Основное правило: никакой потомок не может существовать без своего родителя.
Пример:
Слайд 8

Иерархические СУБД. Примерами типичных операций манипулирования иерархически организованными данными могут быть

Иерархические СУБД.


Примерами типичных операций манипулирования иерархически организованными данными могут быть следующие:


найти указанный экземпляр типа дерева БД (например, отдел 310);
перейти от одного экземпляра типа дерева к другому;
перейти от экземпляра одного типа записи к экземпляру другого типа
записи внутри дерева (например, перейти от отдела к первому сотруднику);
перейти от одной записи к другой в порядке обхода иерархии;
вставить новую запись в указанную позицию;
удалить текущую запись.
Типичным представителем (наиболее известным и распространенным) является СУБД IMS (Information Management System) компании IBM. Первая версия системы появилась в 1968 г.
Слайд 9

Сетевые СУБД Типичным представителем является Integrated Database Management System (IDMS) компании

Сетевые СУБД

Типичным представителем является Integrated Database Management System (IDMS) компании

Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL), организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а в 70-х годах появилось несколько систем, среди которых IDMS.
Слайд 10

Сетевые СУБД

Сетевые СУБД

Слайд 11

Сетевые СУБД Тип связи определяется для двух типов записи: предка и

Сетевые СУБД

Тип связи определяется для двух типов записи: предка и потомка.

Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка. Для данного типа связи L с типом записи предка P и типом записи потомка C должны выполняться следующие два условия:
Каждый экземпляр типа P является предком только в одном экземпляре L;
Каждый экземпляр C является потомком не более, чем в одном экземпляре L.
Слайд 12

Сетевые СУБД Примерный набор операций может быть следующим: Найти конкретную запись

Сетевые СУБД

Примерный набор операций может быть следующим:
Найти конкретную запись в

наборе однотипных записей (инженера Сидорова);
Перейти от предка к первому потомку по некоторой связи (к первому сотруднику отдела 310);
Перейти к следующему потомку в некоторой связи (от Сидорова к Иванову);
Перейти от потомка к предку по некоторой связи (найти отдел Сидорова);
Создать новую запись;
Уничтожить запись;
Модифицировать запись;
Включить в связь;
Исключить из связи;
Переставить в другую связь и т.д.
Слайд 13

Достоинства и недостатки «ранних» СУБД Сильные места ранних СУБД: Развитые средства

Достоинства и недостатки «ранних» СУБД

Сильные места ранних СУБД:
Развитые средства управления

данными во внешней памяти на низком уровне;
Возможность построения вручную эффективных прикладных систем;
Недостатки:
Слишком сложно пользоваться;
Фактически необходимы знания о физической организации;
Прикладные системы зависят от этой организации;
Их логика перегружена деталями организации доступа к БД.
Слайд 14

Реляционные СУБД Отношение → двухмерная таблица не содержащая строк - дубликатов;

Реляционные СУБД
Отношение → двухмерная таблица не содержащая строк - дубликатов;
Определение:
Реляционная

база данных (от англ. Relation – отношение) – совокупность взаимосвязанных отношений.
Запись – строка (ряд, запись,row, кортеж) таблицы;
Отношение – множество кортежей;
Атрибут (столбец);
Домен – множество значений атрибута;
Слайд 15

Свойства отношений Отсутствие кортежей-дубликатов То свойство, что отношения не содержат кортежей-дубликатов,

Свойства отношений

Отсутствие кортежей-дубликатов
То свойство, что отношения не содержат кортежей-дубликатов, следует из

определения отношения как множества кортежей. В классической теории множеств по определению каждое множество состоит из различных элементов.
Слайд 16

Свойства отношений Отсутствие упорядоченности кортежей Свойство отсутствия упорядоченности кортежей отношения также

Свойства отношений

Отсутствие упорядоченности кортежей
Свойство отсутствия упорядоченности кортежей отношения также является следствием

определения отношения-экземпляра как множества кортежей. Отсутствие требования к поддержанию порядка на множестве кортежей отношения дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных. Это не противоречит тому, что при формулировании запроса к БД, например, на языке SQL можно потребовать сортировки результирующей таблицы в соответствии со значениями некоторых столбцов. Такой результат, вообще говоря, не отношение, а некоторый упорядоченный список кортежей.
Слайд 17

Свойства отношений Атомарность значений атрибутов Значения всех атрибутов являются атомарными. Это

Свойства отношений

Атомарность значений атрибутов
Значения всех атрибутов являются атомарными. Это следует из

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

Свойства отношений

Свойства отношений

Слайд 19

Свойства отношений

Свойства отношений

Слайд 20

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

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

Слайд 21

Функциональные зависимости Y функционально зависимо от Х, что в символическом виде

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

Y функционально зависимо от Х, что в символическом виде записывается

как X → Y
(читается либо как "X функционально определяет Y", либо как "X стрелка Y") тогда и только тогда, когда каждое значение множества Х отношения R связано точно с одним значением множества Y отношения R.
Иначе говоря, если два кортежа отношения R совпадают по значению X, они совпадают и по значению Y.
Слайд 22

Функциональные зависимости S#→ CITY; {S#,Р#}→{QTY} ; {S#,P#}→{CITY}; {S#,P#}→{CITY,QTY}; {S#,P#}→{S#} {S#,P#}→{S#,P#,CITY,QTY}; {S#} →{QTY}; {S#,P#}→{S#}; QTY → S#

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

S#→ CITY; {S#,Р#}→{QTY} ; {S#,P#}→{CITY};
{S#,P#}→{CITY,QTY}; {S#,P#}→{S#}
{S#,P#}→{S#,P#,CITY,QTY}; {S#} →{QTY}; {S#,P#}→{S#};

QTY → S#
Слайд 23

Функциональные зависимости Аксиомамы Армстронга. Эти правила вывода могут формулироваться разными способами,

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

Аксиомамы Армстронга.
Эти правила вывода могут формулироваться разными способами,

из которых самым простым является следующий. Пусть А, В и С — произвольные подмножества множества атрибутов заданной переменной отношения R. Условимся также, что символическая запись АВ означает объединение множеств А и В. Тогда правила вывода определяются следующим образом.
1. Правило рефлексивности. Если множество В является подмножеством множества А, то А → В.
2. Правило дополнения. Если А → B, то АС → ВС.
3. Правило транзитивности. Если А → B и B→C, то А → С.
Слайд 24

Декомпозиция Декомпозиция без потерь. Как уже упоминалось, процедура нормализации предусматривает разбиение,

Декомпозиция
Декомпозиция без потерь.
Как уже упоминалось, процедура нормализации предусматривает разбиение, или

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

Пример декомпозиции

Пример декомпозиции