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


Глава 7. Проектиране на базата данни



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

Глава 7. Проектиране на базата данни

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


7.1. Правила за моделиране на базата от данни
Както се установи един от най-разпространените модели – релационният модел се основава на категориите: релация (таблица), концептуална релационна схема, релационен обект-наредена n-торка (ред в таблица) , свойство и домен (област на значенията). Релационният информационен модел на дадена предметна област се конструира от тези пет категории - описание на релационните схеми, списъци на нормализираните релации, n-торки, списъци на съставящите обектите свойства и списъци на домените, които представят всички приети от модела типове данни. Ограничителните правила за създаването на концептуален релационен модел на една база от данни са:


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

  2. Всяка релация е нормализирана поне до трета нормална форма.

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

  4. Нормализираната релация съдържа поне една n-торка (обект, ред в kтаблица).

  5. Една n-торка (обект, ред) участвува само в една релация.

  6. Една n-торка (обект, ред) се формира от поне едно свойство.

  7. Едно свойство трябва да принадлежи на поне една n-торка (обект, ред).

  8. Едно свойство има един единствен домен.

  9. Един домен може да бъде използуван от едно или повече свойства.

  10. Един домен съдържа данни само от един атомарен тип.

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

Фиг. 7.1. Ограничения в релационния модел

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


  1. Данните от различните класове обекти трябва да бъдат запомнени само в таблици.

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

  3. Във всеки модел трябва да се разрешат колизиите от връзки “много към много”, както и да се сведат до релационен вид йерархичните и мрежовите структурни елементи.

  4. Във всеки модел трябва да се извърши нормализация върху релациите (таблиците) поне до трета нормална форма.

  5. Във всеки модел да се определи типът на данните за отделните свойства.

  6. При моделирането да се дефинират индексите (обикновено за главните ключове).

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

  8. Базата от данни трябва да съдържа мета данни т.е. данни за данните, които да бъдат организирани в съответствие със структурата й.

  9. Правилата за цялост трябва да бъдат запомнени също в базата от данни.

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

  11. Трябва да има програмен език, с който да се обработват данните от базата от данни.

  12. Програмният език за работа с базата от данни трябва да бъде множествено, а не записно ориентиран.

  13. Не бива да се допуска промяна на правилата за цялост, които са запомнени в базата от данни.

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

  15. Таблиците със заявки трябва да отразяват измененията в базата от данни, както и да могат да приемат изменения в логиката на създаването им.


7.2. Проектиране и създаване на приложения с бази от данни

Целият процес по създаването и използуването на една база от данни преминава през следните стъпки:



  • Определяне на целите и обхвата на информационната система;

  • Идентифициране на реално съществуващите в управленско-информационната система и удовлетворяващи поставените цели класове от обекти;

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

  • Дефиниране на таблиците за окончателно определените класове от обекти;

  • Задаване на връзките между окончателно определените класове от обекти;

  • Дефиниране на ограниченията за цялост;

  • Изясняване на необходимите на системата форми и отчети;

  • Проектиране на заявките, необходими за създаване на формите и отчетите;

  • Създаване на формите и отчетите;

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

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

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



  • чрез графичен потребителски интерфейс;

  • чрез макроси;

  • чрез език за програмиране.

Всеки от тези начини има своите предимства и недостатъци. В МS Access ролята на графичен потребителски интерфейс може да се изпълнява от инструмента Control Wizard. Той подпомага дефинирането на рутинните потребителски операции чрез прозорец със серия от въпроси. Когато обаче са необходими по-сложни операции или последователност от такива, той не може да бъде полезен.

Функционалността на графичния потребителски интерфейс може да се разшири чрез използуването на макроси. Даден макрос се създава, за да обхване последователност от потребителски операции върху зададен клас от обекти (включително заявки, форми, отчети) и да позволи изпълнението им, разглеждано като едно събитие, чрез функционален бутон. В МS Access създаването и използуването на макроси става чрез инструменталния бутон Масro.

Програмното кодиране дава възможност за още по-голямо разширение на функционалността на потребителския интерфейс. То може да бъде реализирано например на Visual Basic for Application (VBA) или в интегрираната графична среда Delphi. В известна степен приложението на макросите изисква също познаване на VBA. Затова в много случаи се препоръчва създаването на потребителски интерфейс да бъде осъществено с позаписно ориентирани езици за програмиране като горе цитираните или с множествено ориентирания специализиран за работа с бази от данни програмен език SQL. При работа с VBA може да се извиква програмният код на подобно на исканото приложение, създадено със средствата на графичния потребителски интерфейс, и да се изграждат бързо и лесно желани негови модификации. Програмирането с множествено-ориентираният език SQL специфицира целите класове от обекти (таблици) и по този начин осигурява бърза и ефективна програмистка работа.

