русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Пример, билеты на самолет


Дата добавления: 2013-12-23; просмотров: 1202; Нарушение авторских прав


Иерархия диаграмм

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

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

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

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

 

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

Для того, чтобы указать положение любой диаграммы или блока в иерархии, используются номера диаграмм. Например, А21 является диаграммой, которая детализирует блок 1 на диаграмме А2. Аналогично, А2 детализирует блок 2 на диаграмме А0, которая является самой верхней диаграммой модели. На рисунке показано типичное дерево диаграмм.



 

 

 

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

Выглядеть такой билет будет следующим образом:

 

Авиабилет

-------------------------------------------------------------¬

¦ ------------------------------------------------------¬¦

¦ --+---------------------------------------------------¬ ¦¦

¦ ¦ Авиалиния: Исходный пункт/Место назначения: ¦ ¦¦

¦ -+----------------------------------------------------¬¦ ¦¦

¦ ¦ Авиалиния: Исходный пункт/Место назначения: ¦¦ ¦¦

¦ ¦ Пассажир: Дата выписки: ¦¦ ¦¦

¦ ¦ -------T--------T-----T----T-----T------T-----+¦ ¦¦

¦ ¦ ¦Транс-¦ Номер ¦Класс¦Дата¦Время¦Статус¦Ком- ¦¦ ¦¦

¦ ¦ ¦агент-¦маршрута¦ ¦ ¦ ¦ ¦мен- ¦¦ ¦¦

¦ ¦ ¦ство ¦ ¦ ¦ ¦ ¦ ¦тари覦 ¦¦

¦ -+-------+------+--------+-----+----+-----+------+----¬¦¦ ¦¦

¦ ¦ Пассажирский билет и багажный чек ¦¦¦ ¦¦

¦ ¦ ¦¦¦ ¦¦

¦ ¦ ¦¦+--¦

¦ ¦ ¦+- ¦

¦ ¦ +- ¦

¦ ¦ ¦ ¦

¦ +-----------------------------------------------------+ ¦

¦ ¦ ¦ ¦

¦ L------------------------------------------------------ ¦

L-------------------------------------------------------------

 

Билет состоит из двух купонов - один для перелета из Атлантии в Лодон, другой для перелета из Лондона в Париж. Третий лист содержит описание всего маршрута путешествия.

Купон к авиабилету

-------------------------------------------------------------¬

¦ ------------------------------------------------------¬¦

¦ --+---------------------------------------------------¬ ¦¦

¦ --+----------------------------------------------------¬¦ ¦¦

¦ ¦ Авиалиния: Исходный пункт/Место назначения: ¦¦ ¦¦

¦ ¦ Atlantis Island Flights Atlantia ¦¦ ¦¦

¦ ¦ Пассажир: R.JONES Дата выписки: 3 мая 89 ¦¦ ¦¦

¦ ¦ -------T--------T-----T----T-----T------T-----+¦ ¦¦

¦ ¦ ¦Транс-¦ Номер ¦Класс¦Дата¦Время¦Статус¦Ком- ¦¦ ¦¦

¦ ¦ ¦агент-¦маршрута¦ ¦ ¦ ¦ ¦мен- ¦¦ ¦¦

¦ ¦ ¦ство ¦ ¦ ¦ ¦ ¦ ¦тари覦 ¦¦

¦ +--------+------+--------+-----+----+-----+------+-----+¦ ¦¦

¦ ¦Из ¦ ¦ ¦ ¦5/06¦ ¦ ¦ ¦¦ ¦¦

¦ ¦Атлантии¦ AIF ¦ 213 ¦ N ¦1989¦08:00¦ OK ¦ ¦¦ ¦¦

¦ +--------+------+--------+-----+----+-----+------+-----+¦ ¦¦

¦ ¦В ¦ ¦ ¦ ¦6/06¦ ¦ ¦ ¦¦ ¦¦

¦ ¦Лондон ¦ BA ¦ 424 ¦ N ¦1989¦21:30¦ OK ¦ ¦¦ ¦¦

¦ +--------+------+--------+-----+----+-----+------+-----+¦ ¦¦

¦ ¦В ¦ ¦¦ ¦¦

¦ ¦Париж ¦ ¦¦ ¦¦

¦ +--------- ¦+--¦

¦ ¦ +- ¦

¦ ¦ Стоимость проезда: US$ 845 ¦ ¦

¦ L------------------------------------------------------- ¦

L-------------------------------------------------------------

 

Начнем рассмотрение информационной области с выполняющего полет самолета.

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

  • на авиакомпанию, обслуживающую полет (так "AIF" соответствует авиакомпании "Atlantis Island Flights")
  • на маршрут, по которому выполняется полет.

 

Отсюда нас будет интересовать, какими самолетами выполняются полеты, сколько продано билетов, какие рейсы получили подтверждение и какие места выделены для пассажиров.

Модель взаимосвязей для сущности "Билет"

-------------------------------------------------------------¬

¦ -------------------¬ -------------------¬ ¦

¦ ¦ КУПОН ¦входит в ¦ БИЛЕТ ¦ ¦

¦ ¦ * класс ¦Ё>----------------+ * дата выписки ¦ ¦

¦ ¦ * статус ¦ состоит ¦ * стоимость ¦ ¦

¦ L------------------- из L------------------- ¦

¦ ¦

¦ Каждый КУПОН должен входить в один и только один БИЛЕТ и ¦

¦ каждый БИЛЕТ должен состоять из одного или более КУПОНОВ ¦

L-------------------------------------------------------------

 

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

Каждый из блоков заключает в себе сущность,а линия, соединяющая между собой блоки, соответствует связи между сущностями. Разветвляющееся окончание такой линии у левого блока и одинарное окончание у правого говорят о том, что у одного билета может быть много купонов; мы имеем дело со связью типа "многиек одному". Непрерывная линия говорит о том, что связь обязательная. Связь может читаться слева направо:

Каждый КУПОН должен входить в один и только один БИЛЕТ

и справа налево:

Каждый БИЛЕТ должен состоять из одного или более КУПОНОВ.

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

 

Что можно сказать о рейсе ?

 

Связь между сущностями БИЛЕТ и РЕЙС

-------------------------------------------------------------¬

¦ -------------------¬оформляется -------------------¬ ¦

¦ ¦ ¦ на ¦ РЕЙС ¦ ¦

¦ ¦ КУПОН ¦Ё>-- -- -- -- -- -+ * дата вылета ¦ ¦

¦ ¦ ¦ основание ¦ * время вылета ¦ ¦

¦ ¦ * класс ¦ для оформ-L------------------- ¦

¦ ¦ * статус ¦ ления -------------------¬ ¦

¦ ¦ ¦входит в ¦ БИЛЕТ ¦ ¦

¦ ¦ ¦Ё>----------------+ * дата выписки ¦ ¦

¦ ¦ ¦ состоит ¦ * стоимость ¦ ¦

¦ L------------------- из L------------------- ¦

L-------------------------------------------------------------

Теперь мы можем взглянуть на тот же купон, но уже по отношению к рейсу. Прочитаем связь между ними слева направо:

Каждый КУПОН должен оформляться для одного и только одного РЕЙСА

и в обратном направлении:

Каждый РЕЙС может быть основанием для оформления одного и более КУПОНОВ.

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

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

Каждый БИЛЕТ должен состоять из одного или более КУПОНОВ,каждый из которых оформляется на свой РЕЙС, и наоборот, каждый РЕЙС может быть основанием для оформления одного и более КУПОНОВ, каждый из которых должен входить в свой БИЛЕТ.

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

 

Напоминание: Cвязь, изображаемая сплошной линией, читается как "должен" (обязательная связь), а пунктирной - как "может" (необязательная связь).

 

Перейдем к расширению модели.

¦------------¬оформ- ----------¬выпол-----------¬ ----------¬¦

¦¦ ¦ляется ¦ РЕЙС ¦няется¦ АВИА- ¦из ¦ АЭРОПОРТ¦¦

¦¦ КУПОН ¦Ё>--- -+ * дата ¦по ¦ МАРШРУТ ¦Ё>- -+ * код ¦¦

¦¦ ¦ осно-¦ вылета¦Ё>-- -+ * номер ¦ ис- ¦ * назва-¦¦

¦¦ * класс ¦ вание¦ * время ¦ пла-¦ рейса ¦ ход-¦ ние ¦¦

¦¦ * статус ¦ для ¦ вылета¦ ни- ¦ * время ¦ ный LT---------¦

¦¦ * индика- ¦ L---------- ру- ¦ отправ¦ пункт¦ ¦

¦¦ тор под-¦ ется¦ ления ¦в место ¦

¦¦ твержде-¦входит ----------¬ как ¦ по рас¦Ё>-----назначе- ¦

¦¦ ния ¦в ¦ БИЛЕТ ¦ ¦ писанию ния ¦

¦¦ * коммен- ¦Ё>-----+ * дата ¦ L---------- ¦

¦¦ тарии ¦ сос-¦ выпис-¦ \¦/обслу- ¦

¦L------------ тоит¦ ки ¦ ¦ живается ¦

¦ из ¦ * стои- ¦ ¦

¦ ¦ мость ¦ ¦ ¦

¦ L---------- курирует ¦

¦ предназ- \¦/ -----+----¬ ¦

¦ начен для ¦ ¦АВИАЛИНИЯ¦ ¦

¦ ¦ * код, ¦ ¦

¦ указывает-¦ ¦ напри-¦ ¦

¦ ся на ¦ мер, ¦ ¦

¦ -----+----¬ ¦ AIF ¦ ¦

¦ ¦ ПАССАЖИР¦ ¦ * назва-¦ ¦

¦ ¦ * звание¦ ¦ ние ¦ ¦

¦ ¦ титул ¦ L---------- ¦

¦ ¦ * фами- ¦ ¦

¦ ¦ лия ¦ ¦

¦ ¦ * первая¦ ¦

¦ ¦ буква ¦ ¦

¦ ¦ имени ¦ ¦

¦ L---------- ¦

L-----------------------------------------------------------------

Модель содержит уже достаточно информации для того, чтобы стать моделью авиабилета. Обратите внимание на то, что мы уже изобразили в виде блоков все объекты, упомянутые на билете. Нами добавлены блоки, соответствующие сущностям ПАССАЖИР, АЭРОПОРТ, АВИАЛИНИЯ и, пожалуй, наиболее сложной для понимания сущности АВИАМАРШРУТ.

Авиамаршрут однозначно идентифицируется номером рейса и курирующей его авиалинией. На билете ему соответствует составной код AIF213 или AIF217.

У нас появилась возможность прочитать всю схему относительно сущности АВИАЛИНИЯ:

Каждая АВИАЛИНИЯ может курировать один и более АВИАМАРШРУТОВ, каждый из которых может планироваться как один и более РЕЙСОВ, описываемых датой и временем вылета. В соответствии со схемой, каждый рейс должен выполняться по АВИАМАРШРУТУ (заранее определенному) и должен следовать из одного АЭРОПОРТА в другой.

На приведенное утверждение можно посмотреть с двух разных углов.

Угол 1: Какие рейсы выполняются из аэропорта Атлантии любой из авиалиний ?

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

 

Отправление рейсов по аэропортам

-------------------------------------------------------------¬

¦ Отправление ¦

¦Аэропорт: Атлантия ¦

+----------T-------------T----------------T------------------+

¦Авиалиния ¦ Номер рейса ¦ Отправление ¦ Место назначения ¦

¦ ¦ +---------T------+ ¦

¦ ¦ ¦ дата ¦ время¦ ¦

+----------+-------------+---------+------+------------------+

¦ BA ¦ 962 ¦3 Янв 89 ¦ 07:30¦ Лондон ¦

¦ AIF ¦ 213 ¦3 Янв 89 ¦ 08:00¦ Лондон ¦

¦ AIF ¦ 004 ¦3 Янв 89 ¦ 08:15¦ Нью-Йорк ¦

¦ BA ¦ 964 ¦3 Янв 89 ¦ 09:00¦ Манчестер ¦

¦ TW ¦ 51 ¦3 Янв 89 ¦ 09:15¦ Чикаго ¦

