Информационни системи - теория
Софтуерът за бази данни е ключът към решаването на проблеми с управлението на информацията. Най-общо казано, системата за управление на база данни (СУБД) трябва да може надеждно да управлява големи количества данни в среда с много потребители, така че всички потребители да имат достъп до едни и същи данни едновременно. Всичко това трябва да се постигне, като същевременно се гарантира висока производителност на потребителите на бази данни. СУБД също трябва да бъде защитена от неоторизиран достъп и трябва да предоставя ефективни решения за възстановяване след бедствие.
ORACLE Server предоставя ефикасни и ефективни решения за основни бази данни:
- ORACLE поддържа най-големите бази данни с потенциални размери до стотици гигабайти. За да осигури ефективен контрол върху използването на скъпи дискови устройства, той осигурява пълен контрол върху разпределението на пространството.
- ORACLE поддържа голям брой потребители, изпълняващи едновременно различни приложения, които работят с едни и същи данни. Той минимизира конкуренцията за данни и гарантира последователност на данните.
- ORACLE поддържа всички инструменти, описани по-горе, като същевременно поддържа висока степен на цялостна производителност на системата. Потребителите на бази данни не страдат от лоша производителност на обработка.
- При някои инсталации ORACLE работи 24 часа на ден без периоди на разтоварване, които ограничават пропускателната способност на базата данни. Нормалните системни операции, като връщане назад на база данни, както и частични сривове на компютърната система, не прекъсват операциите на базата данни.
- ORACLE може избирателно да управлява наличността на данни, както на ниво база данни, така и на по-ниски нива. Например,администраторът може да забрани достъпа до конкретно приложение (така че данните на приложението да могат да бъдат презаредени), без да засяга други приложения.
- ORACLE следва индустриалните стандарти за език за достъп до данни, операционни системи, потребителски интерфейси и мрежови протоколи. Това е "отворена" система, която защитава инвестицията на клиента. Сървърът ORACLE7 е сертифициран от Националния институт за стандарти и технологии на САЩ като 100% съвместим със стандарта ANSI/ISO SQL89. ORACLE7 е напълно съвместим със стандарта на правителството на САЩ FIPS127-1 и има "маркер", за да подчертае нестандартните SQL употреби. В допълнение, ORACLE7 е оценен от правителствения Национален център за компютърна сигурност (NCSC) като съвместим с критериите за сигурност на Оранжевата книга; ORACLE7 Server и Trusted ORACLE7 отговарят съответно на нивата C2 и B1 от Оранжевата книга и на сравнимите европейски критерии за сигурност на ITSEC.
- За защита срещу неоторизиран достъп до базата данни, ORACLE предоставя функции за безопасност, които ограничават и наблюдават достъпа до данните. Тези инструменти улесняват управлението дори на най-сложните модели на достъп.
- ORACLE автоматично поддържа целостта на данните, като спазва "организационните правила", които диктуват стандартите за приемане на данни. В резултат на това разходите за кодиране и поддържане на проверки в множество приложения за бази данни се елиминират.
- За да извлечете максимума от дадена компютърна система или мрежа, ORACLE позволява разделянето на работата между сървъра на базата данни и клиентските приложения. Тежестта на управлението на споделените данни може да бъде поставена върху компютъра,стартиране на СУБД, докато работните станции, изпълняващи приложенията, могат да се концентрират върху интерпретирането и показването на данните.
- В мрежови изчислителни среди ORACLE комбинира данни, физически разположени на различни компютри, в една логическа база данни, до която всички потребители на мрежата имат достъп. Разпределените системи имат същата степен на прозрачност за потребителите и съгласуваност на данните като неразпределените системи, като същевременно предоставят предимствата на управлението на локална база данни.
- Софтуерът ORACLE е преносим между различни операционни системи и е еднакъв на всички системи. Приложенията, разработени за ORACLE, могат да бъдат пренесени към всяка операционна система с малко или никакви модификации.
- Софтуерът ORACLE е съвместим с индустриалните стандарти, включително повечето стандартни операционни системи. Приложенията, разработени за ORACLE, могат да се използват на всяка операционна система с малко или никакви модификации. Софтуерът ORACLE позволява на различни видове компютри и операционни системи да споделят информация по мрежи.
Физическа и логическа структура на ORACLE
Базата данни ORACLE има както физическа, така и логическа структура. Чрез разделянето на физическата и логическата структура на базата данни е възможно да се управлява физическата структура на данните, без да се засяга достъпът до логическите структури на данните.
Физическата структура на база данни ORACLE се определя от файловете на операционната система, които съставят базата данни. Всяка база данни ORACLE е съставена от три типа файлове: един или повече файлове с данни, два или повече файла с даннижурнал за повторение и един или повече контролни файлове.
Файловете на базата данни осигуряват действителното физическо съхранение на информацията от базата данни.
Логическата структура на базата данни ORACLE се определя от:
- едно или повече таблични пространства;
- обекти на схемата на базата данни (таблици, изгледи, индекси, клъстери, последователности, съхранени процедури).
Логическите структури за съхранение, включително таблични пространства, сегменти и екстенти, определят как се използва физическото пространство на базата данни. Обектите на схемата и връзките между тях формират релационната структура на базата данни.
Блокове от данни, екстенти и сегменти ORACLE осигурява фин контрол върху използването на диска чрез логически структури за съхранение, включително блокове от данни, екстенти и сегменти.
Механизмите на ORACLE работят чрез използването на структури и процеси на паметта. Всички структури на паметта се намират в основната памет (понякога наричана виртуална памет или памет с произволен достъп) на компютрите, които съставят системата от бази данни.
СУБД на Oracle има собствен PL/SQL език
PL/SQLе процедурното езиково разширение на Oracle към езика SQL. PL/SQL съчетава лекотата и гъвкавостта на SQL с процедурните характеристики на структуриран език за програмиране като IF. THEN, WHILE и LOOP.
Когато пише приложение за база данни, разработчикът трябва да вземе предвид ползите от използването на PL/SQL съхранени рутинни процедури:
- Тъй като PL/SQL кодът може да се съхранява централно в базата данни, мрежовият трафик между приложенията и базата данни се намалява, което подобрява производителността на приложението и системата.
- Благодарение на съхранения PL/SQL коддостъпът до данните може да се контролира. С този метод потребителите на PL/SQL могат да осъществяват достъп до данни само както е предвидено от разработчика на приложението (освен ако не е предоставен различен маршрут за достъп). - PL/SQL блоковете могат да се изпращат от приложения към базата данни, което ви позволява да извършвате сложни операции без прекомерно натоварване на мрежата.
Дори ако PL/SQL не се съхранява в базата данни, приложенията могат да изпращат цели блокове от SQL към базата данни вместо отделни SQL изрази, като отново намаляват мрежовия трафик. Следващите раздели описват различните програмни единици, които могат да бъдат дефинирани и съхранявани централно в база данни.
Процедурите и функциитеса колекции от SQL и PL/SQL изрази, групирани в единица за решаване на конкретен проблем или изпълнение на много свързани задачи. Процедурата се създава и съхранява в базата данни в компилиран вид и може да бъде изпълнена (извикана) от всеки потребител или приложение. Процедурите и функциите са подобни, с тази разлика, че функцията винаги връща една стойност на извикващата програма, докато процедурата не връща стойност.
Пакетитеосигуряват метод за капсулиране и съхраняване на свързани процедури, функции, променливи и други конструкции на пакети като единица в база данни. Докато предоставят организационни предимства на администратора на базата данни или разработчика на приложение, пакетите в същото време подобряват функционалността (например глобалните променливи на пакета могат да бъдат декларирани и използвани от всяка процедура в пакета) и подобряват производителността на базата данни (например всички обекти на пакета се анализират, компилират и зареждат в паметта веднъж).
Задейства базата данниORACLEви позволява да пишете процедури, които се изпълняват автоматично в резултат на актуализация, вмъкване или изтриване от таблица. Такива процедури се наричат тригери на база данни. Тригерите на базата данни могат да се използват по голямо разнообразие от начини за управление на информацията от вашата база данни. Например, те могат да се използват за автоматизиране на генерирането на данни, одитиране на модификации на данни, налагане на сложни ограничения на целостта или организиране на сложни процедури за сигурност.
Многопотребителските системи за бази данни като ORACLE включват функции за сигурност, които контролират достъпа до базата данни и използването на данни. Например защитните механизми правят следното:
- предотвратяване на неоторизиран достъп до базата данни
- предотвратяване на неоторизиран достъп до обектите на схемата
- контрол на използването на диска
- наблюдавайте използването на системни ресурси (като CPU време)
- одит на потребителските действия
Например защитата на системата включва:
- валидни комбинации от потребителски имена и пароли;
- дали потребителят има право да се свърже с базата данни;
- количеството дискова памет, достъпно за потребителските обекти;
- ограничения на ресурсите за потребителя;
- активност или неактивност на одита на базата данни;
Какви системни операции са разрешени за извършване на потребителя.
Защитата на данните включва механизми, които контролират достъпа и използването на базата данни на ниво обект.
Например защитата на данните включва:
- кои потребители имат достъп до конкретен обект на схема и какви видове действия са разрешени за всеки потребител на този обект (например потребителят SCOTT може да издаде за таблицаEMP клаузи SELECT и INSERT, но не и клаузи DELETE);
- какви действия подлежат на одитно проследяване за всеки обект от схемата.
ORACLE управлява сигурността на базата данни с помощта на няколко различни инструмента, включително: