Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БД Шпоргалка 68 вопросов..doc
Скачиваний:
53
Добавлен:
11.02.2015
Размер:
698.88 Кб
Скачать

4) По сфере применения:

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

б) АСУ – используются при худшей структурированности задач, поэтому целесообразно в их состав включать СУБД;

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

г) экспертные системы – основываются на моделировании процесса принятия решений с использованием компьютера и разработок в области искусственного интеллекта, в основу работы таких систем положены не только БД, но и БЗ (базы знаний);

д) гибридные экспертные системы – соединяют в себе экспертные системы и системы поддержки принятия решений – обеспечивают доступ человека к решению задачи на любой стадии и решение принимает человек;

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

  1. Состав информационной системы.

3. Состав информационной системы.

АИС состоит из 3-х подсистем:

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

б) подсистема представления и обработки информации – представляет ядро АИС – является отражением выбранной предметной области в АИС. она является одним из наиболее сложных компонентов АИС, основу подсистемы представления и обработки информации составляют базы данных, поэтому понятие «базы данных» является центральным в сфере технологии АИС.

Опр.

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

БД обладает следующими качествами:

- интегрированность – направлена на решение общих задач;

- модельность – структурированность, отражающая некоторую часть реального мира;

- взаимосвязанность;

- независимость описания данных от прикладных программ (СУБД). С БД работают специальные программы – системы управления базами данных (СУБД)

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

  1. Понятие информационного обеспечения, функции и требования, предъявляемые к информационному обеспечению.

4. Понятие информационного обеспечения (ио), функции и требования, предъявляемые к информационному обеспечению.

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

Основные функции ИО:

1) надежное хранение данных на магнитных носителях;

2) быстрый, удобный, эффективный доступ к этим данным;

3) создание условия работы автоматизированным ИТ.

Основные требования к информационному обеспечению:

1) полнота;

2) объективность;

3) достоверность;

4) точность данных;

5) одноразовая регистрация и одноразовый ввод данных в систему, и многократное многоцелевое их использование. Унификация систем классификации и кодирования информации;

6) создание единого фонда условий постоянных данных;

7) организация рациональной системы преобразования и хранения информационных массивов;

8) возможность простого, удобного доступа к данным.

  1. Структура информационного обеспечения.

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

Структура ИО:

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

  1. Системы классификации экономической информации.

Классификация – это разделение множества объектов на подмножество по их сходству или различию в соответствии с принятыми методами.

Иерархическая классификация:

Правила построения иерархического классификатора:

1)определить число признаков, указать их наименование и соподчиненность.

2)определить число значений, принимаемых каждым признаком и выбрать максимальное.

3)построить классификац-е дерево.

4)построить структуру кода.

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

Недостатки: жесткость структуры.

Фасетная классификация:

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

Достоинства: гибкость структуры ее построения.

Недостатки: нетрадиционность; непривычность применения; используется для машиной обработки информации.

  1. Системы кодирования экономической информации.

После завершения классификации осуществляется кодирование информации.

Кодирование информации – это образование и присвоение кода классификационной группировке.

Структура кода определяется порядком кодируемых признаков. Место символов в коде является разрядом кода. Старший разряд находится слева от младшего. Система кодирования делится на два вида:

1)система кодирования, требующая предварительной классификации – классификационная;

2)система кодирования, требующая предварительной регистрации – регистрационная.

Порядковая система кодирования:

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

Достоинства: легкость построения; стабильность; малозначимость.

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

Серийная система кодирования:

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

В каждой серии номеров 25% относится под резерв.

Достоинства: малозначимость; стабильность; легкость построения.

Позиционная (последовательная) система кодирования:

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

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

Шахматная система кодирования:

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

Штриховое кодирование:

Штриховой код представляет собой чередование темных и светлых полос разной ширины, и основан на двоичной системе счисление. Широким линиям присваивается значение 1, узким – 0.

Штриховое кодирование применяется при производстве и продаже товаров народного потребления.

  1. Определение базы данных, ее структурные элементы.

8. структурные элементы- поле, запись, файл (таблица). Поле – элементарная единица логической организации данных, которая соответст­вует неделимой единице информации – реквизиту. Характеристики:

имя;тип;длина;точность.признак ключа.

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

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

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

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

  1. Архитектура информационных систем.

Сущ.2 системы:-Файл сервер и –Клиент сервер. Файлы БД в соответствии с пользовательскими Запросами передаются на рабочие станции,где осуществляется их обработка.Недостатком яв-ся высокая интенсивность передачи обрабатываемых данных.

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

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

достоинством применения БД в информационных систе­мах является обеспечение независимости данных от прикладных программ.

  1. Локальные информационные системы.