L----------+-------------+---------+------+-------------------

Угол 2: Какие рейсы, отправляющиеся из Атлантии, выполняются

авиалинией "Atlantis Island Flights" ?

Эта информация используется компанией AIF для слежения за своими рейсами.

 

Отправление рейсов по авиалиниям

-------------------------------------------------------------¬

¦ Отправление ¦

¦Авиалиния: Atlantia Island Flights (AIF) ¦

¦Аэропорт: Атлантия ¦

+-------------T------------------------------T---------------+

¦ Номер рейса ¦ Место назначения ¦ Отправление ¦

¦ ¦ +--------T------+

¦ ¦ ¦ дата ¦ время¦

+-------------+------------------------------+--------+------+

¦ 213 ¦ Лондон LHR ¦3 Янв 89¦ 08:00¦

¦ 004 ¦ Нью-Йорк JFK ¦3 Янв 89¦ 08:15¦

¦ 009 ¦ Южный Остров AASI ¦3 Янв 89¦ 09:20¦

L-------------+------------------------------+--------+-------

 

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

 

Механизм создания схемы

-----------------------

 

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

В реальном мире для обозначения связей часто используются коды и названия. Так, например, на изображении купона к билету код AIF указан в столбце, озаглавленном "Трансагентство", для обозначения связи с авиалинией "Atlantis IslandFlights". На нашей схеме, однако, эта косвенная связь показана линиями, соединяющими сущности КУПОН, РЕЙС, АВИАМАРШРУТ и АВИАЛИНИЯ, а "AIF" - только значение атрибута "код" сущности АВИАЛИНИЯ.

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

представлена на Рисунке 2-8.

Рассмотрим же информацию под тем углом, как она соотносится с сущнстью САМОЛЕТ.

Каждый САМОЛЕТ может назначаться на один и более РЕЙСОВ с датой и временем вылета и

Каждый РЕЙС должен выполняться по стандартному АВИАМАРШРУТУ из одного АЭРОПОРТА в другой.

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

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

Каждый САМОЛЕТ может иметь одно и более МЕСТ, каждое из которых может выделяться на основании одного и более КУПОНОВ (или ПОСАДОЧНЫХ ТАЛОНОВ) на РЕЙС с определенной датой и временем вылета.

Обратите внимание на то, что мы связали билет с пассажиром и разрешили пассажиру иметь более одного билета одновременно.

Каждый билет должен предназначаться для одного и только одного ПАССАЖИРА, который, в свою очередь, может быть указан на одном и более БИЛЕТАХ.

Сущность ПАССАЖИР может пригодиться нам в дальнейшем, если мы захотим помочь авиалинии индивидуализировать свои услуги, т.е. учитывать предпочтения пассажира на занятие тех или иных мест.

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

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

 

 

Расширенная модель

-----------------------------------------------------------------¬

¦------------¬явля- ----------¬нахо- ----------¬ ¦

¦¦ ¦ется ¦ МЕСТО ¦дится ¦ САМОЛЕТ ¦ ¦

¦¦ КУПОН / ¦основа-¦ * номер ¦в ¦ * регис-¦ ¦

¦¦ посадочный¦нием ¦ * при- ¦Ё>-- -+ траци-¦ ¦

¦¦ талон ¦для ¦ знак ¦ име-¦ онный ¦ ¦

¦¦ ¦выписки¦ разре-¦ ет ¦ номер ¦ ¦

¦¦ ¦Ё>--- -+ шения ¦ ¦ * назва-¦ ¦

¦¦ ¦ вы- ¦ куре- ¦ ¦ ние ¦ ¦

¦¦ ¦ деля¦ ния ¦ ¦ * тип ¦ ¦

¦¦ ¦ ется¦ * распо-¦ ¦ * описа-¦ ¦

¦¦ * класс ¦ на ¦ ложение¦ ¦ ние ¦ ¦

¦¦ * статус ¦ основаL---------- L-T-------- ¦

¦¦ * индика- ¦ нии планируется назначается ¦

¦¦ тор под-¦ под----- -- -- - на ¦

¦¦ твержде-¦ /¦\ ¦

