Разработка автоматизированной справочной системы "Медицина: учреждения, услуги, специалисты"

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

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык русский
Дата добавления 25.11.2012
Размер файла 33,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

1. Аналитический обзор

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

1.1 Обзор предметной области

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

По данным статистических исследований информационных запросов жителей города наиболее востребованной является информация:

- о номерах телефонов медицинских учреждений;

- о приеме узких специалистов;

- о перечне медицинских услуг, оказываемых конкретным учреждением здравоохранения города Новосибирска;

- о стоимости конкретной медицинской услуги в том или ином медицинском учреждении;

- сравнение стоимости медицинских услуг в различных учреждениях;

- о порядке оказания медицинской помощи (время и место приема);

- о местонахождение конкретного лечебного заведения.

2. Моделирование

Моделирование - это методология выполнения экспериментальных работ путем исследования свойств различных объектов на их моделях. Виды моделирования различаются в зависимости от целей его выполнения, характера исследуемых объектов и выбранных для исследования средств [2].

2.1 Анализ представления моделей данных

Для эффективного функционирования разработанной автоматизированной справочной системы «Медицина: учреждения, услуги, специалисты» была разработана СУБД [3]. Подробная структура каждой таблицы базы данных и реализация с использованием SQL-кода представлены в приложениях Б, В. Ниже рассмотрены логические и концептуальные модели данных.

2.2 Выбор логической модели данных

Каждая система СУБД поддерживает ту или иную модель данных. Логическая модель определяет правила порождения допустимых видов структур данных и возможные операции над ними. Основной целью проектирования БД является решение структуры для данного набора данных. Различают иерархические, сетевые и реляционные модели данных.

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

Иерархическая модель данных [4] представляет собой иерархию в виде дерева. Модель базируется на сегменте, который представляет собой совокупность полей, характеризующих его. Сегменты различаются по типу, а каждый тип характеризуется фиксированной длинной и конкретным разбиением на поля данных. Два связанных сегмента, расположенных на смежных уровнях называют исходным (более высокого уровня) и порожденным (более низкого). Иерархическая запись - это система взаимосвязанных сегментов, в которой каждый порожденный сегмент представлен столько раз, сколько необходимо для полного его раскрытия. В иерархической структуре есть сегмент, который не имеет исходного и называется головным или корневым. В нём обычно располагается идентификатор объекта, свойства которого раскрываются в сегментах второго и более низких уровней иерархии.

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

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

- сложность реализации «многие-ко-многим», требующая избыточности данных на физическом уровне, что приведет к нежелательному и неоправданному увеличению БД;

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

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

В связи с тем, что иерархическая модель обладает большим количеством недостатков она не была использована для моделирования разработанной АСС.

Сетевая модель данных

Сеть [6] - более общая структура в сравнении с иерархией. Узлами сети являются отдельные экземпляры записи, которые являются единицей доступа к БД. Поскольку отдельный узел может иметь несколько непосредственно старших узлов, так же, как и несколько посредственно подчиненных, то данная структура обеспечивает прямое представление отношения «многие-ко-многим». Для связи между записями-узлами существует связующая запись, все экземпляры которой помещаются в цепочку для связи двух экземпляров.

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

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

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

Реляционная модель данных

Реляционная модель - множественное отношение, которое представляет собой подмножество декартова произведения списков домена [7, 8]. Домен - это множество значений, из которого извлекаются для данного атрибута. Другими словами в основе реляционных моделей лежат простые таблицы, которые удовлетворяют определенным ограничениям, а поэтому могут рассматриваться как математические отношения. Строки таких таблиц называются кортежами, имена столбцов - атрибутами. Следует отметить, что все кортежи различны, а порядок столбцов произволен, чем упрощается процесс обработки кортежей. В отношении (таблице) выделяется несколько атрибутов, однозначно идентифицирующих кортежей и называемых ключами.

Особенность реляционной модели заключается в том, что в отличии от сетевой и иерархической моделей реальные объекты и взаимосвязи между ними представляются в базе данных единообразно в виде нормализованных отношений [8].

Основной недостаток реляционной модели данных связывается с низкой производительностью реляционной СУБД. Но разработка современных СУБД, таких как ORACLE, InterBase, Access и др. позволило преодолеть этот недостаток.

Достоинства реляционной модели можно разделить на две группы:

1) достоинства для пользователя:

- реляционная БД представляет собой набор таблиц, с которыми пользователь привык работать;

- не нужно помнить пути доступа к данным и строить алгоритмы и процедуры обработки своего запроса;

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

2) достоинства обработки данных реляционной БД:

- связность. Реляционное представление дает ясную картину взаимосвязей атрибутов из различных отношений;

