1. Необходимост от бази от данни
До появата на ЕИМ от трето поколение (първите се появяват в 1965 г.), технологията на автоматизираната обработка на информацията се характеризира със създаването на отделни файлове за всяко приложение, като наред с това се използват отделни програми за създаване, актуализация и извличане на информация. С нарастване изискванията на потребителите за подобряване на информационното обслужване, проявявано като условие към информационните системи по отношение на количеството и съдържанието на желаната информация, се налага обхващане на нови данни и осигуряване на нови изходни форми, изискващи и нови видове обработки на данните. Същевременно броят на потребителите, желаещи да изпълняват своите служебни задължения като се базират на по-голям обем информация, непрекъснато нараства. В зависимост от потребностите им изходната информация е различна, но се основава на обработката на едни и същи данни. Това налага да се създават, съхраняват и поддържат за всяко едно приложение един или няколко файла, обслужвани от отделни програми. При това не е съществувала независимост между данните и програмите, и всяка промяна в данните или запомнящите устройства е налагало да се модифицират и използваните програми, или пък да се създават нови програми. Значителна част от данните се съхранявали и поддържали многократно, като се получавало значителното им дублиране, а това закономерно е водело до неоправдано нарастване на разходите за съхраняване и обработка. На рис. 1.1. е илюстрирано използването на отделни файлове за всяко приложение. При положение, че един потребител се нуждае от информация, включваща данните B, M и К, разположени в три различни файла, то задоволяването на неговите информационни нужди налага създаването на нов файл и нови програми, като това неминуемо довежда след себе си до увеличаване на степента на дублиране на данните В, М и К.
рис. 1.1.
Разгледаните проблеми са съпътствали технологията на автоматизираната обработка на информацията и непрекъснатия процес в развитието на ЕИТ - появата на външни запомнящи устройства с пряк достъп и усъвършенстването им, непрекъснатото развитие на програмното осигуряване и др., насочват към прилагането на нов подход за организацията и използването на данните. Този подход позволява да стане реалност еднократното овхващане, съхраняване и поддържане на данните и осигуряването на възможност за тяхното използване от различни потребители при минимални разходи на средства и време. Това може да бъде реализирано, ако данните се организират като база от данни, което позволява да се постигне следното: да се намали рязко дублирането на данните, съхранявани върху технически носители; да се постигне независимост на данните от програмите, които ги използват, така че данните да могат да се изменят без да се изменят програмите; независимост между отделните програми, които използуват едни и същи данни; да се осигури възможност за търсене и извличане на данните, без да е необходимо създаването на програма на алгоритмичен език; да се намалят разходите по съхраняване и поддържане на данните; лесно и удобно да се реализират процесите, свързани с разширяването и изменението на данните.
На рис. 1.2. е посочено използване на данните при база от данни.
рис. 1.2.
Обратно към началото
2. Определение и характеристика
Могат да бъдат приведени множество различаващи се едно от друго определения за базите от данни, които в различна степен разкриват съдържанието на понятието. Като работно определение ще приемем дефиницията, според която под база от данни се разбира: “Съвкупност от взаимосвързани данни, съхранявани заедно с управляема повторяемост, която допуска тяхното оптимално използване за едно или няколко приложения; данните се запомнят така, че да бъдат независими от програмите, които ги използват; за добавяне на нови или модифициране на съществуващите данни, а така също за търсене на данните в базата от данни, се използва общ управляващ способ”.
Определението може да бъде разширено, като се посочат и основните характеристики на базата от данни: независимост между логическата и физическата структура на данните; минимална управляема повторяемост на данните; пълна независимост на програмите на потребителите от структурите на данните; многократно използване на данните за задоволяване на информационните нужди на потребителите; лесна и гъвкава актуализация и употреба на общи методи за достъп до данните; възможност за бърза обработка на постъпили заявки за информационно обслужване; прилагане на единни методи за защита на данните от унищожаване, промяна и неправомерен достъп до тях; възможност за осъществяване на произволни връзки между съхраняваните данни.
Въплътяването на посочените характеристики се извършва при проектирането на логическата и физическата структура на базата от данни и чрез използваната СУБД.
Основните термини (елементи), използвани при описването на данните от гледна точка на приложния програмист, подредени във възходящ ред, са (вж. рис. 1.3.):
рис. 1.3.
- елемент данни (поле) - най-малката единица именувани данни и може да се състои от произволно количество битове или байтове;
- сегмент (група полета) - именувана съвкупност от полета от записа, разглеждани като едно цяло (логически свързани помежду си);
- запис - именувана съвкупност от сегменти или елементи;
- файл - набор от данни - именувана съвкупност от всички записи от даден тип.
Например, елемент данни (поле) може да бъде една величина от фактура. Сегмент (агрегат от данни) може да бъде един ред от фактурата. Цялата фактура може да бъде разглеждана като логически запис. Файлът (набор от данни) може да бъде съвкупност от всички фактури.
Базите от данни могат да бъдат класифицирани по различни признаци. Според характера на съдържащите се в тях данни те биват: форматирана база от данни (при която се знае точно структурата на съставящите я файлове); неформатирана база от данни.
Според функционалното си предназначение са: информационни бази от данни, които се изграждат при създаване на информационно-търсещи и информационно-справочни системи; оперативни бази от данни, създадени при информационно-управляващи системи; архивни бази от данни.
Според логическата организация на данните базите от данни са с: йерархична (дървовидна), мрежова и релационна структура на данните.
Според физическото разположение на данните: централизирани, децентрализирани и разпределени бази от данни.
Обратно към началото
3. Организация на данните в базата от данни
Базата от данни позволява да съществува известно различие между формата и начина, по който данните са действително запаметени върху техническите носители на информация, от формата, в която те се предоставят за използване от приложните програми. Данните с които работи приложната програма се наричат логически, а същите данни, разположени върху физическия носител на информация, се наричат физически. Тези понятия се въвеждат, за да бъдат разграничени различните аспекти на използуването на данните: логически за програмиста и физически за ЕИМ. Различават се още: логическа и физическа организация на базата от данни; логическо и физическо проектиране; логически и физически файлове; логически и физически връзки между данните; логическо и физическо описание на данните. Пример за физическа и логическа организация на данните е показан на рис. 1.4.
рис. 1.4.
Логическата структура на базата от данни, в общия случай, е твърде сложна и динамична, затова следва да се осигури възможност за изменение на общата логическа структура без изменение на използваните програми. В тази връзка е необходимо да съществуват две нива на назависимост на данните: логическа и физическа независимост на данните.
Логическата независимост на данните означава, че общата им логическа структура може да бъде изменена, без да се променят използваните програми (изменението, разбира се, не трябва да се състои в отстраняване от базата от данни на такива елементи, които се използват от програмите).
Физическата независимост на данните означава, че физическото разположение и организация на данните могат да се изменят, без това да налага изменение на общата логическа структура на данните или програмите.
Добавянето на нови данни в един запис, без изменение на програмите, е възможно, когато те работят на ниво поле, а не на ниво запис. Логическото описание на данните за един програмист може да съдържа елементи, различни от тези на друг програмист. Физическият запис обаче съдържа и двете групи елементи. Така от едни и същи данни могат да бъдат формирани различни логически файлове за различни приложения.
Организацията на данните е следствие на изложеното за видовете данни и съображението за независимост на данните по отношение на тяхното използване. Съществуват три типа организация на данните, силно разграничаващи се един от друг (рис. 1.5.): файлова организация на данните; обща логическа организация на данните; физическа организация на данните.
Файловата организация на данните е свързана с представянето на данните, така както ги вижда приложният програмист и той описва своята представа (своята гледна точка) за файла и приложната програма.
Общата логическа организация на данните е свързана със структурата на цялата база от данни, от която могат да се получат различни файлови организации. Логическото им представяне е напълно независимо от тяхната физическа организация и се описва чрез езика за описание на данните, който е част от програмните средства за управление на базата от данни.
Физическата организация представя разположението на данните върху външните запомнящи устройства. Тя зависи от използваните средства за търсене на записи и от вида на външните запомнящи устройства.
Обратно към началото
4. Логическа структура
Логическата структура на базата от данни по своята същност е представяне на логическите връзки, съществуващи между съставните елементи на базата от данни. Според характера на тези връзки съществуват следните видове структури:
рис. 1.5.
Иерархична (дървовидна) - характеризира се с това, че елемент от горно ниво е свързан с един или повече елементи от долно ниво. Същевременно всеки елемент от долно ниво е свързан само с един елемент от горно ниво. В литературата често се употребяват понятията “пораждащ” и “породен”, като пораждащият елемент е винаги от по-горно ниво. Елементите, които не са пораждащи, се наричат “листа”.
Мрежова структура - при нея всеки елемент от структурата може да бъде свързан с всеки друг елемент. Мрежовата структура също може да се представи с помощта на пораждащи и породени елементи, като породените се поставят по-ниско от пораждащите. [1]
Релационна структура - основно преимущество на релационната структура е нейната еднородност. Всички данни се разглеждат като съхранявани в таблици, в които всеки ред има един и същи формат. Всеки ред от таблицата представя обект от реалността или отношение между обекти.
Да разгледаме следния пример:
Влакове (разписание на влаковете)