DBMS - cs.vu.nl - Vrije Universiteit Amsterdam

advertisement
Voorlopige versie 2003
Databases I (H. 1)
Wiebren de Jonge
Vrije Universiteit, Amsterdam
Definities

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

DBMS: software pakket voor
het aanmaken (definiëren + vullen) en
het manipuleren (gebruiken + beheren) van een DB

DB Systeem: DBMS + gegevens (+ applicaties? Vgl. fig. 1.1)
(eig./evt. ook nog: + hardware)

IS: DB systeem + applicaties + gebruiksomgeving
(i.e. gebruikers + procedures)
Overzicht Database System (Fig. 1.1)
Voorbeeld van DB


UoD / miniworld: (deel van) een universiteit
enkele entiteiten in UoD:
–
–
–
–
–

STUDENT
COURSE
SECTION (of COURSE)
DEPARTMENT
INSTRUCTOR
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

Zelfbeschrijvende opzet van database systeem
– catalog bevat beschrijving van database (meta-data)

Scheiding gegevens en programma’s (program-data independence)
– gegevensopslag kan veranderd worden zonder applicatieprogramma’s
te hoeven wijzigen (vorm van data abstraction)

Een data model verbergt opslag- en implementatie-details
– geeft gebruikers een conceptual view op de gegevens (data abstraction)

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

Data sharing
– o.a. gunstig voor vermijden redundantie en inconsistentie
– gelijktijdig gebruik leidt tot behoefte aan concurrency control

Transaction Processing
Voorbeelden (Fig. 1.3 en Fig. 1.4)
DBMS gebruikers

‘Actors on the Scene’:
–
–
–
–

End users
(casual, parametric, sophisticated, stand-alone)
System Analysts & Application Programmers
DBA
DB designer
‘Workers behind the Scene’:
– DBMS designers & implementors
– Tool developers
– Operators & maintenance personnel
(IBM, Oracle, Microsoft, …)
(e.g. ER-editor)
Enkele voordelen van gebruik DBMS

improved consistency
– controlling of redundancy
– enforcing integrity constraints

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 …………………..)
reducing application development time
– flexibility (e.g. to change data structures)
– representing complex relationships among data
– providing persistent storage (backup and recovery)

economies of scale
Wanneer geen DBMS gebruiken?

Nadelen DBMS:
– Hoge initiële kosten (aanschaf + training personeel)
– Overhead door bieden van (onnodig?) veel functionaliteit
(generality, security, recovery, integrity, concurrency control, ...)

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
Download