Разработка базы данных. 4

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. ОБЛАСТИ ПРИМЕНЕНИЯ  БАЗ ДАННЫХ

1.1. Новые тенденции  развития СУБД и областей их  применения

1.2.  Новые  области применения баз данных

1.3. Создание  базы данных

1.4. Типы данных SQL

2. СРЕДА DELPHI КАК СРЕДСТВО ДЛЯ РАЗРАБОТКИ СУБД

2.1. Программный продукт Delphi

2.2.  Формы, модули и метод разработки "Two-Way Tools"

2.3. Масштабируемые  средства для построения баз  данных

3. РАЗРАБОТКА  БАЗЫ ДАННЫХ

3.1. Этапы разработки  базы данных

3.2. Проектирование  приложений базы данных

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

 

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

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

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

 

1. ОБЛАСТИ  ПРИМЕНЕНИЯ БАЗ ДАННЫХ

1.1. Новые  тенденции развития СУБД и  областей их применения

 

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

В толковом словаре  по вычислительной технике, выпущенном в 2002 г., приводится такое определение  системы управления базами данных (database management system): "приложение, обеспечивающее создание, хранение, обновление и поиск информации в базе данных, а также управление безопасностью и целостностью данных". В целом это толкование было верно и 30 лет назад, но все же содержательная часть СУБД сейчас совсем иная, чем в те далекие времена (отметим, что в определении уже отсутствует дополнительная фраза, которая использовалась для уточнения понятия еще восемь лет назад, — "программная оболочка, находящаяся между базой данных и пользователем").

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

В этой ситуации стоит обратить внимание на изменение  содержания "платформа Microsoft". Традиционно  под этим термином подразумевалась  операционная система, Windows. Однако применительно  к серверной платформе все чаще мы встречаем связку Windows Server + SQL Server. Более того, представляется вполне реальным, что с выходом в начале следующего года новой версии Microsoft SQL Server (рабочее название Yukon) мы столкнемся с ситуацией, когда все остальные продукты Microsoft будут уже писаться не под Windows, а под Yukon. Хотя существуют и будут существовать настольные базы данных: как ни странно, но Microsoft Access судя по тому как его представляет Microsoft  — это тоже СУБД.

Исторически системы  управления базами данных ориентировались на решение задач, связанных в первую очередь с транзакционной обработкой структурированной информации. Безусловно, наилучшим, проверенным временем решением здесь была и остается реляционная модель СУБД. Однако в последние годы область применения баз данных неизменно расширялась. С одной стороны, нужно управлять более широким набором форматов данных, переходя к решению общих проблем управления корпоративной информацией. С другой — именно СУБД берут на себя основные функции интеграции данных и приложений корпоративных систем. (По данным Gartner Group, информационные отделы предприятий расходуют до 40% своего бюджета на решение задач интеграции действующих компонентов баз данных.) Именно этим объясняется активный интерес к обсуждению архитектурных принципов и возможностей реализации баз данных различных моделей — постреляционных, объектно-реляционных, XML.

 

1.2.  Новые области применения баз  данных

 

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

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

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

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

1.База данных  Системы наблюдения Земли (EOSDIS)

Система наблюдения Земли (EOS - Earth Observing System) представляет собой  множество спутников, которые запускает NASA начиная с 1998. Их назначение - сбор информации, необходимой для исследователей, занятых изучением долгосрочных тенденций состояния атмосферы, океанов, земной поверхности. Спутники будут поставлять информацию в объеме 1/3 Пбайт (Petabyte – 10^15 байт) в год. Предполагается, что эти данные будут интегрироваться с уже существующей информацией, а также с данными из других источников (зарубежные спутники, наземные станции наблюдения) и накапливаться в базе данных EOSDIS (EOS Data and Information System) невиданных прежде масштабов.

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

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

Выработка эффективных  механизмов просмотра и поиска интересующей информации.

2.Электронная  коммерция

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

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

