Обекти и връзки между тях. Видове връзки между обекти от предметната област. Информационни обекти и връзки

Всички обекти са активни.

Потребителски контрол на групи прозорци.

Типове прозорци, ориентирани към задачи.

Незабавен ангажиментпромени.

Динамични икони, отразяващи състоянието на обекта.

Директна манипулация.

Комбиниране на обекти.

Композиция от предмети и контейнери.

Множество последователен изглед на обекти.

Характеристики, обсъдени по-горе графични интерфейси, както и DCD технологията, лежаща в основата на тяхното изпълнение, налагат използването на обектно-ориентиран подход за проектиране на GUI. Този подход включва използването на аналогии между програмни обектии обекти от реалния свят. От гледна точка потребителски интерфейс, обектите са не само файлове или икони, но и всяко устройство за съхранение и обработка на информация, включително клетки, абзаци, символи и т.н., както и документите, в които се намират.

Обектите, независимо дали принадлежат към реалния свят или имат компютърно въплъщение, имат определени характеристики, които ни помагат да разберем какво представляват и как се държат в определени ситуации. Следващите концепции описват основните аспекти и характеристики на обекти, които имат компютърно въплъщение.

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

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

Комуникация (връзка) между обекти... Всеки обект по един или друг начин взаимодейства с други обекти. В много случаи връзката между обектите може да бъде описана като връзка от определен тип.

Видове връзки между обекти.

Повечето често срещани видовеотношенията са колекции, ограничения и композити.

комплектпредставлява най-простия тип връзка, която отразява наличието на някои общи свойства... Резултати от заявка (търсене на шаблон) или операция за множествен избор - примери за употреба от този типвръзка. Важно предимство на този тип връзка е, че ви позволява да зададете операции, които трябва да се отнасят към конкретен набор от обекти.

съюзотразява по-близка връзка между обекти, при която промяната на обект засяга някакъв друг обект в набора. Най-простият примертакава връзка - промяна на формата на съседната страница при добавяне на текст на предишната страница.

Съставсе извършва, когато обединяването на няколко обекта може да се разглежда като нов обектсъс собствен набор от свойства и валидни операции. Колона от клетки в таблица и абзац в текст са примери за композиции.

Друг често срещан тип връзка между обекти е контейнер.

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

Разгледаните по-горе аспекти налагат приписването на всеки обект към един или друг вид (клас) обекти. Обектите от един и същи тип имат сходни свойства и поведение.

Основните типове интерфейсни обекти съставляват основните класове на всички обекти, предоставени от операционна система... Има три основни типа обекти: обекти с данни, обекти на контейнери и обекти на устройства.

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

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

База данни като информационен модел предметна област

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

Базата данни е информационен моделпредметна област.

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

Всички набори от обекти в предметната област са разделени на групи от един и същи тип обекти със същия набор от атрибути (свойства). За да се разграничи всеки обект от предметната област от други обекти от даден тип, му се присвоява някакъв идентификатор, който позволява той да бъде уникален препратен. Този идентификатор се нарича първичен ключ... Всеки атрибут или комбинация от няколко атрибута на обект може да се използва като първичен ключ. Освен това се използват неуникални идентификатори, наречени външни ключове(вторични ключове) и обозначаващи набори от обекти от даден тип. Всеки такъв набор включва обекти, които съответстват на същата стойноствъншен ключ.

Между обектите от предметната област може да има връзки, които имат различни смислови значения. Тези връзки могат да бъдат задължителни и незадължителни (по избор). Задължителната връзка ЗАМЕНЯ съществува например между 2 вида обекти СЛУЖИТЕЛ и ДЛЪЖНОСТ в предметната област „Човешки ресурси на организацията”. Всеки служител е записан на която и да е позиция и не може да има служител, който да не заема нито една позиция. В същото време връзката се ЗАМЕНЯ между типовете обекти ПОЗИЦИЯ и СЛУЖИТЕЛ е по избор, тъй като може да има свободни места.

Връзките между видовете обекти могат да бъдат с всякакво измерение (арност). Най-често използваните са бинарни връзки, които установяват различни съответствия между обекти от 2 типа - „едно към едно“ (1: 1), „едно към много“ (1: n), много към много ”(m: n).

Съвкупността от видове обекти и видове връзки между тях характеризира структурата на предметната област.

Нека разгледаме изграждането на информационен модел на домейна с помощта на пример. Като предметна област вземаме по-високото образователна институция... Една от задачите, свързани с организацията на приема в университет, е регистрацията на информация за кандидатите. Интересът е следната информация: факултет, специалност, за която се подават документи, лични данни (фамилия, име, бащина, година на раждане, семейство, социален статуси др.), изпити и оценки по тях. Кандидатът се характеризира с уникален идентификатор Id *, който дава възможност да се идентифицира недвусмислено конкретен кандидат.

Освен това е известно, че съществуват следните връзки:
ФАКУЛТЕТ ®®СПЕЦИАЛНОСТИ;
FACULTY ®® Id *;
SPECIALTY ®® Id *;
Id * ®® ITEM;
Id * ® ФАМИЛИЯ, ИМЕ, МОДЕЛ, ГОДИНА НА РОЖДЕНИЕ,…;
Id * ® ПРЕДМЕТ, ОЦЕНКА;
ФАКУЛТЕТ ® ДЕКАН, ТЕЛЕФОН;
КОД НА СПЕЦИАЛНОСТ ® НОМЕР, ИМЕ НА СПЕЦИАЛНОСТ.

Тук ®® е връзка от тип 1: n; ® - отношение от тип 1:1.

Сега нека разгледаме информационния модел на тази част от предметната област, която е свързана с организацията на приемане в университета (фиг. 1), като предварително сме избрали обектите "КАНДИТИКАТ", "ФАКУЛТЕТ", "СПЕЦИАЛНОСТ" и " SUBJECT" и формализира връзките.


Фиг. 1. Информационен модел според обектен анализ

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

Първичният и външният ключ се използват за дефиниране на връзки между обекти в релационна база данни. За да определите връзка 1:1 първичен ключедна таблица се поставя във 2-ра таблица като първичен ключ. За да се дефинира връзка 1: n, първичният ключ на първата таблица се добавя към втората таблица, но като външен ключ, сочещ към първичния ключ на първата таблица.

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

При разработването на база данни първо се изследва предметната област (например "Университет"). В него са подчертани основните обекти. Те могат да бъдат реални („Студентски“) или абстрактни („Дисциплина“). Всеки обект се характеризира с набор от свойства - атрибути на обекта (полета с данни)... За всеки обект се попълват атрибутите определени ценности... Атрибутите могат да бъдат прости и ключови.

Ключов атрибут (ключ)- това е отделни елементиданни, чрез които могат да се определят всички други елементи от данни („Номер на класната книга“). Ключът може да бъде прост или съставен ("Фамилия", "Име", "Отчество").

След дефиниране на основните обекти на предметната област, използвайки техните ключови атрибути, се установяват връзки между тези обекти:

а) 1: 1 („едно към едно“) – всеки екземпляр на обект А съответства само на един екземпляр от обект В и обратно (Фигура 17).

Фигура 17 - Връзка едно към едно

б) 1: M („един към много“) – всеки екземпляр на обект A може да съответства на 0, 1 или няколко екземпляра на обект B, но всеки екземпляр на обект B съответства само на 1 екземпляр на обект A (Фигура 18 ).

Фигура 18 - Връзка един към много

в) M: M („много към много“) – всеки екземпляр на обект A съответства на 0, 1 или няколко екземпляра на обект B и обратно (Фигура 19).

Фигура 19 - Връзка много към много

Маркирани основни обекти от предметната област с установени връзкимежду тях са инфологически модел .

Връзка

Обект на предметна област може да бъде представен под формата на таблица-релация - таблица от специален вид, в която:

Всеки ред съдържа информация за един екземпляр на обект (ред за връзка - кортеж);

· Всички колони са хомогенни, тоест всички елементи в колона имат еднакъв вид и дължина, имат име и съдържат информация за отделен атрибут на обект;

· Всеки елемент представлява един елемент от данни за обекта;

· Всички редове и колони са уникални (без повторения);

· В таблиците няма празни клетки.

Извикват се бази данни, базирани на таблици за връзки релационен (отношение).Набор от релации (таблици) се използва в база данни за съхраняване на информация за обекти в реалния свят и за моделиране на връзките между тях. Например, за да съхраните обекта "студент", използвайте релацията СТУДЕНТ, в който свойствата на обекта се намират в колоните на таблицата, които са атрибутите на обекта (таблица 8):

Таблица 8 - Съотношение СТУДЕНТ


Извиква се списъкът с имена на атрибути на връзката схема на взаимоотношения... Диаграма на връзката СТУДЕНТможе да се напише така: СТУДЕНТ = (Фамилия,Възрастова група ).

Релационната база данни е набор от взаимосвързани връзки. Всяка релация (таблица) в компютъра е представена под формата на файл със записи.

Осем различни операции на теорията на множествата могат да бъдат извършени върху таблици - релации. релационна алгебра(обединение, селекция, проекция, пресичане, събиране, умножение, разлика, деление). В резултат на това от въведените (основни) релации могат да се получат много нови (изчислени) таблици – релации (отчети, селекции, заявки и т.н.).

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

За да създадете проста и надеждна база данни, трябва да нормализирате връзките. Нормализиране на отношениятастъпка по стъпка процесразлагане на отношенията на по-малки и по-прости. Въпреки увеличаването на броя на връзките в същото време, операциите за достъп до данни се ускоряват значително поради подобрена коректност, елиминиране на дублирането и осигуряване на съгласуваност на данните в базата данни.

Има няколко нормални форми:

1-ва нормална форма.Връзката се счита за в първият нормална формаако всички негови атрибути са неделими (прости). Например, връзката, показана на фигура 20 по-долу, не е нормализирана, тъй като съдържа сложен атрибут Спорт... За да приведете тази връзка в нормализирана форма, трябва да се отървете от този сложен атрибут.


Фигура 20 - Редукция до първата нормална форма

В получената връзка ключът е композитен, състоящ се от атрибути Фамилияи Вид спорт.

2-ра нормална форма. Счита се, че връзката е във втора нормална форма, ако всички нейни атрибути зависят от съставния ключ като цяло, а не от неговите части. Следователно, ако връзката е в първа нормална форма и е проста, не композитен ключ, то автоматично се намира както в първата, така и във втората нормална форма.

Например, относно ИЗЯВЛЕНИЕ(Фигура 21), който има композитен ключ " Студент, дисциплина",атрибут Лекторзависи само от Дисциплиниа не от целия ключ. Тази връзка може да се нормализира, като се „разбие“ на две връзки ПРОГРЕСи УЧИТЕЛ:

ИЗЯВЛЕНИЕ = (Студент, дисциплина,лектор, оценка)


ИЗПЪЛНЕНИЕ = (Студент, дисциплина, Оценка) УЧИТЕЛ = (Дисциплина, Лектор)

Фигура 21 - Редукция до втора нормална форма

3-та нормална форма.Счита се, че връзката е в трета нормална форма, ако зависимостите между неключови атрибути (преходни зависимости) са премахнати. Например, относно ТЕМА = (име,Лектор, председател, телефон) не е ключов атрибут Телефонзависи от неключов атрибут отдел.

За да се елиминира транзитивната зависимост, е необходимо да се "разцепи" оригиналната връзка на две ДИСЦИПЛИНА = (име, преподавател, катедра) и ДАННИ ЗА ОТДЕЛЕНИЕ = (отдел, Телефон).

По-нататъшното опростяване на таблиците е свързано с допълнително ограничаване на видовете зависимости между атрибутите на връзката.

След нормализиране на отношенията и установяване на връзки между тях се формира инфологически модел на предметната област. По-долу (на фигура 22) е даден пример инфологически моделкомпания, която оформя сделки с клиенти чрез своите служители-мениджъри:


Клиент Фамилия I.O. Транзакция № Фамилия I.O. Позиция дата Адрес Опит Фамилия на името на мениджъра Телефон Фамилия, I.O. на клиента

Фигура 22 - Модел на фирмата

Въз основа на инфологичния модел се разработва модел на данни, който описва логическа структурабази данни на език за описание на данни (DL), - логически модел на данни (DM).

Моделът на данните се използва за свързване на DM към носителя за съхранение физически слойфизически модел(FM).На този етап от физическото проектиране на базата данни се извършва изборът на типа носител, разработва се форматът на съхраняваните записи и се проектират методите за достъп до данните.

СУБД

След това вече е възможно да се формира (попълва) базата данни и директно да се работи с нея. Работата с бази данни се свежда до извършване на следните операции:

1) запис (попълване на базата данни);

2) разглеждане;

3) редактиране (добавяне, изтриване, коригиране);

4) извадка (заявки, доклади).

Тези операции по натрупване и манипулиране на данни се извършват от специална програмасистема за управление на база данни (СУБД).

Според технологията за решаване на проблеми, изпълнявани от СУБД, базите данни могат да бъдат разделени на два вида:

Централизирана база данни (съхранява се изцяло в OVC на една компютърна система и, ако системата е част от мрежа, тогава е възможен достъп до тази база данни на други системи);

Разпределена база данни (състои се от няколко, понякога припокриващи се или дублиращи една друга, бази данни, съхранявани в OVC различни възлимрежа).

СУБД предоставя достъп до данните от базата данни по два начина:

Локален достъп(предполага се, че СУБД обработва базата данни, която се съхранява в OVC на същия компютър);

Отдалечен достъп(това е извикване към базата данни, която се съхранява на един от мрежовите възли).

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

Система за управление на база данни - набор от софтуерни и езикови инструменти.

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

Езикови инструменти осигуряват взаимодействие на потребителя с базата данни. Те включват:

  • езици за манипулиране на данни(YAMD) - езици на заявки към базата данни, която е система от команди за работа с данни (селекция, заявка, вмъкване, изтриване и др.);
  • езици за дефиниране на данни(YOD) - езици, предназначени за създаване на схема на база данни (описания на типове данни, структура на базата данни, взаимодействие и връзки между елементите).


Фигура 22 - Схема за взаимодействие на потребителя с базата данни

Съвременна СУБДприложна програма, който е предназначен да улесни работата на неквалифициран потребител с базата данни. Той работи с него на естествен език, без да знае езика за манипулиране на данни и езика за дефиниране на данни (Фигура 22). Един от примерите за такава СУБД е добре познатият продукт на Microsoft – СУБД на Access.


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

Целта на инфологичното моделиране

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

Основни понятия

  • Същността- всеки различим обект (обект, който можем да различим от друг), информация за който трябва да се съхранява в базата данни. Субектите могат да бъдат хора, места, самолети, полети, вкус, цвят и т.н. Необходимо е да се прави разлика между понятия като тип на обект и екземпляр на обект. Терминът тип субект се отнася до набор от хомогенни индивиди, обекти, събития или идеи, които действат като цяло. Екземпляр на обект се отнася до конкретно нещо в колекция. Например, тип обект може да бъде ГРАД, а екземпляр може да бъде Москва, Киев и т.н.
  • Атрибут- наименованата характеристика на обекта. Името му трябва да е уникално за специфичен типобект, но може да е едно и също за от различни видовеобекти (например ЦВЯТ може да бъде дефиниран за много обекти: DOG, CAR, SMOKE и т.н.). Атрибутите се използват, за да се определи каква информация трябва да се събира за даден обект. Примери за атрибути за обекта VEHICLE са ТИП, МАРКА, НОМЕР, ЦВЯТ и т.н. Тук също има разлика между тип и екземпляр. Типът атрибут COLOR има много екземпляри или стойности: Red, Blue, Banana, Night White и така нататък, но само една стойност на атрибута се присвоява на всеки екземпляр на обект.

Няма абсолютна разлика между типове обекти и атрибути. Атрибутът е такъв само по отношение на типа субект. В друг контекст атрибутът може да действа като независим обект. Например за фабрика за автомобили цветът е само атрибут на производствен продукт, а за фабрика за бои цветът е тип обект.

  • Ключминимален наборатрибути, чиито стойности могат да се използват за уникално намиране на необходимия екземпляр на обект. Минималността означава, че изключването на който и да е атрибут от набора не позволява обектът да бъде идентифициран от останалите. За обекта Schedule ключът е атрибутът Flight_number или наборът: Departure_point, Departure_time и Destination_point (при условие, че един самолет тръгва от точка до точка в даден момент).
  • Връзка- сдружение на две или повече субекти. Ако целта на базата данни беше само да съхранява отделни, несвързани данни, тогава нейната структура може да бъде много проста. Въпреки това, едно от основните изисквания за организацията на базата данни е да се осигури възможността за намиране на едни обекти по стойностите на други, за което е необходимо да се установят определени връзки между тях. И тъй като реалните бази данни често съдържат стотици или дори хиляди обекти, теоретично могат да бъдат установени повече от милион връзки между тях. Наличието на такъв набор от връзки определя сложността на инфологичните модели.

Изисквания към инфологичен модел

  • Адекватно показване на предметната област
  • Избягване на двусмислено тълкуване на модела
  • Ясна дефиниция на симулираната област (крайност на модела)
  • Лесна разширяемост, позволяваща въвеждане на нови данни без промяна на по-рано дефинираните, същото важи и за изтриването на данни
  • Възможност за съставяне и декомпозиция на модела поради голямото измерение на реалните инфологични модели
  • Лесно възприемане от различни категории потребители; желателно е инфологичният модел да бъде изграден (или поне да участва в създаването му) от специалист, работещ в тази предметна област, а не просто проектант на системи за машинна обработка на данни
  • Приложимост на езика на спецификацията на модела както за ръчно, така и за компютърно проектиране на информационни системи

Компоненти на инфологичния модел

  • Описание на обектите и връзките между тях, наречени ER-модел (съкращение от модела "Entity-relationship")
  • Описание на информационните нужди на потребителите
  • Алгоритмични връзки с атрибути
  • Езикови отношения поради особеностите на представянето на предметната област в езиковата среда
  • Ограничения за целостта

Изграждане на обект - свойство - модел на връзка

Обектни класове

В предметната област, в процеса на нейното разглеждане и анализ, има обектни класове... Обектният клас е колекция от обекти, които имат същия набор от свойства. Например, ако разглеждаме университета като предметна област, тогава в него могат да се разграничат следните класове обекти: студенти, преподаватели, аудитории и т. н. Обектите могат да бъдат реални, както беше споменато по-горе, или могат да бъдат абстрактни, като напр. предмети, които изучават учениците.

Когато се отразява в информационна системавсеки обект е представен от своя идентификатор, който отличава един обект от клас от друг, а всеки клас обекти е представен от името на този клас. И така, за обекти от класа "ИЗУЧАВАНИ ПРЕДМЕТИ" идентификаторът на всеки обект ще бъде "ИМЕ НА ПРЕДМЕТА". Идентификаторът трябва да е уникален.

Всеки обект има определен наборИмоти. За обекти от един и същи клас наборът от тези свойства е един и същ и техните стойности, разбира се, могат да се различават. Например, за обекти от клас "STUDENT" такъв набор от свойства, описващи обекти от клас, може да бъде "ГОДИНА НА РАЖДАНЕ", "ПОЛ" и т.н.

Когато се описва предметната област, е необходимо да се изобрази всеки от съществуващите класове обекти и набор от свойства, фиксирани за обекти от този клас.

Ще използваме следните обозначения за показване на обекти и техните свойства.

Всеки клас обекти в инфологичния модел е присвоен уникално име... Името на обектния клас е граматическият оборот на съществителното (съществително, което може да има прилагателни и предлози). Ако името се състои от няколко думи, тогава е желателно съществителното да е на първо място. Съществителното трябва да се използва в единствено число, а не в множествено число. Следователно за класа обекти "ИЗУЧЕНИ ДИСЦИПЛИНИ", разгледан по-горе, е по-добре да се даде името "ИЗУЧЕНА ДИСЦИПЛИНА". Ако в предметната област традиционно се използват различни имена за обозначаване на всеки клас обекти (т.е. има синонимия), тогава всички те трябва да бъдат фиксирани в описанието на системата, след което едно от тях се избира като основно, и само това име трябва да се използва в бъдеще в ILM. В допълнение към името на обектния клас в ILM може да се използва неговото кратко кодово обозначение.

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

Връзки между обект и неговите свойства

При описанието на предметната област е необходимо да се отразят връзките между обекта и свойствата, които го характеризират. Това просто се изобразява като линия, свързваща обозначението на обекта и неговите свойства.

Връзката между обект и неговото свойство може да бъде различна. Един обект може да има само една стойност за свойство. Например, всеки човек може да има само една дата на раждане. Нека наречем такива свойства единичен... За други свойства е възможно да съществуват няколко стойности за един обект едновременно. Да предположим, например, когато описвате "СЛУЖИТЕЛЯ", "ЧУЖДИЯТ ЕЗИК", който той притежава, е фиксиран като негова собственост. Тъй като един служител може да знае няколко чужди езика, такъв имот ще бъде наречен множествено число... Когато изобразяваме връзката между обект и неговите свойства, ще използваме единична стрелка за единични свойства и двойна стрелка за множество свойства.

Освен това някои имоти са постоянни, тяхната стойност не може да се промени с течение на времето. Нека наречем такива свойства статичен, и тези свойства, чиято стойност може да се променя с времето, ще бъдат извикани динамичен.

Друга характеристика на връзката между обект и неговото свойство е знакът дали това свойство присъства във всички обекти от даден клас или липсва в някои обекти. Например, за отделни служители може да съществува свойството "АКАДЕМИЧНА СТЕПЕН", докато други обекти от този клас може да нямат, посоченият имот... Нека наречем такива свойства условни.

Когато изобразяваме връзката на условно свойство с обект, ще използваме пунктирана линия и за обозначаване на динамични и статични свойстваще използваме буквите D и S над съответния ред.

Понякога в един инфологически модел е полезно да се въведе понятието "композитно свойство". Примери за такива имоти биха били АДРЕС, състоящ се от ГРАД, УЛИЦА, КЪЩА и АПАРТАМЕНТ, и ДАТА НА РОЖДЕНИЕ, състояща се от НОМЕР, МЕСЕЦ и ГОДИНА. В ILM използваме квадрат, за да обозначим съставно свойство, от което произлизат линиите, свързващи го с обозначенията на съставните му елементи.

Връзки между обекти

В допълнение към връзката между обект и неговите свойства, инфологичният модел записва връзки между обекти от различни класове. Има връзки от типа:

  • „Едно към едно“ (1: 1): във всеки момент от време всеки представител (екземпляр) на обект А съответства на 1 или 0 представители на обект Б:
Студентът може да не „спечели” стипендия, да получи редовна стипендия или някоя от увеличените стипендии.
  • „Един към много“ (1: M): един представител на обект А съответства на 0, 1 или няколко представители на обект Б.
Апартаментът може да е празен, в него да живеят един или повече наематели.
  • „Много към едно“ (М: 1)

Тези видове взаимоотношения понякога се наричат ​​степен на връзка. В допълнение към степента на свързаност в инфологичния модел, за да се характеризира връзката между различните същности, е необходимо да се посочи така нареченият "клас на принадлежност", който показва дали не може да има връзка между обект от този клас и всеки обект от друг клас. Класът на обекта трябва да е задължителен или незадължителен.

Нека обясним какво беше казано конкретни примери... Както бе споменато по-горе, инфологичният модел не се изгражда за отделен обект, а показва класовете обекти и връзките между тях. Съответната диаграма, която показва това, се нарича диаграма от тип ER (това име се дължи на факта, че на английски думата "entity" се изписва като "Entity", а връзката е "Relationship"). Въпреки това, понякога в допълнение към диаграмите от типа ER се използват диаграми на ER-инстанция.

Да предположим, че инфологичният модел показва връзка между два класа обекти: "ЛИЧНОСТ" и "ЧУЖД ЕЗИК". -

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

Нека по-нататък приемем, че предметната област е институция, а обектът "ЛИЧНОСТ" отразява влизащите в тази институция кандидати. Всеки от кандидатите трябва задължително да владее чужд език, но никой не говори повече от един език.

И в първия, и във втория разглеждан случай се наблюдава отношението М:1 между обектите. На диаграмата това е показано от страната на обекта "ЛИЧНОСТ" с двойна стрелка, а от страната на обекта "ЧУЖД ЕЗИК" - единична стрелка на линията, изобразяваща връзката между тези обекти.

Разликата в разглежданите ситуации е, че в първия случай принадлежащият клас е незадължителен и за двете субекти, а във втория - за същността "ЛИЧНОСТ" класът на принадлежност е задължителен. Това е показано на диаграмата с точка в правоъгълника, съответстваща на обекта "ЛИЧНОСТ".

Нека предметната област е същата като в предишния случай, но има ситуации, когато някои кандидати знаят няколко чужди езика. В този случай връзката между обектите ще бъде от тип M: M.

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

В този случай връзката между обектите „ще бъде M: M, а класът на принадлежност на двете единици е задължителен“.

Прости и сложни обекти

За един обект се казва, че е прост, ако се счита за неделим. Сложен обект е комбинация от други обекти, прости или сложни, които също се показват в информационната система. Понятието "прост" и "сложен" обект е относително. В един изглед един обект може да се счита за прост, а в друг същият обект може да се счита за сложен. Например обектът "стол" в подсистемата за отчитане на материални активи ще се разглежда като прост обект, но за предприятие, произвеждащо столове, той ще бъде съставен обект (включително "крака", "гръб", "седалка", и др.).

Има няколко разновидности. сложни обекти: съставни обекти, обобщени обекти и агрегирани обекти.

Съставният обект съответства на съпоставянето на връзката цяла част. Примери за съставни обекти са ВЪЗЛИ - ПОДРОБНОСТИ, КЛАС - УЧЕНИЦИ и т.н.

Инфологичните модели обикновено не използват специални конвенции за показване на сложни обекти. Връзката между композита и съставните му обекти се показва по същия начин, както е описано по-горе. Освен това естеството на връзката също може да бъде различно: например "ДЕТАЛИ" и "ВЪЗЕЛИ" са свързани помежду си чрез релация от типа M: M, а "ГРУПА" и "УЧЕНИЦИ" - чрез релация от 1: M .

Обобщеният обект отразява наличието на връзката "род - вид" между обектите от предметната област. Например обектите СТУДЕНТ, УЧЕНИК, АВТОР, СТУДЕНТ СТУДЕНТИ образуват обобщен обект УЧЕНИЦИ. Обектите, които съставляват един обобщен обект, се наричат ​​негови категории.

Както "общ" обект, така и "специфични" обекти могат да имат определен набор от свойства. Освен това се наблюдава така нареченото наследяване на свойства, тоест „специфичен“ обект притежава всички свойства, които притежава „генеричен“ обект, плюс свойства, присъщи само на обекти от този тип.

Агрегираните обекти обикновено съответстват на някакъв процес, в който други обекти са "замесени". Например агрегираният обект "ДОСТАВКА" комбинира обектите "ДОСТАВЧИК", който доставя продукти, "ПОТРЕБИТЕЛ", който получава тези продукти, както и предоставения "ПРОДУКТ". Оригиналният обект е "ДАТА НА ДОСТАВКА". Агрегиран обект може, подобно на обикновен обект, да има свойства, които го характеризират. В разглеждания пример такова свойство може да бъде размерът на доставката.

Сравнение на методи за конструиране на ER-модели

ER моделите се използват много широко в практиката на проектиране на бази данни. Освен това те се използват както в ръчно, така и в компютърно подпомагано проектиране. Методология графично представянеМоделите ER се различават малко по различни системиавтоматизация на проектиране и в различни литературни източници.

След това ще разгледаме характеристиките на представянето на ER-моделите в трите най-много известни системиавтоматизация на проектиране (CASE-системи): Prokit * WORKBENCH, Desing / IDEF и CASE ORACLE, както и в някои литературни източници.

Има няколко категории разлики в изобразяването на ER модели.

1. Незначителни разлики, свързани с използването на различни символи за показване на едни и същи обекти. Така че, за да обозначите обект, правоъгълници, блокове с заоблени ъгли, овали и др.

Следващият набор от разлики се отнася до начина, по който са изобразени връзките между обектите и наименуването на връзките. Така че, в някои техники, за представяне на връзка в конектора на линия, показваща тази връзка, се предлага да се начертае ромб и да се напише името на връзката вътре или до него (модел на Чен). Тъй като връзките са двупосочни, името на връзката ще се промени в зависимост от това от коя страна се гледа. Поради това често се предлага в ILM да се посочат и двете имена (например в CASE системиОРАКЪЛ, Прокит). Освен това, за да стане ясно към коя посока на комуникация се отнася кое име, се приемат определени споразумения за това как да се поставят тези имена на диаграмите. Например в горната част на реда поставете имената, свързани с лявата страна на връзката, а под реда - отдясно. Наличието на такива Голям бройсимволи и надписи затрупват модела. Освен това самото присвояване на имена често е малко трудно, което увеличава трудоемостта на инфологичното моделиране. Ето защо, в случаите, когато това не води до неяснота и неяснота, ако системата го позволява, е възможно да се препоръча да не се използват специални обозначения и имена за връзки.

За изображението на типа на връзката се използват различни конвенции (1: 1, 1: M, M: M). Някои системи за автоматизация на проектиране, например Prokit, предоставят на потребителя възможността да избира от множество възможни обозначения тези, които харесват или са по-запознати. В тази система могат да се използват следните конвенции за посочване на типа връзки между обекти.

Различни конвенции също се използват за обозначаване на задължителното появяване на обекти във връзка („клас на членство / членство“). И така, в CASE ORACLE класът на членство се предава, както следва; от страната на връзката, с която елементът може да не е непременно във връзката, се използва Пунктирана линия, а когато членството е задължително, плътна линия. Като се вземе предвид класът на членство, са възможни видовете връзки, показани на фигурата.

Нотацията, използвана в CASE ORACLE, е по-удобна, тъй като ако даден обект участва в Голям бройвръзки, става неудобно да се поставят допълнителни правоъгълници с точки на фигурата.

В Desing IDEF естеството на членството във връзката е изобразено, както е показано на фигурата.

2. Различия, свързани също с начина на изобразяване на определени ситуации, но по-съществени, водещи до различия в самите модели. Например, в системата 3RACLE, обобщен обект се изобразява чрез "вложени" блокове, представляващи "специфични" обекти вътре в блок, представляващ "генеричен" обект. Фигурата показва изображение на обекта PERSONALITY, разгледан по-горе, в конвенциите, използвани в CASE ORACLE.

Както следва от сравнението на фигурите, изображението на обобщените обекти в сравняваните методи се различава не само във формата на представяне. Така че, ако даден обект е класифициран според различни критерии, тогава при използване на първия от разглежданите методи за изобразяване на обобщени обекти е ясно видимо на каква основа се извършва класификацията. Вторият метод на изображение не осигурява това. С други думи, методът за изобразяване на обобщени обекти, предложен в началото на главата, е семантично по-смислен и информативен.

