9
Введение в реляционные базы данных Презентация подготовлена с использованием материалов Mark Sapossnek, С.Д. Кузнецова и А.Ю. Пушникова

Введение в реляционные базы данных

Embed Size (px)

DESCRIPTION

Введение в реляционные базы данных. Презентация подготовлена с использованием материалов Mark Sapossnek , С.Д. Кузнецова и А.Ю. Пушникова. Нормализация / Денормализация. Нормализация Процесс разбиения больших таблиц на несколько меньших - PowerPoint PPT Presentation

Citation preview

Page 1: Введение в реляционные базы данных

Введение в реляционные базы данных

Введение в реляционные базы данных

Презентация подготовлена с использованием материалов Mark Sapossnek,С.Д. Кузнецова и А.Ю. Пушникова

Page 2: Введение в реляционные базы данных

Нормализация/ДенормализацияНормализация/Денормализация Нормализация

• Процесс разбиения больших таблиц на несколько меньших• Цель: уменьшение избыточности данных, обеспечение целостности• Увеличивается производительность при изменении БД• Желательна в приложениях, использующих транзакции

Денормализация• Процесс объединения нескольких таблиц в одну большую• Увеличивает избыточность данных• Увеличивает производительность при чтении данных• Желательная в приложениях, в основном хранящих данные.

Про нормализацию и нормальные формы отношений можно прочитать здесь:

http://www.citforum.ru/database/osbd/glava_23.shtml#_2_3_1 http://www.citforum.ru/database/dblearn/dblearn06.shtml#07

Page 3: Введение в реляционные базы данных

1 Нормальная форма отношений1 Нормальная форма отношений1 Нормальная форма:

• В отношении нет одинаковых кортежей. • Кортежи не упорядочены. • Атрибуты не упорядочены и различаются по наименованию. • Все значения атрибутов атомарны.

 

 

Н_СОТР ФАМ Н_ОТД ТЕЛ Н_ПРО ПРОЕКТ Н_ЗАДАН

1 Иванов 1 11-22-33 1 Космос 1

1 Иванов 1 11-22-33 2 Климат 1

2 Петров 1 11-22-33 1 Космос 2

3 Сидоров 2 33-22-11 1 Космос 3

3 Сидоров 2 33-22-11 2 Климат 2

 

Page 4: Введение в реляционные базы данных

2 нормальная форма2 нормальная формаОпределение. Пусть R - отношение. Множество атрибутов Y функционально зависимо от множества атрибутов X (X функционально определяет Y) тогда и только тогда, когда для любого состояния отношения R для любых кортежей r1, r2 из того, что r1.X = r2.X следует что r1.Y = r2.Y (т.е. во всех кортежах, имеющих одинаковые значения атрибутов X, значения атрибутов Y также совпадают в любом состоянии отношения R).

X называется детерминантом.Y называется зависимой частью.

Определение. Отношение R находится во второй нормальной форме (2НФ) тогда и только тогда, когда отношение находится в 1НФ и нет неключевых атрибутов, зависящих от части сложного ключа. (Неключевой атрибут - это атрибут, не входящий в состав никакого потенциального ключа).

Page 5: Введение в реляционные базы данных

2 нормальная форма (пример)2 нормальная форма (пример)Н_СОТР ФАМ Н_ОТД ТЕЛ

1 Иванов 1 11-22-33

2 Петров 1 11-22-33

3 Сидоров 2 33-22-11

Н_ПРО ПРОЕКТ

1 Космос

2 Климат

Н_СОТР Н_ПРО Н_ЗАДАН

1 1 1

1 2 1

2 1 2

3 1 3

3 2 2

Н_СОТР -> ФАМ Н_СОТР -> Н_ОТД Н_СОТР -> ТЕЛ Н_ОТД -> ТЕЛ

Н_ПРО -> ПРОЕКТ

(Н_СОТР, Н_ПРО) -> Н_ЗАДАН

Page 6: Введение в реляционные базы данных

3 Нормальная форма3 Нормальная формаОпределение. Атрибуты называются взаимно независимыми, если ни один из них не является функционально зависимым от другого.

Определение. Отношение R находится в третьей нормальной форме (3НФ) тогда и только тогда, когда отношение R находится в 2НФ и все неключевые атрибуты взаимно независимы.

Н_СОТР ФАМ Н_ОТД

1 Иванов 1

2 Петров 1

3 Сидоров 2

Н_ОТД ТЕЛ

1 11-22-33

2 33-22-11

Н_СОТР -> ФАМ Н_СОТР -> Н_ОТД Н_СОТР -> ТЕЛ

Н_ОТД -> ТЕЛ

Page 7: Введение в реляционные базы данных

Алгоритм нормализацииАлгоритм нормализацииШаг 1 (Приведение к 1НФ). На первом шаге задается одно или несколько отношений, отображающих понятия предметной области. По модели предметной области (не по внешнему виду полученных отношений!) выписываются обнаруженные функциональные

зависимости. Все отношения автоматически находятся в 1НФ.

Шаг 2 (Приведение к 2НФ). Если в некоторых отношениях обнаружена зависимость атрибутов от части сложного ключа, то проводим декомпозицию этих отношений на несколько отношений следующим образом: те атрибуты, которые зависят от части сложного ключа выносятся в отдельное отношение вместе с этой частью ключа.

Шаг 3 (Приведение к 3НФ). Если в некоторых отношениях обнаружена зависимость некоторых неключевых атрибутов от других неключевых атрибутов, то проводим декомпозицию этих отношений следующим образом: те неключевые атрибуты, которые зависят других неключевых атрибутов выносятся в отдельное отношение.

Page 8: Введение в реляционные базы данных

Язык запросов SQL (Structured Query Language)Язык запросов SQL (Structured Query Language)

Стандартный язык для управления реляционными базами данных. Стандартизован American National Standarts Institute (ANSI). SQL-92.

Стандарт открытый (но не совсем)• Общая функциональность сохранена для разных продуктов• У каждого производителя есть свои собственные расширения

Команды SQL можно разделить на три класса• DDL (Data Definition Language) – язык для описания и изменения структуры таблиц• DML (Data Manipulation Language) – язык для выполнения запросов и изменения таблиц• DCL (Data Control Language) – язык для управления доступа к данным

Page 9: Введение в реляционные базы данных

Необходимые инструментыНеобходимые инструменты

Microsoft SQL Server 2005 Express Edition:http://www.microsoft.com/downloads/details.aspx?FamilyID=220549b5-0b07-4448-8848-dcc397514b41&displaylang=ru

Microsoft SQL Server 2005 Management Studio Express:http://www.microsoft.com/downloads/details.aspx?FamilyID=c243a5ae-4bd1-4e3d-94b8-5a0f62bf7796&displaylang=en