Автор работы: Пользователь скрыл имя, 03 Декабря 2012 в 16:56, шпаргалка
. Модели данных: многомерная модель.
Многомерная модель данных (ММД)
Существуют два направления в развитии концепции информационных систем:
• Системы оперативной (транзакционной ) обработки.
• Системы аналитической обработки (системы поддержки принятия решений).
По определению, тело отношения есть множество кортежей, поэтому отношения не могут содержать одинаковые кортежи. Это значит, что каждый кортеж должен обладать свойством уникальности. На самом деле, свойством уникальности в пределах отношения могут обладать отдельные атрибуты кортежей или группы атрибутов. Такие уникальные атрибуты удобно использовать для идентификации кортежей.
Определение 1. Пусть дано отношение . Подмножество атрибутов отношения будем называть потенциальным ключом, если обладает следующими свойствами:
Любое отношение имеет по крайней мере один потенциальный ключ. Действительно, если никакой атрибут или группа атрибутов не являются потенциальным ключом, то, в силу уникальности кортежей, все атрибуты вместе образуют потенциальный ключ. Потенциальный ключ, состоящий из одного атрибута, называется простым. Потенциальный ключ, состоящий из нескольких атрибутов, называется составным.
Отношение может
иметь несколько потенциальных
ключей. Традиционно, один из потенциальных
ключей объявляется первичным, а остальные
- альтернативными. Различия
между первичным и альтернативными ключами
могут быть важны в конкретной реализации
реляционной СУБД, но с точки зрения реляционной
модели данных, нет оснований выделять
таким образом один из потенциальных ключей. Первичным ключом называется
атрибут (или совокупность атрибутов) отношения, однозначно
идентифицирующие каждый из кортежей
данного отношения. Пусть в отношении
R1 имеется неключевой атрибут А, значение
которого является значением ключевого
атрибута В другого отношения R2, тогда
говорят что атрибут А отношения R1 является внешним ключом.
38.Сбалансированные деревья. Алгоритм построения идеально сбалансированного дерева. Деревья Фибоначчи.
Дерево называется сбалансированным тогда и только тогда, когда
высоты двух поддеревьев каждой из его вершин отличаются не
более чем на единицу.
Деревья, удовлетворяющие такому условию, часто называют
АВЛ-деревьями (по имени их открывателей). Мы их будем просто
называть сбалансированными деревьями, поскольку упомянутый
критерий сбалансированности выглядит наиболее подходящим.
(Заметим, что все
идеально сбалансированные
также и АВЛ-деревьями.)
Введенное определение не только само очень простое, но и
приводит к простой процедуре повторной балансировки, причем
средняя длина пути поиска практически совпадает с длиной в
идеально сбалансированном дереве.
В сбалансированных деревьях за время, пропорциональное O(logn)
даже в худшем случае,
можно выполнить такие
3. Исключить вершину с указанным ключом.
Такие
утверждения—следствие доказанной Адельсон-Вельским
и
Ландисом теоремы, гарантирующей,
что сбалансированное дерево
никогда не будет по высоте превышать
идеально
сбалансированное более чем на 45 % независимо
от количества
вершин. Если обозначить высоту
сбалансированного дерева с п
вершинами через hb(n), то
log (n + 1)< Ц (п) < 1.4404 * log (n + 2) - 0.328 (4.60)
Оптимум достигается, очевидно, если дерево идеально сбалансировано, при п •== 2й—1. Однако какова
Рис. 4.30. Деревья Фибоначчи высотой 2, 3, 4.
структура самого плохого сбалансированного АВЛ-дерева? Чтобы найти максимальную высоту h для всех сбалансированных деревьев с п вершинами, поступим следующим образом: возьмем фиксированную высоту h и попытаемся построить сбалансированное дерево с минимальным числом вершин. Мы следуем такой стратегии, поскольку, как и в случае минимальной высоты, это значение может быть достигнуто только при некоторых вполне определенных значениях. Обозначим такое дерево высоты h через Th. Ясно, что То — пустое дерево, &Т\ — дерево с одной-единственной вершиной. Для построения Th для h > 1 мы будем брать корень и два поддерева опять же с минимальным числом вершин. Следовательно, эти деревья также относятся к классу Т-деревьев, Одно поддерево, очевидно, должно быть высотой h—1, а другому позволяется иметь высоту на единицу меньше, т. е. h—2. На рис. 4.30 представлены деревья высотой 2, 3 и 4. Поскольку принцип их построения очень напоминает построение чисел Фибоначчи, то мы будем называть такие деревья деревьями Фибоначчи. Они определяются следующим образом:
1. Пустое дерево есть дерево Фибоначчи высоты 0.
2. Единственная вершина есть дерево Фибоначчи
высоты 1.
N,=0,
+ I+Nh.
Числа Ni как раз и будут числом вершин для самых
худших случаев (верхний предел h), их называют
числами Леонарда.
20.Нарушения
ссылочной целостности.
Вставка, удаление, обновление кортежей в отношениях. Для родительского отношения:
Для дочернего отношения:
Таким образом, целостность может быть нарушена при выполнении следующих четырех операциях:
Эти стратегии являются стандартными и препятствуют во всех СУБД, поддерживающих ссылочную целостность. Существуют еще стратегии:
3. SET NULL. Разрешается выполнение
операции, но все
возникшие некорректные значения внешних
ключей,
изменяются на NULL значение. Эта стратегия
имеет два
недостатка:
29.Проектирование
БД. Этап «Концептуальное (
Концептуальное (логическое) проектирование
Основными задачами данного этапа является построение концептуальной модели предметной области на основании требований пользователей, выбор модели данных. Интеграция частых представлений отдельных пользователей. На основе полученной концептуальной модели в дальнейшем могут быть выполнены различные варианты реализации БД.
Последовательность проектирования структуры БД.
24.Разрешение КОЛЛИЗИЙ. Метод последовательного сдвига регистра. Привести пример.
любая методика повторного хеширования, где очередная проба зависит только от предыдущей, обнаруживает группирующие свойства линейного хеширования. Рассмотрим методику :h; (x)= (h(x)+i)mod В, где d,e [1;B-1]
d,-"случайные" перестановки чисел 1,2 В-1.
Набор чисел А, должен использоваться при реализации всех операций, выполняемых над множеством, а перемешивание целых чисел должно быть выбрано еще при разработке алгоритма хеширования. Одним из эффективных методов перемешивания целых чисел является метод последовательных сдвигов регистров.Пусть В является степенью числа 2, К - константа из интервала е [1;В-1], далее генерируется последовательность d, путем удвоения предыдущего значения до тех пор, пока последнее значение не превысит В, тогда чтобы получить следующее А, из последнего значения отнимается число В и результат суммируется по mod2 с константой К. Замечание: не для каждого значения К можно получить все переменные значения из интервала [1 ;В-1], поэтому необходимо для каждого значения В подобрать свое значение К. Пример:В=$, К=3 [1;7] dt=101=5
сдвиг |
1010 |
удаление ведущую единицу |
010 |
+3 |
d2=001=l |
Сдвиг |
d3=0K)=2 |
Сдвиг |
d4= 100=4 |
Сдвиг |
1000 |
удаление ведущую единицу |
000 |
+3 |
ds=001=5 |
Сдвиг |
d6= 110=6 |
Сдвиг |
1100 |
Удаление ведущего Нуля |
100 |
+3 |
d7=lll=7 |
Полный перемешанный
набор чисел 1,... ,7 можно получить
также для К=5, но не при каких других значениях.
22.Хеширование
данных. Основные понятия и термины. От
Открытое хеширование. Основная идея: потенциальное множество разбивается на конечное число классов.
Классы нумеруется от 0 до В-1. Для В классов строится хеш-функция h такая, что для любого элемента х исходного множества h(x) e [0, В-1] (целочисленное значение),т.е. которое соответствует классу, которому принадлежит элемент х. Элемент х называют ключом, h(x) - хеш-кодом, х (свертка ), классы называют сегментами.
Массив называемый таблицей сегментов и проиндексированный номерами сегментов содержит заголовки для В списков элемент х, /-го списка - это элемент исходного множества, для которого h(x) = i.
Если исходное множество состоит из п элементов, то средняя длина списков будет равна п/В.
Не всегда ясно как выбрать хеш-функцию так, чтобы она, примерно наполовину, распределила элементы исходного множества по всем сегментам.
Концептуальной схемой называют описание предметной области
в терминах некоторой модели данных.
Отображение концептуальной схемы на физическом уровне ЭВМ
называют внутренней схемой.
Отображение взгляда
отдельной категории
концептуальную схему называют внешней схемой.
32.Жизненный цикл систем баз данных.
Жизненный цикл системы баз данных представляет собой концепцию, в рамках которой полезно и удобно рассматривать развитие системы баз данных во времени. Эта концепция создает хорошие предпосылки для регламентирования функции администратора баз данных. Жизненный цикл системы баз данных делится на две отдельные фазы: фазу анализа н проектирования и фазу реализации и функционирования. В течение первой фазы происходит сбор требовании пользователей и проектирование базы данных, в течение второй - машинная реализация и использование. С точки зрения проектировщика и пользователя можно детализировать содержание работ, выполняемых в течение этих фаз жизненного цикла системы баз данных. В этом смысле указанные фазы включают следующие этапьг.Фаза анализа и проектирования
Фаза реализации и функционирования базы данных
Фаза реализации и функционирования базы данных Реализация базы данных подразумевает создание базы данных и прикладных программ на основе результатов трех главных эталон проектирования базы данных, а также, загрузку базы данных. Задача загрузки базы данных часто упускается из вида, однако она требует много усилий. Имеющиеся данные необходимо преобразовывать из существующей формы представления логической и физической структуры в новую форму, соответствующую результатам проектирования базы данных, Разработка прикладных программ тесно связана с выбором включающего (базового) языка программирования, с логической структурой базы данных и в меньшей степени с физической структурой. Целью этого этапа является создание надежных н эффективных программ доступа к базе данных, удовлетворяющих требованиям пользователей к обработке данных. Анализ функционирования и поддержка используются для сбора (регистрации) и статистической обработки данных о функционировании системы. Эта информация позволяет выявить степень обоснованности требований пользователей, а также "узкие места" в процессе эксплуатации с целью пересмотра системы в будущем. Поддержка базы данных должна обеспечивать ее целостность и эффективное восстановление после сбоев. Модификация и адаптация предусматривает внесение в реализованный проект изменений, возникающих вследствие появления новых требований, анализа функционирования системы или анализа мнений пользователей о работе системы. Целью этого этапа является оптимизации функционирования существующей системы путем реорганизации базы данных и/или внесения изменений в программное обеспечение. Реорганизация базы данных является широким понятием, используемым для описания любых изменений в логической или физической структуре базы данных. Изменения могут варьироваться в пределах от инвертирования связей (реструктурирования) до перестройки физической структуры (реформатирования).