База данни: Разлика между версии
Изтрито е съдържание Добавено е съдържание
Премахната редакция 7745561 на 77.77.163.1 (б.) |
|||
Ред 13:
Съществуващите Системи за управление на бази данни осигуряват различни функции, които позволяват управлението на базата данни и самите данни, които могат да бъдат класифицирани в четири основни функционални групи:
▲· Дефиниране на данни – Създаване, модифициране и премахване на дефинициите, които определят организацията на данните.
▲· Промяна – Вмъкване, модификация и заличаване на актуалните данни.<sup>[[Database|[3]]]</sup>
▲· Извличане – Предоставяне на информация във формата на пряко използваем или за по-нататъшна обработка от други приложения. Извлечените данни могат да се предоставят направо в същата форма, в която са били съхранени в базата данни или в нова форма, получена чрез промяна или комбиниране на съществуващи данни от базата данни.<sup>[[Database|[4]]]</sup>
▲· Администриране – Регистриране и наблюдение на потребителите, налагане на сигурността на данните, наблюдение на изпълнението, запазвайки целостта на данните, които се занимават с едновременния контрол и възстановяване на информацията, която е била повредена от някакво събитие като например неочакван срив на системата.<sup>[[Database|[5]]]</sup>
И двете – базата данни и нейната Система за управление съответстват на принципите на определен [[Database model|модел на]] базата данни.<sup>[[Database|[6]]]</sup> "Система база данни" се отнася общо за модел на база данни, система за управление на база данни както и база данни.<sup>[[Database|[7]]]</sup>
Line 28 ⟶ 24:
Тъй като СУБД включват значителен икономически пазар, продавачите на компютри и системи за съхранение често вземат предвид изискванията на СУБД в техните планове за развитие.<sup>[[Database|[9]]]</sup>
Базите данни и СУБД могат да бъдет категоризирани според модела на базата (базите), които поддържат (като например релационна или XML), типа на компютъра, на който работят (от сървър клъстер до мобилен телефон), езика на заявката, използван за достъп до базата данни (като например AQL или XQuery), и тяхното вътрешно устройство, което афектира на производителността, мащабируемостта, устойчивостта и сигурността.
== Приложения ==
Line 41 ⟶ 37:
== История ==
Следвайки технологичния прогрес в сферите на процесорите, компютърната памет, компютърното съхранение на данни, и компютърните [[мрежи]], размерите, възможностите и производителността на базите данни и респективно техните СУБД са се разраснали в порядъка си.
Двата главни ранни модела на навигационни данни са [[Йерархична база данни|йерархичният модел]], олицетворен от IMS системата на [[IBM]], и моделът [[CODASIL]] (мрежови модел), приложен в много продукти като IDMS.
Line 49 ⟶ 45:
Обектно ориентираните бази данни са разработени през осемдесетте, за да се надмогне неудобството на обектно релационните импеданс несъответствия, което довежда до появяването на термина „пост-релационен“ и също развитието на хибрида обектно-релационни бази данни.
Следващото поколение пост-релационни бази данни в края на 2000-те става известно като [[NoSQL]] бази данни, като представя бързо съхранение по клавишна стойност и документно-ориентирани бази данни.
=== 60-те години на XX век, навигационни СУБД ===
Line 78 ⟶ 74:
Точно както навигационните системи биха изисквали от програмите да повтарят едно и също действие за да събират записи, релационният модел ще изисква от тях да повтарят действие за да търсят информация за специфичен запис. Решението на Код за необходимото повтарящо се действие бил език, базиран на множества, предложение, което по-късно ще роди повсеместният SQL. Използвайки клон на математиката, известен като Релационен Калкулус, той демонстрира, че такъв тип система може да поддържа всички операции на нормалните бази данни (прибавяне, променяне и т.н.) както и да осигури проста система за намиране и връщане на множества от данни чрез една операция.
В Бъркли, Юджин Уонг и Майкъл Стоунбрейкър обръщат внимание на труда на Код. Те започват да развиват проект, познат като INGRES
IBM също правят тестова имплементация на релационния модел, PRTV, както и продукционен такъв, Business System 12, и двете към момента са спрени. Honeywell написват MRDS за Multics, и в момента има две нови приложения: Alphora Dataphor и Rel. Повечето други СУБД приложения, обикновено наречени релационни всъщност са SQL СУБД.
Line 101 ⟶ 97:
=== 80-те, версия за работен плот ===
=== 1990 обектно
През
===
XML бази данни са вид от структурирана документна база данни, която позволява заявки въз основа на атрибути на XML документи. Тя се използват най-често в компании, където XML е стандарт за оперативна съвместимост на данни тип машина-към-машина. Системата за управление на база данни XML, използва софтуери като MarkLogic и Oracle Berkeley DB XML, както и безплатният софтуер Clusterpoint Distributed XML/JSON Database. Всички те са корпоративни софтуерни платформи за бази данни и използват промишлен стандарт ACID за обработка на транзакции на данни, с преобладаващо използване от база данни и високото ниво на сигурност.
NoSQL бази данни често са много бързи, не изискват фиксирани схеми от таблици, избягват съвместни операции по съхраняване на денормализирани данни и са предназначени за хоризонтално мащабиране (хоризонтално мащабиране е когато се добавят повече сървъри или компютри към една база данни, докато вертикалните е да се добавя атрибути към тези сървъри). Най-популярните NoSQL системи включват [[MongoDB]], [[Couchbase]], [[Riak]], [[Memcached]], [[Redis]],[[CouchDB]], [[Hazelcast]], [[Apache Cassandra]] и [[HBase]], които са продукти с отворен код.
През последните години е имало голямо търсене на масово разпределящи бази данни, които работят предимно между дялове в системата, но според теоремата за СНД (Съвместимост на Наличните Дялове) не е възможно една разпределена на дялове система да гарантира едновременно последователност, достъпност и толерантност на дяловете. Такава система може да гарантира едновременно само две от условията, но не и трите. Поради тази причина много бази данни NoSQL използват това, което се нарича Евентуална Последователност, за да осигурят гарантирано достъпност и толеранс между дяловете, с намалено ниво на съдържание от данни.
Line 116 ⟶ 112:
== Проучване ==
Технологията на бази данни е активна изследователска тема още от 1960та както в академичните среди, така и научноизследователските и развойни групи на компаниите (например IBM Research). Изследователската дейност включва теория и развиване на прототипи. Забележителните изследователски теми
Областта на научните изследвания на базите данни има няколко специализирани научни списания (например, ''[[ACM Transactions on Database Systems]]''-TODS, ''[[Data and Knowledge Engineering]]''-DKE) и годишни конференции (например [[Association for Computing Machinery|ACM]][[SIGMOD]], ACM [[Symposium on Principles of Database Systems|PODS]], [[VLDB]], [[IEEE]] ICDE).
Line 123 ⟶ 119:
Един от начините да се класифицират бази данни включва вида на съдържанието им например: библиографска, текстови документи, статистически, или мултимедийни обекти. Друг начин е чрез тяхната област на приложение например: счетоводство, музикални композиции, филми, банково дело, производство, или застраховка. Третият начин е чрез някои технически аспект, като структурата от базата данни или тип интерфейс. Този раздел изброява някои от приложните бази данни, използвани за характеризиране на различни им видове.
* База данни с вътрешна паметта е такава намираща се в основната памет, но обикновено е подпомагана и от друга неучастваща памет. Базите данни с основната памет са по-бързи от дисковите бази данни и за това често се използват, където времето за реакция е от решаващо значение, като и в оборудването на телекомуникационни мрежа. SAP HANA платформата е най-използвана за бази данни във вътрешната памет. До май 2012 г. HANA бе в състояние да се стартира по сървърите със 100TB основната памет снабдявани от IBM. Основателят на компанията заявява, че системата е достатъчно голяма, за да може да стартира 8-те от най големите клиенти на SAP.
* Активна база данни включва в себе си архитектура от събития, която може да отговаря на условия зададени както от вътрешната част на базата данни, така и от външна. Такава може да се използва за наблюдение за сигурност, алармиране, събиране на статистики и разрешение за достъп. Много бази данни предоставят активни функции за тях под формата на събития, които при изпълнение изпълняват дадена функция (примерно при достигане на нов рекорд и базата данни записва дадените рекорди в предназначеното за това място).
*
* Складови бази данни архивират данните от оперативни бази данни често от външни източници, като например проучващи пазара фирми. Складовите бази данни се превръщат в основен източник на данни използвани от мениджъри на фирми, както и крайни потребители, които нямат достъп до оперативните им данни. Например, данните за продажбите може да бъдат обобщени с ежеседмични суми и превърнати във вътрешен продуктов код (баркод), за да може да се сравнява с данни от агенцията ACNielsen, проучваща маркетинговия пазар в САЩ. Някой основни и съществени компоненти за съхраняване на данни включват извличане, анализиране,
*
* Разпределена база данни е такава, в която и данните и СУБД са разпределени между много компютри.
* Документно ориентирана база данни е предназначена за съхранение, извличане и управление на документно ориентирана, или полу структурирана, информация. Документно ориентирани бази данни са една от основните категории на NoSQL бази данни.
* Вградена система от база данни е СУБД, която е тясно интегрирана със софтурно приложение, което изисква достъп до съхраняваните данни по такъв начин, че СУБД е скрит от крайния потребител на приложението и изисква малка или никаква текущата поддръжка.
* Крайно потребителска база данни се състои от данни, създадени и управлявани от индивидуални крайни потребители. Примери за това са колекции от документи, електронни таблици, презентации, мултимедия и други файлове.
* Обединена система от бази данни се състои от няколко отделни бази данни, всяка със своите СУБД. Тя се състои от една база данни, състояща се от множество обединени СУБД, които могът да бъдат различни типове и ги предоставя с един интегриран концептуален интерфейс.
* Понякога терминът
* Графична база данни е от вид NoSQL база данни, които използват графична структура с разклонения, въздействия и свойства, за да предостави и съхрани информация. Главната графична база данни, която може да съхрани всяка графика е различна от специфичните графични бази данни, като triplestores и базите данни от мрежата.
* Масив от СУБД е вид NoSQL СУБД, която позволява да се моделира, съхранява и извлича (обикновено големи) многомерни масиви като сателини снимки и симулация на климатични времена.
* Хипертекстова или хипермедийна бази данни са, такива бази данни където всяка дума или част от текст представлява обект, напрмер друга част от текст, статия, снимка или филм, които са хипервръзка към този обект. Хипертекстовите бази данни са особено полезни за организиране на големи количества от разнородния информация. Например, те са полезни за организиране на онлайн енциклопедии, където потребителите могат удобно да използват хипервръзките за да прескачат между страници в интернет, а не да ги търсят ръчно. По този начин World Wide Web(www) е една голяма хипертекстова база данни.
* Научна база данни (съкращение НБД, нбд или ?) е специален вид база данни за управление на информация, като предоставя средства за компютризирано събиране, организиране и извличане на знания. Също така предоставя колекция от данни, свързани с проблеми и техните решения, както и свързаният с тях опит.
* Мобилна база данни
* Оперативна база данни съхранява подробни данни за дейността на дадена организация. Те обикновено обработва сравнително високи обеми от актуализации с помощта транзакции. Например клиентските бази данни, които съдържат контакти, кредити и демографска информация за даден бизнес клиент, данни на персонал, който съдържа информация, като заплати, бонуси, данни за умения за служителите, системи за планиране на ресурсите на предприятието, които записват информация за продукти, както и финансови бази данни, които да следят финансите на дадена организация, сделки между акаунти и други финансови зделки.
Line 147 ⟶ 143:
* Вероятна база данни, използват размита логика да се направи заключение, от неточни данни.
* Бази данни в реално време, които да достатъчно бързи, за да може резултатът да се върне мигновено и съответно да се отреагира бързо.
* Пространствена база данни може да съхранява данни с многомерни функции. Тези бази данни включват базирани на местоположението заявки, като
* Временна база данни има вграден аспект за време, например временен модел на данни и временна версия на SQL. По-конкретно времевите аспекти обикновено включват валидно време и време за транзакция.
* Терминологична база данни е такава която се основава на обектно-ориентираната база данни, често отнасяща се за данни в конкретна област.
Line 212 ⟶ 208:
* '''Вътрешното ниво''' (или ''физическо ниво'') е вътрешната организация на данните в рамките на Системата за управление на базата данни. То се занимава с цената, производителността, мащабируемостта и други оперативни въпроси. Вътрешното ниво се занимава с оформлението на съхранение на данните, използвайки структурите за съхранение като например индексиране, за да подобрят производителността. От време на време вътрешното ниво съхранява данни на отделните изгледи (материализирани изгледи), които се изчисляват от обширни данни, ако е налице обосновка за ефективността на такива свръхинформация. Това ниво балансира всички изисквания за изпълнение на външните изгледи, евентуално тези в конфликт, в опит да се отпимизира цялостното представяне във всички дейности.
Докато обикновено има само един концептуален (или логически) и физически (или вътрешен) изглед на данните може да има произволен брой различни външни изгледа. Това позволява на потребителите да виждат информацията от базата данни в един по бизнес-ориентиран начин а не от техническа и технологична гледна точка. Например финансовият отдел на дадена компания се нуждае от информация за плащането на всички служители като част от разходите на компанията, но не се нуждае от детайли относно служителите, които са обект на интерес за отдела човешки ресурси. По тази причина различните департаменти се нуждаят от различни ''изгледи'' на базата данни на компанията.
Line 223 ⟶ 220:
Езиците за бази данни са езици със специално предназначение, които правят едно или повече от следните неща:
* [[Data definition language]] – дефинира типове данни и връзките между тях
* [[Data manipulation language]] – изпълнява задачи като вмъкване, актуализиране или изтриване на дадени данни.
* [[Query language]] – позволява търсенето на информация и информация, получена чрез изчисляване
Line 232 ⟶ 227:
* [[OQL]] е езиков стандарт за обектен модел (от [[Object Data Management Group]]). Той е повлиял на дизайна на някои от по-новите езици за заявки като [https://en.wikipedia.org/w/index.php?title=JDOQL&action=edit&redlink=1 JDOQL] и [[EJB QL]].
* [[XQuery]] е стандартен XML език за заявки имплементиран от XML системи за бази данни като например [[MarkLogic]] и [[eXist]], чрез релационни бази данни с XML способности като Oracle и DB2, а също и от XML процесори като [[Saxon XSLT|Saxon]].
* [[SQL/XML]] комбинира [[XQuery]] със SQL.[[Database|<sup>[34]</sup>]]
Даден език за бази данни може също да включва свойства като:
* Специфична конфигурация и двигател за управление на съхраняването в Система за управление на бази данни
* Изчисления за промяна на резултатите от заявката, като броене, сумиране, осредняване, сортиране, групиране и съотнасяне
* Ограничено изпълнение (например, в автомобилна база данни, която позволява само един тип двигател за дадена кола)
* Версия на интерфейс за приложно програмиране на език за заявки, за удобство на програмиста
Line 252 ⟶ 242:
''Основни статии: <u>[[Оперативна памет]]</u> и <u>[[Сървър за бази данни]]</u>''
Хранилището на базите данни е като контейнер при физическото представяне на една база. То представлява ''вътрешното''(физическо) ''ниво'' в архитектурата на базата. Съдържа цялата необходима информация (пр., <u>[[метаданни]]</u>,
Някои СУБД поддържат спецификация за това какво <u>[[символно кодиране]]</u> е използвано при кодирането за съхранение на данните, по този начин много кодирания могат да се използват в една и съща база данни.
Line 275 ⟶ 265:
Контролът на достъп до базата данни е свързан с контролирането на това на кой (човек или определена компютърна програма) е разрешено да достъпва информацията. Тя може да включва конкретни обекти (пр., типове записи, специфични записи, структури от данни), определени изчисления върху определени обекти (пр., видове заявки или конкретни заявки), или използване на специфични пътеки за достъп до първите (пр., използване на специфични символи или други структури от данни за достъпване на информацията). Контролът върху достъпа до базата данни се определя от специален оторизиран (от собственика на базата данни) персонал, който използва защитени СУБД интерфейси за защита.
Това може да се управлява директно на индивидуална основа, или чрез възлагане на частни лица и даване на <u>[[предимства]]</u> на групи, или (в най-сложните модели) чрез възлагане на лица и групи да управляват, на които след това им се предоставят съответните права. Сигурността на данните предотвратява неоторизирани потребители да глеадат или променят базата данни. Изполвайки пароли, потребителите имат достъп до цялата база или до части от нея, наречени
<u>[[Сигурността на данните]]</u> като цяло е свързана със защитата на специални парчета от данни, както физическа (т.е., от корупция, или унищожаване, или изтриване; пр., виж. <u>[[физическа сигурност]]</u>), така и свързана с дещифрирането им, или части с важна информация (пр., като се гледа в поредицата от битове, в която се съдържат заключени валидни номера на кредитни карти; пр., виж. <u>[[Шифроване|криптиране на данни]]</u>).
Промяната и достъпът до записите са свързани с атрибутите: какво е променено и кога е променено. Услугите за записите при достъп дават възможност за съдебна <u>[[проверка на базата данни]]</u> на по-късен етап, запазвайки
=== Транзакции и синхронизиране ===
Line 316 ⟶ 306:
* Графични компоненти за създаване на графики и таблици, особено в системата за съхранение на данни
* <u>'''[[Оптимизатор на заявките]]'''</u>
* Инструменти или кукички за проектиране на база данни, създаване на приложения, поддръжка на приложения, анализ на бързодействието на базата данни и мониторинг, мониторинг на конфигурацията на базата, хардуерна конфигурация на СУБД (СУБД и свързаните база данни могат да обхванат компютри, мрежи и запаметяващи устройства) и свързаното с базата данни планиране (специално за разпределената СУБД), разпределение на съхранението и мониторинг на слоевете на базата данни, миграция на съхраненито и т.н.
Line 369 ⟶ 359:
== Препратки ==
#
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFUllmanWidom1997 Ullman & Widom 1997], p. 1.
#
#
#
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFTsitchizrisLochovsky1982 Tsitchizris & Lochovsky 1982].
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFBeynon.E2.80.93Davies2004 Beynon–Davies 2004].
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFNelsonNelson2001 Nelson & Nelson 2001].
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFBachman1973 Bachman 1973].
#
#
# IBM Corporation. "IBM Information Management System (IMS) 13 Transaction and Database Servers delivers high performance and low total cost of ownership". Retrieved Feb 20, 2014.
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFCodd1970 Codd 1970].
Line 390 ⟶ 380:
# Interview with Wayne Ratliff. The FoxPro History. Retrieved on 2013-07-12.
# Development of an object-oriented DBMS; Portland, Oregon, United States; Pages: 472–482; 1986; ISBN 0-89791-204-7
#
#
#
#
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFProctor2013 Proctor 2013].
#
# Graves, Steve. "COTS Databases For Embedded Systems",''Embedded Computing Design'' magazine, January 2007. Retrieved on August 13, 2008.
# Argumentation in Artificial Intelligence by Iyad Rahwan, Guillermo R. Simari
#
# itl.nist.gov (1993) ''Integration Definition for Information Modeling (IDEFIX)''. 21 December 1993
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFDate2003 Date 2003], pp.
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFChapple2005 Chapple 2005].
#
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFWagner2010 Wagner 2010].
# [https://en.wikipedia.org/w/index.php?title=Database&action=submit#CITEREFHalderCortesi2012 Halder & Cortesi 2012].
== Източници ==
* [[Charles Bachman|Bachman, Charles W.]] (1973). "The Programmer as Navigator".''Communications of the ACM'' '''16''' (11):
* Beynon–Davies, Paul (2003). ''Database Systems'' (3rd ed.). Palgrave Macmillan. [[International Standard Book Number|ISBN]] [[Специални:BookSources/978-1403916013|978-1403916013]]
* Chapple, Mike (2005). "SQL Fundamentals".''Databases''. About.com. Archived from the original on 22 February 2009. Retrieved 28 January 2009
Line 414 ⟶ 403:
* Childs, David L. (1968). "Feasibility of a set-theoretic data structure : a general structure based on a reconstituted definition" (PDF).''CONCOMP (Research in Conversational Use of Computers) Project''. Technical Report 6. University of Michigan
* Chong, Raul F.; Wang, Xiaomei; Dang, Michael; Snow, Dwaine R. (2007). "Introduction to DB2". ''Understanding DB2: Learning Visually with Examples'' (2nd ed.). [[International Standard Book Number|ISBN]] [[Специални:BookSources/978-0131580183|978-0131580183]]. Retrieved17 March 2013
* [[Edgar F. Codd|Codd, Edgar F.]] (1970). "A Relational Model of Data for Large Shared Data Banks" ''Communications of the ACM'' '''13''' (6):
* [[Christopher J. Date|Date, C. J.]] (2003). ''An Introduction to Database Systems'' (8th ed.). Pearson. [[International Standard Book Number|ISBN]] [[Специални:BookSources/978-0321197849|978-0321197849]].
* Halder, Raju; Cortesi, Agostino. "Abstract Interpretation of Database Query Languages" ''COMPUTER LANGUAGES, SYSTEMS & STRUCTURES'' (Elsevier) '''38''' (2):
* Hershey, William; Easthope, Carol (1972). ''A set theoretic data structure and retrieval language''. Spring Joint Computer Conference, May 1972. ''ACM SIGIR Forum'' '''7''' (4). pp.
* Nelson, Anne Fulcher; Nelson, William Harris Morehead (2001).''Building Electronic Commerce: With Web Database Constructions''. Prentice Hall. [[International Standard Book Number|ISBN]] [[Специални:BookSources/978-0201741308|978-0201741308]].
* North, Ken (10 March 2010). "Sets, Data Models and Data Independence". ''Dr. Dobb's''. Archived from the original on 24 October 2010.
Line 426 ⟶ 415:
== Бележка ==
Тази статия бе преведена от английската и версия от екип от четири човека за целите на екипния проект от курса
[[Категория:Бази данни| ]]
|