В настоящия труд се разглеждат възможностите за създаване на потребителски приложения както чрез QBE (Query by Example), така и чрез множествено ориентирания специализиран за работа с бази от данни програмен език SQL и чрез позаписно ориентираните езици като VBA.

Първата стъпка е тясно свързана със целта и задачите, поставени за разрешаване от управленската информационна система.
7.3. Включване на базата от данни в проект на управленска информационна система
Всеки проект на управленска информационна система трябва да отговаря на следните изисквания:


  • да задоволява функционално необходими и очертаващи се перспективни информационни потребности;

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

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

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

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

  • да постига икономичност и ефективност по отношение на ресурсни изисквания.

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

  • избор на единен принцип, по който се определят задачите (функционален, ресурсен, структурен и др.);

  • изчерпателно дефиниране на задачите според единния принцип;

  • осигуряване непротиворечивост на задачите;

  • съобразяване с обема на обработваната информация;

  • задаване периодичността на задачите.

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

Фиг.7.2. Технологична блок-схема за проектиране на управленска информационна система


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

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

  • Входящата информация се определя след като е определена изходящата и в зависимост от нея;

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

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

  • При определяне на входящата информация трябва да се избягва повторението на еднакви или синонимни свойства;

  • Да се предвидят средства са осигуряване на коректност, сигурност и защита на информацията;

  • Да се предвидят точни идентификатори за отделните екземпляри в множествата от обекти.

Информационният анализ започва с установяване на информационните потребности на изхода на дадената задача във връзка с функциите, които тя трябва да изпълнява. Тук се отделя специално внимание и на средствата за сигурност и защита на информацията. Коректността на информацията се постига чрез контрол на данните. Някои ефективни форми на контрол са върху:

  • типа на данните (например “име” е от символен тип);

  • граничните стойности на свойствата (например “дата” може да се изменя в интервала 1-31);

  • минимален и/или максимален брой на подчинените елементи (например декартовите координати в равнина трябва да бъдат две);

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

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

Х Х ХХ

½ ½ ____________ група



½________________ курс

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

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

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

N=n1+B1.n2+B1 .B2.n3+…+B1 .B2…Bi.ni+1+…+B1 .B2…Bk-1.nk,

където N - нов шифър;

Bi - основа на бройна система i;

Ni – стойност на позиция в старата бройна система, ni< Bi;

k- индекс на последната бройна система.

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

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



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

  • изясняване на връзките между обектите (1:1, 1:М, М:1, М:N);

  • обосновка и избор на модел за външна схема на всяка задача;

  • описание свойствата на отделните класове от обекти;

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

  • нормализация;

  • преобразуване и обединение на отделните външни схеми в обща концептуална схема;

  • съставяне на технология за навигация в базата от данни и формиране на извежданията.

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

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



  • техническата среда, в която ще се работи;

  • нива на обхващане и потребност на информацията;

  • необходимост от работа в мрежа;

  • обем на обхващаната информация и свързаната с това необходима външна памет;

  • режим и график на работа;

  • връзка с други съществуващи системи;

  • необходимост от бърз достъп до информацията;

  • честота на ползуване;

  • лекота при формиране на изходни форми;

  • типове крайни потребители.

Следващият съществен момент е проучване на съществуващите СУБД, пригодни да се използуват за така охарактеризираната информационна система. Те трябва да бъдат анализирани по отношение на:

  • начин на създаване и поддържане на базата от данни;

  • време за достъп до информацията;

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

  • изисквания към техническото осигуряване;

  • възможност за работа в мрежова среда;

  • възможност за връзка с други системи;

  • изисквана динамична и външна памет.

След избора на някоя от съществуващите системи за управление на бази от данни трябва да се отрази разработеният концептуален модел на собствената информационна система в модела, поддържан от избраната СУБД, както и да се проектират потребителските извеждания с нейните средства. Това става съгласно указанията и ръководствата за потребителя на съответната програмна система. За целта е необходимо проектантът освен с изискванията на собствената информационна система да се запознае добре с: функциите на съответно избраната СУБД; характеристиката на устройствата с пряк достъп; приложните програми, които ще бъдат свързани със системата.

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

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

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

изнасяне на операциите проекция, селекция и сечение в колкото е възможно по-ранни етапи на обработката;

оставяне на операциите съединение, обединение и декартово произведение в последните етапи на обработката;

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

Пример за конкретно технологично решение е даден на фиг. 7.3.




Фиг. 7.3. Технология за обработка и получаване на извеждане.

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

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




Част II. Въведение в ACCESS чрез примери




Въведение в Access

чрез примери





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




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

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