Фигурата показва същия общ обект PERSONALITY, използващ синтаксиса на системата IDEF1X. По своята семантика този метод на изображението е по-близо до основния метод за ILM изображение, предложен от нас. Разликата е, че за обекти от категорията и "общи" обекти в IDEF1X се използват едни и същи обозначения -

3. Освен различията в представянето на определени същности, в теорията на инфологичното моделиране има разминаване в използваната терминология. Например, в CASE ORACLE общият обект се нарича syper-тип, а специфичен обект се нарича подтип. Има много такива разлики в терминологията, но това не е нашата цел сега.

4. Следващият кръг от различия е свързан с пространствения образ на определени компоненти на ILM. Например, свойствата на даден обект понякога не се показват в същата диаграма като обектите и връзките между тях и техните описания се изпълняват отделно. Често „написването на свойствата се представя в табличен или друг аналитичен вид, а не в графична форма.

ILM, дори за малка и неусложнена предметна област, включва описание на значителен брой компоненти и връзки между тях. Това повдига проблема с яснотата обща схема... Този проблем се решава по различни начини с ръчно и автоматизирано изграждане на инфологичен модел. V автоматизирани системинай-често се изгражда едно изображение на ER-модела и се използва техниката за мащабиране, когато чрез намаляване или увеличаване на мащаба на изображението можете да видите както цялата диаграма, така и нейния отделен фрагмент на екрана.

Използват се и различни техники за намаляване на броя на пресичанията на линиите на диаграмата. Така че в системата Prokit за тези цели е разрешено да се дублира изображението на обект и да се постави този дубликат до обекта, с който трябва да бъде свързан. За да покаже, че това не е нов обект, някакъв вид символ, например, ъгълът е маркиран за съответните блокове.

При ръчно проектиране обикновено не е възможно целият модел на ER да се изобрази като една диаграма. В този случай можем да препоръчаме следната техника: изобразете и опишете всеки обект независимо, присвоете на всеки обект кратък код... Използвайки тези кодове, за всеки обект посочете връзката му с други обекти.

5. Някои от възможностите, налични в някои системи или техники, липсват в други. В тези случаи са възможни различни варианти: а) за изобразяване на ситуацията се използват възможностите, предоставени от модела, но това изисква използването на определени техники, често донякъде изкуствени, за представянето им; б) ситуацията просто не е показана в модела.

Например, в много системи за инфологично моделиране се приема, че свойствата на даден обект могат да бъдат само единични. В този случай всяко множество свойство трябва да бъде представено като независим обекти изобразява връзката между този нововъведен обект и оригиналния обект.

В IDEF свойствата на обекта могат да бъдат само единични и винаги дефинирани (не условни). Ако дадено свойство може да отсъства от който и да е обект, тогава трябва да се изберат отделни субекти, например ЛИЧЕН СЛУЖИТЕЛ с атрибут ЗАПЛАТА и ЧАСове, който няма такъв атрибут. Това ще доведе до необходимостта от избор на голям брой обекти и връзки в ILM, за да се намали видимостта на модела. Например, отделни екземпляри на обекта PERSONALITY могат или не могат да имат академично звание, академична степен, година на дипломиране и много други характеристики. За всяка от тези функции ще трябва да подкласирате.

Някои методологии не въвеждат агрегиран обект като независима категория. В този случай агрегираният обект се изобразява като прост и потребителят първо трябва да дефинира неговия идентификатор и свойства. Ако моделът позволява да се показват само двоични връзки, тогава дизайнерът трябва да трансформира n-арната връзка в набор от двоични връзки.

В допълнение към посочените трудности при определяне на идентификатора на агрегиран обект, могат да възникнат проблеми при преминаване от HLM към логически модел на данни.

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

В някои CASE системи има ситуация, когато някаква конструкция е разрешена в системата като междинна. Например в IDEF и CASE ORACLE връзката M:M е разрешена като неспецифична връзка. Неговото присъствие е разрешено в ранните етапи на разработване на проекта и в бъдеще трябва да бъде заменено от специфична връзка чрез въвеждане на трето лице. Това е недостатък на системата, тъй като, първо, не всички СУБД изискват такава трансформация (някои системи поддържат отношението M:M в изрично), и второ, ако е необходима такава трансформация, тя може да се извърши автоматично от системата за автоматизация на проектиране на етапа на логично проектиране. Дори ако се извършва "ръчно" проектиране, тогава посочената трансформация трябва да се извърши от проектанта на етапа на логично проектиране, а не при описание на предметната област. Освен това, по време на разглежданата трансформация на етапа на инфологично проектиране, IDEF въвежда нова категориясубекти - пресечни единици или асоциативни образувания. Въвеждането на нови обекти включва въведение в ILM и допълнителни връзки... Всичко това, взето заедно, усложнява и без това трудната задача на инфологичния дизайн.

В предметната област може да има обекти, чиито идентификатори зависят от идентификатора на друг обект. Например, ако обектите в предприятието са номерирани в рамките на цех, тогава идентификаторът на обекта ще бъде съставен, включително кода на цеха и кода на обекта. В инфологичния модел можете да се ограничите до определяне на този идентификатор на съединението. Някои техники за изграждане на ER-модели (например методологията IDEFIX, Prokit) предвиждат въвеждането специални видовеобекти и специални типове връзки за показване подобни ситуации... Така че, в IDEF, субект, за чиято идентификация е необходимо да се разгледа връзката му с други субекти; се нарича ID-зависим обект и използва поле със заоблени ъгли, за да го покаже. Правоъгълник се използва за представяне на обект, независим от идентификацията. За свързването на обекти, единият от които е необходим за пълното идентифициране на другия, се въвежда понятието идентификационна връзка. За него се въвежда и собствен символ. В IDEF се използва плътна линия за идентифицираща връзка и пунктирана линия за неидентифицираща връзка.

