Главная страница

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


Скачать 1.56 Mb.
НазваниеПонятие данных
Дата21.01.2021
Размер1.56 Mb.
Формат файлаpdf
Имя файлаBD-Bilety-2016.pdf
ТипДокументы
#170274
страница3 из 9
1   2   3   4   5   6   7   8   9
Вторая нормальная форма (2NF). Таблица находится во второй нормальной форме, если она находится в первой нормальной форме, и при этом любой её атрибут, не входящий в состав первичного ключа, функционально полно зависит от первичного ключа.
Функционально полная зависимость означает, что атрибут функционально зависит от всего первичного ключа, но при этом не находится в функциональной зависимости от какой-либо его части.
3. Третья нормальная форма (3NF). Таблица находится в третьей нормальной форме, если она находится во второй нормальной форме, и при этом любой её неключевой атрибут функционально зависит только от первичного ключа.
При решении практических задач в большинстве случаев третья нормальная форма является достаточной.
Процесс проектирования реляционной базы данных, как правило, заканчивается приведением к 3NF.
4. Нормальная форма Бойса-Кодда (BCNF). Таблица находится в BCNF, если она находится в 3NF, и при этом отсутствуют функциональные зависимости атрибутов первичного ключа от неключевых атрибутов. Таблица может находиться в 3NF, но не в BCNF, только в одном случае: если она имеет, помимо первичного ключа, еще по крайней мере один возможный ключ.
5. Четвёртая нормальная форма (4NF). Таблица находится в 4NF, если она находится в BCNF и не содержит нетривиальных многозначных зависимостей. Многозначная зависимость не является функциональной, она существует в том случае, когда из факта, что в таблице содержится некоторая строка X, следует, что в таблице обязательно существует некоторая определённая строка Y.
То есть, таблица находится в 4NF, если все ее многозначные зависимости являются функциональными.
6. Пятая нормальная форма (5NF). Таблица находится в 5NF, если она находится в 4NF и любая многозначная зависимость соединения в ней является тривиальной. Пятая нормальная форма в большей степени является теоретическим исследованием, и практически не применяется при реальном проектировании баз данных. Это связано со сложностью определения самого наличия зависимостей «проекции — соединения», поскольку утверждение о наличии такой зависимости должно быть сделано для всех возможных состояний БД.

7. Реляционная модель данных. Базовые объекты реляционной модели. Представление сущности и связи. Определение связи, общая характеристика связей.
Реляционная модель данных (РМД) была разработана сотрудником IBM Э.Ф. Коддом (E.F. Codd) в 1969-70 г.г. на основе математической теории отношений.
Достоинства:
– небольшой набор абстракций, которые позволяют сравнительно просто моделировать значительную часть предметной области и допускают точные формальные определения, оставаясь интуитивно понятными;
– мощный математический аппарат – модель данных опирается главным образом на теорию множеств и математическую логику; обеспечивает теоретический базис реляционного подхода к реализации базы данных;
– ненавигационное манипулирование данными, что исключает необходимость знания конкретной физической организации базы данных во внешней памяти.
Недостатки:
ограниченность при использовании в областях применения, требующих предельно сложные структуры данных
(например, в системах автоматизированного проектирования);
– невозможность адекватного отображения семантики предметной области.
Реляционная модель данных определяет структурную и целостную части, а также и манипуляционную часть. Для описания структуры и ограничений, накладываемых на структуру, используется язык описания данных (ЯОД); для манипуляций с данными используется язык манипулирования данными (ЯМД).
Особенности реляционной модели данных:

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

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

