Видове операции с данните
Операциите с данните по принцип са втория компонент на модела на данните и тяхното разглеждане на този етап е необходимо за изясняване спецификата на съответната предметна област. В теоретичен аспект операциите с данните се разглеждат на външно (потребителско), концептуално и вътрешно равнища.
Операции с данните на външно (потребителско) равнище
Потребителските операции са действия, които показват какво трябва да се получи след обработката. Те са укрупнени и ориентирани към посочване на цялото множество от обекти и свойства, с които се работи. От семантична гледна точка операциите с данните на външно равнище биват три групи: търсене, изменения, библиотечни операции. Разбира се тези операции имат разнообразни варианти в зависимост от модела на данните и функциите в предметната област. Осъществяването на операциите става над конкретните обекти, за които съществува общ модел. Информационното търсене осъществява намирането и ползуването на екземпляр от данни по зададено условие.
В условието за търсене могат да участвуват константни или променливи стойности на свойства, аритметични операции и отношения, логически операции. В зависимост от вида на условието търсенето може да бъде просто – отделяне на част от информацията за всички екземпляри – или същинско – отделяне на екземпляри, удовлетворяващи дадено изискване. Тези разновидности са проява съответно на квантора на общност и квантора на съществуване и могат да се използуват в различна последователност върху едни и същи множества. Същинското търсене бива пряко и косвено в зависимост от това дали стойностите на свойствата са известни в началото на търсенето или е необходимо да се открият чрез посредничеството на други свойства. Например, за да се открият пунктовете, в които измерваните параметри надхвърлят ограничителната стойност, е необходимо най-напред да се отделят измерванията с екстремни стойности, след това да се открият ограничителните стойности за съответните параметри и накрая да се отделят пунктовете, които отговарят на поставеното условие. При наличие на йерархически връзки може да се осъществят два вида стратегии на търсене: отгоре надолу – структурно специфициране и отдолу нагоре – приложимост. При структурното специфициране се извежда последователно съдържанието на йерархичните нива, а при приложимостта се показва даден елемент в кои по-горни йерархични нива участвува.
Общото наименование на операцията изменения включва операциите за създаване, добавяне, отстраняване (отпадане) и корекции. Допустими са и групови изменения на едно и също свойство. Всяка информационна съвкупност търпи изменения – отпадат екземпляри, добавят се нови екземпляри, коригират се някои стойности на свойства, добавят се или отпадат цели свойства. Отстраняванията и корекциите са свързани с търсене на определени екземпляри и съответно условие за търсене. В случаите, когато на условието за търсене отговарят повече екземпляри, имаме групови отстранявания и групови корекции. Създаването на нови релации може да се разглежда като частен случай на добавянето. За това най-общо казано измененията са три вида: добавяния, отстранявания и корекции.
Библиотечните операции най-често осъществяват по-сложни операции, свързани с агрегиране като: натрупвания, изчисляване на средни стойности, отброявания, ранжирания, намиране на екстремуми и др. Осъществяват се с помощта на аритметични операции включително и по йерархични нива. Двете групи йерархични търсения често се комбинират с библиотечни операции.
Така представените потребителски операции се развиват на концептуално равнище чрез операциите на релационния модел, представени с релационната алгебра. В релационната алгебра се включват както класическите теоретико-множествени операции: обединение, сечение, разлика, декартово произведение, така и специалните операции: проекция, селекция, съединение.
Обединение (Union)
Теоретико-множествената операция обединение има практически смисъл и позволява да се създаде нова таблица от две съществуващи таблици. За целта тези таблици трябва да са “съвместими по обединение”. Това означава да са с еднаква структура (еднакъв брой, имена и тип на полетата). Освен това стойностите им трябва да са от едни същи домейни. Ако има еднакви обекти в двете таблици, те не се повтарят в резултата. Обединението най-често се използува за извършване на масово добавяне на данни, както и в условията на мрежова среда за обединяване на локални бази от данни в централна такава.
Разлика (Difference)
Теоретико-множествената операция разлика също има практически смисъл и позволява да се създаде нова таблица от две съществуващи таблици. В този случай новата таблица съдържа само записи, които се съдържат в първата таблица, но не – и във втората. Двете таблици трябва също да са “съвместими по обединение”. Разликата най-често се използува за извършване на групово отстраняване на данни, както и в условията на мрежова среда.
Съединение (Join)
Операцията съединение е бинарна. Тя съединява две релации по общо свойство. При това общото свойство може да изпълнява дадено условие. Резултатът е по-сложна релация. Съединението е най-сложната и времеемка релационна операция. Затова тя трябва да се изпълнява след всички възможни опростявания с другите релационни операции. За целта преди съединението се изпълняват селекциите и проекциите, ако са необходими.
За да може да се осигури пряк достъп до отделните обекти в релациите и съответно по-бърза обработка, те трябва да бъдат подредени по съответните ключове. В общия случай това става чрез сортиране, но при работа с бази от данни възникват някои проблеми. Тук твърде често са необходими различни сортировки и съответно поддържане на няколко файла от една и съща таблица. Тези затруднения се разрешават чрез техника, наречена индексиране. Индексирането е логическо подреждане на обектите от дадена таблица по последователността на зададен ключ. Този ключ може да бъде не само главен, а и групов. Допустимо е и индексиране по външни ключове, но то е съпроводено с по-големи разходи на компютърно време. Също така една таблица може да има повече от един индекс. Един проблем при индексирането е фактът, че внасянето на изменения в основните таблици, трябва да се последва от отразяването им в индексите, което също изисква време. Затова не бива да се прекалява с броя на индексите към една таблица. Когато общото свойство в някоя от две съединявани таблици не е индексирано, се прави сортировка по него.
____________
ИЗ “РАБОТА С БАЗИ ОТ ДАННИ”
в примери на ACCESS 2003 – 2007
със SQL, VBA и ADO
© Румяна Цанкова
© Владимир Л. Станчев
Под редакцията на проф. д.т.н. Румяна Цанкова
Корица и оформление Владимир Л. Станчев
Рецензент доц. д-р инж. Светослав Димков Велев
МП Издателство на Технически университет – София
София, 2007
Сходни статии:
- Основни видове типове данни Типът на данните е математическа и информационна структура. Той е основно свойство на данните. Всеки тип определя допустимо множество от стойностни на съответните данни и операции, които могат да се...
- Свързана опашка. Основни операции в C++ Указателят F сочи особен елемент със същата структура като останалите елементи в опашката, като в полето му link се съдържа указател към първия елемент на опашката. Празна опашка – F...
- Архитектура на База Данни. Етапи на проектиране. Модели бази данни Понятие за архитектура на База Данни Архитектурата на База Данни включва 3 нива Информационни връзки. Модели на данни. При проектирането на база данни се преминава през няколко етапа. Най напред...
- Разпределени бази данни. Предимства и недостатъци на работата с база данни Осигурява икономия при използването на персоналните компютри, намалява грешките от централизацията на данните и нараства отговорностите към мениджърските нужди. Данните могат да бъдат разделени на части и базирани на регионален,...
- Свързан стек. Основни операции typedef int INFO_TYPE; struct stack_el{ INFO_TYPE info; stack_el *link; }; //Функция за добавяне на елемент void push(stack_el **t, INFO_TYPE x) //Указателят към върха на стека трябва да се промени, затова...