- точность. Направленные связи в реляционной БД отсутствуют. Отношения по своей природе обладают более точным смыслом и поддаются манипулированию с использованием таких средств, как алгебра и исчисление отношений [6], обеспечивающих наглядность и гибкость модели данных;

- гибкость. Операции проекции и объединения [9] позволяют разрезать и склеивать отношения, так что программист может получать разнообразные файлы в нужной форме;

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

- простота внедрения. Физическое размещение однородных (табличных) файлов намного проще, чем размещение иерархических и сетевых структур;

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

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

2.3 Выбор концептуальной модели

Концептуальная модель отражает связи сущностей, размерность связей и строится в виде диаграммы с использованием специальных обозначений. Модель наглядно показывает взаимосвязь объектов предметной области [4].

Для выбора концептуальной модели данных было рассмотрено три их разновидности:

- семантическая модель;

- фреймовая модель;

- модель «сущность-связь».

Семантическая модель данных

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

- описание объектов предметной области происходит естественным языком;

- все записи, поступающие в БД накапливаются в относительно однородной структуре.

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

Фреймы

Фреймы выражаются структурными данными с привязанными процедурами обработки этих данных. Фреймы могут быть следующих видов: событийные, характеристики, логические предикаты [10].

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

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

Модель «сущность-связь»

Модель «сущность-связь» описывается в терминах сущность, связь, значение. Сущность - понятие, которое может быть идентифицировано. Связь - соединение сущностей. Для представления связей и сущностей введен специальный метод: ER-диаграмма [7]. Различают сущности трех основных классов: стержневые, ассоциативные и характеристические. Стержневая сущность - это независимая сущность (ей свойственно независимое существование). Ассоциативная сущность или ассоциация рассматривается как связь между двумя или более сущностями типа «многие - ко - многим» или подобные им. Характеристическая сущность или характеристика представляет собой сущность, единственная цель которой, в рамках рассматриваемой предметной области, состоит в описании или уточнении некоторой другой сущности. ER-диаграмма - графическое представление взаимосвязей сущностей. Каждое множество сущностей представляется прямоугольником, а множество связей - ромбом. Связи могут быть трёх типов: «один к одному», «один ко многим», «многие ко многим». Данные типы связи присущи реляционной модели, как и сущности, которым в реляционной модели соответствуют таблицы.

Вывод: в связи с тем, что модель «сущность-связь» наиболее близка по принципам организации к реляционной модели и реализация последней на основе первой наиболее удобна, то в качестве концептуальной модели была выбрана модель «сущность-связь».

2.4 Процесс моделирования

Выделение сущностей

Сущность - это класс однотипных объектов, информация о которых должна быть учтена в модели. Каждая сущность должна иметь наименование, выраженное существительным в единственном числе.

Атрибут сущности - это именная характеристика, являющаяся некоторым свойством сущности.

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

Для разработанной АСС «Медицина: учреждения, услуги, специалисты» стержневыми сущностями являются «медицинские учреждения», «медицинские услуги», «специалисты».

Все сущности-справочники, их атрибуты и ключи представлены в таблице 1.

Таблица 1 - Сущности-справочники, их атрибуты и ключи

Название сущности

Атрибут

Ключ

Вид МП

УИ, название

УИ вида МП

Специализация

УИ, название

УИ специализации

Районы

УИ, название

УИ района

Медицинские учреждения

УИ, название,

аббревиатура,

организационно-правовая форма

УИ учреждения

Медицинские услуги

УИ, название

УИ услуги

Ф.И.О. специалистов

УИ, фамилия, имя, отчество

УИ специалиста

Принадлежность

УИ, название

УИ принадлежности

Выделение связей между сущностями

Связь - это некоторая ассоциация между двумя сущностями. Одна сущность может быть связана с другой сущностью или сама с собой [12].

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

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

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

Связь типа один-ко-многим означает, что один экземпляр первой сущности (левой) связан с несколькими экземплярами второй сущности (правой). Это наиболее часто используемый тип связи. Левая сущность (со стороны «один») называется родительской, правая (со стороны «много») - дочерней.

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

2.5 Построение логической модели

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

Таблица 2 - Табличное представление логической модели данных

Название сущности

Атрибут

Ключ

Вид МП

УИ, название

УИ вида МП

Специализация

УИ, название

УИ специализации

Районы

УИ, название

УИ района

Медицинские учреждения

УИ, название, аббревиатура, организационно-правовая форма

УИ учреждения

Медицинские услуги

УИ, название

УИ услуги

Ф.И.О. специалистов

УИ, фамилия, имя, отчество

УИ специалиста

Принадлежность

УИ, название

УИ принадлежности

Сведения о МУ

УИ, УИ учреждения, остановка, адрес, e-mail, контактный телефон (регистратура), режим работы, телефон приемного отделения, режим работы, телефон стола справок, режим работы, дата обновления информации

УИ сведений о МУ,

УИ учреждения

Информация о специалистах

УИ, УИ специалиста, место консультаций, дни, время консультаций, контактный телефон, стоимость консультаций, примечание, дата обновления информации

УИ информации о специалисте,

УИ специалиста

Связь МУ с районом, видом МП

УИ района,

УИ вида МП,

УИ принадлежности,

УИ сведений о МУ

УИ района,

УИ вида МП,

УИ принадлежности, УИ сведений о МУ

Связь специалиста с МУ

УИ учреждения,

УИ специализации,

УИ специалиста

УИ учреждения,

УИ специализации,

УИ специалиста

Информация о медицинских услугах

УИ учреждения, УИ услуги, данные по очереди, стоимость, условная стоимость, комментарий по сервису, дата обновления информации

УИ учреждения,

УИ услуги

3. Проектирование модели данных АСС «Медицина: учреждения, услуги, специалисты»

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

1) Алгоритмы, связанные с проектированием АСС;

2) Алгоритмы реляционной алгебры, необходимые для работы с БД.

3.1 Выбор метода проектирования

моделирование информационный проектирование справочный

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

Обычно методы проектирования делятся на три основные группы:

- Метод проектирования сверху вниз;

- Метод потоков данных;

- Объектно-ориентированное проектирование.

Для структурного проектирования характерна алгоритмическая декомпозиция. Следует отметить, что большинство программ написано в соответствии с этим методом. Тем не менее, структурный подход не позволяет выделить абстракции и обеспечить ограничение доступа к данным, он также не предоставляет достаточных средств, для организации параллелизма. Структурный метод не может обеспечить создание предельно сложных систем, и он, как правило, неэффективен в объектных и объектно-ориентированных языках программирования. Поэтому данный метод не использовался для проектирования АСС «Медицина: учреждения, услуги, специалисты».

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

Объектно-ориентированное программирование - это подход в основе которого лежит представление о том, что программную систему нужно проектировать как совокупность взаимодействующих друг с другом объектов. Рассматривая каждый объект как экземпляр определенного класса, причем классы образуют иерархию. Объектно-ориентированный подход отражает топологию новейших языков высокого уровня, таких как Object Pascal, C++, PHP и др. Модели для проектирования которой используется вышеназванный подход проектирования присущи четыре главных элемента:

- Абстрагирование;

- Инкапсуляция;

- Модульность;

- Иерархия.

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

Инкапсуляция - процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение. Она позволяет изолировать контактные обязательства абстракции от их реализации.

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

Иерархия - упорядочивание абстракций, расположение их по уровням.

Абстракция и инкапсуляция дополняют друг друга. Абстрагирование направленно на наблюдение поведения объекта извне, а инкапсуляция определяет четкие границы между различными абстракциями, т.е. наблюдение за поведение объекта изнутри.

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

Таким образом, для проектирования АСС использовался объектно-ориентированный подход.

3.2 Анализ алгоритмов работы с базой данных

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

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

- запрос на выборку медицинского учреждения по району и виду МП:

select my.name, my.shortname, my.form, inf.stop, inf.adres, inf.mail, inf.contactphone,

inf.mode1, inf.priemphone, inf.mode2, inf.spravphone, inf.mode3

from my, information inf, region reg, relation rel, vid v

where my.id=inf.id_my and reg.id=rel.id_region and v.id=rel.id_vid and

inf.id=rel.id_info

- запрос на выборку информации о медицинском учреждении:

select my.name, my.shortname, my.form, s.name, si.queue, si.cost, si.costusl,

si.comments

from serviceinfo si, service s, my

where my.id=si.id_my and si.id_service=s.id

- запрос на выборку информации о сотрудниках:

select st.fam, st.name, st.fathername, my.name, my.shortname, my.form, inst.datacons,

inst.phonecons, inst.costcons, inst.costconsusl, inst.additionall

from infosotr inst, sotr st, my

where my.id=inst.wherecons and inst.id_sotr=st.id

Рассмотрим четыре операции над отношениями [8], которые были использованы при построении функционала системы:

- Селекция;

- Проекция;

- Теоретико-множественное объединение;

- Соединение.

Селекция (selected_on - подвергнутый селекции по) уменьшает количество строк в таблице, и ее можно представить как результат разрезания таблицы по горизонтали и удаление ненужных кортежей. Формально селекция записывается так:

R selected_on [<предикат>] {синтаксис языка запросов (SQL)}

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

