Лет эволюции программного обеспечения.

РЕФЕРАТ

По информатике

тема: «Базы данных»

 

 

Выполнил: Сапунов А. А.

Группа: 05-СК

Проверила: Потапова М.Н.

 

 

Н. Новгород 2006 г.

Содержание

 

 

1. 20 лет эволюции программного обеспечения.

 

2. Текстовые базы данных.

 

3. Сетевые базы данных.

 

4. Реляционные базы данных.

 

5. Объектно-реляционные методы.

 

6. Заключение.

 

 

лет эволюции программного обеспечения.

Рисунок 1

Управление информацией всегда было основной сферой применения компьютеров и, надо думать, будет играть еще большую роль в будущем. Системы управления базами данных[1] (СУБД, DBMS – Database Management System) на протяжении всего пути развития компьютерной техники совершенствовались, поддерживая все более сложные уровни абстрактных данных, заданных пользователем, и обеспечивая взаимодействие компонентов, распределенных в глобальных сетях и постепенно интегрирующихся с телекоммуникационными системами. Позволив себе рассуждения в стиле Билла Гейтса, предположим, что результатом будет становление систем управления информацией одной из частей повседневной жизни каждого.

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

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

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

Обьектно-ориентированные СУБД (ООСУБД) стали разрабатываться с середины 80х годов в основном для поддержки приложений САПР. Сложные структуры данных систем автоматизированного проектирования оказалось очень удобно оформлять в виде объектов, а технические чертежи проще хранить в базе данных, чем в файлах. Это позволяет обойтись без декомпозиции графических структур на элементы и записи их в файлы после завершения работы с чертежом, выполнения обратной операции при внесении любого изменения. Если типичные реляционные базы данных имеют связи глубиной в два уровня, то иерархическая информация чертежей САПР обычно включает порядка десяти уровней, что требует достаточно сложных операций для “сборки” результата. Объектные базы данных хорошо соответствовали подобным задачам, и эволюция многих СУБД началась именно с рынка САПР.

Между тем рынок САПР был быстро насыщен, и в начале 90х годов производители ООСУБД обратили внимание на другие области применения, уже прочно занятые реляционными СУБД. Для этого потребовалось оснастить ООСУБД функциями оперативной обработки транзакций (OLTP), утилитами администратора баз данных (database administrator – DBA), средствами резервного копирования/восстановления и т. д. Работы в данном направлении продолжаются и сегодня, но уже можно сказать, что переход к коммерческим приложениям идет достаточно успешно.

 

Текстовые базы данных

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

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

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

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

- Деление отраслей знаний на классы и подклассы проводится по одному основанию;

- Подклассы должны исключать друг друга;

- При делении классов на подклассы должна соблюдаться непрерывность.

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

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

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

Лексическая единица – наименьшая смысловая единица, задаваемая при построении языка.

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

· Отношения вид – род (вышестоящий дескриптор);

· Отношения род – вид (нижестоящие дескрипторы);

· Синонимы;

· Ассоциативные связи

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

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

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

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

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

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

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

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

 

 

 

 

 

 

Сетевые базы данных.

Одним из наиболее эффективных методов представления знаний являются сетевые модели.

В основе моделей лежит понятие сети, вершинами которой являются понятия, соответствующие объектам, событиям, процессам, явлениям, а дугами – отношения между этими понятиями.

Узлы и связи можно наглядно изображать в виде диаграмм.

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

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

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

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

 

 

Реляционные базы данных.

В реляционных базах данных (Relational Database System, RDBS) все данные отображаются в двумерных таблицах. База данных, таким образом, это ни что иное, как набор таблиц. RDBS и ориентированные на записи системы организованы на основе стандарта B-Tree или методе доступа, основанном на индексации – Indexed Sequential Access Method (ISAM) и являются стандартными системами, использующимися в большинстве современных программных продуктов. Для обеспечения комбинирования таблиц для определения связей между данными, которые практически полностью отсутствуют в большинстве программных реализаций B-Tree и ISAM, используется языки, подобные SQL (IBM), Quel(Ingres) и RDO (Digital Equipment), причем стандартом отрасли в настоящее время стал язык SQL, поддерживаемый всеми производителями реляционных СУБД.

Оригинальная версия SQL – это интерпретируемый язык, предназначенный для выполнения операций над базами данных. Язык SQL был создан в начале 70х как интерфейс для взаимодействия с базами данных, основанными на новой для того времени реляционной теории. Реальные приложения обычно написаны на других языках, генерирующих код на языке SQL и передающих их в СУБД в виде текста в формате ASCII. Нужно отметить также, что практически все реальные реляционные (и не только реляционные) системы помимо реализации стандарта ANSI SQL, известного сейчас в последней редакции под именем SQL2 (или SQL-92), включают в себя дополнительные расширения, например, поддержка архитектуры клиент-сервер или средства разработки приложений.

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

Чтобы однозначно определить элемент, ему должны быть сопоставлены поле или набор полей, гарантирующих уникальность элемента внутри таблицы. Такое поле или поля называются первичным ключом (primary key) таблицы и часто являются числами. Если одна таблица содержитпервичным ключ другой, это позволяет организовать связь между элементами разных таблиц. Это поле называется внешним ключом (foreign key).

Так как все поля одной таблицы должны содержать постоянное число полей заранее определенных типов, приходится создавать дополнительные таблицы, учитывающие индивидуальные особенности элементов, при помощи внешних ключей. Такой подход сильно усложняет создание сколько нибудь сложных взаимосвязей в базе данных. Желающим убедится, что это действительно так и не пожалевшим на это определенный отрезок времени, компания POET Software любезно предоставляет возможность ознакомиться с примером в своей “белой книге” “POET Technical Reference”. База данных рядового предприятия общепита (клиенты – Джордж Буш и Эдди Мэрфи) состоит из четырех таблиц.

Еще один крупный недостаток реляционных баз данных – это высокая трудоемкость манипулирования информацией и изменения связей.