Содержание

Слайд 2

1.1 Понятие данных

Данные - это поддающееся многократной интерпретации представление информации в формализованном

1.1 Понятие данных Данные - это поддающееся многократной интерпретации представление информации в
виде, пригодном для передачи, связи, или обработки.
Семантика данных-это их интерпретация или возможность формального описания смысла передаваемых данных.

Слайд 3

Пример 1

Стоимость авиабилета 115

Семантика данных

Данные

Пример 1 Стоимость авиабилета 115 Семантика данных Данные

Слайд 4

Пример 2

Пример 2

Слайд 5

1.2. Концепция баз данных

Ба́за да́нных — совокупность данных, хранимых в соответствии со схемой данных, манипулирование

1.2. Концепция баз данных Ба́за да́нных — совокупность данных, хранимых в соответствии
которыми выполняют в соответствии с правилами средств моделирования данных.
Система управления базами данных, сокр. СУБД (англ. Database Management System, сокр. DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.

Слайд 6

Пример БД “Аэропорт”

Пример БД “Аэропорт”

Слайд 7

Запросы к базе данных

Запрос – это обращение к данным для получения информации

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

Слайд 8

Пример запроса №1

получим расписание "Москва—Киев" на вечернее время

Пример запроса №1 получим расписание "Москва—Киев" на вечернее время

Слайд 9

Пример запроса №2

получим количество рейсов "Москва—Минск".

Пример запроса №2 получим количество рейсов "Москва—Минск".

Слайд 10

Связь программ и данных при использовании СУБД

Связь программ и данных при использовании СУБД

Слайд 11

1.3. Архитектура СУБД

1975 году подкомитет SPARC (Standards Planning and Requirements Committee) американского национального

1.3. Архитектура СУБД 1975 году подкомитет SPARC (Standards Planning and Requirements Committee)
института стандартов (American
National Standards Institute, ANSI) выдвинул проект трехуровневой архитектуры СУБД :
1. Внешний (пользовательский).
2. Промежуточный (концептуальный).
3. Внутренний (физический).

Слайд 12

Уровни моделей данных

Уровни моделей данных

Слайд 13

Инфологическая модель данных “сущность-связь” 2.1. Основные понятия

Сущность — любой различимый объект, факт,

Инфологическая модель данных “сущность-связь” 2.1. Основные понятия Сущность — любой различимый объект,
явление, событие, идея или предмет, информацию о котором необходимо хранить в базе данных.
Атрибут — поименованная характеристика (свойство) сущности.
Ключ — минимальный набор атрибутов, по значениям которых можно однозначно найти требуемый экземпляр сущности.
Связь — ассоциирование двух или более сущностей.

Слайд 14

Вопрос 1

Данные-это…(Приведите примеры)
Семантика данных-это…(Приведите примеры)
Ба́за да́нных-это…(Приведите примеры)
Система управления базами данных-это…(Приведите примеры)

Вопрос 1 Данные-это…(Приведите примеры) Семантика данных-это…(Приведите примеры) Ба́за да́нных-это…(Приведите примеры) Система управления базами данных-это…(Приведите примеры)

Слайд 15

Вопрос 2

Запрос-это…
Язык запросов-это…
Архитектура СУБД
Уровни моделей данных

Вопрос 2 Запрос-это… Язык запросов-это… Архитектура СУБД Уровни моделей данных

Слайд 16

2.2. Характеристика связей и язык моделирования

При построении инфологических моделей можно использовать

2.2. Характеристика связей и язык моделирования При построении инфологических моделей можно использовать
язык ERдиаграмм — от англ. Entity-Relationship, т. е. сущность-связь.
Этот язык был предложен в 1976 году сотрудником корпорации IBM Питером Ченом.

Слайд 17

Между двумя сущностями, возможны четыре вида связей.

связь "один-к-одному" (1:1): в каждый момент

Между двумя сущностями, возможны четыре вида связей. связь "один-к-одному" (1:1): в каждый
времени каждому представителю (экземпляру) сущности А соответствует 1 или 0 представителей сущности Б.
Например, студент может не "заработать" стипендию, получить обычную или одну из повышенных стипендий .

Слайд 18

связь "один-ко-многим" (1:М): одному представителю сущности А соответствуют 0, 1 или несколько

связь "один-ко-многим" (1:М): одному представителю сущности А соответствуют 0, 1 или несколько
представителей сущности Б.
Например, квартира может пустовать, в ней может жить один или несколько жильцов

Слайд 19

"многие-к-одному" (М:1) и "многие-ко многим" (М:М).

Пример. Если связь между сущностями МУЖЧИНЫ и

"многие-к-одному" (М:1) и "многие-ко многим" (М:М). Пример. Если связь между сущностями МУЖЧИНЫ
ЖЕНЩИНЫ называется БРАК, то существует четыре возможных представления такой связи

Слайд 20

Существуют и более сложные связи:

множество связей между одними и теми же

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

Слайд 21

Существуют и более сложные связи:

тернарные связи : врач может назначить несколько

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

Слайд 22

В приведенных примерах для повышения иллюстративности рассматриваемых связей не показаны атрибуты сущностей

В приведенных примерах для повышения иллюстративности рассматриваемых связей не показаны атрибуты сущностей
ER-диаграмм.
Так, ввод атрибутов в описание брачных связей:
фамилии, имена и отчества мужа и жены;
даты и места рождения мужа и жены;
даты и места регистрации брака;
фамилий, присвоенных мужу и жене после регистрации;
Даты выдачи и номера свидетельства о браке.
значительно усложнит ER-диаграмму и затруднит ее понимание.

Слайд 23

Поэтому к настоящему времени появилось множество более удобных графических нотаций описания ER-диаграмм,

Поэтому к настоящему времени появилось множество более удобных графических нотаций описания ER-диаграмм,
поддержанных CASE-средствами (от Computer Aided Software/System Engineering) разработки информационных систем и редакторами деловой графики.

Слайд 24

Сущность

В этих нотациях сущность изображается в виде прямоугольника, в верхней части которого

Сущность В этих нотациях сущность изображается в виде прямоугольника, в верхней части
располагается имя сущности.
В прямоугольнике перечислены атрибуты сущности. Атрибуты, расположенные сверху и отделенные от остальных горизонтальной линией, являются ключевыми.

Слайд 25

Связь

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

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

Слайд 26

Пример ER-диаграммы

Пример ER-диаграммы

Слайд 27

Если в ключ какой-либо сущности входит ключ другой сущности, то связь между

Если в ключ какой-либо сущности входит ключ другой сущности, то связь между
такими сущностями изображается не пунктирной, а сплошной линией.

Слайд 28

Рекурсивная связь

Достаточно часто встречается еще один специфический вид связи: рекурсивная связь между

Рекурсивная связь Достаточно часто встречается еще один специфический вид связи: рекурсивная связь
атрибутами одной сущности "Один-ко-многим" ("Свиное ухо"), используемая для описания иерархий с любым числом уровней.
Так кафедра вычислительной техники (ИД=102) входит в состав факультета компьютерных технологий и управления (ИД=703), который, в свою очередь, входит в состав университета (ИД=777). В данном случае рассмотрен пример с тремя уровнями иерархии, но ясно, что при использовании этого описания количество этих уровней ограничивается только предметной областью (здесь можно было бы представить, например, любые секции кафедры, подсекции и т. п.).

Слайд 29

2.3. Классификация сущностей

Основоположник реляционной модели баз данных Эдгар Кодд определяет три

2.3. Классификация сущностей Основоположник реляционной модели баз данных Эдгар Кодд определяет три
основных класса сущностей:
стержневые,
ассоциативные
характеристические.

Слайд 30

Стержневая сущность

Стержневая сущность (стержень) — это независимая сущность, которая не является ни

Стержневая сущность Стержневая сущность (стержень) — это независимая сущность, которая не является
характеристикой, ни ассоциацией.
В рассмотренных ранее примерах стержни — это Студент, Квартира, Мужчины, Врач и другие, названия которых помещены в прямоугольники.

Слайд 31

Ассоциативная сущность

Ассоциативная сущность (ассоциация) — это связь вида "многие-комногим" ) между двумя