¦¦ ния ¦оформ- ----------¬выпол-----------¬ ----------¬¦

¦¦ * коммен- ¦ляется ¦ РЕЙС ¦няется¦ АВИА- ¦из ¦ АЭРОПОРТ¦¦

¦¦ тарии ¦Ё>--- -+ * дата ¦по ¦ МАРШРУТ ¦Ё>- -+ * код ¦¦

¦¦ ¦ осно-¦ вылета¦Ё>-- -+ * номер ¦ ис- ¦ * назва-¦¦

¦¦ ¦ вание¦ * время ¦ пла-¦ рейса ¦ ход-¦ ние ¦¦

¦¦ ¦ для ¦ вылета¦ ни- ¦ * время ¦ ный LT---------¦

¦¦ ¦ L---------- ру- ¦ отправ¦ пункт¦ ¦

¦¦ ¦ ется¦ ления ¦в место ¦

¦¦ ¦входит ----------¬ как ¦ по рас¦Ё>-----назначе- ¦

¦¦ ¦в ¦ БИЛЕТ ¦ ¦ писанию ния ¦

¦¦ ¦Ё>-----+ * дата ¦ L---------- ¦

¦¦ ¦ сос-¦ выпис-¦ \¦/обслу- ¦

¦L------------ тоит¦ ки ¦ ¦ живается ¦

¦ из ¦ * стои- ¦ ¦

¦ ¦ мость ¦ ¦ ¦

¦ L---------- курирует ¦

¦ предназ- \¦/ -----+----¬ ¦

¦ начен для ¦ ¦АВИАЛИНИЯ¦ ¦

¦ ¦ * код, ¦ ¦

¦ указывает-¦ ¦ напри-¦ ¦

¦ ся на ¦ мер, ¦ ¦

¦ -----+----¬ ¦ AIF ¦ ¦

¦ ¦ ПАССАЖИР¦ ¦ * назва-¦ ¦

¦ ¦ * звание¦ ¦ ние ¦ ¦

¦ ¦ титул ¦ L---------- ¦

¦ ¦ * фами- ¦ ¦

¦ ¦ лия ¦ ¦

¦ ¦ * первая¦ ¦

¦ ¦ буква ¦ ¦

¦ ¦ имени ¦ ¦

¦ L---------- ¦

L-----------------------------------------------------------------

 

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

 

Схема выделения мест

 

-----------------------------------------------------------------¬

¦ Схема выделения мест ¦

¦ ¦

¦ Самолет: Обозначения: ¦

¦ Название: Rising Moon ---- - для некурящих ¦

¦ Тип: Boeing 747 ---- - для курящих ¦

¦ ¦

¦---T-TT--T-TT--T-TT--T-TT--T-TT--T-TT --T-TT--T-TT--T-TT--T-T¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦¦----¦¦ ----¦¦----¦¦----¦¦----¦¦

¦¦-A1-¦¦-B1-¦¦-C1-¦¦-D1-¦¦-E1-¦¦-F1-¦¦ -G1-¦¦-H1-¦¦-I1-¦¦-J1-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦¦----¦¦ ----¦¦----¦¦----¦¦----¦¦

¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦¦ - -¦¦- -¦¦- -¦¦- -¦¦

¦¦-A2-¦¦-B2-¦¦-C2-¦¦-D2-¦¦-E2-¦¦-F2-¦¦ -G2-¦¦-H2-¦¦-I2-¦¦-J2-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦¦----¦¦ ----¦¦----¦¦----¦¦----¦¦

¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦¦ - -¦¦- -¦¦- -¦¦- -¦¦

¦¦-A3-¦¦-B3-¦¦-C3-¦¦-D3-¦¦-E3-¦¦-F3-¦¦ -G3-¦¦-H3-¦¦-I3-¦¦-J3-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦¦----¦¦ ----¦¦----¦¦----¦¦----¦¦

¦ --------------------¬ ¦

¦---T-TT--T-TT--T-TT--T-TT--T-¦Место N: D4 ¦-TT--T-TT--T-T¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦Пассажир:Mr R.Jones¦-¦¦----¦¦----¦¦

¦¦-A4-¦¦-B4-¦¦-C4-¦¦-D4-¦¦-E4-¦Для некурящих ¦-¦¦-I4-¦¦-J4-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦Расположение: ¦-¦¦----¦¦----¦¦

¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦ у прохода ¦-¦¦- -¦¦- -¦¦

¦¦-A5-¦¦-B5-¦¦-C5-¦¦-D5-¦¦-E5-¦Исходный пункт: ¦-¦¦-I5-¦¦-J5-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦ Атланта ¦-¦¦----¦¦----¦¦

¦¦- -¦¦- -¦¦- -¦¦- -¦¦- -¦Место назначения: ¦-¦¦- -¦¦- -¦¦

¦¦-A6-¦¦-B6-¦¦-C6-¦¦-D6-¦¦-E6-¦ Хитроу ¦-¦¦-I6-¦¦-J6-¦¦

¦¦----¦¦----¦¦----¦¦----¦¦----¦Подтверждение: ¦-¦¦----¦¦----¦¦

¦--T--------------------------¦ ............ ¦-----------T-¬¦

¦L-+--------------------------¦ ¦-----------+--¦

¦ Рейс: AIF213 ¦ OK CANCEL ¦ ¦

¦ Дата: 3 Янв 89 L-------------------- ¦

¦ Отправление ¦

¦ из: Атланты ¦

¦ ¦

L-----------------------------------------------------------------

 

На рисунке представлен вариант экранной формы для настольной системы распределения мест на самолет. Она представляет собой как бы внутренний план самолета в графической форме – иллюстрацию взаимосвязи между местом и самолетом типа "многие к одному". Для отнесения места к типу "для курящих" или "для некурящих" используется штриховка; на нашей модели взаимосвязей между сущностями ей соответствует атрибут "признак разрешения курения" сущности МЕСТО. В нашем случае место D4 выбрано с помощью манипулятора "мышь"; в появившемся окне разрешен ввод или подтверждение сведений о пассажире. После заполнения полей окна можно нажатием клавиши "OK" закончить работу с ним.

 

Реализация в базе данных (Реляционная база данных)

 

Рассмотрим, как модель для сущностей КУПОН,МЕСТО и САМОЛЕТ может быть организована с помощью различных баз данных.

В реляционной БД каждая сущность становится таблицей, а ее атрибуты - столбцами в таблице.

 

 

Реляционный проект

-------------------------------------------------------------¬

¦ Таблица Столбцы ¦

¦ AIRCRAFT Name char(40) not null ¦

¦ (САМОЛЕТ) Registration number char(20) not null ¦

¦ Type char(6) not null ¦

¦ Description char(40) not null ¦

¦ ¦

¦ SEAT Number char(3) not null ¦

¦ (МЕСТО) Aircraft registration ¦

¦ number char(20) not null ** ¦

¦ Smoking indicator char(1) not null ¦

¦ Position char(6) not null ¦

¦ ¦

¦ COUPON Airline code char(4) not null ** ¦

¦ (КУПОН) Flight number integer(4) not null ** ¦

¦ Date of departure date not null ** ¦

¦ Date of issue date not null ** ¦

¦ Passenger title char(9) not null ** ¦

¦ Passenger surname char(30) not null ** ¦

¦ Passenger initial char(1) not null ** ¦

¦ Class char(1) not null ¦

¦ Status char(2) not null ¦

¦ Confirmed indicator char(1) not null ¦

¦ Comment char(40) null ¦

¦ Seat number char(3) null ** ¦

L-------------------------------------------------------------

 

Столбцы с отметкой "**" используются для реализации связей между таблицами. Так, например, регистрационный номер самолета, включенный в таблицу SEAT, реализует связь между сущностями МЕСТО и САМОЛЕТ. Такой столбец именуют внешним ключом.

Выражение "not null" соответствует либо обязательной связи (которая на модели обозначается сплошной линией), либо обязательному атрибуту. Выражение "null" используется для обозначения либо необязательной связи (пунктирная линия), либо необязательного атрибута - "null" означает "значение может отсутствовать".

 



<== предыдущая лекция | следующая лекция ==>
 | Свойства


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.016 сек.