1 / 27

Бази данни (БД)

Бази данни (БД). Гл.ас. Д-р Даниела Гоцева http://dgoceva.info. Въведение. Препоръчителна литература: Проектиране на бази от данни, Майкъл Х. Ернандес , СофтПрес. Access бази данни - проектиране и програмиране, Стивън Роман , ЗеСТ Прес.

haile
Download Presentation

Бази данни (БД)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Бази данни(БД) Гл.ас. Д-р Даниела Гоцева http://dgoceva.info БД-лекции

  2. Въведение • Препоръчителна литература: Проектиране на бази от данни,Майкъл Х. Ернандес,СофтПрес. Access бази данни - проектиране и програмиране,Стивън Роман,ЗеСТ Прес. Mastering SQL - професионално издание - том 1 и 2,Мартин Грубер,СофтПрес. Fundamentals of Database Systems, Elmasri and Navathe, Addison Wesley. БД-лекции

  3. ВъведениеПреди да се появят БД: • Всяко приложение има независими главни (основни) файлове. • Дублирането на данни води до нарушаване на целостта им. • Използването на общи основни (водещи) файлове създава и проблеми от гледна точка сигурност. • Структуриране на данни за осигуряване на произволен достъп до файла • Прави обработката на данните сложна. • Подпрограмите дават обща обработка на данните. • За да се ползват подпрограми се изискват знания на ниско ниво. БД-лекции

  4. Основни понятия и концепции • База данни – компютърна система за запис и обработка на информацията. • Интегрирана съвкупност от данни. • Информацията е всяка, която е от значение за потребителите на БД. • БД има 4 важни компонента: • data – информацията се съхранява в интегрирана, разпределена БД • hardware • software • users БД-лекции

  5. Hardware andSoftware • Hardware • Състои се от вторична памет за данните. • Съдържа процесор, управление и т.н. • Данните са огромни по размер за да се съхраняват в RAM-а. • Software • СУБД (DBMS, database management system) позволява един или повече потребители да достъпват данните. • Позволява на потребителите да работят с абстракция на данните (logical). БД-лекции

  6. Users • Съществуват три класа потребители: • Приложни програмисти, отговорни за писане на програми на език от високо ниво като С++. • Крайни потребители, които достъпват БД посредством заявки. • Администратори на БД (database administrator, DBA), които контролират операциите в БД. БД-лекции

  7. Архитектура на БД СУБД на различните БД има различна архитектура. • Съвременните БД притежават трислойна архитектура. • Това е следствие на ANSI/SPARC стандарт за СУБД. • ANSI/SPARC е American National Standards Institute/Standard Planning and Requirement Committee. • Архитектурата на СУБД е разделена на три нива: • external • conceptual • internal БД-лекции

  8. Архитектура на БД (2) • external level : отнася се до начина, по който потребителите виждат данните. • conceptual level : формално описание на данните, независимо от начина на съхранението им. • internal level : показва как се съхраняват данните. БД-лекции

  9. Архитектура на БД (3) БД-лекции

  10. External View • Потребител – всеки, който се нуждае от достъп до порция данни. • Достъпът може да се осъществи през С++ (programmer) или чрез заявка (causal user). • Всички методи за достъп включват език за работа с данни (data sub-language, DSL). • DSL е комбинация от два езика: • Език за дефиниране на данни (data definition language, DDL) и • Език за обработка на данните (data manipulation language, DML) • Всеки потребител вижда данните като external view • Дефиниран чрез external schema, съдържаща external record descriptions и описание на съответствието между external schema и conceptual level. БД-лекции

  11. Conceptual View • Абстрактно представяне на цялата информация в БД. • Това е изглед на данните, такива, каквито са. • Състои се от множество повторения на множество типове conceptual record. • За осигуряване на независимост на данните, дефиницията на conceptual records трябва да съдържа информация само за съдържанието им. • conceptual schema, също както дефиницията, съдържа процедури за authorisation и validation. БД-лекции

  12. Internal View • Това е представянето на данните на най-ниско ниво в цялата БД. • Отделено е от физичекото ниво (physical level). • internal view се описва от internal schema, която задава: • Различните типове съхранени записи • Какви индекси съществуват • Как се представят съхранените полета • Каква е физическата последователност на съхранените записи • internal schema е дефиниция на структурите в паметта. БД-лекции

  13. Mappings • conceptual/internal mapping: • Дефинира съответствието между conceptual и internal view • Определя mapping от conceptual records към съответните съхранени двойки • external/conceptual mapping: • Дефинира съответствие между конкретен external и conceptual view • Промяна в структурата в паметта означава, че conceptual/internal mapping трябва да се промени, така че conceptual schema да остане непроменена към физическото представяне на данните. • Промяна в концептуалната дефиниция означава, че conceptual/external mapping трябва да се промени така, че external schema да остане непроменена по отношение логическото представяне на данните. БД-лекции

  14. СУБД СУБД (DBMS) е програма, която: • Поема целия достъп до БД • Отговаря за проверка на authorisation и validation процедури Концептуално, какво се случва: • Потребител поиска достъп чрез DML. • СУБД прекъсва заявката и я интерпретира. • СУБД проверява external schema, external/conceptual mapping, conceptual schema, conceptual/internal mapping и дефиницията на структурата в паметта. • СУБД изпълнява необходимите операции върху съхранените данни в БД. БД-лекции

  15. DatabaseAdministrator Администраторът на БД (DBA) отговаря за цялостния контрол върху БД. Това включва: • Определяне информационното съдържание на БД. То се задава посредством концептуалната схема на БД, използвайки DDL. • Определяне на структурата и достъпа до данните, т.е. как се представят данните според дефиницията си. Определя се асоциираната internal/conceptual schema посредством DDL. • Връзка с потребителите, т.е. осигуряване на достъп до данните и запис на необходимите външни схеми и conceptual/external mapping (с DDL). БД-лекции

  16. СУБД (2) • Дефиниране на процедури по оторизация и валидация. Оторизацията и валидацията са разширения към концептуалната схема и могат да се зададат с DDL • Дефиниране на стратегия за backup и recovery. Напр., периодичен запис на БД на CD или лентово устройство и процедури за възстановяване на БД. Използване на лог файл (log file), където всеки запис съдържа стойности за промени по БД, с цел възстановяването й. • Наблюдение на производителността и реакцията на БД при промяна на изискванията, т.е. търсене на оптимален начин за организация на БД за да се подобри производителността й. БД-лекции

  17. DBA Tools За изпълнение на тези задачи DBA използва множество помощни програми (tools): • loading routines • reorganisation routines • journaling routines (log files) • recovery routines • statistical analysis routines Едно от най-важните DBA средства е data dictionary. Data dictionary е БД, която съдържа данни за данните, т.е. описание на други обекти в системата. БД-лекции

  18. Възможности и ограничения Възможностите, предоставяни от СУБД са различни (зависят от вида на БД). Всички СУБД имат следните предимства пред конвенционалните системи: • Независимост на данните и програмата • Разпределена обработка на данните и работа без излишък от данни • Цялост (integrity) • Централизиран контрол (centralised control) • Сигурност (security) • Производителност и ефективност БД-лекции

  19. Независимост на данните • Най-голямото предимство на БД • В конвенционалните системи приложението зависи от данните • Пример: файл с индексно-последователна организация – приложението трябва да знае: • Че съществува индекс • Че файла е последователен и Вътрешната структура на приложението се изгражда на база това знание. Напр., ако организацията на файла се промени (стане хеширан), се налагат промени и в приложението. БД-лекции

  20. Независимост на данните (2) • Такова приложение е зависимо от данните. • Не е препоръчително приложенията да зависят от данните • DBA трябва да има свободата да променя начина на съхранение на данните или метода за достъп до тях в отговор на промяна в изискванията, без да се налага модификация по съществуващите приложения. • Независимостта на данните може да се дефинира като ‘The immunity of applications to change in storage structure and access strategy’. БД-лекции

  21. Излишък на данни (Data Redundancy) • При приложения с файлова организация (без БД) всяко от тях си има собствени файлове • Това води до излишък от информация в съхранените данни и загуба на дисково пространство. • В БД данните са интегрирани • БД могат да се считат като унификация на множество различни файлове с данни, като повторенията в тях са сведени до минимум или липсват. • Интеграцията на данните се разглежда като важна характеристика на БД • Избягването на излишък на данните трябва да бъде цел, но средствата, с които тази цел ще бъде постигната, са обект на дискусия. БД-лекции

  22. Излишък на данни (2) • Излишъкът е: • Пряк, ако стойността е копие на друга • Непряк, ако стойността се поражда от други стойности: • Улеснява получаването, но усложнява актуализацията • Обратно, интеграцията намалява скоростта на извличане и улеснява актуализацията на данните • Излишъкът на данни води до несъгласуваност на БД, ако не е контролиран. • Системата трябва да улавя всяко дублиране на данни • БД с неконтролиран излишък може да бъде в състояние на несъгласуваност • Факт, представян само от един запис не може да доведе до несъгласуванност. БД-лекции

  23. Цялост на даннитеData Integrity Цялостта на данните описва проблема на осигуряване на акуратност на данните в БД… • Несъгласуваността между два записа, представящи един и същи факт, дава пример за липса на цялост (причинява се от излишък). • Цялостта се получава на база ограничения, които са множество твърдения, изпълнявани при актуализация на БД. Така се предотвратяват грешките в БД. • Дори да се елиминира излишъка, БД може да съдържа неправилни данни. • Проверката на цялостта е проверка на данните и типовете на записите. БД-лекции

  24. Цялост на данните (2) Проверката за цялост (Integrity checks) на данните се дели на 4 групи: • Проверка на типа (type checks) • Проверка за излишък (redundancy checks) • Проверка за диапазона на данните (range checks) • Проверка за сравнение на данните (comparison checks) БД-лекции

  25. Цялост на данните (3) • Типът на записа (record type) може да има ограничения за брой на повторенията, или за добавяне и изтриване на записи. • Напр., в БД за пациенти има лимит за броя на ренгеновите изследвания на всеки пациент • Или данните на пациент, посещаващ болница, трябва да се съхраняват мин 5 години преди да се изтрият • Централизираното управление на БД помага да се запази цялостта на данните • Позволява на DBA да дефинира процедури за валидация, които се изпълняват при всяка актуализация (вкл. модификация, създаване и изтриване). • Цялостта е важна за БД • Приложението, стартирано без процедура за валидация може да създаде грешни данни, което ще окаже влияние върху други приложения, ползващи същите данни. БД-лекции

  26. Опитна постановка в MySQL (избира се 1 или 2) • Инсталира се XAMPP – може да се свали от http://www.apachefriends.org/en/xampp.html • Съдържа MySQL, PHP, Apache, PHPMyAdmin – web СУБД за MySQL • Инсталира се MySQL от http://dev.mysql.com/downloads/ и MySQL GUI Tools – работа със заявки, администриране на БД БД-лекции

  27. Демо на MySQL и PHPMyAdmin БД-лекции

More Related