Организация функционирования локальной ИС на одном компьютере в среде некоторой операционной системы (ОС) возможна с помощью следу­ющих вариантов, использования программных средств:

• «полной» СУБД; • приложения и «усеченной» (ядра) СУБД; • независимого приложения.

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

Чел.

Взаимодействие пользователя с СУБД происходит напрямую через пользовательский (терминальный) интерфейс СУБД, либо с помощью приложения. Приложение выполняется в режиме интерпретации. достоинство — простота разработки . Недостатком являются затраты дис­ковой памяти .2 Усеченная СУБД используют для достижения целей:

• уменьшения объема занимаемого СУБД пространства жесткого диска

и оперативной памяти;

• повышения скорости работы приложения;

• защиты приложения от модификации со стороны пользователя .

Чел.

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

Чел.

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

  1. Понятие модели данных, иерархическая модель данных.

11. Ядром любой базы данных является модель данных. Модель данных пред-ет собой множество структур данных, ограничений целостности и операций манипулирования дан­ными. Модель данных – совокупность структур данных и операций их обра­ботки.

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

Кроме того, в последние годы появились и стали более активно внедрять­ся след модели данных:

• постреляционная,•многомерная,• объектно-ориентированная.

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

-В иерархической модели такие связи могут быть отражены в виде дерева-графа, где возможны только односторонние связи от старших вершин к младшим

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

К каждой записи базы данных существует только один (иерархический) путь от корне­вой записи.

К основным операциям манипулирования иерархически организован­ными данными относятся следующие:

•поиск указанного экземпляра БД ;

• переход от одного дерева к другому;

•переход от одной записи к другой внутри дерева ;•вставка новой записи в указанную позицию;• удаление текущей записи и т. д.

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

К достоинствам относятся эффективное использование памяти ЭВМ и неплохие показатели времени выполнения основных операций над данными.

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

(IMS, Focus, Edge, ИНЭС, МНРИС)

  1. Понятие модели данных, сетевая модель данных.

12. Ядром любой базы данных является модель данных. Модель данных пред-ет собой множество структур данных, ограничений целостности и операций манипулирования дан­ными. Модель данных – совокупность структур данных и операций их обра­ботки.

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

Кроме того, в последние годы появились и стали более активно внедрять­ся след модели данных:

• постреляционная,•многомерная,• объектно-ориентированная.

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

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

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

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

К числу важнейших можно отнести следующие:

•поиск записи в БД; • переход от предка к первому потомку; • переход от потомка к предку; •создание новой записи; • удаление текущей записи; • обновление текущей записи; • включение записи в связь; . > • исключение записи из связи; • изменение связей и т. д.

Достоинством яв-ся эффек­тивной реализации по показателям затрат памяти и оперативности. В сравнении с иерархической моделью сетевая модель предоставляет большие возможности в смысле допустимости образования произволь­ных связей. Недостатком яв-ся высокая сложность и жесткость схемы БД, сложность для понимания и выполнения обработки информации в БД обычным пользователем. (Виста3, Сетор, КОМПАС,СЕТЬ)

  1. Понятие модели данных, реляционная модель данных.

Ядром любой БД яв-ся модель данных.

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

Реляционная М яв-ся простейшей и наиб.удобная модель предоставления данных,кот-ым соот-ет тип связи между элементами данных наз-ся отношениями.

Понятие реляционный связано с разработками известного аме­риканского специалиста в области систем баз данных Едгара Кодда

Отношениями-наз-ся двумерная таблица, в кот-ой столбцы наз-ся атрибутами, а строки кортежами.

Осн-ые свой-ва отношений:

1.Каждый элемент таблицы –это отдельный элемент данных.

2.Все столбцы в таблице однородны.

3.Каждый столбец имеет уникальное имя.

4.В таблице нет одинаковых строк.

5.Порядок следований столбцов и строк может быть произвольным.

Достоинства:

-простота пред-ия данных благодаря табличной форме;

- минимальная избыточность данных при нормализации отношений

-не требуется описания схем данных

Недостатки:

-жесткость структуры данных

- зависимость скорости ее работы от размера БД.

(Аксес, Фокс про парадокс)

  1. Понятие модели данных, постреляционная модель данных

Ядром любой БД яв-ся модель данных.

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

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

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

Достоинства:

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

Недостатки:

-является сложность решения про­блемы обеспечения целостности и непротиворечивости хранимых данных.

  1. Понятие модели данных, многомерная модель данных.

Многомерный подход к представлению данных в базе появился практи­чески одновременно с реляционным подходом. Активно развиваться начал с конца 90г прошлого столетия.

Многомерные СУБД являются узкоспециализированными СУБД, пред­назначенными для интерактивной аналитической обработки информации.