современные реляционные СУБД используют единый язык – SQL, в котором объединены и ЯОД, и ЯМД.
Базовые структурные компоненты реляционной модели данных – это домены и атрибуты, отношения, связи:
1. Домены и атрибуты (столбцы) – свойства, описывающие сущность. Простые: ГОД = {1985, 2003, 2000}, составные:
ИСТОРИЯ ЗАРПЛАТЫ = {{<1985, 500>, <2000, 1000>}}
Домен – множество элементов одного типа. Атрибуты задают способ использования домена внутри отношения.
2. Отношения (таблицы) - представление конкретной сущности из предметной области.
Свойства отношения:.
1. Каждый атрибут отношения имеет уникальное в данном отношении имя.
2. Каждый атрибут определен на каком-то одном домене.
3. На одном и том же домене может быть определено несколько атрибутов.
4. Имя атрибута может совпадать с именем домена.
5. Порядок следования атрибутов не устанавливается.
6. В отношении нет совпадающих кортежей (каждый кортеж уникален).
7. Порядок следования кортежей не устанавливается.
8. Отношение имеет имя, которое в схеме базы данных отличается от имен всех других отношений.
Отношение R = { 1
, d
2
, …, d n
> таких, что d i
∈ D
i
, i = 1, 2, …, n }
Сущности – любые объекты, которые могут быть представлен в БД. Объекты, о которых необходимо хранить информацию. Также, сущность можно определить, как группу атрибутов, относящихся к объекту, о котором мы будем хранить информацию. Пример: Сущность Отдел, Сущность Сотрудник, Сущность проект и т.п.
Представление сущности.
Ключ – это совокупность атрибутов, которая однозначно идентифицирует каждый кортеж данного отношения.
Первичный ключ (PK – Primary Key) – не избыточный набор атрибутов, значения которых однозначно определяют кортеж отношения. Первичный ключ не избыточен, если:
• состоит из одного атрибута
• состоит из нескольких атрибутов, но ни один из этих атрибутов не является лишним для однозначной идентификации каждого кортежа.
Свойства ключа:
Уникальность - в каждом кортеже значение ключа единственным образом идентифицирует этот кортеж.
Неприводимость – никакое собственное подмножество ключа не обладает свойством уникальности.
Отношение может иметь только ОДИН первичный ключ!

Связи. Связи между сущностями отражают взаимосвязи между конкретными экземплярами сущностей. Эти взаимосвязи представляются с помощью внешних ключей.
Внешний ключ (FK – Foreign Key) – это атрибут или некоторое множество атрибутов отношения R1, которые не являются собственными атрибутами отношения R1, но их значение совпадает со значениями первичного ключа некоторого отношения R2 (возможность идентичности R1 и R2 не исключается).
Основными типами связей между сущностями являются связи 1 : n (“один-ко-многим») и n : n («много-ко-многим»).

1:n. Каждый сотрудник работает в одном определённом отделе, в каждом отделе работают много сотрудников.
Эта связь определяется атрибутом внешнего ключа в отношении СОТРУДНИК: в это отношение включается внешний ключ Номер отдела, значения которого совпадают со значениями первичного ключа Номер отдела отношения ОТДЕЛ.

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

8. Реляционная модель данных. Ограничения целостности: целостность сущностей, ссылочная целостность.
Реляционная модель данных (РМД) была разработана сотрудником IBM Э.Ф. Коддом (E.F. Codd) в 1969-70 г.г. на основе математической теории отношений.
Достоинства:
– небольшой набор абстракций, которые позволяют сравнительно просто моделировать значительную часть предметной области и допускают точные формальные определения, оставаясь интуитивно понятными;
– мощный математический аппарат – модель данных опирается главным образом на теорию множеств и математическую логику; обеспечивает теоретический базис реляционного подхода к реализации базы данных;
– ненавигационное манипулирование данными, что исключает необходимость знания конкретной физической организации базы данных во внешней памяти.
Недостатки:
– ограниченность при использовании в областях применения, требующих предельно сложные структуры данных
(например, в системах автоматизированного проектирования);
– невозможность адекватного отображения семантики предметной области.
Реляционная модель данных определяет структурную и целостную части, а также и манипуляционную часть. Для описания структуры и ограничений, накладываемых на структуру, используется язык описания данных (ЯОД); для манипуляций с данными используется язык манипулирования данными (ЯМД).
Особенности реляционной модели данных:

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

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

современные реляционные СУБД используют единый язык – SQL, в котором объединены и ЯОД, и ЯМД.
Целостность базы данных означает корректность и непротиворечивость хранимых в ней данных. Ограничения
целостности - логические ограничения, накладываемые на данные. Если значения данных отвечают существующим знаниям об объекте, соответствующие ограничениям логические выражения принимают значение «истина».
Ограничения бывают внутренние (неявные) и явные. Неявные – принадлежность атрибута домену. Явные – задаются разработчиком.
Пример неявного ограничения: тот факт, что запись типа СОТРУДНИК имеет поле Дата рождения, служит, по существу, ограничением целостности, означающим, что каждый сотрудник организации имеет дату рождения, причём только одну.
Явные ограничения включаются в структуру базы данных с помощью средств языка контроля данных (DCL, Data Control
Language). Например, номер паспорта является уникальным, заработная плата не может быть отрицательной, а дата приёма сотрудника на работу обязательно будет меньше, чем дата его перевода на другую работу.
Требование целостности сущностей: любой кортеж любого отношения должен быть отличим от любого другого кортежа этого же отношения. Ограничения: уникальность других атрибутов (АК); обязательность значений атрибутов (NULL, NOT
NULL); допустимость значений атрибутов (CHECK).
Требование ссылочной целостности: значение атрибута внешнего ключа в любом кортеже дочернего отношения должно соответствовать значению атрибута первичного ключа в некотором кортеже родительского отношения.

