5487cc13eeb5c269edf953c2b0ec7b33.ppt
- Количество слайдов: 41
Бази данни доц. д-р Елисавета Гурова Курс “Телематика и бизнес приложения”
Какво ще научите? n Същност на базите данни n Основни компоненти на базите данни n Разликите между управление на файлове и релационни бази данни n Системи за управление на бази данни n Основни свойства на добре организираната база данни n Бази данни в търговските организации
База данни n Понятието бази данни се появява в началото на 60 -те години във връзка с компютърната обработка на данните. n За рождена дата на базата данни може да приеме юни на 1963 г. , когато фирмата SDC (Sistem Development Corporation) организира симпозиум на тема: “Разработка и използване на машинно управляеми бази данни “. n Фундаментални са идеите на Ч. Бахман, които проличават в публикациите му от 1964 и 1965 г. С тях той поставя първите проблеми на една нова информатика, позната ни днес като “Управление на бази данни “. n Още тогава много специалисти са оценили важността на тези проблеми и се оформя асоциация по езици за системи за обработка на данни – CODASYL (Conference from Data System Language), която дава силно отражение върху развитието на концепцията за изграждане на системи за управление на бази данни (СУБД).
Бази данни – основни понятия n Данните представляват неорганизирани текст, графика, звуци или видео n Базата данни е съвкупност от данни n n В общия смисъл: колекция от данни, подредени така, че търсенето и извличането им да бъде лесно и бързо. В смисъла на сървър за бази от данни: колекция от обекти и данни, групирани логически. n Системите за управление на бази данни позволяват да се сортират, групират, премахват или добавят нови данни n Информацията това са данни, преработени по смислен начин
5 К за конвертиране на данните в информация Кондензиране - Данните се обобщават в по-сбита форма и ненужните подробности се елиминират. Контекстуализиране - наясно сме защо се събират данните. Калкулиране - анализирани данни, подобно на кондензирането. Категоризиране - Знае се категорията за анализиране. Коригиране - Премахнати са грешките, взети са под внимание липсващите данни.
5 К за конвертиране на данните в информация Кондензиране Контекстуализиране Калкулиране Данни Категоризиране Коригиране Информация
Нива от данни в базата данни n Слоевете в базата данни: n n n Битове – Най-ниският слой, състоящ се от 0 и 1 Символи – Букви, цифри и символи Полета – Област, която съдържа данни и има идентификатор (например, поле е колонка в таблицата, а нейният идентификатор е заглавната клетка на колоната Име; Адрес; Пол) Записи – Съдържат групи от полета (това могат да бъдат редиците в таблицата) Файлове с данни – Съдържа свързани по определен начин записи Бази данни – Това е най-горният слой, който се състои от множество файлове с данни (Например: Адресен справочник на фирмата, Списък със служещи, Списък с доставчици)
Бази данни – основни понятия n Атрибут / идентификатор : Индивидуална характеристика като име, адрес и т. н. , съответстваща на колона в таблицата. n Релация : Структурирана композиция за изразяване на отношенията между колоните и записите на две таблици. Колони/Атрибути Id Birth. Date Иван Петров София 25. 12. 1985 2 Стоянов Плевен 11. 08. 1981 3 Основни типове, потребителски дефинирани типове, ограничения Birth. Palce 1 Таблица Name Петко Иванов Варна 13. 04. 1983 4 Ана Борисова Пловдив 16. 08. 1952 Възможн а стойност Записи Възможн а стойност
Бази данни – основни понятия n Стойности на колони n Основни типове n n Потребителски дефинирани типове n n Множество от примитивни типове за данни като int, float, varchar, datetime и др. Базират се на основните типове, за които се задават правила, които ограничават допустимите стойности за дадена колона. Ограничения n Задават правила за допустимите стойности на дадена колона. § NULL § CHECK § FOREIGN KEY
Бази данни – основни понятия n Зависимости / релации n Колона: Съществуват когато, стойността, съхранена в дадена колона, изисква определен набор от стойности за друга колона. § Пример: При наличие на полета has. Driver. License и driver. License. Number, ако полето has. Driver. License има стойност False, то полето driver. License. Number не е необходимо да се попълва. n Запис: Възниква, когато един запис в дадена таблица определя стойност в друг запис на същата таблица. § Пример: Банкова система – при теглене на сума от банкова сметка, е необходимо да се сумират всички транзакции по сметката, за да се определи дали има достатъчна наличност за новата транзакция. n Таблица: Възниква, когато дадена стойност в една таблица определя стойност в друга таблица. § Пример: Съхраняване на персонална информация за потребители, при което в една таблица се съхраняват данни за името и възрастта на даден потребител, а в друга – паспортни данни, ако потребителят е над определена възраст.
Типове данни n Едно поле от записа се обозначава като ключово поле или първичен ключ n Ключовото поле трябва да съдържа само уникални значения, например ЕГН или Факултетен номер на студента
ТИПОВЕ РЕЛАЦИИ n Бинарни: изразяват отношението между две таблици n Едно към едно: на всеки запис от родителската таблица съответства точно определен запис от дъщерната таблица House Id House Type 1001 1 1002 2 1003 1 1004 3 1005 4 House Id Location 1001 6 th Avenue 1002 Johnson Street 1003 Business Boulevard 1004 Blue Street 1005 9 th Avenue
ТИПОВЕ РЕЛАЦИИ n Едно към много: на всеки запис от родителската таблица съответстват неограничен брой записи от дъщерната таблица n Едно към определено n: на всеки запис от родителската таблица съответстват точно определен брой записи от дъщерната таблица State Id State Employee Id Name 1 Free 5001 Bob 2 Taken 5002 Fred 3 Booked 5003 Jean State Id Room Bedrooms Employee Id Email 1 101 2 5001 bob@mail. bg 2 102 1 5001 bob@gmail. com 2 201 2 5002 fred@abv. bg 2 202 1 5002 fred@mail. bg 3 301 2 5003 jean@abv. bg 3 302 4 5003 jean@hotmail. com
ТИПОВЕ РЕЛАЦИИ n Много към много: на всеки ред от първата таблица съответстват множество редове във втората таблица и за всеки ред от втората таблица има множество редове от първата таблица. Stud Num First name Last Name Grade Level N 001 Peter Stone 5 N 002 Andrea Morgan 6 N 003 Samantha Jordan 4 N 004 John Smith 6 Stud Num Grade Subject Id N 001 4 1 N 001 6 2 N 002 6 1 N 003 4 3 N 004 6 3 Subject Id Name Teacher Id 1 Biology 4 2 Chemistry 2 3 History 1 4 Physics 4
ТИПОВЕ РЕЛАЦИИ n Небинарни: изразяват отношението между повече от две взаимосвързани таблици Пример: “Софт. Прес” издава книги за продажба в книжарници. “Софт. Прес” издава книги за някого. Книжарниците продават книги от някакъв издател. n Функционална зависимост: Ако изпълним дадена функция с една стойност и изходът от нея дава винаги точно определена друга стойност, то втората стойност е функционално зависима от първата. Пример: Посредством серийния номер на един продукт могат да бъдат извлечени други негови специфични характеристики. Следователно серийния номер функционално определя специфичните характеристики на продукта. n Множествена зависимост Пример: Ако дадена книга има няколко автора, то функцията за получаване на автор ще връща няколко стойности. Следователно авторът е в множествена зависимост от книгата.
Данни в Microsoft Access Тип данни Пояснение Размер Text Текстовите полета могат да съдържат буквените и цифровите символи, както и всички знаци. Числа, които не са обект на пресмятания (телефонни номера, ЕГН, пощенски кодове и др. ) също са текстово поле. До 255 символа Memo Полетата за бележки и резюмета съдържат буквени и цифрови символи. Те нямат стандартна дължина и не е възможно сортиране. До 64000 символа Number Числовите полета съхраняват числа, които идентифицират даден обект (първичен или външен ключ) или се подлагат на изчисления. Цели числа от 0 до 255 Цели числа от - 32768 до +32767 Цели числа от -2147483648 до 2147483647 Дробни числа с точност 0 до 6 знака Дробни числа с точност до 10 знака Дробни числа с точност до 18 знака 1 - 8 байта Date/Time Полета използвани за съхраняване на дати и числа. Системна дата на Windows 8 байта Byte Integer Long Integer Single Double Decimal General Date Long Date Medium Date Short Date Long Time Medium Time Short Time 1. April. 2000 1. Apr. 2000 1. 4. 2000 20: 34: 25 08. 34 PM 20: 34 1 байт 2 байта 4 байта 8 байта 16 байта
Данни в Microsoft Access Currency General Number Currency Fixed Standard Percent Scientific Полета използвани за съхраняване на разнотипни стойности. Числа с точност до 15 знака. Съответният знак (валута, процент и т. н. ) се записва автоматично според зададената стойност в контролния панел на Windows. Извежда числото, както е въведено. За работа с валути. Фиксирано дробно число. Обикновено число с вмъкнати сепаратори. Умножава стойността по 100 и прибавя %. Използва стандартни научни означения. 8 байта Auto Number Записва се автоматично, като след всеки запис се увеличава с единица. 4 байта Yes/No В това поле могат да се въвеждат само Yes или No 1 бит OLE Object Обекти (картини, графики или звуци), създадени в други програми с помощта на OLE протокол. До 1 GB Hyperlink Поле, което съхранява връзка към друг обект в същата база данни, друг файл в компютъра или адрес в Web. До 64000 символа
Типове данни n Прости данни - Включват цифрите, знаците и буквите. Те могат да се обработват и съхраняват по всички познати начини. Съхраняват се в релационни бази данни. n Сложни данни - Включват графика, анимации, аудио и видео данни. Върху тях не могат да се извършват изчисления. Съхраняват се в обектно-ориентирани бази данни.
Типове данни n Данните най-често са n n текстови или числени и имат определена допустими стойности Логически данни – само “да” или “не” се допускат Обекти – данни, които не съдържат текст Големи двоични обекти (BLOB) – големи по размер обекти Значения по подразбиране – Предварително зададени стойности, например днешната дата.
Структуриране на данните n Текст - Обикновените текстови файлове са едни от първите, които започват да се използват при обмен на данни. n недостатъци при обработка n заменят се с по-лесни за манипулация и по-ефективни структури n малки по размер файлове се използват при записване на различни настройки на приложения, описания на продукти и др.
Структуриране на данните n Хипертекст - Появата на хипертекста доведе до ново ниво на комуникация, даващо възможности за построяване на безкрайни вериги от данни. n n n Метатекст - Той задава смисъла (семантиката) на данните. Текстът вече не е зависим от различните формати и технологии за пренос на данни. n n спомага за по-ясното и детайлно представяне на информацията в Интернет възможност бързо да се сменя контекста и да се следва вътрешното съдържание на думите реализация на хипертекста в Интернет с езика HTML В заглавната секция на един HTML документ може да се въведе описателна информация: съдържание, автор, организация и др. Този тип информация се нарича метаинформация т. е. информация за самата информация. Конкретни резултати в тази област са приетите стандарти за обмен на данни – XML и RDF – за описание на ресурси. XML е спецификация, характеризираща се със строги синтактични правила, за разлика от HTML и е платформено независима. Нейна задача е да опише данните, а как те ще се интерпретират, е въпрос, който се решава с помощта на редица съпътстващи XML технологии: XSL, XPath, XQuery, XForms и т. н. Структуриран текст - Колкото по-ясни са правилата, на които се подчинява структурата на един текст, толкова повече възможности се разкриват за бързата му обработка. n n n При базите данни предварително се знае дължината на елементите изграждащи един запис, а оттам и дължината на целия запис. възможен е произволен (непоследователен) достъп до данните, което заедно с индексирането значително повишава скоростта и сигурността при работата с БД. в Интернет една база данни обикновено се разполага в няколко различни точки от глобалната мрежа. Такава БД се нарича разпределена.
Типове програми за работа с бази данни n Програми за управление на файлове: n n Създават файлове с плоска структура, които съдържат един цял файл или таблица Файловете не могат да бъдат свързвани един с друг Лесни са за употреба Не са толкова сложни като Системите за Управление на бази данни (СУБД) n Системи за Управление на бази данни : n n n С тях могат да се управляват множество файлове или таблици Дават възможност данните да бъдат съхранявани, променяни и групирани по различни признаци в базата По-трудни са за усвояване и работа, отколкото системите за управление на файлове
ФУНКЦИОНАЛЕН МОДЕЛ НА БАЗА ДАННИ
ФУНКЦИОНАЛЕН МОДЕЛ НА БАЗА ДАННИ n База данни: Таблици, където се съхраняват всички необходими за дейността данни. n Система за управление на база данни (СУБД): Софтуерни пакети, които се използват за поддържане на базата данни и осигуряване на интерфейс с потребителите и потребителските програми. n n осигуряват средствата за въвеждане и обработка на данните почти всички съвременни програмни езици могат да играят ролята на СУБД, като съхраняват и обработват данни, използвайки релационен модел за управление на базите данни. n Програмен модул: Реализира конкретна процедура по обработка на данните. Може да бъде създаден чрез използване на програмен език от четвърто поколение (Visual Basic, Delphi и др. ). n Езици за запитване (SQL, QBE): Специализирани програмни езици, които се използват за обработка на данните под различни сечения и с различни критерии. n Формуляри (форми): Обекти на програмната среда за разработка, чрез които се осигурява потребителски интерфейс за въвеждане на входните данни. n Отчети: Периодично извеждана на печат, конкретна информация за нуждите на потребителите.
Складове за данни и изследване на данни n Складове за данни: Допълват СУБД, чрез обединяване на всички данни в една обща, голяма база n Организират процеса на управление и взимане на решения n Използват методология, наречена “сондиране”, за да определи производителността на базата данни на цяла компания n Отдел за данни работи с данните на едно подразделение от цялата фирма n Изследване на данни: n Методология за изследване и анализ на данни n Използва се за откриване на липсващи образци от данни n
Клиент/Сървър системи за бази данни n Сървър за данни – Достъпен, чрез локалната мрежа. Отговаря на заявки за доставка на данни. След приемане на заявката сървърът я обслужва и връща исканите данни n Клиент – Осигурява връзка със сървъра за данни. n. Потребителите могат да използват програмата “Клиент”, за да добавят и променят данните в базата, а също така да извършват търсене, да съставят отчети и др. n. Клиентът извършва заявката като използва специален език, наречен Structured Query Language (SQL) /Език за структурирани заявки/ n Заявка - Последователност от фрази, с които се задава въпрос за достъп до определени данни
Връзка с Интернет: Публичен достъп до данни n Интернет- базиран достъп до данни е найновата тенденция в СУБД n Информацията се съхранява в бази данни, които са достъпни от Интернет (обикновено само с помощта на браузър)
Характеристики на базата данни n n n n Избягване дублиране на данните: Един път съхранени, данните могат да се използват многократно в едно или няколко приложения. Поддържане съответствие на данните: Една естествена последица от премахването на дублирането е, че се намалява възможността от несъответствие при актуализиране на данните. Независимост на данните и програмите: Промените в структурата на данните или в програмните приложения не са взаимозависими. Логически аспект на данните за потребителите и потребителските програми: Представянето на данни е независимо от начина на физическото им съхраняване. Възможни са различни логически представяния на едни и същи данни за различни потребители и програми. Това освобождава програмистите от нуждата да се съобразяват с физическите подробности на съхраняването и им позволява да се съсредоточат върху приложението. Обслужване на широк кръг приложения: Веднъж запомнени, данните могат да се обработва по-различни начини и с произволна желана форма, което разширява областта на възможните приложения. Използване на правила и стандарти: Фактът, че достъпът до данните става само чрез СУБД, позволява на администратора на базата данни да изисква и следи за изпълняването на определени стандарти представянето на данните от приложенията. Сигурността на данните: Администраторът на базата данни контролира достъпа до нея. Той може да следи за задаването на кодове за достъп на потребителите, ограничаващи ги само да онези части и функции от базата от данни, които са им разрешени
Данни на организацията n Потенциалните източници на данни са разделени на две основни групи: n Собствени данни на организацията n Данни с източник Интернет n Структурирани данни – данни, с които се оперира в информационните системи n n събират се и се обработват в рамките на информационни приложения, напр. EID (enterprise information data), CRM (customer relationship management), SCM (supply chain management), ERP (enterprise recourse planning) и др. съхраняват се в бази данни, подлагат се на аналитична обработка, съхраняват се и се архивират в хранилища за данни с цел върху тях да се извършва аналитична обработка със средствата на BI и DSS.
Данни на организацията n Неструктурирани данни - резултати от взаимодействие (collaboration), работни потоци (workflow), управление на документи и др. авторски материали n съществуват във вид на електронни писма, договори и предложения, аудио и видео файлове, чертежи, маркетингови материали, описание на продукти, ръководства и други n образуват вътрешните знания на организацията.
Данни на организацията n Данни от Internet - основната им част са данните от видимата и невидимата част на Web пространството: n n Видима част на Интернет - данни, които могат да се открият чрез търсещите машини, в т. ч. сайтове на партньори, конкуренти и т. н. Невидима част на Интернет - включва бази данни, чат, табла за обяви, списания, обзори и т. н.
Модели на база данни n Йерархичен модел: Данните се съхраняват в предварително определена йерархия. n n n Йерархическото дърво е обърнато с корена нагоре. Бързият достъп до данните е предимството на този модел, но за създаването на една пълна и работеща база данни и обезпечаването на връзките между отделните данни, се налага съхраняване на излишна информация. Релацията е представена от термините родител/наследник: всяка родителска таблица може да бъде асоциирана с повече от една дъщерни таблици, но една дъщерна таблица може да бъде асоциирана само с една родителска таблица. Таблиците са свързани чрез указател или чрез физическата подредба на записите.
Модели на база данни n Мрежов модел: Основни компоненти са записи и съвкупност от записи. n n Обектите от една предметна област са обединени в “мрежа” (множество). Базата данни се състои от няколко множества, а те от своя страна съдържат записи. Една съвкупност от записи може да се разполага в една или повече мрежи. Представянето на данни и връзките между тях се извършва чрез граф (структурна диаграма на данните), върховете на който са типове записи, а дъгите – типове връзки. Чрез структурната диаграма се свързват два възела: собственик и един или повече възела член (релация от тип едно към много) Запис във възела-член не може да съществува без да е свързан със съществуващ запис във възела-собственик • възли (колекция от записи) • свързващи структури (релация)
Модели на база данни n Релационен модел: Основите му за пръв път са изложени от д-р Е. Код през 1970 г. Най- разпространено и задълбочено развитие на релационни модел се явяват работите на д-р К. Дейт, според който релационния модел се състои от три части: n n n Структурна част: Описва, какви обекти се разглеждат от релационния модел. Цялостна част: Описва ограничения от специален вид, които трябва да важат за всякакви отношения във всички релационни бази. Манипулационна част: Описва два еквивалентни начина за манипулиране на релационните данни – релационна алгебра и релационни изчисления. n Релационния модел представя данните в БД като релации (отношения). n Неформално всяко отношение се явява таблица, съдържаща подредени по определен начин стойности. Всяка редица в таблицата представлява съвкупност от свързани помежду се данни, които описват свойствата на някакъв обект или взаимоотношение.
Релационни бази данни n Системите за управление на релационни бази данни са най-широко използуваните СУБД n Данните в няколко файла са свързани с помощта на общо ключово поле
Модели на база данни n Обектно-ориентиран модел: Съществуват приложения със сложни, взаимосвързани данни, чието управление изисква получаване на информация, разпределена във времето. n Обектния модел на данните реализира целия набор функции, присъщи на съвременните СУБД плюс възможностите на обектното програмиране. По този начин се интегрират преимуществата на СУБД с мощен език за обектно-ориентирано програмиране (ООП). Обект: Елементарна единица в ООП, включваща в себе си, както описващите обекта данни, така и средствата за обработка на тези данни. Клас: Обобщено описание на набор обекти, притежаващи някои еднакви методи и структури от данни. Подклас: По-подробно описание, отнасящо се към някакво специализирано подмножество на набор от обекти, от описания клас. Понякога подклас наричат също производни или дъщерни класове.
Обектно-ориентирани бази данни n До ООБД се осигурява достъп от различни източници на данни: Релационни СУБД n Интерфейси на СУБД с различни езици за програмиране C++, Java, Smalltalk и други n Набор Active. X-елементи (модули, възприемащи команди от високо ниво от приложения на Visual. Basic, Delphi и т. н. ) n Драйвер ODBC (Open Database Connectivity - към данните на ООБД получават достъп програми, използващи структуриран език за заявки SQL n ORB-модул (Object Request Broker - брокер на обектни заявки, който осигурява взаимодействие с обектни приложения по протокола CORBA(Common Object Request Brokers Architecture - обща архитектура на брокерите за обектни заявки). Чрез модула се обезпечава работа в Интернет. n Стандартизация: През 1992 година водещите в областта разработчици създават групата Object Database Management Group (ODMG) за съгласуване и изработване на стандарти. На този етап са разработени стандарти по езиците за запитвания, по езиците за управление и описание на обектите. n
Компютрите и базите данни в търговията n Компютрите и базите данни се използват за проверка на транзакциите n. Терминали за продажба заменят касовите апарати n. Оптични скенери - четат уникалния код на продукта n. Терминали за кредитни карти - обработват транзакциите с кредитни карти n. Проверяват складовите наличности – идентифицира продукта и продажба актуализира данните в складовите бази n. Чете подписа на клиента и го сравнява с образец n. Показва фотография на клиента, когато тои изпозлва кредитната си карта
Обобщение • • • базите данни преобразуват данните в информация Информацията това са данни преработени по смислен начин Файлът в базите данни съдържа: Символи Полета Записи Системите за управление на файлове работят с един файл с данни СУБД могат да работят с множество файлове по едно и също време Качествените бази данни се характеризират с: n. Целокупност на данните n. Независимост на данните n. Избягване на повторения на едни и същи данни в базата n. Безопасност на данните n. Дълговременно съхранение на данните
Въпроси? За контакти: elis@fmi. uni-sofia. bg
5487cc13eeb5c269edf953c2b0ec7b33.ppt