Evaluating modeling techniques for business communication

advertisement
definitieve versie 2002
Databases I
Martin Caminada / Wiebren de Jonge
Vrije Universiteit, Amsterdam
Over het college

Docenten
– Martin Caminada
– Wiebren de Jonge

Stof:
–
–
–
–

[email protected]
[email protected]
boek Elmasri en Navathe
correcties op boek
aanvullingen op boek
huiswerkopgaven
Huiswerk:
– vanaf ongeveer 3e week
– groepjes van bij voorkeur 2 personen
– serieuze deelname verplicht voor deelname eerste tentamen

Meer info: www.cs.vu.nl/~martinc/databases
Wat gaan we doen

Doel vak Databases I:
“De student van voldoende achtergrondkennis en vaardigheden te voorzien zodat hi
in staat is om (relationele) databases te ontwerpen en te gebruiken in domeinen met
een grote en complexe informatiebehoefte”

Enkele van de te behandelen onderwerpen:
–
–
–
–
–

modelleren van informatie-behoefte (ER-model)
mappen van ER-model naar database ontwerp
theorie achter database ontwerp (normaliseren, lossless join, …)
queries; ook in de iets minder makkelijke situaties
achtergrond en opzet DBMS (architectuur, opslag, concurrency, …)
Opzet:
– beperkt tot principes / concepten van moderne database systemen
– weinig tot geen specifiek DBMS (Oracle/DB2/…) gerelateerde info
– colleges zijn bedoeld om je op weg te helpen (details staan in boek
en aanvullingen!)
Waarom zijn databases relevant?

Informatica:
databases overal, meeste IT draait op databases

BI:
CRM, ERP, Data Warehousing

AI:
kennisbanken, data mining

MM&C:
back-office van Websites
Databases zijn de motor van veel IT-toepassingen
Definities

Database: Een verzameling van gerelateerde gegevens
– heeft betrekking op Universe of Discourse (UoD)
– is logisch coherent en heeft bepaalde betekenis
– heeft een specifiek doel / doelgroep

Database Management System (DBMS):
verzameling programmatuur voor het aanmaken en beheren
van een database

Database System: DBMS software samen met gegevens zelf

Informatie systeem: Database System + applicaties +
gebruikersomgeving (gebruikers + procedures)
Voorbeeld (UoD)


Universe of Discourse: University
enkele UoD entiteiten:
–
–
–
–
–

STUDENT
COURSE
SECTION (of COURSE)
DEPARTMENT
INSTRUCTOR
enkele UoD relaties
–
–
–
–
–
–
SECTIONS zijn van bepaalde COURSES
STUDENTS volgen SECTIONS
COURSES hebben als vereiste voorkennis andere COURSES
INSTRUCTORS geven zekere SECTIONS
COURSES worden gegeven aan DEPARTMENTS
STUDENTS volgen een studie aan DEPARTMENTS
Voorbeeld (database)
Overzicht Database System
Karakteristieken Database System

zelfbeschrijvende opzet van database systeem
– catalog bevat beschrijving van database (meta-data)

isolatie tussen gegevens en programma’s (program-data
independence)
– staat toe data opslag structuren te wijzigen zonder DBMS
applicaties te hoeven wijzigen

data abstractie
– verbergt opslag en implementatie details en geeft gebruikers een
conceptuele kijk op de gegevens in de database

meerdere views mogelijk
– geeft gebruikers alleen de data die voor hen relevant is
(+ presentatie)

data sharing
– brengt echter ook behoefte aan concurrency control met zich mee
Enkele voordelen gebruik DBMS









Controlling redundancy (consistency) / sharing of data
restricting unauthorized access
providing persistent storage for program objects and data
structures
representing complex relationships among data
enforcing integrity constraints
backup and recovery
multiple user-interfaces
potential for enforcing standards
economies of scale
Database gerelateerde posities


Op de voorgrond:
– eindgebruikers (naive / casual / sophisticated)
– software engineers (application programs)
– database Administrator (DBA)
Op de achtergrond:
– DBMS software engineers (IBM, Oracle, Microsoft, …)
– tool developers (ER-editors, …)
– operators en systeembeheerders
Wanneer geen DBMS gebruiken?


Nadelen DBMS:
– Hoge initiële kosten (aanschaf + training personeel)
– functionaliteit (generaliteit, beveiliging, recovery,
concurrency control) brengt ook overhead met zich mee
DBMS kan onnodig zijn wanneer:
– de database en haar applicaties simpel en wel
gedefinieerd zijn, en het niet de verwachting is dat het
database ontwerp gewijzigd zal worden
– multi-user gebruik niet nodig
– stringente real-time eisen die DBMS overhead onwenselijk
maken
Database System concepten en architectuur


data model: een verzameling van concepten om de structuur
van de database te beschrijven en de constraints waaraan de
database dient te voldoen
soorten data models:
– conceptual (high-level, semantic) data models (bv ER-model)
– physical (low-level, internal) data models
– implementation (representation) data models (bv relationeel model)

database schema: beschrijving van een database.
– bevat zowel beschrijving van database structuur als constraints

intensie v/e database:
alle mogelijke/toegestane toestanden en toestandsovergangen

extensie v/e database:
één van de mogelijke/toegestane toestanden (waarden) van een
relatie (een intensie). Alternatief: de huidige toestand van de relatie
(de intensie)
ANSI/SPARC architectuur
DBMS talen




Data Definition Language (DDL)
Storage Definition Language (SDL)
View Definition Language (VDL)
Data Manipulation Language (DML)
– high level (set-at-a-time, query language)
– low level (record-at-a-time, host language / data
sublanguage)
Thuis


Nalezen:
– hoofdstuk 1
– hoofdstuk 2
Voorbereiden:
– hoofdstuk 3
Download