Ассоциативная сущность Ассоциативная сущность (ассоциация) — это связь вида "многие-комногим" ) между
или более сущностями или экземплярами сущности.
Ассоциации рассматриваются как полноправные сущности:
они могут участвовать в других ассоциациях точно так же, как стержневые сущности;
могут обладать свойствами, т. е. иметь не только набор ключевых атрибутов, необходимых для указания связей, но и любое число других атрибутов, характеризующих связь.
Например, ассоциация СВИДЕТЕЛЬСТВО_О_БРАКЕ содержит ключевые атрибуты КОД_МУЖЧИНЫ и КОД_ЖЕНЩИНЫ, а также уточняющие атрибуты ДАТА_РЕГИСТРАЦИИ, МЕСТО_РЕГИСТРАЦИИ, НОМЕР_СВИДЕТЕЛЬСТВА и т. д.

Слайд 32

Характеристическая сущность

Характеристическая сущность (характеристика) — это связь вида "многие-к-одной" или "одна-к-одной" между

Характеристическая сущность Характеристическая сущность (характеристика) — это связь вида "многие-к-одной" или "одна-к-одной"
двумя сущностями (частный случай ассоциации).
Единственная цель характеристики в рамках рассматриваемой предметной области состоит в описании или уточнении некоторой другой сущности.
Необходимость в них возникает в связи с тем, что сущности реального мира имеют иногда многозначные свойства. Муж может иметь несколько жен; книга — несколько характеристик переиздания (исправленное, дополненное, переработанное и пр.) и т. д.
Существование характеристики полностью зависит от характеризуемой сущности: женщины лишаются статуса жен, если умирает их муж.

Слайд 33

Рассмотрим пример построения инфологической модели базы данных "COOK", предназначенной для использования в

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

Слайд 34

Информация из такой базы данных будет использоваться шеф-поваром пансионата для составления меню,

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

Слайд 35

Перед завтраком каждый отдыхающий выбирает в информационной системе номер закрепленного за ним

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

Слайд 36

Завхоз, связанный с поставщиками продуктов, определяет, что необходимо заказать для обеспечения работы

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

Слайд 37

Исходя из потребностей указанных ранее лиц, можно определить объекты, необходимые для выявления

Исходя из потребностей указанных ранее лиц, можно определить объекты, необходимые для выявления
сущностей и атрибутов проектируемой базы:

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

Слайд 38

2. Для каждого поставщика продуктов:
код (номер) поставщика продукта;
название поставщика и

2. Для каждого поставщика продуктов: код (номер) поставщика продукта; название поставщика и
его статус (рынок, ферма, универсам и т. п.);
данные о поставщике (город, адрес, телефон);
название поставляемого продукта;
дата поставки и цена на момент поставки.

Слайд 39

3. Ежедневное потребление блюд (расход):
блюдо,
количество порций,
дата.
4. Меню на следующий

3. Ежедневное потребление блюд (расход): блюдо, количество порций, дата. 4. Меню на
день, где на каждую из трапез (завтрак, обед, ужин) для каждого из видов блюд приводится несколько различных блюд.
5. Выбор каждым из отдыхающих конкретных блюд из меню (для упрощения схемы опущены сведения об отдыхающих и, следовательно, привязка их к местам в столовой пансионата).

Слайд 40

Стержни:

ВИДЫ_БЛЮД,
ТРАПЕЗЫ,
ПРОДУКТЫ
ПОСТАВЩИКИ;

