- •5.6.7. Пример разработки модели бд с помощью eRwin
- •5.6.7.1. Постановка задачи
- •5.6.7.2. Создание логической модели бд
- •5.6.7.3. Создание физической модели бд и генерация схемы бд
- •Глава 6* Системы, основанные на знаниях 6.1. Знания и их представление
- •6.1.1. Знания
- •Увеличение сложности решаемых задач приводит к тому, что программы становятся все сложнее для понимания, и поэтому затрудняется их разработка.
- •Алгоритм решения задачи неизвестен или не может быть использован из-за ограниченности ресурсов компьютера;
- •Задача не может быть определена в числовой форме;
- •Цели задачи не могут быть выражены в терминах точно определенной целевой функции.
5.6.7.3. Создание физической модели бд и генерация схемы бд
Перед тем как приступить к созданию физической модели, необходимо выбрать сервер СУБД. Вид панели диалога, позволяющей это сделать, приведен на рис. 5.6.25.
Напомним, что на уровне физической модели сущности соответствует таблица в реальной СУБД, атрибуту - колонка таблицы, связи - внешний ключ (если для связи задавалось имя роли, то оно соответствует имени колонки внешнего ключа в дочерней таблице), первичным и альтернативным ключам - уникальные индексы, а инверсным входам - неуникальные.
Поскольку логическая модель разрабатывалась на русском языке, то имена таблиц, колонок и индексов необходимо задать на английском языке. Кроме того, для каждой колонки необходимо указать тип данных, возможность пустых значений и т.п.
Для задания английсих имен таблиц необходимо воспользоваться радакто-ром таблиц, для остальных манипуляций - редактором колонок. Вызов любого их них можно осуществить при помощи всплывающего меню, представленного на рис. 5.6.26.
Диалоговое окно редактора колонок представлено на рис. 5.6.27.
После того как будут выполнены все действия, физическая модель приобретет следующий вид (см. рис. 5.6.28).
Вносить изменения в шаблоны триггеров и хранимых процедур в рассматриваемом примере нет необходимости.
Глава 6* Системы, основанные на знаниях 6.1. Знания и их представление
6.1.1. Знания
Со времен изобретения первых компьютеров человек стремился использовать их для решения все более сложных задач. Поэтому с тех самых времен возникла необходимость изложения знаний, которые он использует для решения этих задач, в форме, пригодной для обработки с помощью машины.
Первым подходом к такой формализации знаний стал алгоритмический, или процедурный подход. В ходе его развития можно было наблюдать значительный прогресс от языка машинных кодов до языков высокого уровня типа Си, Паскаль. Однако суть этого подхода не изменилась - знания выражаются в виде жесткой последовательности действий, предписываемых к выполнению компьютером. Составленная для компьютера прикладная программа составляет единое целое со знаниями, что влечет за собой ряд недостатков:
-
Увеличение сложности решаемых задач приводит к тому, что программы становятся все сложнее для понимания, и поэтому затрудняется их разработка.
-
Изменения, происходящие в предметной области, зачастую требуют корректировки алгоритма решения задачи, что затем выражается в повторном написании отдельных фрагментов программы, а иногда и всей программы целиком.
Необходимым условием возможности решения какой-либо задачи в рамках процедурного подхода является наличие четкого алгоритма. Поэтому автоматизация коснулась прежде всего так называемых формализованных задач, алгоритм решения которых хорошо известен (например, задача расчета заработной платы).
Однако существует класс задач, называемых неформализованными, характеризующихся одной или несколькими из следующих особенностей [33]: