Основи на съвременните бази данни Предговор


Бази от данни и файлови системи



страница2/17
Дата17.08.2018
Размер1.71 Mb.
#80209
1   2   3   4   5   6   7   8   9   ...   17

Бази от данни и файлови системи


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

Второто направление, което непосредствено касае темата на курсa, това е използването на средствата на изчислителната техника в автоматични или автоматизирани информационни системи. В най-широк смисъл информационната система представлява програмен комплекс, функциите на който се състоят в поддържане на надежното съхраняване на информация в паметта на компютъра, изпълнение на специфични за дадено приложение преобразувания на информацията и/или изчисления, предоставяне на потребителите на удобен и лесно усвояем интерфейс. Обикновено обема на информацията, с който се налага да работят такива системи, е много голям, а самата информация има достатъчно сложна структура. Класически примери за информационни системи са банковите системи, системите за резервиране на самолетни или влакови билети, места в хотели и т.н.

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

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

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

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

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

1.1. Файлови системи


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

Първата развита файлова система е разработена от фирмата IBM за нейната серия 360. От днешна гледна точка тя е много остаряла. Ще отбележим само, че тази система поддържала както чисто последователни, така и индексно-последователни файлове, а реализацията в много отношения се опира на възможностите на току-що появилите се тогава контролери за управление на дискови устройства. Ако се отчете и, че понятието файл в OS/360 е избрано като основно абстрактно понятие, на което съответствува произволен външен обект, включително и външни устройства, то да се работи с файлове на ниво потребител е било много неудобно. Изисквало се редица тромави и претоварени с детайли конструкции. Всичко това е добре познато на програмистите от средното и по-старото поколение, които са преминали през използването на аналозите на компютрите IBM.


1.1.1. Структури на файлове

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

Но тази възможност за обмяна с магнитни дискове на порции, по-малки от обема на блок, не се използва днес във файловите системи. Tова е свързано с две обстоятелства. Първо, при изпълнение на обмена с диска апаратурата изпълнява три основни действия: придвижване на главите към нужния цилиндър, търсене на нужния блок в пътечката и собствено обмен с този блок. От всички тези действия средно най-голямо време заема първото. Затова съществено намаляване на сумарното време на обмена за сметка на четенето или записването само на част от блок е невъзможно да се получи на практика. Второ, за да се работи с части от блокове, файловата система трябва да осигури съответния размер на буфера на оперативната памет, което съществено усложнява разпределението на оперативната памет.

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

В някои файлови системи базовото ниво е достъпно за потребителя, но най-често се прикрива от някакво по-високо ниво, стандартно за потребителите. Разпространени са два основни подхода. При първия подход, свойствен, например, на файловите системи на операционните системи на фирмите DEC RSX и VMS, потребителите представят файла като последователност от записи. Всеки запис е последователност от байтове с постоянен или променлив размер. Записите може да се четат или записват последователно или да се позиционира файла на запис с посочен номер. Някои файлови системи позволяват да се структурират записи на полета и да се обявяват някои полета за ключове на запис. В такива файлови системи може да се поиска избор на запис от файла по зададен ключ. Естествено, в този случай файловата система поддържа в един (или друг, служебен) базов файл допълнителни, невидими за потребителя, служебни структури от данни. Разпространените начини за организация на файлове с ключове се основава на техниката на хеширане и B-дървета. Съществуват и многоключеви начини за организация на файлове.

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

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


1.1.2. Именуване на файлове

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

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

Другият краен вариант е бил реализиран във файловите системи на операционната система Multics. Тази система заслужава да бъде разгледана отделно, в нея са били реализирани редица оригинални идеи, но ще се спрем само на особеностите на организацията на архива от файлове. Във файловата система Miltics потребителите представяли цялата съвкупност от каталози и файлове като единно дърво. Пълното име на файла започвало с името на главния каталог и не е било необходимо потребителят да се грижи за поставянето в дисковото устройство на някакви конкретни дискове. Самата система, изпълнявайки търсене на файл по неговото име, заявявала установката на необходимите дискове. Такава файлова система може да се нарече напълно централизирана.

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


1.1.3. Защита на файловете

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

Затова в повечето съвременни системи за управление на файлове се прилага подходът за защита на файлове, реализиран за първи път в ОС UNIX. В тази система на всеки регистриран потребител съответства двойка целочислени идентификатори: идентификатор на групата, към която спада този потребител, и неговият собствен идентификатор в групата. Съответно, при всеки файл се съхранява пълният идентификатор на потребителя, който е създал този файл, и се отбелязва, какви действия с файла може да извършва той самия, какви действия с файла са достъпни за другите потребители от тази група, и какво могат да правят с файла потребителите от други групи. Тази информация е много компактна, при проверката са необходими малко на брой действия, и този начин за контрол на достъпа е удовлетворителен в повечето случаи.


1.1.4. Режим на многопотребителски достъп

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

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

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

1.2. Области на приложение на файловете


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

Файловете с текстове на програми се използват като входни текстове за компилаторите, които на свой ред формират файлове, съдържащи обектни модули. От гледна точка на файловата система, обектните файлове също имат много проста структура – последователност от записи или байтове. Системата за програмиране налага на тази структура по-сложна и специфична за тази система структура на обектния модул. Логическата структура на обектния модул е неизвестна за файловата система, тази структура се поддържа от програмите на системите за програмиране.

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

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


1.3. Необходимост от информационни системи


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

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

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

Да предположим, че сме решили тази информационна система да се основава на файлова система и да се използва освен това един файл, разширявайки базовите възможности на файловата система с помощта на специална библиотека от функции. Тъй като минималната информационна единица в нашия случай е сътрудник, естествено е да се поиска, в този файл да се съдържа един запис за всеки сътрудник. Какви полета трябва да съдържа такъв запис? Пълното име на сътрудника (СЪТР_ИМЕ), номер на удостоверението му (СЪТР_НОМЕР), информация за съответствие на заеманата от него длъжност (за простота, "да" или "не") (СЪТР_СТАТ), размер на работната заплата (СЪТР_ЗАПЛ), номер на отдела (СЪТР_ОТД_НОМЕР). Тъй като искаме да се ограничим с един файл, същият запис трябва да съдържа името на ръководителя на отдела (СЪТР_ОТД_РЪК).

Функциите на нашата информационна система изискват да се осигури възможност за многоключеви достъп към този файл по уникални ключове (недублирани в различните записи) СЪТР_ИМЕ и СЪТР_НОМЕР. Освен това, трябва да осигури възможност за избор на всички записи с общо значение СЪТР_ОТД_НОМЕР, тоест достъп по неуникален ключ. За да се получи числеността на отдела или общият размер на работната заплата, всеки път при изпълнение на такава функция информационната система трябва да избере всички записи за сътрудниците на отдела и да пресметне съответните общи стойности.

Виждa се, че даже за такава проста система нейната реализация на базата на файлова система, първо, изисква създаване на достатъчно сложна надстройка за многоключеви достъп до файловете, и, второ, предизвиква изискване за съществена излишност на съхраняването (за всеки сътрудник на един отдел се повтаря името на ръководителя) и изпълнение на масова извадка и изчисления за получаване на сумарната информация за отделите. Освен това, ако в хода на експлоатация на системата ни се прииска, например, да се издават списъци на сътрудниците, получаващи определена заплата, то ще се наложи или напълно да се преглежда файла, или да се реструктуризира, обявявайки за ключово полето СЪТР_ЗАПЛ.

Първото, което ни идва на ум, това е да се поддържат два многоключеви файла: СЪТРУДНИЦИ и ОТДЕЛИ. Първият файл трябва да съдържат полета СЪТР_ИМЕ, СЪТР_НОМЕР, СЪТР_СТАТ, СЪТР_ЗАПЛ и СЪТР_ОТД_НОМЕР, а вторият - ОТД_НОМЕР, ОТД_РЪК, ОТД_СЪТР_ЗАПЛ (общ размер на заплатата) и ОТД_РАЗМЕР (общ брой сътрудници в отдела). Повечето неудобства, изброени в предишния абзац, ще се преодолеят. Всеки от файловете ще съдържа само недублирана информация, и няма да има необходимост от динамични изчисления на сумарна информация. Ще отбележим, че при такъв преход нашата информационна система трябва да има някои нови особености, сближаващи я със СУБД.

