Database 1
Database Design Begreber 1 Database: En fælles samling af logiske relaterede data (informationer) DBMS (database management system) Et SW system der gør det muligt at definer, oprette og vedligeholde Databaser Applications program Et program der interagere med databasen View Et udtræk fra databasen til en bruger, der er logget ind Findes ikke i databasen 2
Functions For a DBMS #1 Data storage, retrieval and update A user-accessible catalogue Transaction support Concurrency control services Recovery services 3
Functions For a DBMS #2 Authorization services Support for data communication Integrity services Services to promote data independence Utility services 4
Database not a single system 5
MS-SQL Architecture
MS-SQL Architecture
Database Process organisation
Databases - system and user
Exercise What is a Database Review Questions (book chapter 1 p.20) 1.2 + 1.4 + 1.6 Reflect upon the questions 1.5 + 1.7 + 1.8 10
DBMS: ANSI-SPARC lv/09-2008 11
Example
Description of the 3 levels #1 External Level Users view of the database. Describes that part of database that is relevant to a particular user. Conceptual Level Community view of the database. Describes what data is stored in database and relationships among the data. lv/09-2008 13
Description of the 3 levels #2 Internal Level Physical representation of the database on the computer. Describes how the data is stored in the database. lv/09-2008 14
DataBase Modelling You will model Conceptual schema (Tables, Constraints, Procedures etc.) External schema (Views) Modelling takes its base from Class Diagram (Domain Model or model-part of Design Class Diagram) ER Diagram (DB diagram tool to show Entity-Relationship) 15
Database Design Begreber 2 Relationel model Relation (Table, Entity) inf. med søjler (column) og rækker (row) Attribute (column) Tuple (Række, Record) Domain (MS sql = User Defined Data Types) Tilladte værdier for en attribut (fx. 1-50) 16
Database Design Begreber 3 Nøgler Super key (Samling søljer til at udpege en række) Candidate key (Minimum af søljer til at udpege en række) Primary key Foreign key (Valg af en kandidat nøgle) (Søljer til en sammenhæng til en anden tabel) 17
Database Design Begreber 4 Integrity Entity Integrity (The table itself is well defined i.e primary key (+ normalisation) ) Referential Integrity (The foreign key has something to point to in primary table) 18
Exercise What is Relation Model Review Questions (book chapter 2 p.35-36) 2.1 + 2.3 + 2.4 + 2.5 19
Entity integritet - Normalisering What could happen? (figure 8.2) Insert anormalitet Delete anormalitet Update anormalitet Hvordan NF1: primær nøgle + kun én værdi i hver celle NF2: NF1 + del af primær nøgle IKKE alene udpege andre felter i rækken NF3: NF2 + kun primær nøgle udpege felter i rækken
Insert -> insert new member => branch information insert new branch => no staff information Deletion -> delete Art Peters => delete branch! Modification -> modify telno for branch for Tom => remember for sally! 21
Entity integritet - Normalisering How -> Normal Forms (NF) 1NF: primær nøgle + kun én værdi i hver celle Eks: flere telefon numre -> løsn = ny tabel 2NF: 1NF + del af primær nøgle IKKE alene udpege andre felter i rækken (functional dependency) Eks: staffno udpeger navn + posistion = ny tabel 3NF: 2NF + kun primær nøgle udpege felter i rækken (transitively dependency) Eks: Postnummer postby => ny tabel
Refential Integritet Ved fremmed nøgler afhænger af modellen Ved delete eller (update) Default Null Cascade No Action