9. Средства языка SQL как языка описания данных. Описание структуры и ограничений целостности. Предложение
CREATE TABLE.
В реально существующих РСУБД, на основе реляционной модели данных, в качестве ЯОД используется некоторое подмножество языка SQL. Так, в стандарте SQL-92 определено предложение CREATE DOMAIN для создания доменов, однако далеко не все СУБД такую возможность поддерживают. Но во всех РСУБД есть предложение CREATE TABLE, позволяющее создать таблицу (отношение реляционной модели данных) и определить для нее необходимые ограничения целостности.

CREATE тип_объекта

DROP тип_объекта

ALTER тип_объекта
Типы объектов: DATABASE, TABLE, VIEW, INDEX, TRIGGER, PROCEDURE и другие
Типы данных:
Числовые – используются для представления целых, вещественных и десятичных чисел: SMALLINT, INTEGER, REAL,
DECIMAL, и далее…
Строковые типы данных – используются для представления символьных строк: CHAR[(len)]), VARCHAR[(len)]
Типы данных дата–время – используются для представления даты и времени: DATE, TIME, DATETIME, SMALLDATETIME
Реляционная модель данных определяет два базовых требования целостности, которые поддерживаются любой РСУБД:
1) целостность сущностей
2) ссылочная целостность.
Требование целостности сущностей состоит в следующем: любой кортеж любого отношения должен быть отличим от любого другого кортежа этого же отношения.
Это требование означает, что каждое отношение должно иметь первичный ключ.
Так же могут быть установлены ограничения.
Ссылочная целостность
ОТДЕЛ ( Номер отдела, Название (АК) )
СОТРУДНИК ( Номер сотрудника, Имя, Год рождения, Номер отдела (FK) )
Требование ссылочной целостности: значение атрибута внешнего ключа в любом кортеже дочернего отношения должно соответствовать значению атрибута первичного ключа в некотором кортеже родительского отношения.
Ссылочные ограничения целостности в реляционной модели данных представляют собой условия, накладываемые на сосуществование кортежей в связанных отношениях.
В реляционной базе данных связи между отношениями представляются с помощью внешних ключей.
Обычно отношение, в котором определяется внешний ключ, называется дочерним отношением, а отношение, на которое ссылается внешний ключ – родительским отношением.
Создание таблицы: CREATE TABLE имя_таблицы (
имя_колонки тип_данных ограничения_на_колонку,
табличное_ограничение,)
Имя_колонки (имя_таблицы): любое имя (длина до 128 символов, символы A-Z a-z 0-9 _, должен начинаться с буквы, не должен содержать пробелы). Имя не чувствительно регистру, т.е. AbCdE то же самое, что ABCDE;
Тип_данных: тип данных, выбор зависит от конкретной СУБД (примеры: boolean, char, varchar, decimal, time, date, integer)
Ограничения_на_колонку:
CONSTRAINT - необязательное ключевое слово, указывающее на начало определения ограничения PRIMARY KEY, NOT
NULL, UNIQUE, FOREIGN KEY или CHECK. CONTRAINT просто позволяет задать ограничению имя. Но можно задавать и без него.
PRIMARY KEY – колонка является первичным ключом ;
NULL/NOT NULL – может быть пустой/не может быть пустой,
UNIQUE – значение колонки в каждой строке таблицы должно быть уникальным;
CHECK – проверка на допустимость, если указывается в колонке, то может быть использовано только имя колонки, если в рамках таблицы – то любые колонки в рамках таблицы. Не может ссылаться на другие таблицы.

