Румяна Цанкова Владимир Л. Станчев Работа с бази от данни в примери на access 2003 2007


Глава 4. Основни видове модели на данните



страница4/20
Дата13.11.2018
Размер3.1 Mb.
#104752
ТипГлава
1   2   3   4   5   6   7   8   9   ...   20

Глава 4. Основни видове модели на данните



Конвенционални модели на данните

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

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


Фиг. 4.1. Схема на йерархичен концептуален модел.

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

Фиг. 4.2. Схема на прост мрежов концептуален модел.

За избягване на растящата сложност на йерархичното и мрежовото моделиране се прилага релационният модел. Той се основава на едно по-просто и подлежащо на формализация разглеждане на данните като съвкупност от времепроменливи плоски таблици-релации. Релациите R са множества от подредени n-торки (кортежи) s1, s2,..,sn, такива, че s1S1, s2S2,.., snSn. Множествата S1,S2,..,Sn се наричат домени и обхващат всички възможни стойности на дадено свойство. Например доменът на оценките е: 1,...,6; доменът на месеците е: 1,...,12. Възможно е един и същ домен да се отнася за няколко свойства – например доменът на окръзите за месторождение може да бъде еднакъв с доменът на окръзите за местоживеене. R е подмножество на декартовото произведение S1xS2x…xSn. Обикновено отделните релации се представят като отделни таблици, в чиито стълбове се разполагат свойствата, а всеки ред представлява n-торка от стойности на свойствата за даден обект. За таблиците, разглеждани като релации в една база от данни, трябва да бъдат изпълнени следните условия:


  • подреждането на редовете е несъществено;

  • всички редове са различни;

  • съдържанието на колоните е в съответствие с областите на дефиниране на релациите-домените;

  • съществено за всяка колона е наименованието й;

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

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

Пункт за измерване (номер на пункт, име на пункт, име на река)

Пункт-замърсител (номер на пункт, име на замърсител, характеристика, име на река)

Координати (номер на пункт, вид географска координата, стойност на координатата)

Измерван параметър (номер на параметър, име на параметър, дименсия, ограничителна стойност)

Дата на измерване (дата, сезон)

Измерена стойност (номер на параметър, номер на пункт, дата, стойност)
Фиг. 4.3. Представяне на релационен концептуален модел.

Както се вижда от фиг. 4.1. и фиг. 4.3. йерархичният модел може да се представи чрез релационен. В този случай в релационната таблица информацията от по-високо равнище се повтаря за всеки от елементите от подчиненото му на по-ниско равнище. Мрежовият модел от своя страна може да се сведе до йерархичен - фиг. 4.2. и фиг. 4.1. и по този начин на две стъпки да се представи с релационни таблици. Изборът на едно или друго представяне е свързан с компромис между простота и излишък на информация от една страна и по-сложна структура с по-компактно изобразяване - от друга. В редица предметни области като мениджмънта например характерните структури на данните са йерархичните, а в инженерното проектиране – мрежовите. От друга страна, обаче, в базите от данни най-голямо разпространение са намерили релационните модели. Това именно налага усвояване на възможностите за преобразуване на моделите от един в друг вид.


Обектно-ориентирани модели на базите от данни.

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


1 m1



m2 m3


Фиг. 4.4. Йерархия в класовете при обектно-ориентираните модели.

Специалности - SPEC (Шифър на специалност, Име на специалност, Срок на обучение)

Групи - GRUPI (Номер на група, Брой студенти в група)

Студенти - STUD (Факултетен номер, Име на студент, Номер на курс)
Информацията за връзките, които тук са представени като асоциации, както е показано на фиг. 4.5, не се дублира от класовете и представлява изображение между класа и подкласа. При това положение изрично посочване на външни ключове за уникалност не е необходимо.

Специалности Студенти

Топлотехника Иван Петров

Топлотехника Стефка Пеева

Радиотехника Константин Семов

Радиотехника Росица Цанева

Фиг. 4.5. Изображение на йерархията в класовете.

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




Студенти - (Факултетен номер, Име на студент, Номер на курс, Номер на група, Шифър на специалност)

Студенти-преподаватели - (Факултетен номер на студент-преподавател, Факултетен номер на студент, на който преподава)

Фиг. 4.6. Релационен модел за студентите-преподаватели

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

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

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


  • постигане на максимална простота в представянето на структурата на данните;

  • отразяване на съществените, трайни и перспективни характеристики на обектите;

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

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

  • регулиране излишъка на информация в приемливи размери.