Стержни: ВИДЫ_БЛЮД, ТРАПЕЗЫ, ПРОДУКТЫ ПОСТАВЩИКИ;

Слайд 41

Ассоциации:

СОСТАВ (связывает БЛЮДА с ПРОДУКТАМИ),
ПОСТАВКИ (связывает ПОСТАВЩИКОВ с ПРОДУКТАМИ),
МЕНЮ

Ассоциации: СОСТАВ (связывает БЛЮДА с ПРОДУКТАМИ), ПОСТАВКИ (связывает ПОСТАВЩИКОВ с ПРОДУКТАМИ), МЕНЮ
(связывает ТРАПЕЗЫ с БЛЮДАМИ)
ВЫБОР (связывает МЕНЮ с МЕСТОМ в столовой)
БЛЮДА, зависящие от единственной стержневой сущности ВИДЫ_БЛЮД;

Слайд 42

Характеристика:

РЕЦЕПТЫ (характеризует БЛЮДА).

Характеристика: РЕЦЕПТЫ (характеризует БЛЮДА).

Слайд 43

ER-диаграмма модели

ER-диаграмма модели

Слайд 44

2.4. О первичных и внешних ключах

Ключ — это минимальный набор атрибутов отношения,

2.4. О первичных и внешних ключах Ключ — это минимальный набор атрибутов
по значениям которых можно однозначно найти требуемый экземпляр сущности.
Минимальность означает, что исключение из набора любого атрибута не позволяет идентифицировать сущность по оставшимся.
Каждая сущность должна обладать хотя бы одним возможным ключом.
Если же возникает ситуация, когда из состава атрибутов сущности не удается создать возможного ключа (естественного ключа), то создают, так называемый, суррогатный ключ — автоматически сгенерированное значение, никак не связанное с информационным содержанием сущности.
https://www.youtube.com/watch?v=43yOFoEOKeI

Слайд 45

О первичных и внешних ключах

Один из возможных естественных ключей или суррогатный ключ

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

Слайд 46

О первичных и внешних ключах

Плохо также использовать в качестве ключа не номер

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

Слайд 47

О первичных и внешних ключах