6. Както бе отбелязано по-горе при разглеждане на принципите на инфологичното моделиране, понятията „обект”, „свойство”, „отношение” са относителни. И така, в предложения от нас основен инфологически модел, различни видовеобекти: прости, сложни, агрегирани, обобщени. Някои системи, като IDEF, нямат такава класификация на обекти и вместо това използват разновидности на релации.

И той, и другият подход има право на съществуване. Фундаментална разлика, което води до значителни последици, не е в сравняваните подходи.

Структурни елементи на базата данни

В описанието на обект с данни трябва да подчертаете 2 компонента: структура и екземпляр.

Структура- списък с атрибути на обекта и характеристики на атрибути.

Инстанция- набор от стойности на атрибути.

Структурата се променя много рядко. Инстанцията подлежи на промяна.

Когато се съхранява в компютър, база данни съответства на група файлове и папки, файл съответства на набор от обекти. Всеки обект има съответен запис във файла. Всеки атрибут има съответно поле за запис.

Следните характеристики се използват за описание на атрибут:

1.име, например, nContract, cStudent;

2. тип, например, знак, число;

3. дължина, например 15 байта;

4. прецизност, за числови данни.

5. описание, коментар;

6. формат на изображението на екрана и хартията;

7. намек;

8. входен формат;

9. начална стойност;

10. диапазон от стойности.

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

За един комплект могат да бъдат посочени множество ключове. Например, за набора от служители можете да посочите ключ по азбучен ред на фамилните имена, служителите ще бъдат представени по азбучен ред.

Ключът се нарича първиченако 0 или 1 обект е избран от набора от една стойност на неговия израз. Например за набиране на служители ключът „По номер на персонала“ е основен, тъй като за една стойност на номера на персонала не се разпределя нито един служител, или само един служител.

Ключът се нарича вториако от набора са избрани 0 или повече обекта по една стойност на неговия израз. Например, ключът за набиране на служители, ключът „Азбучни фамилни имена“ е второстепенен, тъй като сред служителите може да има съименници.

Според аксиомата за разликата всеки набор има първичен ключ. В краен случай неговият израз включва всички атрибути на обекта в набора.

Добра практика е да се въведе изкуствен атрибут "Sequence # in set" за обект с данни, който е автоматично присвоен и уникален. Ключът за този атрибут се нарича сурогат.

Имайте предвид, че понятията за първичен и вторичен ключ са независими от броя и стойностите на обектите в набора. Има първични и вторични ключове за празни набори.

Нека има n набора от обекти Е 1, Е 2, ..., Е n.

Комуникацияе наборът от поредици от обекти (e i 1, e i 2,…, e i n), където e i 1 Î E 1, e i 2 Î E 2,…, e i n Î E n.

С помощта на връзки наборите от обекти се комбинират в единна информационна структура.

Има три типа връзки между два набора от обекти (n = 2):

1. едно към едно (1:1);



2. един към много (1: M);

3. много към много (M: N).

"едно към едно",ако за всеки обект от първия набор можете да посочите 0 или 1обект от втория набор и за всеки обект от втория набор можете да посочите 0 или 1обект от първия комплект.

Примери за връзки 1:1 са връзки между:

Ученици и учебници,

Между щатите и валутите,

Между офицерите и служебните оръжия,

· Между граждани и задгранични паспорти. Всеки ученик или няма тетрадка, или има само една.

За всеки ученик или ученикът не е в списъка, или има само един.

Връзката между двата комплекта E 1 и E 2 е от типа Едно към много 0 или повече 0 или 1обект от първия комплект.

Примери за връзки 1: M са връзки между

Банки и депозити,

Депозити и вноски,

Между групи и ученици,

Между отделите и служителите,

Между изявления и редове от изявления,

· Между клиенти и заявки.

Всяка банка няма депозити (банката все още не е открила) или може да има много депозити. За всеки депозит или не е посочена банката, или има само една.

Връзката между двата комплекта E 1 и E 2 е от типа Много към многоако за всеки обект от първия набор можете да посочите 0 или повечеобекти от втория набор и за всеки обект от втория набор можете да посочите 0 или повечеобекти от първия комплект.

Примери за отношения M: N са връзки между

Продукти и държави,

Между студентите и дисциплините,

Между служители и проекти,

Между поръчки и стоки,

· Между магазини и клиенти.

Всеки продукт може да бъде изпратен от много страни и изобщо да не бъде изпратен. Всяка страна може да доставя много продукти и нито един.

Връзките са изобразени графично със стрелки (Фигура 4.5).

В реалната СУБД се реализира само един тип връзка – едно към много.

Връзка 1:1 се получава от връзка 1:M чрез ограничаването му.

За реализиране на връзката M:N се въвежда нов набор от обекти и се използват две 1:M отношения.

Например връзката между държавите и продуктите M:N се получава с помощта на набора от данни „пратки“ (Фигура 4.6).