Шпаргалка по "Информатике"

Автор работы: Пользователь скрыл имя, 19 Мая 2013 в 07:10, шпаргалка

Описание

Базы данных и файловые системы
СУБД определение, функции
СУБД определение, классификация
БД основные определения, классификация
Объекты базы данных
Физическая структура БД в SQL Server
Структурная часть реляционной модели
Фундаментальные свойства отношений
Реляционная алгебра Кодда
Целостность реляционных данных, стратегии поддержания ссылочной целостности
Этапы разработки баз данных
Нормальные формы отношений
Модель сущность-связь.

Работа состоит из  1 файл

Бд.doc

— 434.00 Кб (Скачать документ)

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

Файлы журнала транзакций бывают только одного типа – Transaction Log File, служащего для хранения журнала  транзакций. В базе данных должен быть как минимум один файл журнала  транзакций. Для ускорения обработки транзакций можно использовать несколько журналов транзакций, расположенных на разных физических дисках.

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

Каждый файл, используемый в базе данных, имеет два имени:

- Logical File Name – логическое  имя файла, которое используется  в командах Transact-SQL при ссылке  на конкретный файл;

- OS File Name – имя файла  в операционной системе, которое  используется для обращения к  файлу в операционной системе.

Сложные базы данных могут  иметь несколько файлов для данных и для журнала транзакций. В  этом случае файлы БД объединяются в группы для упрощения администрирования базы данных. SQL Server 2000 обеспечивает создание групп следующих трех типов:

- Primary File Group – основная  группа файлов, которая включает  первичный файл и все файлы,  не включенные в другие группы, база данных может иметь только одну основную группу файлов;

- User-defined File Group – пользовательская  группа файлов, создаваемая командой  CREATE DATEBASE или командой ALTER DATABASE, если в них используется параметр FILEGROUP, в базе данных можно создать несколько пользовательских групп файлов с произвольным набором файлов;

- Default File Group –  группа файлов по умолчанию,  в качестве которой назначается  одна из групп файлов, созданных  в базе данных. Только одна  группа файлов может быть группой  по умолчанию. Если не указано явно, группой по умолчанию становится основная группа. Если при создании объекта базы данных не указано явно, к какой группе файлов он будет принадлежать, то этот объект создается в группе файлов по умолчанию.

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

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

 

7) Структурная  часть реляционной модели

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

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

- структурной  части,

- манипуляционной  части,

- целостной  части.

 

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

 

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

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

 

Схема отношения - это именованное множество пар {имя атрибута, имя домена (или типа, если понятие домена не поддерживается)}.

 

Степень или "арность" схемы отношения - мощность этого множества. Степень отношения СОТРУДНИКИ равна четырем, то есть оно является 4-арным.

 

Схема БД (в структурном смысле) - это набор именованных схем отношений.

 

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

Кортеж - это набор именованных значений заданного типа.

 

Отношение - это множество кортежей, соответствующих одной схеме отношения (аналог – таблица).

 

8) Фундаментальные  свойства отношений

Отношение - это множество кортежей, соответствующих одной схеме отношения (аналог – таблица).

Фундаментальные свойства отношений:

1. Отсутствие кортежей-дубликатов

То свойство, что отношения не содержат кортежей-дубликатов, следует из определения отношения  как множества кортежей. В классической теории множеств по определению каждое множество состоит из различных элементов.

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

Для каждого  отношения по крайней мере полный набор его атрибутов обладает этим свойством.

2. Отсутствие упорядоченности кортежей

Отсутствие  требования к поддержанию порядка  на множестве кортежей отношения  дает дополнительную гибкость СУБД при хранении баз данных во внешней памяти и при выполнении запросов к базе данных.

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

3. Отсутствие упорядоченности атрибутов

Атрибуты отношений  не упорядочены, поскольку по определению  схема отношения есть множество  пар {имя атрибута, имя домена}.

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

4. Атомарность значений атрибутов

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

 

9) Реляционная  алгебра Кодда

Реляционная алгебра  Кодда включает в себя теоретико-множественные  операторы и специальные реляционные  операторы.

Теоретико-множественные  операторы

1. Объединение – отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих или A, или B, или обоим отношениям. (A UNION B)

2. Пересечение - отношение с тем же заголовком, что и у отношений A и B, и телом, состоящим из кортежей, принадлежащих одновременно обоим отношениям A и B. (A INTERSECT B)

3. Вычитание - отношение с тем же заголовком, что и у совместимых по типу отношений A и B, и телом, состоящим из кортежей, принадлежащих отношению A и не принадлежащих отношению B. (A MINUS B)

4. Декартово произведение отношение (A1, A2, …, Am, B1, B2, …, Bm), заголовок которого является сцеплением заголовков отношений A(A1, A2, …, Am) и B(B1, B2, …, Bm), а тело состоит из кортежей, являющихся сцеплением кортежей отношений A и B: (a1, a2, …, am, b1, b2, …, bm), таких, что (a1, a2, …, am)∈ A, (b1, b2, …, bm)∈ B. Т.е. каждый кортеж первого отношения объединяется с каждым кортежем второго отношения. (A TIMES B)

Специальные реляционные операторы

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

2. Проекция – отношение, кортежи которого являются соответствующими подмножествами отношения операнда.

Отношение с  заголовком (X, Y, …, Z) и телом, содержащим множество кортежей вида (x, y, …, z), таких, для которых в отношении A найдутся кортежи со значением атрибута X равным x, значением атрибута Y равным y, …, значением атрибута Z равным z. При выполнении проекции выделяется «вертикальная» вырезка отношения-операнда с естественным уничтожением потенциально возникающих кортежей-дубликатов.

A[X, Y, …, Z] или PROJECT A {x, y, …, z}

3. Соединение – отношение, кортежи которого производятся путем объединения кортежей первого и второго отношения и удовлетворяют некому условию. ((A TIMES B) WHERE С = A JOIN B WHERE С

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

4. Реляционное деление - отношение с заголовком (X1, X2, …, Xn) и телом, содержащим множество кортежей (x1, x2, …, xn), таких, что для всех кортежей (y1, y2, …, ym) ∈ B в отношении A(X1, X2, …, Xn, Y1, Y2, …, Ym) найдется кортеж (x1, x2, …, xn, y1, y2, …, ym). (A DIVIDEBY B)

 

Зависимость реляционных операторов

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

1. Оператор  соединения

Оператор соединения определяется через операторы декартового  произведения и выборки следующим  образом: (A TIMES B) WHERE X=Y где X и Y атрибуты соответственно отношений A и B с первоначально равными именами.

2. Оператор  пересечения

Оператор пересечения  выражается через вычитание следующим  образом: A INTERSECT B = A MINUS (A MINUS B)

3. Оператор  деления

Оператор деления  выражается через операторы вычитания, декартового произведения и проекции следующим образом: A DIVIDEBY B = A[X] MINUS ((A[X] TIMES B) MINUS A)[X]

 

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

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

1. Оператор  декартового произведения

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

2. Оператор  проекции

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

3. Оператор выборки

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

4. Операторы  объединения и вычитания

 

10) Целостность  реляционных данных, стратегии поддержания ссылочной целостности

Целостность реляционных  данных фиксирует два базовых требования целостности:

- требование  целостности сущности

- требование  целостности внешних ключей

 

Целостность сущности

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

 

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

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

 

Правило целостности внешних ключей

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

 

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

- вставка

- обновление 

- удаление кортежей  в отношениях.

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

Для родительского отношения:

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

Информация о работе Шпаргалка по "Информатике"