Проекция (projected_to - спроектированное на) уменьшает количество столбцов в таблице; данную операцию можно представить себе как разрезание по вертикали название операции имеет своим источником понятие проекции множества точек N-мерного пространства в пространство с меньшим количеством измерений. Например, в результате проекции множества точек плоскости (X, Y) на ось X получается множество точек, расположенных на этой оси. К сожалению, значения проекций некоторых «точек» могут совпадать; это произойдет в том случае, когда проекция удалит столбец, входящий в ключ, так что оставшиеся части двух «укороченных» кортежей могут быть идентичными. Тогда придется удалить дубликаты и тем самым уменьшить количество строк, т.е. размер БД. Если хотя бы один из возможных ключей при выполнении проекции останется незатронутым, то дубликатов не будет. Формально проекция записывается следующим образом:

R projected_to <имя-атрибута>{<имя-атрибута>}

Здесь <имя-атрибутов> - это имена сохраняемых столбцов.

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

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

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

Соединение (joined_to - соединение с) имеет два операнда; данная операция определена для любых двух таблиц. Если эти две таблицы не имеют столбцов с совпадающими именами, то соединение ведет себя, как декартово произведение, соединяя каждую строку первой таблицы поочередно с каждой строкой второй таблицы. Если имена всех столбцов этих двух таблиц совпадают, то соединение ведет себя как теоретико-множественное пересечение, и создает таблицу, состоящую из тех строк, которые встречаются в каждой из рассматриваемых таблиц (такая таблица может быть и пустой, аналогично пустому множеству). Если у двух таблиц-операндов совпадают лишь некоторые имена столбцов, то в результате соединения получается таблица, содержащая все имена столбцов первой таблицы, а также все имена столбцов второй таблицы, которые не встречаются в первой. Строки результата выбираются из первой, а дополнительные значения присоединяются из тех строк второй таблицы, у которых значения в общих столбцах совпадают. До некоторой степени соединения являются дополнением проекции, если осуществить проекцию «исходного» отношения так, чтобы получился набор отношений, каждое из которых сохраняет первичный ключ исходного, то соединение этого отношения восстановит исходное при дополнительном условии, что каждый столбец исходного отношения встречается хотя бы в одной из проекций.

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

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

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

Размещено на Allbest.ru


Подобные документы

  • Теоретические основы проектирования информационно-справочных систем. Значение информационно-справочных компонент в корпоративных информационных системах. Разработка концептуальной и инфологической модели информационно-справочной системы ГОУ НПО ПУ №33.

    дипломная работа [645,4 K], добавлен 02.09.2010

  • Анализ информационных потоков. Разработка структуры таблиц базы данных. Выбор CASE-средства для проектирования информационной системы и среды программирования. Разработка программных модулей (программного обеспечения). Подготовка справочных баз данных.

    дипломная работа [6,8 M], добавлен 19.11.2013

  • Описание процесса проектирования информационно–справочной системы с помощью среды разработки PascalABC.Net, ее использование для регистрации обращений в медицинское учреждение. Логическая структура программы, алгоритм ее работы, особенности интерфейса.

    курсовая работа [628,8 K], добавлен 07.06.2017

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

    дипломная работа [222,2 K], добавлен 25.03.2013

  • Роль информационно-справочных систем в управлении предприятием. Программное обеспечение и инструменты для разработки информационно-справочных систем. Преимущества использования программ Delphi и Access. Описание основных окон работы системы "Клиент".

    дипломная работа [828,1 K], добавлен 27.02.2013

  • Описание процесса проектирования информационно–справочной системы с помощью среды разработки Delphi 10 Lite, ее использование для регистрации сварочных работ. Функциональное назначение программы и ее логическая структура. Свойства информационной системы.

    курсовая работа [1,7 M], добавлен 10.01.2015

  • Основы визуального программирования интерфейса. Архитектура программных систем. Проектирование базы данных. Анализ предметной области и связей между сущностями. Построение модели "сущность-связь". Разработка автоматизированной информационной системы.

    курсовая работа [4,4 M], добавлен 16.11.2014

  • Обоснование выбора метода проектирования и инструментальных средств для разработки программного средства и базы данных. Требования к эргономике и технической эстетике. Разработка алгоритмов приложения. Руководство пользователя. Безопасность труда.

    дипломная работа [2,9 M], добавлен 17.10.2014

  • Основные этапы проектирования базы данных. Рассмотрение понятия справочной информации. Описание структуры аналитического справочника. Разработка автоматизированной системы получения документа "Ведомость выполнения плана розничного товарооборота".

    контрольная работа [106,1 K], добавлен 06.12.2011

  • Этапы проектирования информационных систем. Корпоративные информационные системы, тенденции их развития. Требования к организации базы данных. Основные концепции реляционных баз данных. Выбор системы проектирования. Логическая структура приложения.

    дипломная работа [2,2 M], добавлен 20.12.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.