Система электронной  коммерции должна иметь высоконадежные средства распределенной аутентификации и перевода денежных сумм.

3.Информационная  система здравоохранения

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

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

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

4.Электронные  публикации

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

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

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

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

5. Коллективное  проектирование

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

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

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

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

 

1.3. Создание  базы данных

 

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

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

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

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

Довольно-таки часто все  названные объекты встраиваются в структуру отношений, которые можно считать простейшими универсальными объектами.

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

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

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

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

Одно из главных понятий инфологической модели - объект. Это понятие связано с событиями: возникновение, исчезновение и изменение.

Объекты могут быть атомарными или составными.

Атомарный объект- это объект определенного типа, дальнейшее разложение которого на более мелкие объекты внутри данного типа невозможно.

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

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

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

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

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

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

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

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

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

Основными компонентами инфологической модели являются:

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

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

Логическая  структура базы данных определяет:

  • таблицы и их имена, также называемые сущностями (entities);
  • имена полей, также называемые атрибутами (attributes) каждой таблицы;
  • характеристики полей, например уникальность их значения и допустимость значений NULL, а также тип данных, хранимых в поле;
  • первичный ключ каждой таблицы — поле (несколько полей) со значениями, уникально идентифицирующими каждую запись в таблице. В таблице также могут существовать другие уникальные поля, но только одно из них рассматривается как уникальный ключ доступа для поиска записей — первичный ключ. В таблице не обязательно должен существовать первичный ключ, однако рекомендуется определять его для каждой таблицы;
  • связи между таблицами. Записи в таблице могут зависеть от одной или нескольких записей другой таблицы. Такие отношения между таблицами называются связями. Связь определяется следующим образом: поле или несколько полей одной таблицы, называемое внешним ключом, ссылается на первичный ключ другой таблицы.

Модель данных – совокупность структур данных и  операций их обработки.

Модели данных определяются:

  1. способами организации данных.
  2. ограничением ценности данных.
  3. операциями с данными.

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

Рассмотрим 3 основных типа моделей данных: иерархическую, сетевую и реляционную.

Иерархическая модель данных

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

 

                                                                А                                                 Уровень 1                                                                     


 

 

                              В1           В2          В3          В4           В5                    Уровень 2

                                                                                                                                                     

 

                  С1      С2          С3       С4      С5         С6       С7      С8         Уровень 3

Рис. 1

 

К основным понятиям иерархической структуры относятся: уровень, элемент (узел), связь.

Узел – это  совокупность атрибутов данных, описывающих некоторый объект. На схеме иерархического дерева узлы представляются вершинами графа. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне. Иерархическое дерево имеет только одну вершину (корень дерева), не подчинённую никакой другой вершине и находящуюся на самом верхнем (первом) уровне. Зависимые (подчинённые) узлы находятся на втором, третьем и т.д. уровнях. Количество деревьев в базах данных определяется числом корневых записей. К каждойЗаписи базы данных существует только 1 иерархический путь от корневой записи. Например, как видно на рисунке 1 для записи С4 путь проходит через записи А и В3.

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

b) Ограничение целостности- целостность ссылок между предком и потомком с учетом основного правила: никакой потомок не может существовать без предка.

Примеры: 1) ОКА 3)TOTAL

2)ИНЭС 4) IMS

с) Операции над  данными:

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

 

Институт (специальность, название, ректор)


 

 

Группа (номер, староста)

                                                      

 

 

 

Студент (номер зачётной книжки, фамилия, имя, отчество)

 

 

 

 

 

 

Рис. 2. Пример иерархической  структуры бах данных

 

Сетевые модели данных.

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


 

 

 

 

 

 

 

Рис. 3 Сетевая  структура базы данных в виде графа

Студент (номер зачётной книжки, фамилия, группа)

 


 

 

Работа (шифр,

руководитель,

область)

 

 

 

 

Рис. 4.

 

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

с) Операции над  данными сетевой модели данных:

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