Вы находитесь на странице: 1из 52

1. Определения: данные и информация.

Содержательная и
представительная стороны определения информации. Основные
преобразования информации и данных (приведите пример).
2. Определение информационной системы (ИС). Основные
структурные компоненты ИС. Классификация автоматизированных ИС.
3. Основные подходы к обработке информации в автоматизированных
информационных системах.
4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ).
Системы управления базами данных – определение и основные
функции.
5. Понятие модели данных. Основные ограничения, определяемые
моделью данных. Основные аспекты моделирования при обработке
данных.
6. Концепция трех схем. Основные свойства концептуальной схемы.
7. Инфологические модели. Модель «сущность-связь». Определения:
атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип
связей), арность связи, классы принадлежности (обязательный и
необязательный). Приведите примеры.
8. Инфологические модели. Модель «сущность-связь». Классификация
бинарных связей. Понятие зависимой сущности. Сущности супертипы
и подтипы. Приведите примеры.
9. Моделирование и объединение локальных представлений.
10. Иерархическая модель данных. Основные достоинства и
недостатки иерархической модели. Приведите пример.
11. Сетевая модель данных. Основные достоинства и недостатки
сетевой модели. Приведите пример.
12. Реляционная модель данных. Определения: отношение, кортеж,
степень отношения, мощность отношения, домен, схема отношения,
схема базы данных. Приведите пример отношения.
13. Реляционная модель данных. Определения: ключевые атрибуты,
первичный ключ, возможный ключ, внешний ключ. Приведите примеры,
демонстрирующие определения. Свойства отношений. Достоинства и
недостатки реляционной модели.
14. Реляционная алгебра ( проекция, разность, селекция,
пересечение). Приведите примеры.
15. Реляционная алгебра (объединение, декартово произведение,
соединение, деление). Приведите примеры.
16. Язык запросов SQL. Типы данных SQL. Подмножества языка SQL-
DDL и SQLDML. Подробно опишите операторы SQL-DML (кроме
SELECT). Приведите примеры.
17. Язык запросов SQL. Возможности оператора SELECT. Приведите
примеры.
18. Проектирование реляционных БД. Уточнение целей
проектирование. Нормализация отношений. Определения:
функциональная зависимость (ФЗ), избыточная ФЗ, полная ФЗ,
транзитивная ФЗ. Приведите примеры.
19. Проектирование реляционных БД методом генерации отношений из
модели «сущность-связь». Приведите примеры.
20. Нормальные формы (1НФ, 2НФ, 3НФ). Алгоритм нормализации
(для 1НФ). Приведите примеры.
21. Нормальные формы (НФ Бойса-Кодда, 4НФ, 5НФ). Приведите
примеры.
22. Нормальные формы. Метод универсального отношения,
декомпозиция отношений. Приведите пример.
23. Разработка многопользовательских приложений. Основные типы
многопользовательских приложений. Архитектура файл-сервер.
24. Разработка многопользовательских приложений. Основные типы
многопользовательских приложений. Архитектура клиент-сервер.
25. Определения: транзакция, протокол, блокировка,
взаимоблокировка. Основные методы детекции взаимоблокировки.
Приведите примеры.
26. Методы защиты БД: идентификация пользователей, проверка
полномочий, представления данных и шифрование.
27. Восстановление БД. Источники отказов. Процедура
восстановления. Протокол с отложенным обновлением.
28. Восстановление БД. Источники отказов. Процедура
восстановления. Протокол с немедленным обновлением.
29. Восстановление БД. Источники отказов. Процедура
восстановления. Метод контрольных точек.
30. Представление структур данных в памяти ЭВМ. Списковые
структуры. Связанное распределение памяти
31. Представление структур данных в памяти ЭВМ. Организация
данных в памяти с использованием методов вычисления адреса по
значениям ключей записей.
32. Объектно-ориентированные БД.
33. Базы знаний__
1. Определения: данные и информация. Содержательная и
представительная стороны определения информации. Основные
преобразования информации и данных (приведите пример).
Д – нктр представление инфы (анал, табл, граф)
Данные – цифровые и графические сведения об объектах
окружающего мира, введённые в ЭВМ.
Информация – данные, которым передается некоторый смысл или
интерпритация в конкретной ситуации, в рамках некоторой системы
понятий. Представляется посредством кодирования данных;
извлекается путем декодирования и интерпритации.

Преобразвания
Информация-данные -> данные-данные -> данные-информация

Содержательная сторона:
1)информацию можно генерировать и представлять в определенной
форме
2)Информацию можно перерабатывать (поиск, наприм)
3)Информацию можно передавать
Представительная сторона:
1)Информация представляется посредством данных
2)Данные могут быть собраны в документ
3)Документ может иметь определенную структуру
4)Документы могут быть представлены в различных форматах

Примером может служить информационная система библиотеки.


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

Структурные компоненты:
1)Аппаратное обеспечение (средства ВТ, передачи данных, ряд спец техн
устройств)
2)Программное обеспечение (реализ ф-ий ввода д, размещение д на машинных
носителях, модификация д, доступ к д)
3)Коммуникационное обеспечение (комплех аппаратных сетевых коммуникаций и
программных средств поддержки комуникации ИС)
4)Лингвистическое обеспечение (решение задач формализации смыслового
содержания инфы, глоссарии, рубрикаторы, индексы )
5)Организационно-технологическое обеспечение (соедин разнообр компоненты в
единую С, обеспечивает проц ее управлния и функ-ирования)

Классификация АИС
ИСОД
интеллектуаль
распределённы
простые
Системы
локальные
АИС
ДИПС
ФИПС
ИСС на БД
ные
е
автоном.
файлах
ДИПС - документированная инф-поисковая с для хранения док, их наименов,
описаний, авторефератов. Наприм, библиотечн или библиографич ИС
ФИПС - фактографические ИПС для хранения и обр фактографич инфы, для
структурированных данных в виде чисел, текста, над ктр выполн разл опер
ИСС – Инф-но справочн с осущ ввод и поиск инфы без ее обработки и р-ет в
интеракт режиме.
ИСОД – Инф-онная система обработки данных, сочетает ИСС с нетрк
процедурами обработки данных в виде прикл программ ОС
3. Основные подходы к обработке информации в автоматизированных
информационных системах.
1)Концепция файловой системы
• Данные ИС представляются в виде совокупности файлов несущей ОС
• Структура файла определяется разработчиком ИС. В структуре файла
сочетаются логическая и физическая структура данных
• Любая программа, содержащая запрос к данным, должна уметь
интерпретировать структуру файла
• Каждый запрос требует своей программы обработки
2)Концепция БД
• Данные ИС размещаются в файлах несущей ОС
• Физическая структура файла фиксируется, а логическая представляется на
ее основе
• Обработка запроса к данным реализуется через специальный интерфейс (н
SQL - )
• Программы разрабатываются на основе единой точки зрения – процедуры
обработки данных
3)Концепция ООБД
• Данные ИС размещаются в файлах несущей ОС
• Информация ИС представляется в виде объектов; логическая физическая
структура данных разделены
• Обработка запроса к данным реализуется через интерфейс
манипулирования объектами- SQL, oRACLe – яз программир
• Программы разрабатываются на основе единой точки зрения на классы
объектов и идеи повторного использования программного кода
4. Определения базы данных (по Дж. Мартину и согласно КОДАСИЛ).
Системы управления базами данных – определение и основные
функции.
По Мартину:
• БД есть совокупность взаимосвязанных данных, совместно
используемых несколькими приложениями и хранящимися с
минимальной регулярной избыточностью.
• Данные запоминаются т.о., чтобы они мо мере возможности не
зависели от программы.
• Для обработки данных применяется общий управляющий метод
доступа. Если БД не пересекаются по структуре, то говорят о
системе БД.
По КОДАСИЛ:
БД состоит из всех экземпляров записей, экземпляров наборов
записей и областей, которые контролируются конкретной схемой. Под
схемой понимают карту всей логической структуры БД.

СУБД- Database Management System DBMS


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

Функции:
1)Обеспечение языковых средств описания и манипулирования
данными
2)Обеспечение поддержки логической модели данных
3)Обеспечение взаимодействия логической и физической структур
данных
4)Обеспечение защиты и целостности данных
5)Обеспечение поддержки БД в актуальном состоянии
5. Понятие модели данных. Основные ограничения, определяемые
моделью данных. Основные аспекты моделирования при обработке
данных.
Модель данных- логическая структура данных, которая представляет
присущие этим данным свойства; независима от аппаратного и
программного обеспечения и не связана с функционированием
компьютера.
Ограничения:
1)Модель данных ограничивает возможность выбора СУБД
2)Модель данных определяет методы создания дружественного
интерфейса пользователя
3)Необходимость использования модели высокого уровня для
описания семантики предметной области ИС
Этапы моделирования:
1)Информационное
• Инфологическое (концептуальное)
• Логическое
2)Физическое
• Создание модели доступа к данным
• Оптимизация физической организации доступа к данным
6. Концепция трех схем. Основные свойства концептуальной схемы.