Не допускается, чтобы первичный ключ стержневой сущности (любой

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

Слайд 48

Суррогатный ключ

В сущности Рецепты можно было бы использовать в качестве ключа пару(КОД_БЛЮДА,

Суррогатный ключ В сущности Рецепты можно было бы использовать в качестве ключа
РЕЦЕПТ), но значение РЕЦЕПТ-очень громоздкое.
Или можно взять пару (КОД_БЛЮДА,
ВАРИАНТ), где ВАРИАНТ-номер технологии приготовления блюда. Но, если будет всего один вариант приготовления, то все равно придется вводить номер варианта.
Поэтому введен суррогатный ключ ИД в качестве первичного ключа.

Слайд 49

Внешние ключи

Если сущность В связывает сущности А и Б, то она должна

Внешние ключи Если сущность В связывает сущности А и Б, то она
включать внешние ключи, соответствующие первичным ключам сущностей А и Б.
Если сущность Б характеризует сущность А, то она должна включать внешний ключ, соответствующий первичному ключу сущности А.

Слайд 50

3.1. Реляционная структура данных

В конце 60-х годов исследователь фирмы IBM д-р Эдгар

3.1. Реляционная структура данных В конце 60-х годов исследователь фирмы IBM д-р
Кодд впервые применил термин "реляционная модель данных”.
В основе реляционной модели лежит математическое понятие теоретико-множественное отношения.
Поэтому модель и получила название реляционной (от английского relation — отношение).

Слайд 51

основные понятия теории отношений

Элементы отношения называют кортежами (или записями).
Каждый кортеж отношения

основные понятия теории отношений Элементы отношения называют кортежами (или записями). Каждый кортеж
соответствует одному экземпляру объекта, информацию о котором требуется хранить в базе данных.
Элементы кортежа принято называть атрибутами (или полями).

Слайд 52

основные понятия теории отношений

Домен-это множество атомарных значений одного и того же типа.
Пусть

основные понятия теории отношений Домен-это множество атомарных значений одного и того же
А1,А2,...,Аn имена атрибутов. Каждому имени атрибута Аі соответствует допустимое множество значений, которые может принимать атрибут Аі.
Это множество значений Di называется доменом атрибута Aі =1,n

Слайд 53

Отношение на доменах

Отношение на доменах

Слайд 54

Домен

Каждый домен образует значения одного простого типа данных, например, числовые, символьные и

Домен Каждый домен образует значения одного простого типа данных, например, числовые, символьные
др..
Домен может задаваться перечислением элементов, указанием диапазона значений, функцией и т.д

Слайд 55

Декартовое произведением доменов

Декартовым произведением k доменов D1, D2, D3,. . . Dk

Декартовое произведением доменов Декартовым произведением k доменов D1, D2, D3,. . .
называется множество всех кортежей длины k, т.е. состоящих из k элементов - по одному из каждого домена и определяется следующим образом
D = D1 х D2 х D3 х ... х Dk

Слайд 56

Пример

D1 = {А,1},
D2= {В, С},
D3 = {2,3,D}
декартово произведение позволяет получить все

Пример D1 = {А,1}, D2= {В, С}, D3 = {2,3,D} декартово произведение
возможные комбинации элементов исходных множеств - элементов рассматриваемых доменов.

Слайд 57

Отношение

Отношением называют некоторое подмножество декартова произведения одного или более доменов.

Отношение Отношением называют некоторое подмножество декартова произведения одного или более доменов.

Слайд 58

Схема отношений

Схемой отношения R называется перечень имен атрибутов отношения с указанием доменов

Схема отношений Схемой отношения R называется перечень имен атрибутов отношения с указанием
этих атрибутов и обозначается

Слайд 59

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

1. Отношение имеет имя, которое отличается от имен всех других отношений.
2.

Свойства отношения 1. Отношение имеет имя, которое отличается от имен всех других
Каждый атрибут имеет уникальное имя.
3. В отношении нет повторяющихся кортежей.
4. Значения всех атрибутов являются атомарными (неделимыми).
5. Порядок рассмотрения атрибутов в схеме отношения не имеет значения, т.к. для ссылки на значение атрибута в кортеже отношения всегда используется имя атрибута.
6. Порядок рассмотрения кортежей в отношении не имеет значения, т.к. отношение представляет собой множество кортежей, а элементы множества, по определению теории множеств, не упорядочены.

Слайд 60

Графическая интерпретация отношения

Графическая интерпретация отношения

Слайд 61

Реляционная база данных

Таким образом, реляционная база данных с логической точки зрения может

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

Слайд 62

Описание таблицы(отношения)

<ИМЯ ТАБЛИЦЫ> (<СПИСОК АТРИБУТОВ>),
где список атрибутов - это множество неповторяющихся

Описание таблицы(отношения) ( ), где список атрибутов - это множество неповторяющихся имен
имен атрибутов, в котором ключевые атрибуты будут выделены подчеркиванием.
Например
СОТРУДНИК( ФИО, Отдел, Должность, Д_рождения)

Слайд 63

Определения в реляционной алгебре

Ключ - это минимальный набор атрибутов отношения, однозначно идентифицирующий

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

Слайд 64

Определения в реляционной алгебре

Ключ, содержащий более одного атрибута, называется составным ключом.
Очень

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

Слайд 65

Ключи используются для:

исключения дублирования значений в ключевых атрибутах (остальные атрибуты в расчет

Ключи используются для: исключения дублирования значений в ключевых атрибутах (остальные атрибуты в
не принимаются);
упорядочения кортежей. Возможно упорядочение по возрастанию или убыванию значений всех ключевых атрибутов;
ускорения работы с кортежами отношения;
организации связывания отношений.

Слайд 66

Определения в реляционной алгебре

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

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

Слайд 67

Пример

имеются две таблицы
СТУДЕНТ(ФИО, Номер_зач_кн, Группа)
ЭКЗАМЕН(Номер_зач_кн, Дисциплина, Оценка),
В первой таблице

Пример имеются две таблицы СТУДЕНТ(ФИО, Номер_зач_кн, Группа) ЭКЗАМЕН(Номер_зач_кн, Дисциплина, Оценка), В первой
первичным ключом является атрибут Номер_зач_кн. Так как каждый студент сдает несколько дисциплин в процессе сессии, то первичным ключом в таблице ЭКЗАМЕН будет набор атрибутов Номер_зач_кн, Дисциплина, т.е. ключ является составным.
Оба отношения связаны через атрибуты Номер_зач_кн, которые представляют собой внешние ключи.

Слайд 68

Ссылочная целостность

Ссылочная целостность-каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

Ссылочная целостность Ссылочная целостность-каждому значению внешнего ключа должны соответствовать строки в связываемых отношениях.

Слайд 69

Суррогатный ключ

Кортежи отношения часто могут быть представлены внутренними номерами, которые не имеют

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

Слайд 70

Типы связи таблиц

При связывании двух таблиц выделяют основную (родительскую) и подчиненную (дочернюю)

Типы связи таблиц При связывании двух таблиц выделяют основную (родительскую) и подчиненную
таблицы.
Это означает, что одна запись родительской таблицы может быть связана с одной или несколькими записями дочерней таблицы.
Для поддержки этих связей обе таблицы должны содержать наборы атрибутов, по которым они связаны, т.е. внешние ключи.

Слайд 71

Типы связи таблиц

• один - к - одному (1:1);
• один -

Типы связи таблиц • один - к - одному (1:1); • один
ко - многим (1 : М);
• многие - ко - многим (М : М).
Тип связи определяется тем, как соотносятся первичные ключи с внешними ключами в обеих таблицах

Слайд 72

Связь типа 1:1

Связь один - к - одному означает, что каждая запись

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

Слайд 73

Связь типа 1:1

ЛИЧНОСТЬ (Код_личности, ФИО, Адрес, Телефон, Дата_рожд.)
СЛУЖАЩИЙ (Код служащего, Должность,

Связь типа 1:1 ЛИЧНОСТЬ (Код_личности, ФИО, Адрес, Телефон, Дата_рожд.) СЛУЖАЩИЙ (Код служащего,
Квалификация (Разряд), Зарплата, Да- та_поступления, Дата_уволнения).
Связь между этими таблицами поддерживается при помощи внешних ключей, в качестве которых используются совпадающие поля: Код_личности (таблица ЛИЧНОСТЬ) и Код служащего (таблица СЛУЖАЩИЙ).
Связь между таблицами устанавливается на основании значений совпадающих полей, но не их наименований.

Слайд 74

Дополнительно

На практике связи вида 1:1 используются сравнительно редко, так как хранимую в

Дополнительно На практике связи вида 1:1 используются сравнительно редко, так как хранимую
двух таблицах информацию легко объединить в одну таблицу, которая занимает гораздо меньше места в памяти ЭВМ.
Возможны случаи, когда удобнее иметь не одну, а две и более таблицы. Причинами этого может быть необходимость ускорить обработку, повысить удобство работы нескольких пользователей с общей информацией, обеспечить более высокую степень защиты информации и т. д.
Приведем пример, иллюстрирующий последнюю из приведенных причин.
Пусть имеются сведения о выполняемых в некоторой организации научно-исследовательских работах.
Эти данные включают в себя следующую информацию по каждой из работ: тему (полное наименование работ), шифр (код), даты начала и завершения работы, количество этапов, головного исполнителя и другую дополнительную информацию.
Все работы имеют гриф «Для служебного пользования» или «секретно».
В такой ситуации всю информацию целесообразно хранить в двух таблицах: в одной из них — всю секретную информацию (например, шифр, полное наименование работы и головной исполнитель), а в другой — всю оставшуюся несекретную информацию. Обе таблицы можно связать по шифру работы.
Первую из таблиц целесообразно защитить от несанкционированного доступа.

Слайд 75

Связь типа 1 : М

Связь 1 : М имеет место в случае,

Связь типа 1 : М Связь 1 : М имеет место в
когда одной записи родительской таблицы соответствует несколько записей дочерней таблицы.

Слайд 76

Пример

надо описать карьеру некоторого индивидуума. Каждый человек в своей трудовой деятельности сменяет

Пример надо описать карьеру некоторого индивидуума. Каждый человек в своей трудовой деятельности
несколько мест работы в разных организациях, где он работает в разных должностях. Кроме того, важно не только отследить переход работника из одной организации в другую, но и прохождение его по служебной лестнице в рамках одной организации. Тогда мы должны создать две таблицы:
СОТРУДНИК (Паспорт, Фамилия, Имя, Отчество)
для моделирования всех работающих людей
КАРЬЕРА (Дата, Место работы, Должность, Номер приказа, Паспорт)
для моделирования записей в их трудовых книжках.
Внешним ключом является поле Паспорт, причем в таблице КАРЬЕРА это поле не является ключевым.

Слайд 77

Связь типа М : М

Возникает когда:
■ одна запись из первой таблицы может

Связь типа М : М Возникает когда: ■ одна запись из первой
быть связана более чем с одной записью второй таблицы;
■ одна запись из второй таблицы может быть связана более чем с одной записью первой таблицы.

Слайд 78

Пример

Преподаватель может вести занятия по разным предметам у разных студентов, а студенты,

Пример Преподаватель может вести занятия по разным предметам у разных студентов, а
изучая разные предметы, учатся у нескольких преподавателях.
Между этими двумя таблицами имеется связь типа много - ко - многим.
Современные СУБД связь М : М не поддерживают.
Для того, чтобы организовать такую связь необходимо использовать дополнительную таблицу - таблицу связи, которая связана с каждой таблицей, а тип связи один-ко-многим.

Слайд 79

Манипулирование данными в реляционной модели

Основной единицей обработки данных в реляционной модели

Манипулирование данными в реляционной модели Основной единицей обработки данных в реляционной модели
является отношение (таблица), а не отдельные его кортежи (записи) БД, и результатом обработки также является отношение.

Слайд 80

Манипулирование данными в реляционной модели

Для манипулирования данными в реляционной модели используются два

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

Слайд 81

Реляционная алгебра Операторы и операции

•традиционные операции над множествами: объединение, пересечение, вычитание и декартово

Реляционная алгебра Операторы и операции •традиционные операции над множествами: объединение, пересечение, вычитание
произведение
специальные реляционные операторы: выборка, проекция, соединение и деление.
операция присваивания

Слайд 82

Основное понятие

два отношения являются совместимыми по объединению, если имеют одинаковое число атрибутов

Основное понятие два отношения являются совместимыми по объединению, если имеют одинаковое число
и i-атрибут одного отношения должен быть определен на том же домене, что и i-атрибут второго отношения.

Слайд 83

Объединение (union) (R:=R1 U R2)

Объединением двух совместимых по объединению отношений R1 и

Объединение (union) (R:=R1 U R2) Объединением двух совместимых по объединению отношений R1
R2 является отношение R, включающее в себя все кортежи отношений R1 и R2 без повторов.

Слайд 84

Пример

пусть имеются отношения R1(A,B,C) и R2(A,B,C)
Тогда объединение R:=R1 union R2

Пример пусть имеются отношения R1(A,B,C) и R2(A,B,C) Тогда объединение R:=R1 union R2

Слайд 85

Дополнение

Этот пример, впрочем, как и другие примеры, подтверждает тезис о том, что

Дополнение Этот пример, впрочем, как и другие примеры, подтверждает тезис о том,
с помощью одной операции реляционной алгебры решается простейшая информационная задача.
Операция объединение используется для решения практической задачи - слияние файлов однотипных записей.
Заметим, что с помощью операции объединения может быть реализовано добавление новой записи к имеющемуся отношению R: =R union R2.
В этом случае R - исходное отношение, R2- отношение, содержащее одну добавляемую запись.

Слайд 86

Пересечение (intersect) (R:=R1 Ո R2)

Пересечением двух совместимых по объединению отношений R1 и

Пересечение (intersect) (R:=R1 Ո R2) Пересечением двух совместимых по объединению отношений R1
R2 является отношение R, включающее в себя все кортежи как отношения R1, так и отношения R2.

Слайд 87

Пример

пусть имеются отношение R1(A,B,C) и отношение R2(A,B,C)
Пересечение R:=R1 intersect R2

Пример пусть имеются отношение R1(A,B,C) и отношение R2(A,B,C) Пересечение R:=R1 intersect R2

Слайд 88

Разность (except) (R :=R1 - R2)

Разностью двух совместимых по объединению отношений R1

Разность (except) (R :=R1 - R2) Разностью двух совместимых по объединению отношений
и R2 является отношение R, кортежи которого принадлежат отношению R1 и не принадлежат отношению R2, т.е. кортежи отношения R1, которых нет в отношении R2.

Слайд 89

Пример

Например, пусть имеются отношение R1(A,B,C) и отношение R2{А,В,С)
Тогда разность R:=R1 except

Пример Например, пусть имеются отношение R1(A,B,C) и отношение R2{А,В,С) Тогда разность R:=R1 except R2
R2

Слайд 90

Произведение (product) (R := R1 * R2)

Это бинарная операция над разносхемными отношениями. Если

Произведение (product) (R := R1 * R2) Это бинарная операция над разносхемными
отношение R1(A1,A2, ..., Аn) имеет m атрибутов, а отношение R2(B1, В2, ..., Bn) - n атрибутов, то произведением является от ношение R(A1, A2, ..., Am, В1, B2, ..., Вn), имеющее (m + n) атрибутов.

Слайд 91

Пример

Отношение R1(A,B,C) и отношение R2(D,E)
R:=R1 product R2

Пример Отношение R1(A,B,C) и отношение R2(D,E) R:=R1 product R2

Слайд 92

Селекция (select) (Выборка)

Селекция - унарная операция реляционной алгебры, производящая отбор кортежей из

Селекция (select) (Выборка) Селекция - унарная операция реляционной алгебры, производящая отбор кортежей
отношения на основании некоторых условий, которые накладываются на значения определённых атрибутов.

Слайд 93

Условия

Условия задаются логическим выражением вида:
«Имя атрибута - Знак сравнения - Значение»
Они могут

Условия Условия задаются логическим выражением вида: «Имя атрибута - Знак сравнения -
соединяться логическими операторами AND (И), OR (ИЛИ) и иметь оператор NOT (ОТРИЦАНИЕ).
Знаки сравнения: =, <>, >,>=< <=

Слайд 94

Пример отношение СКЛАД
Найти информацию о диодах, хранящихся на складе, по цене

Пример отношение СКЛАД Найти информацию о диодах, хранящихся на складе, по цене
меньше 2 руб.
SELECT (СКЛАД: НАИМЕНОВАНИЕ = 'Диод' AND ЦЕНА < 2.00)

Слайд 95

Проекция (project)

Проекция - это унарная операция реляционной алгебры, создающая новое отношение путем

Проекция (project) Проекция - это унарная операция реляционной алгебры, создающая новое отношение
исключения атрибутов из существующего отношения.

Слайд 96

Пример

Пусть имеется отношение R1 (А,В,С)
Выполним операцию проекция по атрибутам С и

Пример Пусть имеется отношение R1 (А,В,С) Выполним операцию проекция по атрибутам С
А.
В результате получаем отношение R

Слайд 97

Соединение (join)

Операция соединения позволяет строить новое отношение посредством конкатенации (сцепления) кортежей двух

Соединение (join) Операция соединения позволяет строить новое отношение посредством конкатенации (сцепления) кортежей
исходных отношений.
Однако конкатенация производится лишь при выполнении заданного логического условия.
Если условием является равенство значений двух атрибутов исходных отношений, такая операция называется эквисоединением.
Естественным называется эквисоединение по одинаковым атрибутам исходных отношений.

Слайд 98

Пример

Пусть имеются отношения R1(A,B,C) и R2(D,E)
Выполним операцию соединения этих двух отношений при

Пример Пусть имеются отношения R1(A,B,C) и R2(D,E) Выполним операцию соединения этих двух
условии, что значения атрибута В отношения R1 меньше значения атрибута D таблицы R2.

Слайд 99

Деление (division)

Операция деление в определенном смысле обратна операции произведения.
Пусть отношение R1 содержит

Деление (division) Операция деление в определенном смысле обратна операции произведения. Пусть отношение
атрибуты (A1,A2,..., Ат, В1, В2,...,Вn), а отношение R2- атрибуты (В1, В2, ...,Вn).
Тогда результирующее отношение R содержит атрибуты (А1,А2, ..., Ат).
Кортеж отношения R1 включается в результирующее отношение, если его декартово произведение с отношением R2 входит в R1.

Слайд 100

Пример

Пример: пусть имеются отношения R1(A,B,C,D) и R2(C,D)

Пример Пример: пусть имеются отношения R1(A,B,C,D) и R2(C,D)

Слайд 101

Свойства операций реляционной алгебры

Коммутативность
объединение, пересечение, произведение и соединение коммутативны
R1 union R2 =

Свойства операций реляционной алгебры Коммутативность объединение, пересечение, произведение и соединение коммутативны R1
R2 union R1 ; R1 intersect R2 = R2 intersect R1; R1 product R2 = R2 product R1 ; R1 join R2 = R2 join R1.

Слайд 102

Ассоциативность

Операции пересечения, объединения, произведения и соединения ассоциативны
R1 intersect (R2 intersect R3) =

Ассоциативность Операции пересечения, объединения, произведения и соединения ассоциативны R1 intersect (R2 intersect
(R1 intersects R2) intersects R3;
R1 union (R2 union R3) = (R1 union R2) union RЗ;
R1 product ( R2 product R3) = (R1 product R2) product RЗ;
R1 join ( R2 join R3) = (R1 join R2) join R3.

Слайд 103

Дистрибутивность

Пересечение дистрибутивно относительно объединения:
R1 intersect (R2 union R3) = (R1 intersect R2)

Дистрибутивность Пересечение дистрибутивно относительно объединения: R1 intersect (R2 union R3) = (R1
union (R1 intersect RЗ).
Объединение дистрибутивно относительно пересечения:
R1 union (R2 intersect R3) = (R1 union R1) intersect (R1 union R3).
Произведение и соединение дистрибутивны относительно операций объединения и пересечения
R1 product (R2 union R3) = (R1 product R2) union (R1 product R3); R1 product (R2 intersect R3) = (R1 product R2) intersect (R1 productR3).

Слайд 104

Достоинства реляционной модели данных

Достоинство реляционной модели данных заключается в простоте, понятности и

Достоинства реляционной модели данных Достоинство реляционной модели данных заключается в простоте, понятности
удобстве физической реализации на ЭВМ.
Именно простота и понятность для пользователя явились основной причиной их широкого использования.
Проблемы же эффективности обработки данных этого типа оказались технически вполне разрешимыми.

Слайд 105

Недостатки реляционной модели данных

В качестве основного недостатка реляционной модели можно указать дублирование

Недостатки реляционной модели данных В качестве основного недостатка реляционной модели можно указать
информации для организации связей между таблицами.
Например, база данных имеет следующую схему:
R1(A1, А2, АЗ, А4)
R2(A5,A6)
R3(A7, А8)
R4(А1, А5)
R5(A1,A7)
R6(A5, A7)
где R1, R2, R3, R4, R5, R6 - это таблицы,
AI, А2, АЗ, А4, А5, А6, А7 - это атрибуты таблиц.
Не трудно заметить, атрибуты А1, А5, А8 присутствуют в нескольких таблицах.

Слайд 106

Ограничения целостности базы данных

В любой момент реляционная база данных содержит некоторую определенную

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

Слайд 107

Примеры правил целостности

количество продаваемого товара должно быть больше 0;
номер паспорта является уникальным

Примеры правил целостности количество продаваемого товара должно быть больше 0; номер паспорта
значением;
возраст принимаемого сотрудника на работу обязательно не меньше 14 лет.

Слайд 108

Ограничения целостности

Ограничения целостности - это правила, которым должны удовлетворять значения данных

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

Слайд 109

Ограничения целостности

За выполнением ограничений целостности следит СУБД в процессе своего функционирования.

Ограничения целостности За выполнением ограничений целостности следит СУБД в процессе своего функционирования.

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

Слайд 110

Например

Если задать в качестве ограничения правило «Остаток денежных средств на счёте не

Например Если задать в качестве ограничения правило «Остаток денежных средств на счёте
может быть отрицательным», то при попытке снять со счёта денег больше, чем там есть, система выдаст сообщение об ошибке и не позволит выполнить эту операцию.

Слайд 111

Ограничения целостности

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

Ограничения целостности Таким образом, ограничения целостности обеспечивают логическую непротиворечивость данных при переводе
БД из одного состояния в другое.
Более сложные правила целостности реализуются с помощью хранимых процедур и триггеров, представляющие определенные последовательности команд языка SQL при изменении или добавлении данных в БД.

Слайд 112

Выбор СУБД

Выбор СУБД является одним из важнейших моментов в разработке проекта БД,

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

Слайд 113

Выбор СУБД

Наиболее важные критерии выбора СУБД:
тип модели данных, которую поддерживает данная СУБД,

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

Слайд 114

Нормализация

Для поддержания БД в устойчивом состоянии используется ряд механизмов, которые называются средствами

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

Слайд 115

Нормализация

Выделяются шесть нормальных форм, пять из которых так и называются: первая, вторая,

Нормализация Выделяются шесть нормальных форм, пять из которых так и называются: первая,
третья, четвертая, пятая нормальная форма, а также нормальная форма Бойса-Кодда, лежащая между третьей и четвертой.
Для реляционной модели данных разработано несколько нормализованных форм, три из которых являются основными.
База данных считается нормализованной, если ее таблицы представлены как минимум в третьей нормальной форме.
Часто многие таблицы нормализуются до четвертой нормальной формы, иногда, наоборот, производится денормализация. Использования таблиц в пятой нормальной форме в реальных базах данных встречается редко.

Слайд 116

Нормализация

При использовании универсального отношения возникают две проблемы:
избыточность данных;
потенциальная противоречивость (аномалии).

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

Под избыточностью понимают повторение данных в разных строках одной таблицы или в разных таблицах БД.

Слайд 117

Аномалии

Аномалии – это проблемы, возникающие в данных из-за дефектов проектирования БД.
Аномалия

Аномалии Аномалии – это проблемы, возникающие в данных из-за дефектов проектирования БД.
приводит к противоречию в БД либо существенно усложняет обработку БД.
Причиной является излишнее дублирование данных в таблице, которое вызывается наличием функциональных зависимостей от не ключевых атрибутов.
Существуют три вида аномалий:
вставки;
удаления;
модификации.

Слайд 118

Аномалия вставки

Аномалии вставки (добавления) проявляются при вводе данных в дефектную таблицу.
Такие

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

Слайд 119

Аномалия вставки

Пример. Задана следующая база данных, которая основана на одной таблице. В

Аномалия вставки Пример. Задана следующая база данных, которая основана на одной таблице.
таблице определяется информация о преподавателях (Преподаватель, Дисциплина, Кафедра), студентах (Студент, Номер зачетки, Адрес), успеваемость студентов (Оценка).

Слайд 120

Аномалия вставки

Пусть в эту базу данных нужно добавить нового преподавателя математики (столбцы

Аномалия вставки Пусть в эту базу данных нужно добавить нового преподавателя математики
Преподаватель, Дисциплина), который недавно принят на работу.
Для этого необходимо, чтобы новый преподаватель обязательно оценил хотя бы одного студента. Иначе, в таком представлении базы данных, добавить данные будет невозможно. Значит, при добавлении преподавателя, нужно выгадывать несуществующие данные оценивания студента.
Это и есть аномалия вставки.

Слайд 121

Аномалия вставки

Аномалия вставки

Слайд 122

Аномалия удаления

Аномалии удаления возникают при удалении данных из дефектной схемы.
Аномалия удаления –

Аномалия удаления Аномалии удаления возникают при удалении данных из дефектной схемы. Аномалия
это потеря одних данных в таблице при удалении других данных в таблице.

Слайд 123

Аномалия удаления

Пример. Пусть в таблице базы данных по ошибке было введено оценивание

Аномалия удаления Пример. Пусть в таблице базы данных по ошибке было введено
по дисциплине Информатика, которую перенесли на следующие семестры обучения. Автоматически, при удалении строки с дисциплиной «Информатика», будет потеряна строка с данными о преподавателе (Левитан М.К), который преподает эту дисциплину и название кафедры.

Слайд 124

Аномалия корректировки

Аномалии корректировки (модификации, редактирования) возникают при изменении данных дефектной схемы. Изменения,

Аномалия корректировки Аномалии корректировки (модификации, редактирования) возникают при изменении данных дефектной схемы.
вносимые в одну запись требуют внесения изменений в другие записи.
Аномалия редактирования возникает в случаях, когда в таблице базы данных существуют повторяющиеся данные. Такие данные тяжело обновлять при их редактировании, поскольку нужно вносить изменения во все ячейки таблицы, в которых эти данные фигурируют. Если при изменении повторяемых данных в одной ячейке не изменить так же эти данные в других ячейках, то компьютер будет воспринимать эти данные как разные (в отличие от человека).
Аномалия корректировки – это вынужденная необходимость изменения (обновления) данных во всей таблице в случае их изменения (обновления) в одной ячейке таблицы с целью избежание их двузначного трактования.

Слайд 125

Аномалия корректировки

Пример. Задана таблица базы данных учета успеваемости в учебном заведении. Пусть

Аномалия корректировки Пример. Задана таблица базы данных учета успеваемости в учебном заведении.
преподаватель физики Петренко М.М. вышла замуж и изменила фамилию на Маркевич. Теперь во всех ячейках столбца (атрибута) Преподаватель нужно изменить имя преподавателя Петренко М.М. на Маркевич М.М.

Слайд 126

Декомпозиция

Существует научно-обоснованные приемы для того, что бы избежать таких аномалий. Это делается

Декомпозиция Существует научно-обоснованные приемы для того, что бы избежать таких аномалий. Это
с помощью декомпозиции.
Декомпозиция – это разделение одной таблицы на несколько, но так, что бы информация не терялась и чтобы можно было собрать информацию в таблицу.
Процедура декомпозиции называется нормализацией.
https://www.youtube.com/watch?v=zqQxWdTpSIA

Слайд 127

Нормальные формы

Различают:
1НФ – первая нормальная форма
2НФ – вторая нормальная форма
3НФ – третья

Нормальные формы Различают: 1НФ – первая нормальная форма 2НФ – вторая нормальная
нормальная форма
НФБК – нормальная форма Бойса-Кодда
4НФ – четвертая нормальная форма
5НФ – пятая нормальная форма

Слайд 128

Нормальные формы

Каждая нормальная форма налагает определенные ограничения на данные. Каждая нормальная форма

Нормальные формы Каждая нормальная форма налагает определенные ограничения на данные. Каждая нормальная
более высокого уровня предполагает, что анализируемая таблица уже находится в нормальной форме на уровень ниже рассматриваемой.
В ходе нормализации схема базы данных становится все более строгой, а ее таблицы все менее подвержены различного рода аномалиям. Для реляционных баз данных необходимо, чтобы ее таблицы находились в 1НФ. Нормальные формы более высоких уровней могут использоваться разработчиками по своему усмотрению. Однако грамотный специалист стремится к тому, чтобы довести уровень нормализации базы данных хотя бы до 3НФ, тем самым исключив избыточность данных и аномалии обновления.
НФБК, 4НФ и 5НФ используются крайне редко. Поэтому рассмотрим только первые три.

Слайд 129

Первая нормальная форма

Таблица находится в первой нормальной форме, если все ее поля

Первая нормальная форма Таблица находится в первой нормальной форме, если все ее
имеют простые (атомарные) значения, т. е. каждый её атрибут атомарен.
Под выражением «атрибут атомарен» понимается, что атрибут может содержать только одно значение.
Так же можно сказать, что таблица находится в первой нормальной форме, если она является реляционной таблицей.
Таблица, находящаяся в 1НФ должна отвечать следующим требованиям:
таблица не должна иметь повторяющихся записей;
в таблице должны отсутствовать повторяющиеся группы полей.

Слайд 130

Первая нормальная форма

Для приведения к 1НФ можно использовать следующий алгоритм:
Определить поле,

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

Слайд 131

Вторая нормальная форма

Таблица, находящаяся во второй нормальной форме должна отвечать всем требованиям

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

Слайд 132

Третья нормальная форма

Таблица, находящаяся в третьей нормальной форме должна отвечать всем требованиям

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

Слайд 133

3.1. Общие сведения о языке SQL

Язык SQL (Structured Query Language) - Структурированный

3.1. Общие сведения о языке SQL Язык SQL (Structured Query Language) -
Язык Запросов - предназначен для работы с реляционными базами данных.
Он дает возможность выполнять операции над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление, удаление).

Слайд 134

История SQL

История возникновения языка SQL начинается в 1970 году, когда доктор Э.Ф.

История SQL История возникновения языка SQL начинается в 1970 году, когда доктор
Кодд предложил реляционную модель в качестве новой модели базы данных.
Для доказательства жизнеспособности новой модели данных в компании IBM был создан мощный исследовательский проект, получивший название System/R.
Проект включал разработку собственно реляционной СУБД и специального языка запросов к базе данных. Первоначально язык получил название SEQUEL (Structured English Query Language) - структурированный английский язык запросов и произносился как «сиквэл».
Позже по юридическим соображениям («SEQUEL» был товарной маркой британской авиастроительной группы компаний «Hawker Siddeley») язык SEQUEL был переименован в язык SQL (Structured Query Language) и официальное произношение стало побуквенным «эс-кью-эль».

Слайд 135

История SQL

В дальнейшем этот язык применялся во многих коммерческих СУБД и в

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

Слайд 136

Особенности SQL

Язык SQL является непроцедурным языком, с помощью которого программист определяет только

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

Слайд 137

Особенности SQL

В архитектуре «клиент-сервер» язык SQL занимает очень важное место.
Именно он

Особенности SQL В архитектуре «клиент-сервер» язык SQL занимает очень важное место. Именно
используется как язык общения клиентского программного обеспечения с серверной СУБД, расположенной на удаленном компьютере.
Так, клиент посылает серверу запрос на языке SQL, а сервер разбирает его, интерпретирует, выбирает план выполнения, выполняет запрос и отсылает клиенту результат.
Имя файла: inf_92882.pptx
Количество просмотров: 31
Количество скачиваний: 0