А) Йерархичен (дървовиден)




ИмеА) Йерархичен (дървовиден)
Дата на преобразуване07.10.2012
Размер88.16 Kb.
ТипДокументация
източникhttp://www.pgee-bourgas.com/files/28_09_2012_tema1_-_bd.doc
БАЗА ДАННИ основни понятия


1. Понятие за БД

База от данни се нарича всяка организирана колекция от данни. Няма значение дали тази колекция се съхранява на хартиен носител или в паметта на компютъра – това е база от данни. Типичен пример за база от данни е телефонният указател.

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

2. Модели на БД

Информационните системи работят с данни, които описват някакви обекти от реал­ния свят. За да се представят данните от реалния свят в паметта на компютрите, се използват модели за описание на данните. Тези модели задават унифицирани подходи и правила, по които обектите от реалния свят се пренасят като структури в паметта на компютъра или във външни системи за съхранение и обработка на данни.

Процесът на пренасяне на информация за обекти от реалния свят в структури от света на компютрите се нарича моделиране на данните. За целите на това моделиране са разработени няколко различни концепции (модели) за представяне на данните. Всеки от тях си има свои предимства и недостатъци и би могъл да се използва с различен успех при различни ситуации. Нека разгледаме най-разпространените модели на данните.

А) Йерархичен (дървовиден)


При йерархичния модел представянето на данните може да се опише с помощта на дърво. Тук всеки елемент има един родител и няколко наслед­ника. Един от елементите играе ролята на корен в дървото – той има само наследници и няма родител. Именно от него започва търсенето на дадена информация. Всеки елемент си има някаква структура - списък от атри­бути, които могат да имат стойности или поддървета или и двете. Пример за такава база от данни е Microsoft Active Directory, Windows Registry или файловата система на Windows например.

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

Б)Мрежови


Мрежовият модел представлява обобщение на дървовидния, при което базата от данни не се представя чрез дърво, а с помощта на ориентиран граф. При изграждането на графа се допуска и наличието на цикли. При­мер за база от данни, работеща на този принцип, може да бъде информа­ционната система World Wide Web (WWW) – в нея имаме страници с информация и връзки между тях.

В)Релационен (табличен)


Релационният модел на базите от данни е разработен от д-р Едгар Ф. Код. В своя труд озаглавен "A Relational Model of Data for Large Shared Databanks", той дефинира 13 правила, които определят една база от данни като релационна. Моделът се базира на следните дялове от математиката – теория на множествата, предикатна логика от първи ред и релационна алгебра. Терминът релация, който е част от теорията на множествата дава и името на модела.

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

Г)Обектно-релационен


За обектно-релационният модел може да се мисли като за хибрид между релационния модел на бази от данни и обектно-ориентираното програми­ране. Към релационния модел се въвеждат някой от концепциите на обектно-ориентираното програмиране. Например при този модел табли­ците могат да се наследяват за добавяне на допълнителни полета.

3. Системи за управление на БД


А) система за управление на релационна БД

Система за управление на релационна база от данни (Relational Database Management System - RDBMS) се нарича софтуер, който осигурява:

-        създаване, промяна  и изтриване на таблици и връзки между тях

-        добавяне, промяна, изтриване, търсене и извличане на данни от таблиците

-        поддръжка на езика SQL (езикът SQL ще бъде представен по-късно в настоящата тема)

-        управление на транзакциите. Транзакциите са група от промени по базата от данни, които изцяло се изпълняват или изцяло се отказват. Управлението на транзакциите не е задължителен елемент на СУБД, но се предлага като стандартна възможност от съвременните системи. По-голямо внимание на транзакциите ще обърнем по-нататък в настоящата тема.

Б) видове RDBMS сървъри


Много често RDBMS системите се наричат още "сървъри за управление на бази от данни (СУБД)" или просто "Database сървъри". По-известни такива RDBMS сървъри са:

Microsoft SQL Server (http://www.microsoft.com/sql/default.mspx). Характерно за него е лесната администрация, подобно на останалите сървъри на Microsoft, добра производител­ност, висока скалируе­мост и висока надеждност (в последните версии). Сървърът поддържа всички важни характеристики на съвременните RDBMS системи. За съжаление Microsoft SQL Server работи само под операционната система Windows. Той е комерсиален продукт и е предназначен най-вече за корпо­ративни клиенти. При малки проекти може да се използва неговата безплатна ограничена версия (MS SQL Server Desktop Engine).

-        Oracle Database (http://www.oracle.com/database/index.html). Това е един от лидерите при RDBMS системите, за който е характерна изключително висока надеждност, способност за работа с голям брой потребители при огромно натоварване, възможност за управление на огромни обеми данни и версии както за Windows така и за Linux и други ОС. Представлява комерсиален продукт, който обаче може да се изтегли безплатно от сайта на Oracle за учебни цели.

-        IBM DB2 (http://www-306.ibm.com/software/data/db2/). Като водещ RDBMS сървър, отговарящ на нуждите на големите корпоративни клиенти, той е надежден, способен е да поема огромно натоварване и се скалира добре при голям брой клиенти. Комерсиален продукт. Има възможност за работа върху различни платформи.

-        PostreSQL (http://www.postgresql.org/). Един от най-сериозните RDBMS сървъри с отворен код, който притежава висока надеждност. Базиран е на код, който първоначално е разработен от University of California в департамента по компютърни науки – Berkeley. По архи­тектура и организация много прилича на Oracle. Поддържа всички по-важни характеристики на RDBMS сървърите (съхранени проце­дури, транзакции и др.).

-        MySQL (http://www.mysql.com/). Този сървър има славата на много бърз и лесен за използване. Той е разработен като проект с отворен код и еволюира постепенно от проста система за съхранение на данни към сериозен RDBMS сървър. В последните си версии под­държа транзакции и съхранени процедури. Заради недоста­тъчната си надеждност и проблемите при високо натоварване MySQL се из­ползва рядко за големи и критични за бизнеса проекти. Характерни за него са версии както за Windows, така и за Linux, които могат да се ползват безплатно. Много често се комби­нира с езика PHP при създаването на динамични уеб сайтове.

-        Borland Interbase (http://www.borland.com/interbase). Много лек RDBMS сървър, притежаващ всички качества на съвременните RDBMS системи (съхранени процедури, транзакции и т.н.). Сървърът работи както под Windows, така и под Linux. Съществува безплатна негова версия – Firebird (http://firebird.sourceforge.net/) която е с отворен код.


4. Таблици

Таблиците представляват съвкупност от стойности, подредени в редове и колони.

А) елементи

Поле – категория информация, съхранена в БД.

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

Ред - За всяка таблица е характерно, че нейните редове имат еднаква структура, т.е. всеки два реда от нея имат едни и същи полета (колони). Ако при проектиране на таблиците, се получи ситуация в която се налага дадени записи от една и съща таблица да имат различна структура, това означава, че подходът при проектирането е грешен и трябва да се промени.


id

name

family

employer

1

Димитър

Атанасов

ПГЕЕ

2

Бранимир

Милев

АЕГ

3

Мартин

Кулов

ГПМЕ



Б) първичен ключ (primary key)

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

В) външен ключ (foreign key)

Външен ключ (foreign key) се нарича копие на първичен ключ на дадена таблица, което е включено в данните на друга таблица. Пример за външен ключ е полето country_id от таблицата TOWN показана по-долу.





Г) връзки между таблиците

Връзка между две таблици съществува, ако може по някакъв начин да се съпоставят записи от една таблица със записи от друга таблица. Връзките се базират на взаимоотношенията primary key / foreign key. Външния ключ в една таблица (foreign key) е номер на запис (primary key) в друга таблица. В горната диаграма на таблиците, полето country_id от табли­цата TOWN е външен ключ, който сочи към първичния ключ на запис от таблицата COUNTRY. Така двете таблици TOWN и COUNTRY са обвързани помежду си с релация.

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

Д) видове релации

Връзка 1 x 1


При тази връзка на един запис от първата таблица съответства точно един запис от втората таблица. Пример за такова съответствие е държава – столица. Всяка държава има една столица и всяка столица принадлежи на една държава:



Връзките от тип 1 към 1 се използват рядко, в особени случаи, и не намират широко приложение.

Връзка 1 x много (или много x 1)


При тази връзка един запис от първата таблица съответства на много записи от втората таблица. Пример за такова съответствие е град – държава. Всеки град принадлежи на една държава и всяка държава има много градове:



Връзките от тип 1 към много се използват постоянно при моделиране на взаимоотношения от реалния свят, където се срещат непрекъснато.

Връзка много x много


При тази връзка на един запис от първата таблица съответстват много записи от втората таблица и обратно. Пример за такова съответствие е студент – учебна дисциплина. Всеки студент изучава много учебни дисциплини и всяка учебна дисциплина е изучавана от много студенти.

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



От диаграмата лесно се вижда, например, че студентът Пешо е записан в курсовете .NET и Java, а в курса Java са записани студентите Пешо, Гошо и Пенка.

Е) релационна схема

Релационна схема на БД наричаме съвкупността от схемите на всички таблици и връзките между таблиците. Тя описва структурата на БД, но не съдържа данни, а само метаданни. Метаданните са такъв тип данни, който описва други данни – например метаданните за една таблица съдържат имената и типовете на колоните  и др. нейни характеристики.





Нормализация


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


5. Проектиране на БД

  • Определя се информацията, която ще се съхранява и нейния тип

  • Да няма загуба на пространство – повтаряне на информация

  • Да се избегне аномалии в актуализирането: промяна, добавяне или изтриване на записи от таблиците



Свързани:

А) Йерархичен (дървовиден) iconА) Йерархичен (дървовиден)
База от данни се нарича всяка организирана колекция от данни. Няма значение дали тази колекция се съхранява на хартиен носител или...
А) Йерархичен (дървовиден) iconНа преподавателите цялостно и в правилен логически ред да обхванат различните страници от модула урок и е една стъпка напред по отношение на интегрирането на
Събрано" и "Разгънато". Под-табът "Събрано" е еквивалентен на "Дървовиден изглед" в Moodle. В зависимост от предпочитанията на потребителя,...
Поставете бутон на вашия сайт:
Документация


Базата данни е защитена от авторски права ©bgconv.com 2012
прилага по отношение на администрацията
Документация
Дом