1)С точки зрения пользователя это внешняя схема. В этой схеме


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

2)С точки зрения компьютера такая схема называется внутренней.


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

3)Третий вспомогательный уровень - концептуальный. Данные


определяются единым образом в рамках предметной области и не
ориентированы на какое-либо использование этих данных, а также не
зависящие от того, как данные физически обрабатываются на
компьютере.
Осн Свойства:
1)Должна быть согласованной с инфраструктурой предметной области
и верной во всех сферах ее применения
2)При ее расширении новые данные должны определяться без
изменения ранее определенных данных
3)Должна адаптироваться как к точкам зрения пользователей, так и к
многообразию структур хранения и поиска данных
7. Инфологические модели. Модель «сущность-связь». Определения:
атрибуты (идентификаторы), (сущности) типы сущностей, связи (тип
связей), арность связи, классы принадлежности (обязательный и
необязательный). Приведите примеры.
Основное назначение модели
• смысловое описание предметной области
• представление информации для основания выбора модели видов,
структур данных.
Модель сущность – связь – ER-модель, Entity-Relationship Model
Сущность - собирательное понятие некоторой абстракции реально
существующего объекта, процесса или явления, о котором необходимо
хранить информацию в БД.
Тип сущности - набор однородных объектов.
Экземпляр - конкретный объект в этом наборе.
Свойства типа сущн - Тип сущности имеет свое имя. Каждый
экземпляр сущности использует специальные атрибуты для
идентификации. Эти атрибуты называются идентификаторы или ключ
сущности.
Атрибут - наименованная характеристика сущности, которая
принимает значения из некоторого множества значений.

Связь - средство, с помощью которого представляются отношения


между сущностями, имеющими место в предметной области.

Тип связи рассматривается между типами сущности, а конкретно


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

Обязательным является такой класс принадлежности, когда


экземпляры сущностей участвуют в установлении связи в
обязательном порядке. В противном случае сущность принадлежит к
необязательному классу принадлежностей.
Для необязательного класса принадлежностей сущность и степень
связи может быть равной нулю. Для обязательно класса не может
равняться нулю.
СТУДЕНТ (№ зачетной книжки, ФИО, № группы, факультет, адрес)
Тип сущности – студент, сущность – студент ТПУ, № зачетной книжки –
идентификатор, ФИО – в общем сл нельзя, мб полные однофамильцы.
8. Инфологические модели. Модель «сущность-связь». Классификация
бинарных связей. Понятие зависимой сущности. Сущности супертипы
и подтипы. Приведите примеры.
Инфологические модели Диаграмы Чена и Мартина

Набор независимых сущностей

Набор зависимых сущностей, слабая сущность

Атрибут

Ключевой атрибут

Набор связей
Супертип указать, обяз, необяз классы принадлежности, степень связи «один» и «много»

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

(пояснить схему!!!)
2. Отображение 1:М. В данном случае сущности с одной ролью может соответствовать любое
число сущностей с другой ролью.

(пояснить схему!!!)

3. Отображение M:N. Каждому экземпляру сущности А соответствует 0, 1 или несколько


экземпляров сущности В (и наоборот).

сотрудник входит раб. группа

4. Отображение М:1. Одному экземпляру сущности В может соответствовать 0, 1


или несколько экземпляров сущности А. Однако каждому экземпляру сущности А
может соответствовать только один экземпляр сущности В.
М
1

контракт заключен заказчик

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

студент

страна

иностран. РФ

Если существование сущности x зависит от существования сущности y, то x называется зависимой


сущностью (иногда сущность x называют "слабой", а "сущность" y - сильной). В качестве примера
рассмотрим связь между ранее описанными сущностями РАБОЧАЯ_ГРУППА и КОНТРАКТ. Рабочая
группа создается только после того, как будет подписан контракт с заказчиком, и прекращает свое
существование по выполнению контракта.

Заметим, что кардинальность связи для сильной сущности всегда будет (1,1). Класс
принадлежности и степень связи для зависимой сущности могут быть любыми. Предположим,
например, что рассматриваемое нами предприятие пользуется несколькими банковскими
кредитами, которые представляются набором сущностей
КРЕДИТ(НОМЕР_ДОГОВОРА,СУММА, СРОК_ПОГАШЕНИЯ, БАНК). По каждому кредиту
должны осуществляться выплаты процентов и платежи в счет его погашения. Этот факт
представляется набором сущностей ПЛАТЕЖ(ДАТА, СУММА) и набором связей
"осуществляется по". В том случае, когда получение запланированного кредита отменяется,
информация о нем должна быть удалена из базы даных. Соответственно, должны быть
удалены и все сведения о плановых платежах по этому кредиту. Таким образом, сущность
ПЛАТЕЖ зависит от сущности КРЕДИТ.
9. Моделирование и объединение локальных представлений.
При моделировании предм области в рамках модели сущ-cd
проектировщ разбивает всю предметн область на ряд подобластей,
моделирует кажд, затем объединяет их
Критерии разделения на локальные представления
1. Л.п соответствует отдельному внешнему приложению
2. Л.пр. отдельной функциональной задаче
3. Л.пр. соответствует отдельному пользователю
В каждой из локальных подобластей рекомендуется выделять 6-7
сущностей.
Объединение локальных представлений: при объединении
локальных представлений можно формировать конструкции, которые
являются производными для исходных объектов.
Цели ведения таких конструкций:
1. Объединять в композиционное единое представление фрагментные
представления об одних и тех же объектах;
2. Устранить несущественные различия в представлении подобных
объектов;
3. Ввести абстрактные понятия, удобные для решения задач и
установить связи этих понятий с более конкретными понятиями;
4. Образовать классы и подклассы подобных объектов и ввести
соответствующие абстрактные понятия;
5. Образовать производные типы объектов, соответствующие
объединению, пересечению или разности объектов.
В общем случае (при небольшом количестве локальных
представлений) мы их объединяем одновременно. Если же локальных
представлений много, производят их попарное объединение.
При объединении л пр обычно исп бинарное объед. При объединении
рез=-ты объед Н1 объектов одного представления с н2 объектами lg
представления полчают н1+Н2 –Х объектов третьего представления,
где х – число общих объектов этих двух локальных представлений.
Два или более элементов модели идентичны, если они имеют
одинаковое семантическое значение.
Агрегация позволяет рассматривать связь между элементами модели
как новый элемент. Н. заданный студент по конкретн предмету у такого
то препода получил оценку.
(в столбик)СТУДЕНТ ПРЕДМЕТ ПРЕПОД ОЦЕНКА(черта) ЭКЗАМЕН
Обобщением называется абстракция данных, позволяющая
трактовать класс различных типов объектов, как один поименованный
обобщенный тип.
10. Иерархическая модель данных. Основные достоинства и
недостатки иерархической модели. Приведите пример.
Иерархическая модель данных. Иерархическая (древовидная) структура
данных состоит из узлов и ветвей. взаимосвязи жестко фиксированы, изменение
связи ведет к реорганизации стркутуры
Явл реализацией связей типа родо-видовых отношений, отношений часть-целое
Дерево – совокупность первого элемента и н-множества подчиненных ему
элементов, в ктр отношения между элементами носят подчиненный
вертикальный характер, горизонтальные связи в такой системе не допускаются.
Узел– совокупность атрибутов данных, описывающих некоторый объект.
Корень на самом первом уровне и не имеет предшественников.
В иерархической модели данных узлы, которые находятся на уровне 2, являются
порожденными к узлам на уровне 1. В свою очередь узлы, которые находятся на
уровне 1, являются исходными к узлам на уровне 2.

2 - лист

Свойства иерархической модели данных:


1. Иерархия всегда начинается с корневого каталога;
2. Каждый узел состоит из одного или нескольких атрибутов, которые описывают
объект в заданном узле.
3. Узел, который находится на предшествующем уровне, является исходным для
новых зависимых узлов;
4. Каждый узел на уровне 2 соединен с одним и только одним узлом уровня 1;
5. Исходный узел может иметь в качестве зависимых один или несколько
порожденных узлов. Если узел не имеет порожденных узлов, он не является
исходным.
6. Доступ к каждому узлу, за исключением корневых, осуществляется через
исходный узел;
7. Возможно существование любого числа экземпляров узлов каждого уровня.
Каждый экземпляр некоторого узла соединен с экземпляром исходного узла.
Достоинства: наличие в прошлом зарекомендовавших себя СУБД, такая модель
отражает иерархичность объектов реального мира; простота понимания и
исполнения структур.
Недостатки: сложность отображения связи «многие-ко-многим», усложнение
операции включения новых объектов и удаления устаревших, неоднозначность
представления данных о предметной области.
Пример
Студент  препод дисципл либо студент(таб ном, уч завед, фио)
ФИО ФИО, таб ном, препод(номер студ, ФИО преп, )
Номер ст инфа о дисцип
Номер гр

С
11. Сетевая модель данных. Основные достоинства и недостатки
сетевой модели. Приведите пример.
Сетевая модель данных: представляет собой произвольный
ориентированный граф, где вершины графа – сущности, а дуги – связи
между сущностями.
факультет

кафедра

сотрудник лаборатория

группы

студент

1)Элемент данных- наименьшая наименованная единица данных.


2)Агрегат данных- наименованная совокупность элементов данных
внутри записи, которую можно рассматривать как единое целое.
Агрегатность данных может быть простым (ДАТА = день, месс, год),
если включает только элементы данных, и составным, если включает
другие агрегаты. (Предприятие = название, адрес(индекс, улица, номер
дома))
3)Запись- наименованная совокупность элементов данных или
элементов данных и агрегатов. Запись- агрегат, который не входит не в
один из элементов агрегатов.
4)Набор- наименованная совокупность записей, образующих
двухуровневую иерархическую структуру. Для каждого типа набора
один тип записи может быть объявлен владельцем, тогда остальные
типы записей его членами. Одночлен и многочлен
Элемент данных агрегат запись набор
 -------------------  ↑
В сетевой модели с помощью записи мы представляем сущности, а с
помощью наборов представляем связи между сущностями, которые
соответствуют записям в этом наборе.
Достоинства: легкая реализация связей типа многие ко многим.
Недостатки:
1)Прикладной программист должен знать логическую структуру данных
2)Возможны потери независимости данных от программ при
реорганизации базы данных
3)Представление, используемое прикладной программой сложнее, чем
в иерархической модели.
12. Реляционная модель данных. Определения: отношение, кортеж,
степень отношения, мощность отношения, домен, схема отношения,
схема базы данных. Приведите пример отношения.
Реляционная модель. Таблицы независимы. Связи полностью изменчивы.
Данные хранятся в виде плоского файла. Простота расширения.
Декартово произведение – пусть задано конечное множество, D1, D2 … Dn , в
общем сл необязат различное, Тогда дек пр этих множеств D1х D2х …х Dn наз мн-
вопроизведений вида d1∙d2∙…∙dn где di ∈Di
Отношением R, определенным на множествах D1, D2 … Dn, называется некоторое
подмножество их декартовапроизведения, R∈ D1,D2…Dn, при этом D1, D2 … Dn
называются доменами; d1∙d2∙…∙dn - кортежами; число n – степенью отношений.
n=1 – унарное отношение
n=2 – бинарное отношение
n=n – n-арное отношение
Количество кортежей в отношении называется мощностью отношения.
Пример:
Целое Строка Целое
номер имя должность деньги
табельный имя должность оклад премия
номер
о
т
н
о
2934 Иванов инженер 15000 5000
2935 Петров инспектор 20000 10000
2936 Сидоров бухгалтер 10000 5000
тип данных
домены
атрибуты
кортежи

СХЕМА «Сотрудник»
таб.номер – номер
имя – имя
………….
Атрибут, значение ктр однозначно идентифицирует картежи, наз ключевым.
Свойства первичного ключа – значение нельзя изменять, он не может быть
пустым.
Если кортежи идентифиц только сцеплением нескольких атрибутов, то говорят,
что отношение имеет составной ключ. СТУДЕНТ(Фио, адрес, др, КОД) – введение
дополнительного ключевого атрибута определяет использование суррогатного
ключа в отношении. Имеется ввиду искусственно введенный ключ.
Именнованное множество пар "имя атрибута - имя домена" называется схемой
отношения. Мощность этого множества - называют степенью или "арностью"
отношения. Набор именованных схем отношений представляет из себя схему
базы данных.
13. Реляционная модель данных. Определения: ключевые атрибуты,
первичный ключ, возможный ключ, внешний ключ. Приведите примеры,
демонстрирующие определения. Свойства отношений. Достоинства и
недостатки реляционной модели.
Реляционная модель. Таблицы независимы. Связи полностью изменчивы.
Данные хранятся в виде плоского файла. Простота расширения.
Декартово произведение – пусть задано конечное множество, D1, D2 … Dn , в
общем сл необязат различное, Тогда дек пр этих множеств D1х D2х …х Dn наз мн-
вопроизведений вида d1∙d2∙…∙dn где di ∈Di
Отношением R, определенным на множествах D1, D2 … Dn, называется некоторое
подмножество их декартовапроизведения, R∈ D1,D2…Dn, при этом D1, D2 … Dn
называются доменами; d1∙d2∙…∙dn - кортежами; число n – степенью отношений.
n=1 – унарное отношение
n=2 – бинарное отношение
n=n – n-арное отношение
Атрибут, значение которого однозначно идентифицирует кортежи, называется
ключевым или ключом.
Если кортежи идентифицируются только сцеплением значений нескольких
атрибутов, то говорят, что отношение имеет составной ключ.
В случае если несколько атрибутов являются ключевыми, выбирается один
первичный ключ. Значение первичного ключа менять нельзя. Все остальные
ключи называются возможными.
Атрибуты, представляющие копии первичных ключей в других отношениях,
называются внешними ключами.
Свойства отношений:
1. отсутствие кортежей-дубликатов (Из этого свойства вытекает наличие у
каждого кортежа первичного ключа. Для каждого отношения, по крайней мере,
полный набор его атрибутов является первичным ключом. Однако, при
определении первичного ключа должно соблюдаться требование
"минимальности", т.е. в него не должны входить те атрибуты, которые можно
отбросить без ущерба для основного свойства первичного ключа - однозначно
определять кортеж.);
2. отсутствие упорядоченностей кортежей (строк в табл);
3. отсутствие упорядоченности атрибутов;
4. атомарность значений атрибутов (те среди доменов не м содержаться
множества значений).
Достоинства реляционной модели:
1. простота (пользователь работает с простой моделью данных и не принимает во
внимание сложные аспекты системной реализации. Удобная форма
представления данных);
2. непроцедурность запросов (запросы строятся на основе заранее определенной
структуры);
3. независимость данных;
4. теоретическое обоснование. (РМД основана на строгой мат теории)
Недостаток: низкая производительность СУБД такого типа при
многопользовательности – из=за достоинств – непроц языка запросов и
независимость данных.
14. Реляционная алгебра ( проекция, разность, селекция,
пересечение). Приведите примеры.

Проекция – вып над одним отношением R[A], где R – отношение, А – некоторое


подмножество атрибутов этого отношения. Тогда проекция представляет собой
выборку из каждого кортежа отношений значений атрибутов, входящих в А, и
удаление из полученного отношения повторяющихся строк.
Пример:
x α a x a
y a  y
 β a 
R( M ,V , T ) =  z γ a R( M , T ) = 
  z a
w θ b  
 w σ b  w b

Разность – R1-R2. Разностью R1 и R2 называется множество кортежей,


принадлежащих R1, но не принадлежащих R2. Отношения дб совместн
Пример:
5 a 5 a 3 a
3 a  10
  b  9 a 
9 a 15 c
R1 − R2 = 
R1 =   R2 =  2 b
  
1 b
2 d
2 4 b
b 6 a
   
4 b   1 b 

Селекция – вып над одним отношением , где F – формула, состоящая


σ F (R)
из операндов (названия атрибутов, номера столбцов), арифметических операций
сравнения ( ), логических операций (и ( ), или ( ), не ( )).
=, >, <, ≤, ≥, ≠ ∧ ∨ ¬

Пример:
а б
д е
в
σ 1≠3∧3= а ( R ) = [ д е а ]
а 
R=
а г а
 
и к л
Пересечение – совместные = R-(R-S). Пересечением R и S называется
R∩S
множество кортежей, принадлежащих и R, и S
Привести примеер.
15. Реляционная алгебра (объединение, декартово произведение,
соединение, деление). Приведите примеры.
Объединение - совместные . Операция объединения отношений R и S
R∪S
представляет собой множество кортежей, принадлежащих либо R, либо S, либо
им обоим. пример привести
Декартово произведение – произвольные отношения . Операция
R1 ⊗ R2
декартово произведение определяется между кортежами отношений, а
результатом является конкатенация (т.е. операция соединения соответствующих
кортежей, при этом арность равна сумме арностей исходных отношений).
Пример:
x a 5 a  x a 5 a
R2 =  x
y  b 
a  1 b   a 1
R1 =  y a 5 a
z a  
y a 1 b
  R1 ⊗ R2 = 
w b z a 5 a
 
z a 1 b
w b 5 a
 
 w b 1 b 

Соединение - , где - арифметическая


R1 ∞ R2 = σ iθ ( j + n ) R1 ⊗ R2 θ
iθj

операция сравнения, - операция селекции для декартова произведения R1 и


σ
R2, n – арность отношения R1.
Пример:
а б в а г 
д е а  R2 =  
R1 =  б а 
а г а
 
и к л

а б в а г
а б в б а 

д е а а г
R1 ∞ R2 =  
а г а а г
3≠ 2

и к л а г
 
и к л б а 

Деление – , причем арность отношения делимого n1≥2, а арность


R1 / R2
отношения делителя - n2≤n1-1. Результатом деления , R1(X,Y) и R2(Y),
R1 / R2
атрибуты Y – это атрибуты связи, тогда результирующее отношение определено
на множестве атрибутов Х и содержит кортежи отношения R1 с одинаковыми
значениями атрибутов связи в отношении R2.
16. Язык запросов SQL. Типы данных SQL. Подмножества языка SQL-
DDL и SQLDML. Подробно опишите операторы SQL-DML (кроме
SELECT). Приведите примеры.
70 SEQUEL – Structured English Query Language
81 – SQL, 87 – SQL (Level 1), 92 SQL (Level 2), 2000 SQL (Level 3)
Типы данных SQL:
1) символьный CHAR и CHAR(n) n-строка
2) VAR CHAR(n) – строковый тип с гибким выделением памяти
3) INTEGER, INT – целочисленный тип
4) FLOAT – вещественный тип
5) DECIMAL(m,n) – m-общее число цифр, n-количество цифр после
запятой(вещественный тип)
6) DATE
7) TIME
8) BLOB – позволяет хранить данные в двоичном виде, произвольных
размеров
9) Последовательные типы данных - используются для представления
возрастающих числовых последовательностей.
10)SERIAL - тип данных на основе INTEGER, позволяющий сформировать
уникальное значение (например, для первичного ключа). При добавлении
записи СУБД автоматически присваивает полю данного типа значение,
получаемое из возрастающей последовательности целых чисел
DDL-SQL (DATA Definition Language)
CREATE TABLE – создание таблицы
ALERT TABLE – служит для изменения схемы отношения
DROP TABLE – удаляет таблицу
CREATE VIEW – создаёт представление (виртуальную таблицу)
DROP VIEW – удаляет представление (виртуальную таблицу)
CREATE INDEX – создаёт индекс БД(либо одно, либо несколько полей, по
которым производится поиск)
DROP INDEX – удаляет индекс БД
DML-SQL (Data Manipulation Language) К этой группе относятся операторы
добавления, изменения и удаления записей.
DELETE – удаление записи
DELETE FROM <имя_таблицы> [ WHERE <условие> ]
Удаляются все записи, удовлетворяющие указанному условию. Если ключевое
слово WHERE и условие отстутствуют, из таблицы удаляются все записи.
Пример:DELETE FROM publishers WHERE publisher = "SuperComputer Publishing";
UPDATE – выполняет обновление данных
Модификация_записей:UPDATE<имя_таблицы>SET<имя_столбца>=<значение>,.
.. [WHERE <условие>]
Если задано ключевое слово WHERE и условие, то команда UPDATE
применяется только к тем записям, для которых оно выполняется. Если условие
не задано, UPDATE применяется ко всем записям. Пример:
UPDATE publishers SET url="http://www.superpub.com" WHERE pub_id=17;
WHERE <условие>, где R-имя отношения, которое мы обновляем, С- список
операторов присваивания, опред. множество атрибутов. В качестве условия
используются логические выражения над константами и полями. В условиях
допускаются:
• операции сравнения: > , < , >= , <= , = , <> , != . В SQL эти операции могут
применяться не только к числовым значениям, но и к строкам ( "<" означает
раньше, а ">" позже в алфавитном порядке) и датам ( "<" раньше и ">"
позже в хронологическом порядке).
• оперции проверки поля на значение NULL: IS NULL, IS NOT NULL
• операции проверки на вхождение в диапазон: BETWEEN и NOT BETWEEN.
• операции проверки на вхождение в список: IN и NOT IN
• операции проверки на вхождение подстроки: LIKE и NOT LIKE
• отдельные операции соединяются связями AND, OR, NOT и группируются с
помощью скобок.
UPDATE publishers SET url="url not defined" WHERE url IS NULL;
INSERT – оператор добавления кортежа в отношения
Добавить новую запись в таблицу:
INSERT INTO <имя_таблицы> [ (<имя_столбца>,<имя_столбца>,...) ]
VALUES (<значение>,<значение>,..)
В этом случае должны быть указаны значения для всех полей таблицы в
том порядке, как эти столбцы были перечислены в команде CREATE TABLE,
например:INSERT_INTO publishers VALUES (16,"Microsoft Press",
"http://www.microsoft.com");
Пример с указанием списка столбцов:
INSERT INTO publishers (publisher,pub_id)
VALUES ("Super Computer Publishing",17);
INSERT INTO R VALVES(<список значений>)

SELECT – выполняет выборку данных


SELECT A FROM B WHERE C
A – список атрибутов, необходимых пользователю
В – имя отношения
С – условия, представленные виде предикатов
>,<,=,!=,>=,<=,<> AND, OR, NOT
Агрегатные ф-ии (Групповые ) count maX MIN AVG SUM примеры
17. Язык запросов SQL. Возможности оператора SELECT. Приведите
примеры.
70 SEQUEL – Structured English Query Language
81 – SQL, 87 – SQL (Level 1), 92 SQL (Level 2), 2000 SQL (Level 3)
Оператор SELECT является фактически самым важным для пользователя и
самым сложным оператором SQL. Он предназначен для выборки данных из
таблиц, т.е. он, собственно, и реализует одно их основных назначение базы
данных-предоставлять информацию пользователю. Оператор SELECT всегда
выполняется над некоторыми таблицами, входящими в базу данных.
Результатом выполнения оператора SELECT всегда является таблица. Таким
образом, по результатам действий оператор SELECT похож на операторы
реляционной алгебры. Любой оператор реляционной алгебры может быть
выражен подходящим образом сформулированным оператором SELECT.
Сложность оператора SELECT определяется тем, что он содержит в себе все
возможности реляционной алгебры, а также дополнительные возможности,
которых в реляционной алгебре нет. Общая форма оператора SELECT выглядит
так:
SELECT <список атрибутов, нужных пользователю> FROM таблицы [WHERE
условия выборки, поставленные в виде предиката]
[GROUP ВУ группа [HAVING групповые-условия]] [ORDER ВУ сортировка-
столбцов] [LIMIT пределы];
Это - самый простой вариант оператора SELECT. Он имеет очень много опций.
использование дополнительных возможностей позволяет избежать последующей
обработки полученных данных.
• Выбрать все данные из таблицы поставщиков (ключевые слова SELECT *
FROM P;
• Выбрать все строки из таблицы поставщиков, удовлетворяющих некоторому
условию SELECT * FROM P WHERE P.PN > 2;
• Выдать список имен сотр, с указанием должности SELECT ФИО, должность
FROM SOTR
Выдать инфу об окладе сотр > 500$ SELECT Сотр.Фио Должность.оклад
FROM Сотр, Должность WHERE Должность.Оклад >500$
SELECT Сотрудник.ФИО, Должность.Оклад FROM Сотрудник INNER JOIN
Должность ON Сотрудник.Должность = Должность.Должность. – работать будет
быстрее, чем WHERE
Упорядочивание результата ASC – по возрастанию (по умолчанию), DESC –
по убыванию.
Добавить в конец ORDER BY Атрибут1 [ASC/DESC], Атрибут 2 [ASC/DESC].
Select * from sort where дол= «инженер» order by год_рожд desc

Использование подзапросов в select

In определяет вхождение в список not in – не вх. Выдать инфу о сотр, ктр


полу оклад меньше 10тр select * from sort where дол in (select дол from Должность
where Оклад Б 10 000); Без использования подзапросов было бы быстрее.
18. Проектирование реляционных БД. Уточнение целей проектирование. Нормализация
отношений. Определения: функциональная зависимость (ФЗ), избыточная ФЗ, полная
ФЗ, транзитивная ФЗ. Приведите примеры.
Реляционная база данных представляется пользователю как совокупность таблиц и
ничего кроме таблиц.
Цели проектирования:
1. Возможность хранения всех данных в базе данных
2. Исключение избыточности данных
3. Сведения числа хранимых в базе данных связей к минимуму
4. Нормализация отношений в базе данных для улучшения решения проблем,
связанных с обновлением, удалением записей, включением данных.
Фио Группа Куратор
Чернов 444 Чудаков
Козлов 333 Суворов
Кошкин 444 Чудаков
Красно 333 Суворов
в
Нормализация отношений - это процесс построения оптимальной структуры таблиц и
связей в реляционной БД (процесс уменьшения избыточности информации). Разбивают
таюлицы на 2 и более отношений в целях улучшения выполнения операций удаления,
добавления, обновления.
В процессе нормализации данные группируются в таблицы, представляющие классы
объектов и их взаимодействие.
Цели, которые преследуются при построении наиболее эффективной структуры
данных:
1) обеспечить быстрый доступ к данным;
2) исключить ненужное повторение данных, которое может являться причиной ошибок
при вводе, а также привести к нерациональному использованию дискового
пространства;
3) обеспечить целостность данных, т.о. чтобы при изменении одних объектов
автоматически происходило соответствующее изменение связанных с ними объектов
функциональная зависимость - В отношении R атрибут Y функционально зависит от
атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому
значению X соответствует в точности одно значение Y.
X->Y Y->Z Тогда X->Z
Студент(№ ЗК, ФИО, группа, кафедра, факультет, паспортные данные, адрес)
№ЗК->ФИО (ФИО зависит от № ЗК)
• ПД->ФИО
• Группы->Кафедра->Факультет
избыточная ФЗ – зависимость содержащая такую информацию которая может быть
получена на основе других зависимостей, имеющихся в БД
полная ФЗ - Функциональная зависимость R.X (r) R.Y называется полной, если атрибут
Y не зависит функционально от любого точного подмножества X.
№ ЗК и ПД-> ФИО
№ЗК ФИО; ПД ФИО
транзитивная ФЗ - Функциональная зависимость R.X -> R.Y называется транзитивной,
если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z
и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X. (При отсутствии
последнего требования мы имели бы "неинтересные" транзитивные зависимости в
любом отношении, обладающем несколькими ключами.)
19. Проектирование реляционных БД методом генерации отношений из модели
«сущность-связь». Приведите примеры.
Он примечателен тем, что функциональные зависимости используются не на
начальном этапе проектирования, а на завершающем. Подход оснащен различными
формами диаграмм, что позволяет визуализировать различные этапы проектирования
баз данных.
Основная идея:
Строим ER диаграмму. Расширяем ERдиаграмму. Если
экземпляры данной сущности должны участвовать в связи,
то участие называется обязательным и этот факт на
диаграмме отмечается блоком с точкой

Требуется только одно отношение. Первичным ключом


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

Для каждой сущности создается


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

Необходимо использовать три


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

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

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

Иерархические связи.
М получить 2 варианта реляционных схем
В1одно отношение, куда мы помещаем все атрибуты отношений, входящих в эту
иерархическую связь
B2 получаем n отношений, где n-количество подтипов, в каждом отношении все
атрибуты супертипа и соответствующего подтипа.

20. Нормальные формы (1НФ, 2НФ, 3НФ). Алгоритм нормализации


(для 1НФ). Приведите примеры.
1NF - первая нормальная форма.
Простой атрибут - атрибут, значения которого атомарны (неделимы).
Сложный атрибут - получается соединением нескольких атомарных атрибутов,
которые могут быть определены на одном или разных доменах. (его также называют
вектор или агрегат данных).
Опр отношение находится в 1NF если значения всех его атрибутов атомарны.
В базе данных отдела кадров предприятия необходимо хранить сведения о служащих,
которые можно попытаться представить в отношении
СЛУЖАЩИЙ(НОМЕР_СЛУЖАЩЕГО, ИМЯ, ДАТА_РОЖДЕНИЯ, ИСТОРИЯ_РАБОТЫ,
ДЕТИ).
Атрибуты "история_работы" и "дети" сложные, атрибут "история_работы" включает
еще один сложный атрибут "история_зарплаты".
Данные агрегаты - ИСТОРИЯ_РАБОТЫ (ДАТА_ПРИЕМА, НАЗВАНИЕ,
ИСТОРИЯ_ЗАРПЛАТЫ),
ИСТОРИЯ_ЗАРПЛАТЫ (ДАТА_НАЗНАЧЕНИЯ, ЗАРПЛАТА), ДЕТИ (ИМЯ_РЕБЕНКА,
ГОД_РОЖДЕНИЯ).
их связь (рис*)

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

Алгоритм нормализации описан Е.Ф.Коддом


1. Начиная с отношения, находящегося на верху дерева (рис*.), берется его
первичный ключ, и каждое непосредственно подчиненное отношение
расширяется путем вставки домена или комбинации доменов этого первичного
ключа.
2. Первичный Ключ каждого расширенного таким образом отношения состоит из
Первичного Ключа, который был у этого отношения до расширения и
добавленного Первичного Ключа родительского отношения.
3. После этого из родительского отношения вычеркиваются все непростые домены,
удаляется верхний узел дерева, и эта же процедура повторяется для каждого из
оставшихся поддеревьев.
2NF - вторая нормальная форма.
Опр неключевой атрибут функционально полно зависит от составного ключа если он
функционально зависит от всего ключа в целом, но не находится в функциональной
зависимости от какого-либо из входящих в него атрибутов.
Пример:
Пусть имеется отношение ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР, ЦЕНА).
Поставщик может поставлять различные товары, а один и тот же товар может
поставляться разными поставщиками. Тогда ключ отношения - "N_поставщика + товар".
Пусть все поставщики поставляют товар по одной и той же цене. Тогда имеем
следующие функциональные зависимости:
N_поставщика, товар -> цена
товар -> цена
Неполная функциональная зависимость атрибута "цена" от ключа приводит к
аномалии: при изменении цены товара необходим полный просмотр отношения для
того, чтобы изменить все записи о его поставщиках. Данная аномалия является
следствием того факта, что в одной структуре данных объединены два семантических
факта. Следующее разложение дает отношения во 2НФ:
ПОСТАВКИ (N_ПОСТАВЩИКА, ТОВАР)
ЦЕНА_ТОВАРА (ТОВАР, ЦЕНА)

Опр второй нормальной формы:


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

3NF - третья нормальная форма.


Понятие транзитивной функциональной зависимости.Пусть X, Y, Z - три атрибута
некоторого отношения. При этом X --> Y и Y --> Z, но обратное
соответствие отсутствует, т.е. Z -/-> Y и Y -/-> X. Тогда Z транзитивно зависит от X.
Пусть имеется отношение ХРАНЕНИЕ (ФИРМА, СКЛАД, ОБЪЕМ), которое содержит
информацию о фирмах, получающих товары со складов, и объемах этих складов.
Ключевой атрибут - "фирма". Если каждая фирма может получать товар только с одного
склада, то в данном отношении имеются следующие функциональные зависимости:
• фирма -> склад
• склад -> объем
При этом возникают аномалии:
• если в данный момент ни одна фирма не получает товар со склада, то в базу
данных нельзя ввести данные о его объеме (т.к. не определен ключевой атрибут)
• если объем склада изменяется, необходим просмотр всего отношения и
изменение кортежей для всех фирм, связанных с данным складом.
Для устранения этих аномалий необходимо декомпозировать исходное отношение на
два:
ХРАНЕНИЕ (ФИРМА, СКЛАД)
ОБЪЕМ_СКЛАДА (СКЛАД, ОБЪЕМ)

Опр третьей нормальной формы:


Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут
нетранзитивно зависит от первичного ключа.
21. Нормальные формы (НФ Бойса-Кодда, 4НФ, 5НФ). Приведите
примеры.
БКНФ
Отношение находится в БКНФ, если оно находится в 3НФ и в ней
отсутствуют зависимости атрибутов первичного ключа от неключевых
атрибутов. Возникает при условии, что отношение имеет 2 или более
возможных ключа, которые являются составными и имеют общий
атрибут.
4НФ
Многозначная зависимость является обобщением функциональной
зависимости и рассматривает соответствия между множествами
значений атрибутов.
Преподаватель (Имя, курс, уч.пособие)
Предположим, что профессор N читает курсы по V и D и имеет
собственные пособия. Пофессор К читает М и является автором Z и Y.
имя курс уч.пособие
N V V
N D V
N V D
N D D
K M Z
K M Y
уч.пособи
имя курс имя е
N V N V
N D N D
K M K Z
K Y

Аномалия возникает потому, что в отношении преподаватель имеются:


зависимость множества значений атрибутов курс множеству имя; и
зависимость атрибутов уч.пособие атрибутам имя.
Отношение находится в 4НФ, если оно находится в БКНФ и в нем
отсутствуют многозначные зависимости являющиеся
функциональными.
5НФ
Существуют отношения, для которых нельзя выполнить декомпозицию
без потерь на две проекции, но которые можно подвергнуть
декомпозиции без потерь на 3 и более проекций- зависимость по
соединению.
Отношения, где есть зависимость по соединению, не являющиеся
одновременно ни многозначными, ни функционально зависимыми
характеризуются аномальными обновлениями.
Отношение находится в 5НФ, если оно находится в 4НФ и любая
зависимость по соединению определяется его возможными ключами,
т.е. каждая проекция такого отношения содержит не менее 1
возможного ключа и не менее 1 неключевого атрибута.
22. Нормальные формы. Метод универсального отношения,
декомпозиция отношений. Приведите пример.
На начальном этапе проектирования задана ER- диаграмма.
Строим универсальные отношения, включив в него все интересующие нас атрибуты из ER-
диаграммы. Определяем все функциональные зависимости нашего отношения.
Проверяем находится ли отношение в БКНФ. Если да, то проектирование завершаем. Если
нет, то разбиваем исходное отношение на два новых. Повторяем предыдущие два шага для
каждого из новых полученных, пока все отношения не будут в БКНФ.
Декомпозиционной схемой отношения R={A1, A2…An} называется замена схемы
совокупностью схем p={R1, R2…Rm}, для которых выполняется R1vR2v…vRm=R={A1, A2…An}.
При этом Ri != Rj, или 0

PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUBLISHER, PUBL_URL, SITE, SITE_URL)


Фунциональные зависимости1) TITLE --> YEARPUB 2) TITLE -> PUBLISHER --> PUB_URL3)
SITE -> SITE_URL

PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUBLISHER, PUBL_URL, SITE_ID)


WWWSITES(SITE_ID,SITE,SITE_URL) – иначе неудобно без id

Устраним функциональную зависимость (2):


PUBLICATIONS(AUTHOR, TITLE, YEARPUB, PUB_ID, SITE_ID)
PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL)
WWWSITES(SITE_ID,SITE,SITE_URL)

Теперь мы имеем следующие избыточные функциональные зависимости в отношении


PUBLICATIONS:
TITLE --> YEARPUB TITLE --> PUB_ID

Для их устранения необходимо вынести атрибуты TITLE, YEARPUB и PUB_ID в отдельное


отношение:
PUBLICATIONS(AUTHOR, TITLE_ID, SITE_ID)
TITLES(TITLE_ID,TITLE,YEARPUB,PUB_ID)
PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL)
WWWSITES(SITE_ID,SITE,SITE_URL)

| AUTHOR | TITLE_ID | SITE_ID |


|--------|----------|---------|
| J.Doe | 1 | 1 |
| J.Doe | 2 | 1 |
| J.Doe | 1 | 2 |
| J.Doe | 2 | 2 |
Из этой таблицы становится ясно, что в рассматриваемом отношении существует
многозначная зависимость AUTHOR ->> TITLE_ID | SITE_ID. Для ее устранения приведем
отношение к четвертой нормальной форме, для чего разобъем его на три.
AUTHORS(AU_ID,AUTHOR)
PUBLICATIONS(AUTHOR,TITLE_ID,SITE_ID) -> TITLEAUTHORS(TITLE_ID,AU_ID)
WWWSITEAUTHORS(AU_ID,SITE_ID)

Окончательно получим:
AUTHORS(AU_ID,AUTHOR) TITLEAUTHORS(TITLE_ID,AU_ID)
WWWSITEAUTHORS(AU_ID,SITE_ID) TITLES(TITLE_ID,TITLE,YEARPUB,PUB_ID)
PUBLISHERS(PUB_ID,PUBLISHER,PUBL_URL) WWWSITES(SITE_ID,SITE,SITE_URL)
23. Разработка многопользовательских приложений. Основные типы
многопользовательских приложений. Архитектура файл-сервер.
1)Файл-сервер
2)Клиент-сервер
3)Репликация (тиражирование)
4)Приложения на базе WEB-технологий

1. Если приложение имеет архитектуру файл-сервер, то файл базы


данных, который содержит собственные данные размещается на
файловом сервере сети, а на рабочих станциях пользователей
размещена клиентские приложения.
2. Возможна реализация приложений в виде одного файла, который
помещается на файловый сервер, и предоставляется доступ к
нему всем пользователям. В этом случае увеличивается загрузка
сети и уменьшается производительность приложения.
3. Если приложению необходимы данные, то само приложение и
загруженное на локальном компьютере ядро БД определяют
процедуру непосредственного доступа к сетевому ресурсу, файлы
которого необходимо прочитать и получить из них требуемые
данные. Когда несколько пользователей одновременно пытаются
обратиться к одним и тем же данным, возникают конфликты.
Нужно обеспечить либо отсутствие конфликтов, либо уметь их
разрешать.
Для решения этих проблем участвует специальный файл блокировок,
который используется для координации запросов на редактирование и
дополнение записей.
Ф
а
й
л
б Пользо
л ватель
о
БД к
Сетевой и
сервер р
о
в
о
к
Многопользовательский анализ работы с БД с архитектурой ф-с м
определить как систему, содержащую сл компоненты.
1. одна или неск БД, расположен на одном сервере *.MDB
2. Файл блокировок для кажд БД *.LDB
3. Файл рабочей группы, расп либо на сервере, либо на раб станции
пользователя*.MDB
4. Копия ядра Бд выполняется на локальной рабочей станции Jet
Файл юлокировок созд ядом Jet для кажд БД в момент ее открытия. В
процессе работы приложения в фб сообщ сведения обо всех
заблокированных данных. А когда последний пользователь закроет БД,
фб автоматически удалится.

Файл рабочей группы


Это БД, Access ктр содержит сведения о польз вход в раб гр.
Рабочей гр в Access наз гр польз совместно испольхз одну или
несколько БД. Пароли пользователей тоже хранятся в файле РГ кроме
этого в файле hu хранятся правила доступа кажд пользователя к
оъектам БД
Блокировка состоит в том, что обеспечивается ситуация, когда
совместноиспользуемые данные м редактировать в кажд момент
времени только один пользователь. Пока он вносит изменения, данные
блокируются от попыток доступа.
В Access cущ=ет 2 спос блокировок
1.формы
2. программным путем
Различают несколько стратегий
блокировок
1. Блокировка отсутствует
2. Бл изменений записи
3. Бл всех записей
Поддерж 4 уровня блокировок
1. Монопольный режим,
2. Блокировка набора записей
3. Бл одной зап
4. Бл страницы
24. Разработка многопользовательских приложений. Основные типы
многопользовательских приложений. Архитектура клиент-сервер.
Типы :1. Файл-сервер 2. Клиент-сервер 3. Репликация 4. Web-технологии

Связь клиента и приложения осущ-ся посредством транзакций, при выполнении ктр происх
блокировки, все это осущ=ся для выполнения целостности данных.
Транзакция(T) – неделимая последовательность команд БД, приводящих к изменению
состояния БД
COMMIT – завершение Т после ктр происходит изменение БД

Архитектура клиент-сервер. Связь клиента и приложения осуществляется по средствам


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

Любая команда из группы DDL перед своим выполнением выполняет транзакцию


Типы
1. неделимые Т. – те.ю в ктр все действия выполняются до конца, либо ни одно из них не
выполнется.
2. Прерванные Т – приводение к отказу до внесения изменений в БД

Применение протокола – запись всех транзакций и всех соответствующих изменений БД


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

Проблемы, возникающие при обработки Т

Опр. Взаимоблокировки – когда 2 Т закрывают друг другу доступ к след записям, необх для
завершения Т
1Т. А,Б
2Т Б,А

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

2. Протокол двухфазной блокировки.


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

Пример двухфазной блокировки с протоколом избегания взаимоблокировок


С использованием одинаковых ресурсов
25. Определения: транзакция, протокол, блокировка,
взаимоблокировка. Основные методы детекции взаимоблокировки.
Приведите примеры.
Под транзакцией понимается неделимая с точки зрения воздействия на
БД последовательность операторов манипулирования данными
(чтения, удаления, вставки, модификации) такая, что либо результаты
всех операторов, входящих в транзакцию, отображаются в БД, либо
воздействие всех этих операторов полностью отсутствует. При
завершении транзакции оператором COMMIT результаты
гарантированно фиксируются во внешней памяти; при завершении
транзакции оператором ROLLBACK результаты гарантированно
отсутствуют во внешней памяти.
Типы транзакций:
Неделимые транзакции- транзакции, в которых все действия
выполняются до конца, либо ни одно из них не выполняется.
Прерванные транзакции- транзакции, приведшие к отказу до внесения
изменений в базу данных.
Применение протокола-это запись всех транзакций и всех
соответствующих изменений БД. Во время выполнений транзакций, все
записанные операции зад-ся до тех пор, пока не выполнится
последнее действие транзакций. Результаты изменений записаны в
протокол.
При работе с Базами Данных в многопользовательском режиме
возникают ситуации, когда необходимо ограничить число
обращающихся пользователей к данным. Это делается для того, чтобы
предотвратить одновременное обновление одной и той же записи, при
глобальном обновленим данных или при техническом обслуживания
самой Базы Данных. Процессор Баз Данных обеспечивает три уровня
блокировок:
1)Блокировка Базы Данных. На этом уровне блокировки к Базе Данных
может обращаться только один пользователь. Такой уровень
блокировки применяется для глобального изменения или обновления
данных или при техническом обслуживании Базы Данных- сжатии;
2)Блокировка Таблицы. На этом уровне блокировки к таблице может
обращаться только один пользователь. Такой уровень блокировки
применяется в тех случаях, когда необходимо обработать сразу
несколько записей таблицы.
3)Блокировка страницы. На этом уровне к заблокированной странице
может обращаться только один пользователь. Это самый нижний
уровень блокировки.
Способы блокировки: с помощью форм, программным путем.
Стратегии блокировок: отсутствие блокировки, блокировка изменения
записи, блокировка всех записей.
Уровни блокировок: монопольный режим (вся база блокируется для
одного пользователя), блокировка набора записей, блокировка
страницы, блокировка записи.
Взаимоблокировка: это ситуация, когда две транзакции закрывают друг
- другу доступ к следующим записям, необходимых для завершения
транзакций.
Существует несколько методов детекции взаимоблокировки:
– графический способ (изображён на рисунке) (после обнаружения
блокировок одна из транзакций завершается, а другая выполняется.)
—Протокол двухфазной блокировки. В этом случае все операции
блокировки(чтение и запись данных) предшествуют первой операции
разблокирования. Тем не менее, двухфазная блокировка может
приводить к взаимоблокировкам, если не применять протокол
предотвращения последней. См прощлый билет для примеров
1 Использу
2
Ожидает ет
Ожидает

A B

26. Методы защиты БД: идентификация


пользователей, проверка полномочий, представления данных и
шифрование.
Защита БД необходима: для избегания кражи информации,
избежать несанкционированное обновление данных, избежать
несанкционированного уничтожения БД.
Идентификация пользователей:
1) проверка того, что пользователь зарегистрирован
2) система вопросов на которые пользователь заранее даёт
ответы
3) использование предопределённого алгоритма
4) рекомендуется использовать дополнительные процедуры,
повышающие уровень защиты БД, при идентификации:
протоколирование всех неудачных попыток входа в систему,
не показывать введённый пароль на экране,
идентификация терминала доступа,
использование прямого обратного набора (после ввода
идентифицирующей информации происходит отключение
терминала и система сама инициирует связь с легитимным
терминалом т.е. сервер сам связывается с клиентским
терминалом )
Проверка полномочий и представления данных:
Представление данных – это средство представления
пользователю его личной модели БД. Данные которые пользователю
не нужны, просто скрыты от него. Типы доступа к представлениям
данных: 1) право на чтение 2) право на запись 3) право на обновление
4) право на удаление
Шифрование:
Шифрование – преобразование читаемого текста в нечитаемый
при помощи некоторого алгоритма
27. Восстановление БД. Источники отказов. Процедура
восстановления. Протокол с отложенным обновлением.
Восстановление БД.
Под восстановлением БД понимается приведение её в состояние, которое существует
перед отказом.
Основные типы отказов:
1) Системные ошибки, взаимоблокировки.
2) Отказ оборудования.
3) Логические ошибки(некорректные, отсутствующие данные).
Процедура восстановления:
Для того чтобы поддерживать целостность данных, транзакция должна находится в
одном из следующих состояний:
- транзакция прервана– транзакция не всегда корректно завершается и чтобы
гарантировать непротиворечивость данных, такую транзакцию необходимо прерывать и
восстанавливать состояния БД до начала транзакции.
- транзакция фиксирована – если транзакция успешно завершается, то говорят, что
она фиксирована – всегда оставлять БД в непротиворечивое состояние.
Откат БД 1. Протоколирование с отложенным и с 2. С немедленным обновлением
Протокол с отложенным обновлением.
- Когда транзакция T начинается с команды <T,BEGIN>
- На протяжении выполнения транзакции T, при каждой записи нового значения ,
ai
атрибута A. WRITE(A, ) кажд запись б сост из след элем 1 название транзак, 2 имя
ai
атрибьута 3. Новое значение атриб
- Если все действия, из которых состоит транзакция T, успешно выполнены, то говорим,
что БД частично фиксирована. <T, COMMIT>
После того, как T частично фиксирована, записи протокола, относящиеся к T,
используются для внесения изменений в БД.
T: READ(A, ) - чтение текущего баланса.
ai
- уменьшение счёта на 500.
a1 = a1 − 500
WRITE(A, ) - запись нового баланса.
ai
READ(B, ) - чтение кассового баланса.
bi

b1 = b1 + 500
WRITE(B, ) - запись нового кассового баланса.
bi
После того, как произошёл отказ, СУБД просматривает протокол и выясняет какие
транзакции нужно переделать. Транзакцию необходимо переделать, если протокол
содержит <T,BEGIN> и <T,COMMIT>,т.е. БД может быть нарушена, однако новые
значения элементов данных содержатся в протоколе. Протокол исп-ся для
восстановления системы с помощью процед REDO(T).
Эта процедура заменяет все значения данных на новые, записанные в протоколе. А
если отказ произошёл сразу после того, как запись была внесена в протокол, но до
того, как обновляемые записи были внесены в БД, запускается процедура
восстановления.
A = 1000, B = 1500. <T,BEGIN> <T,A,500> <T,B,200> <T,COMMIT> Предположим, что
отказ произошёл перед выполнением WRITE(B, ), то никаких действий
bi
предпринимать не надо, так как <T,COMMIT> отсутствует. Значит, значение атрибутов A
и B прежнее => мы должны перевыполнить транзакцию.
28. Восстановление БД. Источники отказов. Процедура
восстановления. Протокол с немедленным обновлением.
Восстановление БД.
Под восстановлением БД понимается приведение её в состояние,
которое существует перед отказом.
Основные типы отказов:
1) Системные ошибки, взаимоблокировки.
2) Отказ оборудования.
3) Логические ошибки(некорректные, отсутствующие данные).
Процедура восстановления:
Для того чтобы поддерживать целостность данных, транзакция должна
находится в одном из следующих состояний:
- транзакция прервана– транзакция не всегда корректно завершается
и чтобы гарантировать непротиворечивость данных, такую транзакцию
необходимо прерывать и восстанавливать состояния БД до начала
транзакции.
- транзакция фиксирована – если транзакция успешно завершается,
то говорят, что она фиксирована – всегда оставлять БД в
непротиворечивое состояние.
Протокол с немедленным обновлением.
В данном методе все изменения вносятся в БД сразу. Это всё
протоколируется. В случае отказа протокол используется для
приведения БД в последнее непротиворечивое состояние.
<T,BEGIN>
WRITE(A, )
ai
Информация заносится в протокол. Затем результат заносится в БД,
<T,A, , > , где T – транзакция, A – атрибут, - новое значение,
ai a j ai
- старое значение.
aj
<T, COMMIT>
Для восстановления данных при использовании этого метода
требуется:
1) REDO(T) – перевыполняет транзакцию.
1) UNDO(T) – восстанавливает старые значения атрибутов.
После того, как произошёл отказ, система восстановления
просматривает протокол, к которой необходимо применить REDO или
UNDO.
1)«T» необходимо отменить, если протокол содержит <T,BEGIN>, но
не содержит <T, COMMIT>. Нужно восстановить старые значения и
перезапустить транзакцию.
2)Если содержатся и <T,BEGIN> и <T, COMMIT>, транзакцию
перезапускать не нужно, но нужно ввести данные об изменениях из
транзакции в БД.
29. Восстановление БД. Источники отказов. Процедура
восстановления. Метод контрольных точек.
Восстановление БД.
Под восстановлением БД понимается приведение её в состояние,
которое существует перед отказом.
Основные типы отказов:
1) Системные ошибки, взаимоблокировки.
2) Отказ оборудования.
3) Логические ошибки(некорректные, отсутствующие данные).
Процедура восстановления:
Для того чтобы поддерживать целостность данных, транзакция должна
находится в одном из следующих состояний:
- транзакция прервана – транзакция не всегда корректно завершается
и чтобы гарантировать непротиворечивость данных, такую транзакцию
необходимо прерывать и восстанавливать состояния БД до начала
транзакции.
- транзакция фиксирована – если транзакция успешно завершается, то
говорят, что она фиксирована – всегда оставлять БД в
непротиворечивое состояние.
Метод контрольных точек.
Метод используется для хранения копий БД в определённый момент
времени. Восстановление БД начинается от последней контрольной
точки.
T
ti1342+ k

,где - контрольная точка, - отказ системы.


ti ti + k
Транзакция в порядке, и - переделать, - отменить.
T1 T2 T3 T4
30. Представление структур данных в памяти ЭВМ. Списковые структуры.
Связанное распределение памяти
Форма представления структур данных в памяти ЭВМ зависит от
предполагаемого использования данных, поскольку для различных типов
структур эффективность выполнения тех или иных операций обработки данных
различна. Основное различие форм представления структур данных в памяти
ЭВМ определяется в первую очередь тем, как адресуются элементы структуры
данных в памяти машины — по месту или по содержимому.
В первом случае указываются логические или физические адреса данных,
определяющие место расположения данных в памяти ЭВМ. Во втором случае
размещение данных и их выборка осуществляются по известному значению
ключа, т.е. определяются содержимым самих данных. Этот случай реализуется в
специальной — ассоциативной памяти ЭВМ.
Некоторый аналог ассоциативной памяти может быть реализован средствами
специального программного обеспечения в обычной памяти ЭВМ. Наиболее
простой формой хранения данных в памяти ЭВМ является одномерный
линейный список.
Линейный список — это множество n>=Ф1 объектов (узлов) X[1], X[2], … ,X[n],
структурные свойства которого связаны только с линейным (одномерным)
относительным расположением узлов. Если n> 1, то X[1] является первым узлом;
для 1<I<n узел X[I-1] предшествует узлу X[i], а узел X[I+1] следует за ним, X[n]
является последним узлом, т.е. линейный список реализует структуру, которую
можно определить как линейное упорядочение элементов данных.
Линейный список Х рассматривают как последовательность X[1], X[2], …, X[i],…
,X[n], компоненты которой идентифицированы порядковым номером,
указывающим их относительное расположение в Х.
Связанное представление линейного списка называется связанным списком.
При связанном распределении памяти для построения структуры необходимо
задать отношения следования и предшествования элементов с помощью
указателей. Указателями служат адреса, хранимые в записях данных. В отличие
от последовательного распределения памяти, при котором с помощью адресной
функции вычисляется адрес следующего элемента, при связанном
распределении памяти значение адресной функции можно получить только путем
просмотра хранящихся указателей. Такой метод распределения памяти
позволяет расширить либо сократить структуру без перемещения самих данных в
памяти ЭВМ, однако для хранения структуры по сравнению с последовательным
распределением требуется больше памяти.
При связанном распределении каждый узел содержит указатель на следующий
узел списка, т.е. адрес следующего узла списка. При этом не требуется, чтобы
список хранился в последовательных элементах памяти. Структура линейного
списка, представленная с помощью связанного распределения, называется также
цепной структурой, или цепью.
Для достижения большей гибкости при работе с линейными списками в каждый
узел Х[i] вводятся два указателя. Один из них реализует связь рассматриваемого
узла с узлом Х[i+1], а другой — с узлом Х[i-1].
31. Представление структур данных в памяти ЭВМ. Организация
данных в памяти с использованием методов вычисления адреса по
значениям ключей записей.
Методы вычисления адреса — это преобразование ключа в адрес. В
настоящее время существует большое число методов поиска, которые
начинаются с вычисления адреса по имени. Такие методы наиболее
полно используют свойства памяти с произвольным доступом.
В методах вычисления адреса используется некоторая
вычислительная операция, преобразующая значение ключа kЄK
записи данных в соответствующий ему адрес памяти μЄМ , т.е.
реализуется адресная функция К→М.
Методы вычисления адреса подразделяются на 2 группы:
• методы, в которых адресная функция реализует взаимно однозначное
соответствие адресов и ключей;
• методы хеширования, или перемешивания, в которых адресная
функция реализует только однозначное преобразование ключа в
адрес; обратное преобразование обычно не имеет места.
32. Объектно-ориентированные БД.
Развитие объектно-ориентированного программирования привело к
разработке объектно-ориентированных СУБД (ООСУБД), которые
позволяют обрабатывать сложные объекты, содержат наследование и
другие свойства, что делает возможным прямую реализацию объектно-
ориентированных концептуальных моделей. В то же время
реляционная технология баз данных расширяется, сочетая
возможности управления данными с применением логических правил,
обеспечивающих менеджмент более совершенной информацией.
Такие системы называются базами знаний (БЗ).

Объектно-ориентированное программирование (ООП).


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

Языки ООП имеют более высокую выразительность, чем обычные


языки БД. Од-нако в языках ООП обычно не хватает поддержки
постоянных объектов – объектов, которые должны существовать вне
контекста взаимодействия конкретного пользователя с БД.
Это естественным образом привело к разработкам, таким как ООСУБД
Gemstone (Maier and Stein, 1992), которые пытаются расширить
возможности языка ООП, включив обычные возможности управления
данными, присущие СУБД.В ООП класс включает следующие
свойства:
1. Множество переменных (атрибутов), которые содержат данные для
объекта класса.
2. Блоки программ, которые называются функциями, выполняющие
операции над данными объекта класса.
Разработки в области объектно-ориентированных систем БД
Примеры наиболее известных ООСУБД.
3. Множество сообщений, на которые отвечает объект класса.

Абстрактные классы
Класс. Абстрактное представление (шаблон) объектного множества.
ClassNAME {
protected:

};
Классы – абстракции в том же смысле, что и множества в
концептуальной модели.
Они позволяют представлять те элементы реальности, которые важны
в рассматриваемой
проблеме. Эти классы позволяют определять любое конечное
число объектов данного
класса. Реляционные таблицы не могут содержать функций и
обладать свойствами. При
объявленииобъекта класса, создается в памяти шаблон и
присваивается ему имя объекта.
Производный класс. Класс, наследующий свойства другого класса.
Class NAME1: public NAME {
protected:

};
Сложный объект. Соответствует составному объектному множеству или
отноше-
нию высокого порядка.
Class N1 {};
Class N2 {};
Class N3 {
protected:

N1 p1;
N2 P2;

};

GemStone (1987)
GemStone основан на языке ООП Smalltalk, с некоторыми
расширениями. Это коммерческий продукт, обладающий чертами
ООСУБД, такими, как идентификатор объекта и инкапсуляция, а также
простое наследование и внешнее взаимодействие в виде набора
сообщений. GemStone обеспечивает контроль параллельной
обработки и восстановление, управление вспомогательными
запоминающими устройствами, идентификацию пользова-
телей. GemStone предлагает язык запросов, который позволяет
формулировать команды, оперирующие переменными элементов
объекта. GemStone поддерживает параллельный доступ и методы
обеспечения защиты и целостности БД.
Примеры ООСУБД: Vbase Orion PDM IRIS O2
33. Базы знаний.
Развитие систем БД первоначально было мотивировано потребностью
в эффективных средствах хранения, манипуляции и извлечения
большого количества разнообразных данных. По достижению этих
целей возникла дополнительная потребность: возможность задавать
ИС правила, применяемые к хранимым фактам (данным),
позволяющие выводить из них другие факты. Включение знаний в
систему БД было подсказано исследованиями в области
искусственного интеллекта (ИИ), которая занимается вопросом о том,
как запрограммировать разумное поведение. Разработки в области ИИ
включали исследования представлений логических правил,
применяемых к данным.
Экспертные системы — это особый раздел ИИ, посвященные
представлению правил и процедур, которым следует специалист,
решая задачи в конкретной предметной области.
Экспертные системы — системы, моделирующие процесс принятия
решений специалистами в разных предметных областях. Однако
Экспертные системы не являются базами знаний, т.к. не обеспечивают
полные возможности управления данными, присущие СУБД.
Например, язык экспертных систем — язык ПРОЛОГ. Является мостом
между БД и базами знаний. Он основан на исчислении предикатов,
которые могут рассматриваться как реляционные таблицы, в нем также
есть возможность выражения логики, которой пользуется человек,
преобразуя факты из БД в информацию, помогающую принимать
решения. Однако этот язык не обеспечивает необходимый набор
возможностей СУБД —обработка транзакций, резервное копирование и
восстановление, управление вспомогательными ЗУ. DATA-LOG и
Logical Data Language (LDL, логический язык данных), расширенные
версии ПРОЛОГа, призванные решить эти проблемы, находятся в
стадии разработки.
Система управления базами знаний. Система, обладающая всеми
стандартными возможностями системы управления базой данных,
касающихся хранения данных и манипуляций ими, а также средствами
создания правил вывода, их хранения и применения к хранимым
таблицам данных.
Основанная на знаниях система. Альтернативный термин для
системы управления базой знаний. Система базы знаний (СБЗ) — это
компьютерная система, имеющая следующие составляющие:
1. БД, содержащая основные факты.
2. БД, содержащая правила, которые позволяют делать выводы из БД
фактов.
3. Программное обеспечение, называемое системой управления базой
знаний
(СУБД), которое поддерживает обычные функции СУБД, а также
управление процессом вывода а БД правил, оперирующих базой
данных фактов. Наиболее активно развивающиеся области СБЗ:
создание высокоскоростного оборудования, на котором выполняются
операции с правилами; методы автоматического поддержания
смысловой целостности баз знаний, в которых применяются правила,
основанные на формальной логике, совершенствование способов
применения логики к рассуждениям о знаниях, содержащих
неопределенности, предположения и время.
Примеры:
Факт, хранящийся в БД фактов
Поставщик Иванов находится в Томске
Информация более высокого уровня:
Поставщик Иванов надежен
Второе основано на выводах, полученных на основе разных данных-
фактов (сопоставление дат закупок и дат поставок, и т.д.).