Databases I (H. 1) Wiebren de Jonge Vrije Universiteit, Amsterdam Voorlopige versie 2003
Definities u DB: een verzameling van gerelateerde gegevens inperking: –met een bepaalde logische samenhang –met een bepaalde betekenis –met een specifiek doel / doelgroep –betreffende een bepaald UoD u DBMS: software pakket voor het aanmaken (definiëren + vullen) en het manipuleren (gebruiken + beheren) van een DB u DB Systeem: DBMS + gegevens (+ applicaties? Vgl. fig. 1.1) (eig./evt. ook nog: + hardware) u IS: DB systeem + applicaties + gebruiksomgeving (i.e. gebruikers + procedures)
Overzicht Database System (Fig. 1.1)
Voorbeeld van DB u UoD / miniworld: (deel van) een universiteit u enkele entiteiten in UoD: –STUDENT –COURSE –SECTION (of COURSE) –DEPARTMENT –INSTRUCTOR u enkele ‘relationships’ in UoD –SECTIONS horen bij bepaalde COURSES –STUDENTS volgen SECTIONS –COURSES hebben andere COURSES als vereiste voorkennis –INSTRUCTORS geven bepaalde SECTIONS –COURSES worden aangeboden door DEPARTMENTS –STUDENTS volgen hun studie (hoofdvak) bij DEPARTMENTS
Voorbeeld relationele database (Fig. 1.2)
Karakteristieken Database Technologie u Zelfbeschrijvende opzet van database systeem –catalog bevat beschrijving van database (meta-data) u Scheiding gegevens en programma’s (program-data independence) –gegevensopslag kan veranderd worden zonder applicatieprogramma’s te hoeven wijzigen (vorm van data abstraction) u Een data model verbergt opslag- en implementatie-details –geeft gebruikers een conceptual view op de gegevens (data abstraction) u Meerdere views mogelijk –je kunt gebruikers evt. alleen de data laten zien die voor hen relevant is –je kunt de presentatie van de gegevens toesnijden op diverse gebruikers u Data sharing –o.a. gunstig voor vermijden redundantie en inconsistentie –gelijktijdig gebruik leidt tot behoefte aan concurrency control u Transaction Processing
Voorbeelden (Fig. 1.3 en Fig. 1.4)
DBMS gebruikers u ‘Actors on the Scene’: –End users (casual, parametric, sophisticated, stand-alone) –System Analysts & Application Programmers –DBA –DB designer u ‘Workers behind the Scene’: –DBMS designers & implementors(IBM, Oracle, Microsoft, …) –Tool developers(e.g. ER-editor) –Operators & maintenance personnel
Enkele voordelen van gebruik DBMS u improved consistency –controlling of redundancy –enforcing integrity constraints u sharing of data –up-to-date information available to all users –controlling concurrent use (ook: nodig vanwege sharing) –providing multiple user-interfaces (ook: nodig …………………..) –restricting unauthorized access to data (ook: nodig …………………..) –potential for enforcing standards (ook: nodig …………………..) u reducing application development time –flexibility (e.g. to change data structures) –representing complex relationships among data –providing persistent storage (backup and recovery) u economies of scale
Wanneer geen DBMS gebruiken? u Nadelen DBMS: –Hoge initiële kosten (aanschaf + training personeel) –Overhead door bieden van (onnodig?) veel functionaliteit (generality, security, recovery, integrity, concurrency control,...) u DBMS kan onnodig en/of ongewenst zijn, b.v. als: –de database en de toepassingen eenvoudig en goed gedefinieerd zijn, en er nauwelijks verandering verwacht wordt in DB ontwerp en toepassingen –multi-user gebruik niet nodig is –er zulke stringente real-time eisen zijn dat de DBMS overhead een belemmering vormt