Агрегируемость данных означает рассмотрение информации на различ­ных уровнях ее обобщения.

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

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

Прогнозируемость данных подразумевает задание функций прогнозиро­вания и применение их к различным временным интервалам.

Измерение данных— это множество однотипных данных, образую­щих одну из граней гиперкуба.

Ячейка или показатель — это поле, значение которого однозначно определяется фиксированным набором измерений.

Многомерность МД озн-ет немногоме-сть цифровых данных, а многомер-ое логическое представление структуры информации при описании и в операциях мунипулирования данными.

В многомер-ой МД использ-ся спец-ые опереции:

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

Вращение- Суть ее заключается в изменении порядка измерений при визуальном представлении данных.

Агрегация и детализация означают соответственно переход к более общему и к более детальному представле­нию информации пользователю из гиперкуба.

Достоинства:

-удоб­ство и эффективность аналитической обработки больших объемов данных, связанных со временем.

Недостатки:

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

  1. Понятие модели данных, объектно-ориентированная модель данных.

Структура объектно-ориентированной БД графически представима в виде дерева, узлами которого являются объекты. Свойства объектов описы­ваются некоторым стандартным типом (например, строковым — string) или типом, конструируемым пользователем.

Инкапсуляция ограничивает область видимости имени свойства пре­делами того объекта, в котором оно определено.

Наследование, наоборот, распространяет область видимости свойства на всех потомков объекта.

Полиморфизм в объектно-ориентированных языках программирования означает способность одного и того же программного кода работать с разно­типными данными.

Достоинства:

- возможность отображения информа­ции о сложных взаимосвязях объектов.

- позволяет идентифицировать отдельную запись базы данных и оп­ределять функции их обработки.

Недостатки:

- низкая скорость вы­полнения запросов.

- высокая по­нятийная сложность

  1. Типы данных, используемые в базах данных СУБД Access.

  1. Типы данных, используемые в базах данных СУБД Access.

Текстовый  (по умолчанию)

текст или числа, не требующие проведения расчетов, например номера телефонов (до 255 знаков)

Числовой

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

Дата/время

для хранения информации о дате и времени с 100 по 9999 год включительно

Денежный

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

Поле MEMO

для хранения комментариев; до 65535 символов

Счетчик

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

Логический

может иметь только одно из двух возможных значений (True/False, Да/Нет)

Поле объекта OLE

объект (например, электронная таблица Microsoft Excel, документ Microsoft Word, рисунок, звукозапись или другие данные в двоичном формате), связанный или внедренный в таблицу Access

Гиперссылка

строка, состоящая из букв и цифр и представляющая адрес гиперссылки. Адрес гиперссылки может состоять максимум из трех частей: текст, выводимый в поле или в элементе управления; путь к файлу (в формате пути UNC) или к стра-нице (адрес URL). Чтобы вставить адрес гиперссылки в поле или в элемент управления, выполните команду Вставка, Гиперссылка

Мастер подстановок

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

  1. Понятие отношения, сущности, информационного объекта, таблицы базы данных, их структура.

18 Реляционная модель данных (РМД) некоторой предметной области представляет собой набор отношений, изменяющихся во времени. Отношения представлены в виде двумерных таблиц, строки которых соответствуют кортежам или записям, а столбцы – атрибутам отношений, доменам, полям.Сущность есть объект любой природы, данные о котором хранятся в базе данных. Данные о сущности хранятся в отношении.Атрибуты представляют собой свойства, характеризующие сущность. В структуре таблицы каждый атрибут именуется и ему соответствует заго­ловок некоторого столбца таблицы.

(Таблица)

Домен представляет собой множество всех возможных значений опре­деленного атрибута отношения. Отношение СОТРУДНИК включает 4 до­мена; Домен 1 содержит фамилии всех сотрудников, домен 2 — номера всех отделов фирмы, домен 3 — названия всех должностей, домен 4,— даты рож­дения всех сотрудников. Каждый домен образует значения одного типа дан­ных, например, числовые или символьные.Схема отношения (заголовок отношения) представляет собой спи­сок имен атрибутов. Например, для приведенного примера схема отно­шения имеет вид СОТРУДНИК(ФИО, Отдел, Должность, Д_Рождения). Множество кортежей отношения часто называют содержи­мым (телом) отношения.

  1. Виды отношений, их свойства.

На этапе физического проектирования оперируют понятием «таблица БД», структура которой представлена полями и записями. В основу всего этого положено понятие «отношение», которое представлено в виде двумерной таблицы и имеет следующую структуру: столбцы называются атрибутами, строки – кортежами. Связь между отношением, сущностью, информационным объектом (ИО) и таблицей БД.(Таблица)

Виды отношений:1) объектные;2) связные.Объектные отношения – хранят данные об объектах. В объектном отношении один из атрибутов однозначно идентифицирует отдельный объект. Связное отношение – хранит ключи двух или более объектных отношений, по которым проходит связь между отношениями.

Поскольку не всякой таблице можно поставить в соответствие отношение, приведем условия, выполнение которых позволяет таблицу считать отношением.1.Bce строки, таблицы должны быть уникальны, т. е. не может быть строк с одинаковыми первичными ключами.2. Имена столбцов таблицы должны быть различны, а значения их простыми, т. е. недопустима группа значений в одном столбце одной строки.З.Все строки одной таблицы должны иметь одну структуру, соответствующую именам и типам столбцов. •4. Порядок размещения строк в таблице может быть произвольным.

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

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

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

  1. Ключи отношения.

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

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

Вторичный ключ (ВК), в отличие от первичного, – это такое поле, значение которого может повторяться в нескольких записях файла, то есть он не является уникальным и выполняет роль поисковых или группировочных признаков (по значению вторичного ключа можно найти несколько записей).

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

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

  1. Индексирование данных.

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

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

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

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

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

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

При одноуровневой схеме в индексном файле хранятся короткие за­писи, имеющие два поля: поле содержимого старшего ключа (хеш-кода ключа) адресуемого блока и поле адреса начала этого блока (рис. 28). В каждом блоке записи располагаются в порядке возрастания значения ключа или свертки. Старшим ключом каждого блока является ключ его последней записи.

Блок – 3

Рис. 28. Одноуровневая схема индексации

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

1. Образование свертки значения ключевого поля искомой записи.

2. Поиск в индексном файле записи о блоке, значение первого поля кото­рого больше полученной свертки (это гарантирует нахождение иско­мой свертки в этом блоке).

3. Последовательный просмотр записей блока до совпадения сверток искомой записи и записи блока файла. В случае коллизий сверток ищется запись, зна­чение ключа которой совпадает со значением ключа искомой записи.

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

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

Рис. 29. Двухуровневая схема индексации

В этой схеме индекс основной таблицы распределен по совокупности фай­лов: одному файлу главного индекса и множеству файлов с блоками ключей.

На практике для создания индекса для некоторой таблицы БД пользова­тель указывает поле таблицы, которое требует индексации. Ключевые поля таблицы во многих СУБД, как правило, индексируются автоматически. Ин­дексные файлы, создаваемые по ключевым полям таблицы, часто называ­ются файлами первичных индексов.

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

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

Рис. 30. Способ использования вторичных индексов

Главная причина повышения скорости выполнения различных опера­ций в индексированных таблицах состоит в том, что основная часть работы производится с небольшими индексными файлами, а не с самими таблица­ми. Наибольший эффект повышения производительности работы с индек­сированными таблицами достигается для значительных по объему таблиц. Индексирование требует небольшого дополнительного места на диске и не­значительных затрат процессора на изменение индексов в процессе рабо­ты. Индексы в общем случае могут изменяться перед выполнением запро­сов к БД, после выполнения запросов к БД, по специальным командам пользователя или программным вызовам приложений.

  1. Типы связей между отношениями.

Между таблицами могут устанавливаться бинарные (между двумя таб­лицами), тернарные (между тремя таблицами) и, в общем случае, п-арные связи. Рассмотрим наиболее часто встречающиеся бинарные связи.

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

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

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

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

  • один ко многим (1 :М);

  • многие к одному (М:1)

  • многие ко многим (М:М).

Характеристика полей связи по видам

1:1

1:М

М:1

М:М

Поля связи основной таблицы

являются ключом

являются ключом

не являются ключом

не являются ключом

Поля связи • дополнительной таблицы

являются ключом

не являются ключом

являются ключом

не являются ключом

Рис. 31. Характеристика видов связей таблиц

Рассмотрим эти типы связей на примере:

Дана совокупность информационных объектов, отражающих учебный процесс в вузе:

СТУДЕНТ (Номер, Фамилия, Имя, Отчество, Пол, Дата рождения. Группа)

СЕССИЯ (Номер, Оценка1, Оценка2, Оценка3, Оценка4, Результат)

СТИПЕНДИЯ (Результат, Процент)

ПРЕПОДАВАТЕЛЬ (Код преподавателя, Фамилия, Имя, Отчество)

Связь один к одному (1:1) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра инфор­мационного объекта В и наоборот. Такие информационные объекты легко могут быть объединены в один объект, структура которого образуется объединением реквизитов обоих исходных объектов, а клю­чевым реквизитом может быть выбран любой из ключей (альтернативных) ис­ходных информационных объектов.

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