FOREIGN KEY REFERENCES… (Рассмотрено ниже).
IDENTITY (для колонок) - создает в таблице столбец идентификаторов (автоинкрементер). Синтаксис:
IDENTITY [ (seed , increment) ]: seed – значение, присваиваемое самой первой строке, добавленной в таблицу; increment
- Значение приращения, которое прибавляется к значению идентификатора предыдущей загруженной строки.
Необходимо указывать либо оба аргумента (и seed, и increment), либо не указывать ни один из них .Если ничего не указано, применяются значения по умолчанию (1,1). Такой столбец может быть только один.
[WITH] DEFAULT - указывает значение, присваиваемое столбцу в случае отсутствия явно заданного значения при вставке. Определения DEFAULT могут применяться к любым столбцам, кроме имеющих тип timestamp или обладающих свойством IDENTITY. Если для столбца определяемого пользователем типа указано значение по умолчанию, этот тип должен поддерживать неявное преобразование выражения constant_expression в определяемый пользователем тип.
Определения DEFAULT удаляются, когда таблица удаляется из памяти. В качестве значения по умолчанию могут использоваться только константы (например, символьные строки), скалярные функции (системные, определяемые пользователем или функции CLR) или значение NULL.
Ссылочное ограничение на колонку:
… REFERENCES родительская_таблица (имя_PK в родительской таблице) ON DELETE реакция ON UPDATE реакция
Табличное ссылочное ограничение:
FOREIGN KEY (список_колонок_таблицы) REFERENCES родительская_таблица (PK из родительской таблицы)
ON DELETE реакция ON UPDATE реакция

10. Общая характеристика манипуляционной части реляционной модели данных. Реляционная алгебра, реляционное исчисление: общая характеристика.
Основы реляционной модели данных были впервые изложены в статье Е.Кодда [43] в 1970 г. Эта работа послужила стимулом для большого количества статей и книг, в которых реляционная модель получила дальнейшее развитие.
Наиболее распространенная трактовка реляционной модели данных принадлежит К.Дейту [11]. Согласно Дейту, реляционная модель состоит из трех частей:
• Структурной части.
• Целостной части.
• Манипуляционной части.
Структурная часть описывает, какие объекты рассматриваются реляционной моделью. Постулируется, что единственной структурой данных, используемой в реляционной модели, являются нормализованные n-арные отношения.
Целостная часть описывает ограничения специального вида, которые должны выполняться для любых отношений в любых реляционных базах данных. Это целостность сущностей и целостность внешних ключей.
Манипуляционная часть описывает два эквивалентных способа манипулирования реляционными данными -
реляционную алгебру и реляционное исчисление.
Реляционная алгебра:
Основная идея реляционной алгебры состоит в том, что коль скоро отношения являются множествами, то средства манипулирования отношениями могут базироваться на традиционных теоретико-множественных операциях, дополненных некоторыми специальными операциями, специфичными для баз данных.
Существует много подходов к определению реляционной алгебры, которые различаются набором операций и способами их интерпретации, но в принципе, более или менее равносильны. Мы опишем немного расширенный начальный вариант алгебры, который был предложен Коддом. В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса - теоретико-множественные операции и специальные реляционные операции.
В состав теоретико-множественных операций входят операции:
• объединения отношений;
пересечения отношений;
• взятия разности отношений;
• прямого произведения отношений.
Специальные реляционные операции включают:
• ограничение отношения;
• проекцию отношения;
• соединение отношений;
• деление отношений.
Кроме того, в состав алгебры включается операция присваивания, позволяющая сохранить в базе данных результаты вычисления алгебраических выражений, и операция переименования атрибутов, дающая возможность корректно сформировать заголовок (схему) результирующего отношения.
• При выполнении операции объединения двух отношений производится отношение, включающее все кортежи, входящие хотя бы в одно из отношений-операндов.
• Операция пересечения двух отношений производит отношение, включающее все кортежи, входящие в оба отношения-операнда.
• Отношение, являющееся разностью двух отношений, включает все кортежи, входящие в отношение - первый операнд, такие, что ни один из них не входит в отношение, являющееся вторым операндом.
• При выполнении прямого произведения двух отношений производится отношение, кортежи которого являются конкатенацией (сцеплением) кортежей первого и второго операндов.
• Результатом ограничения отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.
• При выполнении проекции отношения на заданный набор его атрибутов производится отношение, кортежи которого производятся путем взятия соответствующих значений из кортежей отношения-операнда.
• При соединении двух отношений по некоторому условию образуется результирующее отношение, кортежи которого являются конкатенацией кортежей первого и второго отношений и удовлетворяют этому условию.
• У операции реляционного деления два операнда - бинарное и унарное отношения. Результирующее отношение состоит из одноатрибутных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) совпадает со множеством значений второго операнда.
• Операция переименования производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.

• Операция присваивания позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.
Операции реляционной алгебры:
1   2   3   4   5   6   7   8   9


написать администратору сайта