База података
База (банка) података је колекција података организованих за брзо претраживање и приступ, која заједно са системом за администрацију, организовање и меморисање тих података, чини систем базе података. Из угла корисника, подаци су на неки логички начин повезани. Они представљају неке аспекте реалног света (нпр. корисници и чланци у Википедији).
Корисници приступају бази података првенствено преко упитника. Коришћењем кључних речи и сврставањем команди корисници могу брзо да пронађу, преуреде, групишу и одаберу област у многим записима које треба вратити или помоћу којих треба саставити извештаје о нарочитој скупини података у складу с правилима дотичног система вођења базе података.
Постоје различите врсте база података, зависно од тога на који начин су подаци интерно организовани. Тако се разликују хијерархијске, мрежне (CODASYL), релационалне, објектно-оријентисане, објектно-релационе, прилагођене за WEB, XML и мултимедијске базе података.
Подаци су представљени на униформни начин (нпр. у релационим базама података подаци су организовани у табелама), што олакшава приступ и коришћење од стране екстерних програма. Тако једну базу података може користити низ различитих програма, писаних у различитим програмским језицима.
Терминологија и преглед
[уреди | уреди извор]Формално, „база података“ се односи на скуп повезаних података и начин на који су организовани. Приступ овим подацима обично обезбеђује „систем за управљање базом података“ (DBMS) који се састоји од интегрисаног скупа рачунарског софтвера који омогућава корисницима интеракцију са једном или више база података и омогућава приступ свим подацима садржаним у бази података (иако ограничења могу постојати која ограничавају приступ одређеним подацима). DBMS пружа различите функције које омогућавају унос, складиштење и проналажење великих количина информација и пружа могућности за управљање начином на који су те информације организоване.
Због блиске везе између њих, термин „база података“ се често користи за означавање базе података и DBMS који се користи за манипулацију њоме.
Изван света професионалне информационе технологије, термин база података се често користи да се односи на било коју колекцију повезаних података (као што је прорачунска табела или индекс картица) јер захтеви за величину и коришћење обично захтевају коришћење система за управљање базом података.[1]
Постојећи DBMS-ови пружају различите функције које омогућавају управљање базом података и њеним подацима који се могу класификовати у четири главне функционалне групе:
- Дефиниција података – Креирање, модификација и уклањање дефиниција које дефинишу организацију података.
- Ажурирање – Уметање, модификација и брисање стварних података.[2]
- Преузимање – Пружање информација у облику који се може директно користити или за даљу обраду од стране других апликација. Преузети подаци могу бити доступни у форми која је у основи иста као што је ускладиштена у бази података или у новом облику добијеном изменом или комбиновањем постојећих података из базе података.[3]
- Администрација – Регистровање и надгледање корисника, спровођење безбедности података, праћење перформанси, одржавање интегритета података, бављење контролом истовремености и опоравак информација које су оштећене неким догађајем као што је неочекивани системски квар.[4]
И база података и њен DBMS су у складу са принципима одређеног модела базе података.[5] „Систем базе података“ се односи заједно на модел базе података, систем за управљање базом података и базу података.[6]
Пошто DBMS представљају значајно тржиште, продавци рачунара и складишта често узимају у обзир захтеве DBMS-а у својим плановима развоја.[7]
Складиштење
[уреди | уреди извор]Рачунари се користе за складиштење и обраду података још од 1950-их година. Битна ствар коју треба поменути је да примарна (главна) меморија рачунара омогућава само привремено складиштење података (када се рачунар искључи сви подаци из примарне меморије се губе). Из тог разлога потребно је користити неки тип секундарне меморије за трајно складиштење података, (међу које спадају магнетни и оптички медији, односно магнетне траке, чврсти дискови, CD или DVD).
Главни задатак првих дизајнера информационих система, био је развијање типа софтвера који би омогућио лоцирање специфичних података ускладиштених у секундарној меморији и њихово ефикасно учитавање у главну меморију како би се могли обрађивати. Основну структуру једног информационог система чине скупови датотека који су перманентно ускладиштени у неком секундарном уређају за складиштење података. Софтвер који чини систем за управљање датотекама подржава логичко раздвајање датотека у записе. Сваки запис описује неку ствар (или јединицу) и састоји се од одређеног броја поља, где свако поље даје вредност одређеној особини (или атрибуту) дате јединице.
Рани системи датотека су увек били секвенцијалног типа, што значи да су сукцесивни записи морали бити обрађивани у редоследу у којем су снимљени, односно почињући од првог по реду и крећући се ка посљедњем. Оваква структура датотека се показала као одговарајућа и у ствари једино изводљива у време када су се датотеке чувале на магнетним тракама и када прескакање ради приступа случајно бираним записима није било могуће. Датотеке сортиране секвенцијално су обично ускладиштене следећи одређени редослед (нпр. алфабетски) за штампање извештаја (нпр. телефонског адресара) и ради ефикасне обраде група трансакција. На пример, банковне трансакције могу бити сортиране у истом редоследу као и датотеке које садрже податке о банковним рачунима, тако да када се свака трансакција учитава, систем треба само да чита напред (никада назад) како би пронашао запис о банковном рачуну на који се дата трансакција примењује.
Када су развијени тзв. уређаји за складиштење са директним приступом, (примарно магнетни дискови), омогућено је приступање арбитрарном блоку података на диску. (Блок података је јединица за пренос између примарне и секундарне меморије, која се обично састоји од више записа). Датотеке је постало могуће индексирати чиме се омогућило лоцирање случајно бираних записа и њихово учитавање у примарну меморију како би се могли обрађивати. Индекс датотеке је сличан класичном индексу који се среће у књигама. Састоји се од списка идентификатора који омогућавају разликовање записа, заједно са његовом локацијом у меморији. Пошто индекси могу бити дугачки, обично се структурирају у неку врсту хијерархије и приступа им се преко показивача који су у ствари идентификатори који садрже адресу (локацију у меморији) одређене ставке.
Системи за управљање базом података
[уреди | уреди извор]Систем за управљање базом података (СУБП) обезбеђује скуп услуга које заједно пружају широку подршку апликацијама које захтевају складиштење великих количина података које ће делити више корисника. Међу најважнијим услугама се налазе:
Управљање секундарним складиштењем
[уреди | уреди извор]Могућност за складиштење података на магнетним дисковима или другим медијима за дугорочно складиштење, тако да подаци могу да опстану након извршења програма на којима су креирани. Како би се подржало ефикасно складиштење и приступ великим количинама података потребни су софистицирани системи управљања секундарним складиштем. Системи за управљање обично укључују услуге за брзи приступ одређеним подацима помоћу индекса, чиме се умањује потребан број различитих приступа секундарном складишту, груписање сродних података и обезбеђивање, где је то могуће, ефикасног коришћење бафера који у меморији рачунара на којем се извршава систем базе података, задржава податке којима је скоро приступано.
Контрола упоредног приступа
[уреди | уреди извор]Велике базе података су драгоцене за организације које их поседују, а често је потребно да им приступи више корисника истовремено. Неконтролисане промене у дељеном простору за складиштење, могу довести до оштећења интегритета базе, или губљења података као резултат интерференције програма на непредвидив начин. Да би се то спречило, системи за управљање базом података поседују одређене заштитне механизме како би се осигурало да сваки корисник приступа бази података изоловано од других, и такође са довољним гаранцијама о понашању система када више корисника покуша учитати или уписати, исти податак у исто време.
Рекуперација
[уреди | уреди извор]Многе апликације за базе података су активне 24 сата дневно, неретко им приступа много различитих програма који се често извршавају на различитим рачунарима, упоредно користећи базу података. Као резултат тога, неизбежно је да се деси да програми који приступају бази података праве грешке, као и да се деси да се рачунар на коме се извршава систем за управљање базом података блокира. Према томе, систем за управљање базом података мора да буде флексибилан, односно толерантан на грешке у софтверу и отказивање хардвера, умањујући шансе да база података буде оштећена, или да се деси да се информације трајно изгубе. Како би се избегли ови проблем и постојала могућност за рекуперацију базе података, често се ради привремена репликација података на више места, тако да има довољно информација да се омогући аутоматско проналажење и исправљање различитих врста грешака када се оне десе.
Безбедност
[уреди | уреди извор]Већина великих система база података садрже податке који не треба да буду видљиви неким корисницима, као и да им не буде омогућено да их мењају. Из тог разлога, неопходно је да постоји један општи механизам који треба да обезбеди да ниједан корисник не приступи информацијама којима по правилу не треба да приступи, и још важније, да постоје механизми контроле над корисницима који имају једну, или више дозвола за измене садржаја базе података (нпр. радници једног предузећа не би требало да буду у стању да приступе и врше измене ставки који се тичу њиховог личног дохотка, и томе слично). Према томе, системи за управљање базом података по правилу обезбеђују механизме који омогућавају администратору базе података да контролише ко и где може да приступи као и шта може да уради у бази података.
Функције база података
[уреди | уреди извор]- Смањује редундансу (појаву дупликата);
- повећава поузданост података;
- обезбеђује интегритет података при вршењу више трансакција, операција;
- независност података (независност од софтвера)
Основни концепт
[уреди | уреди извор]Различити поглед на исте податке
[уреди | уреди извор]- Подаци приказани кориснику у облику у коме су му потребни.
- Подаци су заштићени од корисника (обезбеђују интегритет).
- Раздвајање логичког и физичког нивоа (модели базе).
Модели базе
[уреди | уреди извор]- Екстерни модел базе – погледи корисника на базу података;
- концептуални модел базе – описују структуру базе;
- интерни модел базе – описује како се физичко чувају подаци на некој спољашњој меморији.
Види још
[уреди | уреди извор]Референце
[уреди | уреди извор]- ^ Ullman & Widom 1997, стр. 1.
- ^ „Update – Definition of update by Merriam-Webster”. merriam-webster.com.
- ^ „Retrieval – Definition of retrieval by Merriam-Webster”. merriam-webster.com.
- ^ „Administration – Definition of administration by Merriam-Webster”. merriam-webster.com.
- ^ Tsitchizris & Lochovsky 1982.
- ^ Beynon-Davies 2003.
- ^ Nelson & Nelson 2001.
Литература
[уреди | уреди извор]- Зорица Лакић (2007). Рачунарство и информатика за 4. разред гимназије. Завод за уџбенике и наставна средства. ISBN 978-86-17-14816-2.
- Bachman, Charles W. (1973). „The Programmer as Navigator”. Communications of the ACM. 16 (11): 653—658. doi:10.1145/355611.362534 .
- Beynon-Davies, Paul (2003). Database Systems (3rd изд.). Palgrave Macmillan. ISBN 978-1403916013.
- Chapple, Mike (2005). „SQL Fundamentals”. Databases. About.com. Архивирано из оригинала 22. 2. 2009. г. Приступљено 28. 1. 2009.
- Childs, David L. (1968a). Description of a set-theoretic data structure (PDF) (Технички извештај). CONCOMP (Research in Conversational Use of Computers) Project. University of Michigan. Technical Report 3.
- Childs, David L. (1968b). Feasibility of a set-theoretic data structure: a general structure based on a reconstituted definition (PDF) (Технички извештај). CONCOMP (Research in Conversational Use of Computers) Project. University of Michigan. Technical Report 6.
- Chong, Raul F.; Wang, Xiaomei; Dang, Michael; Snow, Dwaine R. (2007). „Introduction to DB2”. Understanding DB2: Learning Visually with Examples (2nd изд.). ISBN 978-0131580183. Приступљено 17. 3. 2013.
- Codd, Edgar F. (1970). „A Relational Model of Data for Large Shared Data Banks” (PDF). Communications of the ACM. 13 (6): 377—387. S2CID 207549016. doi:10.1145/362384.362685.
- Connolly, Thomas M.; Begg, Carolyn E. (2014). Database Systems – A Practical Approach to Design Implementation and Management (6th изд.). Pearson. ISBN 978-1292061184.
- Date, C. J. (2003). An Introduction to Database Systems (8th изд.). Pearson. ISBN 978-0321197849.
- Halder, Raju; Cortesi, Agostino (2011). „Abstract Interpretation of Database Query Languages” (PDF). Computer Languages, Systems & Structures. 38 (2): 123—157. ISSN 1477-8424. doi:10.1016/j.cl.2011.10.004.
- Hershey, William; Easthope, Carol (1972). A set theoretic data structure and retrieval language. Spring Joint Computer Conference, May 1972. ACM SIGIR Forum. 7 (4). стр. 45—55. doi:10.1145/1095495.1095500.
- Nelson, Anne Fulcher; Nelson, William Harris Morehead (2001). Building Electronic Commerce: With Web Database Constructions. Prentice Hall. ISBN 978-0201741308.
- North, Ken (10. 3. 2010). „Sets, Data Models and Data Independence”. Dr. Dobb's. Архивирано из оригинала 24. 10. 2010. г.
- Tsitchizris, Dionysios C.; Lochovsky, Fred H. (1982). Data Models. Prentice–Hall. ISBN 978-0131964280.
- Ullman, Jeffrey; Widom, Jennifer (1997). A First Course in Database Systems. Prentice–Hall. ISBN 978-0138613372.
- Wagner, Michael (2010), SQL/XML:2006 – Evaluierung der Standardkonformität ausgewählter Datenbanksysteme, Diplomica Verlag, ISBN 978-3836696098
- Ling Liu and Tamer M. Özsu (Eds.) (2009). "Encyclopedia of Database Systems. ISBN 978-0-387-49616-0., 4100 p. 60 illus. ISBN 978-0-387-49616-0.
- Gray, J. and Reuter, A. Transaction Processing: Concepts and Techniques, 1st edition, Morgan Kaufmann Publishers, 1992.
- Kroenke, David M. and David J. Auer. Database Concepts. 3rd ed. New York: Prentice, 2007.
- Raghu Ramakrishnan and Johannes Gehrke. Database Management Systems.
- Abraham Silberschatz, Henry F. Korth, S. Sudarshan, Database System Concepts
- Lightstone, S.; Teorey, T.; Nadeau, T. (2007). Physical Database Design: the database professional's guide to exploiting indexes, views, storage, and more. Morgan Kaufmann Press. ISBN 978-0-12-369389-1.
- Teorey, T.; Lightstone, S. and Nadeau, T. Database Modeling & Design: Logical Design, 4th edition, Morgan Kaufmann Press. 2005. ISBN 0-12-685352-5.