Рис. 32 иллюстрирует указанный тип отношений.

Рис. 32. Графическое изображение реального отношения 1:1

Примером связи 1:1 может служить связь между информационными объектами СТУДЕНТ и СЕССИЯ:

СТУДЕНТ <—> СЕССИЯ

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

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

Связь 1:М имеет место в случае, когда одной записи основной таблицы соответствует несколько записей вспомогательной таблицы, т.е. одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В свя­зан не более чем с 1 экземпляром объекта А. В такой связи имеют место иерархические групповые отношения между экземпля­рами разных типов объектов. Информационный объект (А) определяется как главный объект, а информационный объект (В) – как подчиненный объект. Графически данное соответствие имеет вид, представленный на рис. 33.

Рис. 33. Графическое изображение реального отношения 1:М

Примером связи 1:М служит связь между информационными объекта­ми СТИПЕНДИЯ и СЕССИЯ:

СТИПЕНДИЯ <—>> СЕССИЯ

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

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

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

Связь многие ко многим (М:М) предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот. Такие групповые отно­шения между экземплярами разных информационных объектов, имеющих отношения типа М:М, можно охарактеризовать как сетевые. На рис. 34 графически представлено указанное соответствие.

Рис. 34. Графическое изображение реального отношения М:М

Примером данного отношения служит связь между информационными объектами СТУДЕНТ и ПРЕПОДАВАТЕЛЬ:

СТУДЕНТ «—» ПРЕПОДАВАТЕЛЬ

Один студент обучается у многих преподавателей, один преподаватель обучает многих студентов.

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

Замечание.

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

  1. Контроль целостности связей.

Из перечисленных видов связи наиболее широко используется связь вида 1:М. Связь вида 1:1 можно считать частным случаем связи 1:М, когда одной записи главной таблицы соответствует одна запись вспомогательной табли­цы. Связь М:1, по сути, является «зеркальным отображением» связи 1:М. Ос­тавшийся вид связи М:М характеризуется как слабый вид связи или даже как отсутствие связи. Поэтому в дальнейшем рассматривается связь вида 1:М.

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

• каждой записи основной таблицы соответствует нуль или более запи­сей дополнительной таблицы;

•в дополнительной таблице нет записей, которые не имеют родительс­ких записей в основной таблице;

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

Опишем действие контроля целостности при манипулировании данными в таблицах. Рассмотрим три основные операции над данными двух таблиц:

• ввод новых записей,

• модификацию записей,

•удаление записей.

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

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

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

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

Редактирование поля связи основной таблицы разумно подчинить од­ному из следующих правил:

• редактировать записи, у которых нет подчиненных записей. Если есть подчиненные записи, то блокировать модификацию полей связи;

•изменения в полях связи; основной записи мгновенно передавать во все поля связи всех записей дополнительной таблицы (каскадное обновление).

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

Удаление записей основной таблицы логично подчинить одному из сле­дующих правил:

• удалять можно запись, которая не имеет подчиненных записей;

• запретить (блокировать) удаление записи при наличии подчиненных записей, либо удалять ее вместе со всеми подчиненными записями (кас­кадное удаление).

  1. Нормализация отношений. Первая нормальная форма.

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

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

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

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

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

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

Основателем реляционной модели данных Е.Коддом выделены три нормальные формы отношений. Этот набор в дальнейшем был дополнен нормальной формой Бойса-Кодда, и далее четвертой и пятой нормальными формами.

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

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

Пример: приведенное ниже отношение СТУДЕНТ не нормализовано, поскольку содержит сложный атрибут "Спорт".

СТУДЕНТ

Фамилия

Курс

Специальность

Спорт

Вид

Разряд

Иванов

Савинов

Петров

1

3

1

Бух.учет

ФИК

Статистика

Плавание

Шахматы

Теннис

м.с.

к.м.с.

I

Чтобы привести это отношение к нормализованному виду, надо из­бавиться от сложного атрибута "Спорт". Тогда полученное отношение СТУДЕНТ(Фамилия, Вид_спорта, Курс, Специальность, Спорт_разряд) яв­ляется нормализованным. Ключ в нем является составным, состоящим из атрибутов "Фамилия" и "Вид_спорта".

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

Например, отношение СТУДЕНТ(Номер, Фамилия, Имя, Отчество, Дата, Группа) на­ходится в первой нормальной форме.

  1. Нормализация отношений. Вторая нормальная форма.

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

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

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

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

Такое определение функциональной зависимости позволяет при анализе всех взаи­мосвязей реквизитов предметной области выделить самостоятельные информационные объекты.

