Хотя SQL и задумывался, как средство работы конечного пользователя, в конце концов он стал настолько сложным, что превратился в инструмент программиста.
Ранее SQL не предлагал стандартного способа манипуляции древовидными структурами. Некоторые поставщики СУБД предлагали свои решения. Например, Oracle использует выражение CONNECT BY. В настоящее время в качестве стандарта принята рекурсивная конструкция WITH.
SQL - язык запросов, а не универсальный алгоритмический язык. На нем нельзя написать сколько-нибудь сложную прикладную программу, которая работает с базой данных. Для этой цели в современных СУБД используется язык четвертого поколения (Forth Generation Language - 4GL), обладающий как основными возможностями процедурных языков третьего поколения (3GL), таких как СИ, Паскаль, Ада, так и возможностью встроить в текст программы операторы SQL, и средствами управления интерфейсом пользователя (меню, формами, вводом пользователя и т.д.).
Пример системы баз данных, разработанных в Национальном Центре Био-технологической Информации, пожалуй, самый продвинутый в мире среди общедоступных средств:
Состав системы баз
Пример взаимосвязанности: связи базы данных ГЕН
Список возможных запросов в базе данных ГЕН
9.2. Хранилища данных
Хранилище данных (Data warehouse) = собрание всех данных в электронной форме в данной организации.
Такое объединение позволяет руководству заниматься интегральными задачами по доступу, извлечению, преобразованию и анализу данных, включая словарь. В анализ данных часто включают интеллектуальные инструменты бизнеса, включая средства манипулирования метаданными, т.е. названиями атрибутов и отношений.
Два основных – не совсем взаимоисключающих - подхода к организации данных в хранилище – размерностный (dimensional) и нормализованный (normalized).
В размерностном подходе, данные делятся на «факты» (числовые данные о транзакциях) и «параметры» (контекст). Например, данные о конкретной продаже можно разделить на факты – число заказанных изделий и цены, и параметры – дата заказа, имя потребителя, адреса доставки и платежа, сотрудник, организовавший продажу, и пр. Преимущество – удобство использования. Недостатки – сложность организации взаимодействия разных баз, типично, в разных компютерах; трудность реорганизации при изменении бизнес-модели.
При нормализованном подходе используются правила нормализации реляционных данных. Данные сгруппированы по предметным областям – потребители, финансы, продукты и пр. Преимущество – легко манипулировать с данными – добавлять, менять и пр. Недостатки: из-за многочисленности таблиц трудно формировать сводные таблицы; для доступа к информации необходимо точно знать, где что находится.
9.3. Распределенные системы и электронные коллективы.
Распределенные системы полезны в ситуациях, когда пользователи в разных местах интересуются, в основном, локальной информацией, как например, расписание транспорта или банковские клиенты.
Преимущество – быстрый доступ к локальной информации. Проблема – поддержка целостности. Обычно – за счет так называемой двухступенчатой привязки (two-phase commit). Первый этап - запись, которую предлагается модифицировать, запирается во всех вершинах сети. По получении подтверждения от всех вершин, второй этап – модификация. Недостаток – когда много вершин, велика вероятность невозможности операции. В случаях, когда это важно, используют так называемые реплики – все базы – точные копии друг друга, и изменение делается в одной базе только с тем, чтобы провести его, скажем, раз в сутки, когда все спят.
10. Машинный интеллект
10.1 Адаптация: эволюция алгоритма - эволюция популяций - система взаимодействующих агентов.
10.2 Изменение формата данных: Размытые и грубые множества.
10.3. Классификация и вывод.
10.4. Принятие решений и планирование.
10.1 От эволюции популяций к системам взаимодействующих агентов.
Агенты – смесь деловых игр и децентрализованных моделей поведения. И то, и другое развивалось в СССР в 70-80 – не на Западе, но там не пригодилось, как почти все остальное.
10.2 Размытые и грубые множества.
Размытые множества введены Л. Заде в 60-е годы прошлого века. В отличие от твердых множеств, функция принадлежности может быть любым числом от 0 до 1, что сближает их с вероятностями, но позволяет значительно больше интерпретаций – и операций. В частности, рассматривают аналоги теоретико-множественных операций объединения, пересечения и дополнения. Такие множества могут количественно моделировать нечеткие языковые понятия как «молодой», «отличный» и пр., в том числе использоваться в количественных соотношениях. В частности, удачно работают «размытые регуляторы», основанные на представлении каждого показателя тремя размытыми множествами «высокое значение», «среднее значение», «малое значение», поскольку такое деление часто имеет физический смысл и освобождает от конкретных измерительных нюансов распределения.
Грубые множества введены в 1991 в монографии Зенона Павляка (Польша). Они имеют значительно более узкую область применимости, относясь, скорее к свойствам категорий, определенных на объектах.
Пример:
Условная таблица данных | |||||
Object | P1 | P2 | P3 | P4 | P5 |
O1 | 1 | 2 | 0 | 1 | 1 |
O2 | 1 | 2 | 0 | 1 | 1 |
O3 | 2 | 0 | 0 | 1 | 0 |
O4 | 0 | 0 | 1 | 2 | 1 |
O5 | 2 | 1 | 0 | 2 | 1 |
O6 | 0 | 0 | 1 | 2 | 2 |
O7 | 2 | 0 | 0 | 1 | 0 |
O8 | 0 | 1 | 2 | 2 | 1 |
O9 | 2 | 1 | 0 | 2 | 2 |
O10 | 2 | 0 | 0 | 1 | 0 |
Любое множество подмножество признаков P разбивает множество объектов на классы эквивалентности [x]P, состоящие из объектов, одинаковых на этом подмножестве. Например, для множества всех пяти признаков имеется 7 классов эквивалентности:
Для множества, состоящего из одного признака P1, разбиение имеет вид:
Всякому подмножеству объектов X всякое множество признаков P сопоставляет его нижнюю и верхнюю аппроксимации. Нижняя аппроксимация состоит из таких элементов из X, чьи [x]P классы целиком содержатся в Х. Верхняя аппроксимация состоит из таких элементов из X, чьи [x]P классы пересекаются с Х.
Пусть, например, X = {O1,O2,O3,O4}, и P = {P1,P2,P3,P4,P5}, все признаки.
Нижняя аппроксимация
, верхняя аппроксимация - то, что можно сказать об Х по информации только о значениях признаков. Эта пара и образует грубое множество.Понятие грубого множества полезно для выбора значимых множеств признаков и определения значимых связей между признаками.
11. Перспективы
11.1 Перспективные приложения.
11.2 Моделирование решений.
11.3 Моделирование знаний с наличием противоречий.
11.4 Моделирование понимания.
Использованная литература
1. Блехман И.И., Мышкис А.Д., Пановко, Я.Г. Прикладная математика: предмет, логика, особенности подходов. - М.: Издательство ЛКИ, 2007. - 376 с.