Преди всичко, системата сега трябва да знае, че тя работи с два информационно свързани файла (това е стъпка в посока на схемите на бази от данни), трябва да знае структурата и смисъла на всяко поле (например, че СЪТР_ОТД_НОМЕР във файла СЪТРУДНИЦИ и ОТД_НОМЕР във файла ОТДЕЛИ означават едно и също), а да разбира, че в много случаи изменението на информацията в единия файл трябва автоматично да предизвиква модификация във втория файл, за да може тяхното общо съдържимо да е съгласувано. Например, ако се приема на работа нов сътрудник, то е необходимо да се добави запис във файла СЪТРУДНИЦИ, а също и по съответен начин да промени полетата ОТД_ЗАПЛ и ОТД_РАЗМЕР в записите на файла ОТДЕЛИ, описващи отдела на този сътрудник.

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

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

SELECT ОТД_РАЗМЕР

FROM СЪТРУДНИЦИ, ОТДЕЛИ

WHERE СЪТР_ИМЕ = "ПЕТЪР ИВАНОВ СТЕФАНОВ"

AND СЪТР_ОТД_НОМЕР = ОТД_НОМЕР

По такъв начин, при формулирането на заявка СУБД позволява да не се замисляме за това, как ще се изпълнява тази заявка. Сред нейните метаданни ще се съдържа информация за това, че полето СЪТР_ИМЕ е ключово за файла СЪТРУДНИЦИ, а ОТД_НОМЕР – за файла ОТДЕЛИ, и системата сама ще се възползва от това. Ако възникне потребност от получаване на списъка сътрудници, не съответстващи на заеманата длъжност, то е достатъчно да се предяви към системата заявка

SELECT СЪТР_ИМЕ, СЪТР_НОМЕР

FROM СЪТРУДНИЦИ

WHERE СЪТР_СТАТ = "НЕ",

и системата сама ще изпълни необходимия пълен преглед на файла СЪТРУДНИЦИ, тъй като полето СЪТР_СТАТ не е ключово.

Представете си, че в нашата първоначална реализация на информационната система, основана на използването на библиотеки и разширени методи за достъп до файлове, се обработва операция за регистрация на нов сътрудник. Следвайки изискванията за съгласувано изменение на файловете, информационната система ще вмъкне нов запис във файла СЪТРУДНИЦИ и ще се опита да модифицира записа във файла ОТДЕЛИ, но именно в този момент се случи аварийно изключване на електрозахранването. Очевидно е, че след рестарта на системата нейната база от данни ще бъде в разсъгласувано състояние. Ще трябва да се изясни състоянието (а за това е необходимо явно да се провери съответствието на информацията от файловете СЪТРУДНИЦИ и ОТДЕЛИ) и да се приведе информацията в съгласувано состояние. Истинските СУБД поемат такава работа. Приложната система не е длъжна да се грижи за коректността на състоянието на базата от данни.

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

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



Каталог: tadmin -> upload -> storage
storage -> Литература на факта. Аналитизъм. Интерпретативни стратегии. Въпроси и задачи
storage -> Лекция №2 Същност на цифровите изображения Въпрос. Основни положения от теория на сигналите
storage -> Лекция 5 система за вторична радиолокация
storage -> Толерантност и етничност в медийния дискурс
storage -> Ethnicity and tolerance in media discourse revisited Desislava St. Cheshmedzhieva-Stoycheva abstract
storage -> Тест №1 Отбележете невярното твърдение за подчертаните думи
storage -> Лекции по Въведение в статистиката
storage -> Търсене на живот във вселената увод
storage -> Еп. Константинови четения – 2010 г някои аспекти на концептуализация на богатството в руски и турски език


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




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

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