Пример графического изображения функциональных зависимостей реквизитов СТУДЕНТ показан на рис. 35, на котором ключевой реквизит указан *.

Рис. 35. Графическое изображение функциональной зависимости реквизитов

В случае составного ключа вводится понятие функционально полной зависимости.

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

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

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

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

Таблица в первой нормальной форме

Лич.№ сот.

Условное наименование мероприятий

Награда

Фамилия

Звание

Кабинет

Сл. тел.

001

Операция "Ы"

Оклад

Пронин

Майор

110

11 22 33

001

"Бриллиантовая рука"

Отпуск

Пронин

Майор

110

11 22 33

002

"Берн"

Исаев

Полковник

110

11 22 33

007

"Золотой глаз"

Ягуар

Бонд

Капитан

С-110

33 22 11

007

"Багамы"

Феррари

Бонд

Капитан

С-110

33 22 11

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

находящимися в полной функциональной щимися с данным полем в функциональной

зависимости от него зависимости

Лич.№ сот

Условное наименование мероприятий

Награда

Лич.№ сот.

Фамилия

Звание

Кабинет

Сл. тел.

001

Операция "Ы"

Оклад

001

Пронин

Майор

110

11 22 33

001

"Бриллиантовая рука"

Отпуск

002

Исаев

Полковник

110

11 22 33

002

"Берн"

007

Бонд

Капитан

С-110

33 22 11

007

"Золотой глаз"

Ягуар

007

"Багамы"

Феррари

  1. Нормализация отношений. Третья нормальная форма.

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

Понятие третьей нормальной формы основывается на понятии нетранзитивной зави­симости.

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

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

Пример: Если в состав описательных реквизитов информационного объекта СТУДЕНТ включить фамилию старосты группы (Староста), которая определяется толь­ко номером группы, то одна и та же фамилия старосты будет многократно повторять­ся в разных экземплярах данного информационного объекта. В этом случае наблюдаются затруднения в корректировке фамилии старосты в случае назначения нового старосты, а также неоправданный расход памяти для хранения дублированной информации.

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

"Расщепление" информационного объекта, содержащего транзитив­ную зависимость описательных реквизитов, показано на рис. 36. Как видно, из рис. 35, исходный информационный объект СТУДЕНТ ГРУППЫ пред­ставляется в виде совокупности правильно структурированных информационных объ­ектов (СТУДЕНТ и ГРУППА), реквизитный состав которых тождественен исходному объекту. Отношение СТУДЕНТ(Номер, Фамилия, Имя, Отчество, Дата, Группа) нахо­дится одновременно в первой, второй и третьей нормальной форме.

  1. Нормализация отношений. Нормальная форма Бойса-Кодда.

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

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

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

Лич. № сотр.

Фамилия

Операция

Мероприятие

001

Пронин

"Ы"

"Прыжок"

002

Исаев

"Берн"

"Бросок"

002

Исаев

"Брандебург"

"Прыжок"

007

Бонд

"Золотой глаз"

"Бросок"

Декомпозиция для удовлетворения требованиям нормальной формы Бойса-Кодда

Лич. № сотр

Лич. № сотр

Лич. № сотр.

Операция

Мероприятие

001

Пронин

001

"Ы"

"Прыжок"

002

Исаев

002

"Берн"

"Бросок"

007

Бонд

002

"Брандебург"

"Прыжок"

007

"Золотой глаз"

"Бросок"

В данной таблице имеются два детерминанта – («Лич. № сотр.», «Операция») и («Фамилия», «Операция»), от каждого из которых функционально полно зависит поле-атрибут «Мероприятие».

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

Встречаются также случаи, требующие «улучшения» и нормальной формы Бойса-Кодда. Такие ситуации связаны с многозначной зависимостью атрибутов.

  1. Нормализация отношений. Четвертая нормальная форма.

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

Пример декомпозиции таблицы из нормальной формы Бойса-Кодда в четвертую нормальную форму:

Исходная таблица в нормальной форме Бойса-Кодда

Операция

Фамилия

Мероприятие

"Ы"

Пронин

"Прыжок"

"Ы"

Пронин

"Бросок"

"Золотой глаз"

Бонд

"Подход"

"Золотой глаз"

Бонд

"Контакт"

"Золотой глаз"

Бонд

"Связь"

Декомпозиция таблицы для выполнения требований четвертой нормальной формы

Операция

Фамилия

Операция

Мероприятие

"Ы"

Пронин

"Ы"

"Прыжок"

"Золотой глаз"

Бонд

"Ы"

"Бросок"

"Золотой глаз"

"Подход"

"Золотой глаз"

"Контакт"

"Золотой глаз"

"Связь"

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

Т.к. имеется единственный возможный составной ключ, то данная таблица автоматически находится в нормальной форме Бойса-Кодда. При этом имеется многозначная зависимость поля-атрибута «Фамилия» от поля-атрибута «Операция» (для любой пары значений атрибутов «Операция» – «Мероприятие» значение атрибута «Фамилия» фактически определяется только значением атрибута «Операция» при сформулированном выше условии участия каждого сотрудника автоматически во всех мероприятиях данной операции). В такой ситуации для внесения информации о новом сотруднике, вовлекаемом в какую-либо операцию, придется добавить столько строк-кортежей, сколько мероприятий проводится в рамках данной операции.

Приведение таблицы в четвертую нормальную форму основывается на теореме Фейджина, в которой доказывается возможность проецирования без потерь таблицы с атрибутами X, Y, Z в две таблицы с атрибутами X, Y и X, Z, когда существует многозначная зависимость атрибута Y от атрибута X.

Замечание.

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

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

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

  1. Нормализация отношений. Пятая нормальная форма.

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

Исходная таблица в четвертой нормальной форме.

Фамилия

Группа

Мероприятие

Пронин

"А"

"Прыжок"

Пронин

"Т"

"Прыжок"

Исаев

"Б"

"Связь"

Бонд

"S"

"Контакт"

Декомпозиция в три таблицы для выполнения требований пятой нормальной формы

Фамилия

Группа

Фамилия

Мероприятие

Группа

Мероприятие

Пронин

"А"

Пронин

"Прыжок"

"А"

"Прыжок"

Пронин

"Т"

Исаев

"Связь"

"Т"

"Прыжок"

Исаев

"Б"

Бонд

"Контакт"

"Б"

"Связь"

Бонд

"S"

"S"

"Контакт"

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

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

Приведение таблицы в пятую нормальную форму осуществляется путем ее декомпозиции сразу на несколько таблиц-отношений. Если предположить, что в рассмотренной таблице имеется зависимость соединения по составным атрибутам «Фамилия»–«Группа», «Фамилия»–«Мероприятие», «Группа»–«Мероприятие», то, разбив таблицу на три проекции по соответствующим полям-атрибутам, можно удовлетворить требованиям пятой нормальной формы.

Из-за нетривиальности зависимости соединения пятая нормальная форма практически не используется.

  1. Требования нормализации отношений.

30) Требования нормализации. В один информационный объект реквизиты включаются в основном в соответ­ствии с требованиями третьей нормальной формы реляционной модели. Рас­смотрим эти требования применительно к информационному объекту.

  • Информационный объект должен содержать уникальный идентификатор-ключ (простой или со­ставной).

  • Все описательные (неключевые) реквизиты должны быть взаимно независимы.

  • Все реквизиты, входящие в составной ключ, должны быть также взаимно не­зависимы.

  • Каждый описательный реквизит должен функционально-полно зависеть от ключа информационного объекта. Это означает, что каждому значению ключа соответствует только одно значение описательного реквизита.

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

  • Каждый описательный (неключевой) реквизит в информационном объекте не может зависеть от ключа транзитивно, то есть через другой промежуточный реквизит.

  1. Операции над отношениями.

Основной единицей обработки в операциях реляционной модели данных является отношение, а не отдельные ее записи. При этом результатом обработки всегда является новая таблица-отно­шение, которая также может быть обработана. Степенью отношения называется число входящих в него атрибутов. Мощностью (кардинальным числом) отношения называется число кортежей отношения. Основными операциями являются:традиционные операции над множествами-, пересечение, разность, декартово произведение, деление;специальные реляционные операции проекции, соединения и вы­бора.. 1. Объединение. Операция выполняется над двумя совместимыми отношениями: R1, R2. В результате операции объе­динения строится новое отношение R = R1UR2. Отношение R имеет тот же состав атрибутов и совокупность кортежей исходных отношений. Причем в эту совокупность не включаются дубликаты. 2. Пересечение – операция выполняется над двумя совместимыми отношениями R1, R2. Результирующее отношение R = R1R2, содержит одинаковые кортежи, которые есть в каждом из двух исходных, т.е. результат пересечения содержит только те кор­тежи 1-ого отношения, которые есть во 2-ом. 3. Вычитание – операция выполняется над двумя совместимыми отношениями R1, R2 с идентичным набором атрибутов. В результате операции вычитания стро­ится новое отношение R = R1 – R2 с идентичным набором атрибутов, содержа­щее только те кортежи первого отношения R1, которые не повторяются в другом отношении R2. 4. Декартовопроизведение выполняется над двумя отношениями R1, R2 с разными схемами. В результате операции декартова произведения образуется новое от­ношение R = R1 * R2, которое включает все атрибуты исходных отношений. Результирующее отношение состоит из всевозможных соче­таний кортежей исходных отношений R1, R2, которые образуются путем последовательного сцепления каждого кортежа первой таблицы-отношения к каждому кортежу второй таблицы-отношения.. 5. Деление – операция выполняется над двумя отношениями R1, R2 Первое отношение называется делимым, а второе делителем. Отношение-делитель должно содержать подмножество атрибутов отношения-делимого. Результирующее отношение содержит только те атрибуты делимого, которых нет в делителе. В него включа­ют только те кортежи, декартовы произведения которых с делителем содержатся в делимом. Результирующие строки не должны содержать дубликаты. 6. Проекция. Эта операция выполняется над одним отношением R на некоторые атрибуты. Результирующее отношение включает часть атрибу­тов исходного отношения, на которые выполняется проекция. Число кортежей в R может оказаться равным числу кортежей исходного отношения, а может оказаться меньше, так как дубликаты кортежей должны быть исключены. 7. Соединение выполняется для заданного условия соединения над двумя логи­чески связанными отношениями. Исходные отношения R1 и R2 имеют разные структуры, в которых есть одинаковые атрибуты – внешние ключи (ключи свя­зи). Операция соединения формирует новое отношение, структура которого яв­ляется совокупностью всех атрибутов исходных отношений. Результирующие кортежи формируются объединением каждого кортежа из R1 с теми кортежами R2, для которых выполняется условие. При этом условием, как правило, являются одинаковые значения внешнего ключа в исходных отношениях. 8. Выбор – операция выполняется над одним отношением R. Для отношения R по заданному условию (предикату) осуществляется выборка подмножества кор­тежей. Результирующее отношение имеет ту же структуру, но число его кортежей будет меньше (или равно) исходному.

  1. Проблемы проектирования баз данных. Понятие метода и методологии проектирования баз данных.

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

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

Во 2 подходе сначала определяются основные задачи для решения которых проектируется база данных,на основе поставленных задач формируются атрибуты которые сводятся в одно исходное отношени, затем путём нормализации отношения делятся на несколько отношений, которые становятся таблицами базы данных.

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

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

При проектировании БД используется понятие метода и методологии проектирования базы данных.

Метод – упорядоченная логическая процедура. Для выполнения определённой задачи.

Методология –это система методов, применяемых в начуных исследованиях, для обоснования результатов.

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

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

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

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

  1. Основные свойства и составные части методологии проектирования баз данных.

1 Процесс проектирования серии этапов, на каждом из которых необходимо сделать выбор из несколькизх альтерантивных решений.

2 методики выполнения требуемых в процессе проектирования расчётов и критерии оценки альетрантивных решений на каждом этапе.

3. информационные требования в качестве исходных данны для процесса проектирования как в целом , так и на каждом его этапе.

4 средства описания данных на каждом этапе проектирования.

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

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

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

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

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

К количеситвенным критериям относятся: время ответа на запрос, стоимость модификации, стоимость памяти, время на создание стоимость на реорганизацию.

Третья часть информационные требования. Ин.Треб. проходят через весь процесс поэтапного проектирования бд.

Информационные требования делятся на 2 вида.

1 ISP информация которые концептуальные структурные представления данных в базе.

2 UP информация – которая формирует концептуальное прикладное представление.

ISP- не связана не с конкретным способом обработки не с конкретным приложением, isp информация отражает прообразы реального мира в сущности и атрибуты, а взаимосвязи между прообразами реального мира в связи между прообразами реальных данных.

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

ISP и UP информация на некоторых этапах проектирования бд являются пересекающимися.

Каждый из этих информационных требований, воздействует на результаты проектирования по разному, АСП – гибкость и адаптивность обеспечивает, а УП- её эффективность.

Желание достич и гибкости и эффективности привело к формированию методологии проектирования БД, использующей как УСП так и УП информацию.

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

А УП – для её соврешенствования с целью повышения эффективности с целью обработки данных.

Четврётрая составная часть – описательные средства- делятся на три класса.

1 язык описания данных входящий в состав субд и использующийся для описания конечного результата процесса проектирования данных.

2 класс- описание сходной информации

3- описательные средства для представления результатов промежуточных этапов. 2 – по тех обработки.

-централизованные

-распределённые

Централизованные базы данных- бд которые содержатся в одном сетевом узле. Применяются в локальных сетях. По способу доступа к данным – Централизованные БД – базы данных разделяются на базы с локальным доступом и базы данных с удалённым или сетевым доступом.

Предполагают две различные архитектуры – файл

  1. Централизованные базы данных. Этапы проектирования централизованных баз данных.