Простотата в представянето улеснява работата с не специализираните потребители, създава предпоставки за лесно разпознаване и разбиране на данните. В много случаи тя предопределя по-проста и съответно икономична физическа организация. Мрежовият модел се предпочита, когато връзките са сложни и всяко друго решение по отношение на достъп и обработка на информацията не е по-просто. Йерархичният модел има предимства при многоуровневи системи с преобладаващи извеждания и натрупвания по различни равнища. Релационният модел се предпочита при несложни йерархични структури с разнообразни потребителски заявки - извеждания по нива и търсения по ключ. Изграждането на релациите се съобразява както с принципите за простота, така и с характера на основните извеждания – стреме-жът е за създаването на по-сложни извеждания да се използуват по-малък брой едновременно обработвани релации. Обектно-ориентираният модел осигурява по-висока семантична яснота и се предпочита при комплексни обекти.

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

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

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


Включване на обектни, йерархични, мрежови и неструктурирани елементи в релационния модел

И релационният и обектният подходи имат известни предимства и недостатъци. За целите на взаимните преобразувания и съпоставителния анализ се използува следното терминологично съответствие:

Релационен модел Релация n-торка Свойство Връзка

Обектен модел Клас Обект Свойство Асоциация

Физическа организация Файл Запис Поле Указател

Електронни таблици Таблица Ред Колона Справка


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

Както вече се изясни йерархичните и мрежовите структурни елементи са често срещани в много предметни области. Едно важно приложение на мрежовите структури в инженерното проектиране и мениджмънт е определяне на потребностите от материали за изпълнение на дадена производствена програма тъй нареченото монтажно специфициране (Bill of materials). Монтажната спецификация е описание на всички съставящи изделието компоненти като се вземат под внимание повторенията по целия граф на структурата му т.е. структурата на изделието се представя чрез мрежов модел. С помощта на монтажната спецификация се осъществява монтажа на изделието, специфицирането на необходимите материали, остойностяването на изделието, оценяването на ефективността на даден конструктивен вариант, поддържането на необходимите складови запаси, изборът на ефективен технологичен процес. Затова нейното ефективно структуриране и създаване се отразява на цялостната стопанска дейност на промишленото предприятие. При компютърната обработка на монтажните спецификации обаче се налага да се работи с релационни структури и съответно представяне на така описаната мрежова структура чрез релационни таблици. Свеждането на мрежовите монтажни спецификации до релации става на два етапа. Най-напред мрежовите структури се превръщат в йерархични чрез повторение на еднаквите компоненти, подчинени на различни възли. Разглеждаме изделие А, състоящо се от възлите В, С, D и Е-фиг.4.8. Детайлите са номерирани като са показани също многократните им включвания. На следващия етап йерархичните структури се превръщат в релации. Има две техники за релационно представяне на гореприведената йерархична структура на монтажна спецификация. При първата техника структурните връзки се представят като отделна релация на връзките с две колони - идентификатор на родител и идентификатор на наследник. При втората техника в релационната таблица за компонентите идентификаторът на родителя се повтаря за всеки от наследниците му. Така компонентите се идентифицират чрез съставни главни ключове.



4.8. Монтажна схема като йерархична структура

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

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


Разрешаване на нарушена цялост и липсващи данни в релационния модел

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

Към задължителната информация на първо място спадат идентификаторите (главните ключове). Освен това всяко свойство изисква определен тип на данните – текстов, цяло число, реално число, дата, час, процент и т.н.

За установяване верността на идентификаторите могат да се използуват самопроверяващи се кодове. За целта идентификаторът се увеличава с контролно число, получено по специален алгоритъм. При грешка в идентификатора програмната проверка установява различие в контролното число и сигнализира за търсене на причината. Например нека да имаме петпозиционен главен ключ а5а4а3а2а1. В резултат на изпълнението на алгоритъма а5.2+а4.1+а3.3+а2.2+а1.1=к2к1 се създава идентификатор с контролно число к1 във вида а5а4а3а2а1к1. В литературата съществуват многобройни алгоритми за определяне на контролното число, които осигуряват съответна изисквана точност.

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

Връзките между различните таблици се осъществяват чрез главните и външните ключове. Накратко казано “аномалиите” тук се заключават в това да не се допуска: добавяне на стойност на външен ключ, която няма съответна стойност на главен ключ; отстраняване на стойност на главен ключ, която все още съществува като външен ключ. Това означава да се съобразява попълването на таблиците с данни да става в последователността: най-напред се попълват таблиците с главни ключове, а след това подчинените таблици с ползуващи главните ключове външни ключове. Едно добро решение за избягване на грешките във външните ключове при попълването на подчинените таблици в Access е използуването на графичния потребителски интерфейс с Combo box. В примера от предметна област за доставка и пласмент на техника в малко предприятие – фиг. 8.5. най-напред трябва да се попълнят таблиците Dostavchici, Nomenklatura и Klienti и едва след това таблиците Dostavki и Prodazbi.

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




Сподели с приятели:
1   2   3   4   5   6   7   8   9   ...   20




©obuch.info 2024
отнасят до администрацията

    Начална страница