Database Some walk through lv/ Figures & some text from: © Pearson Education Limited 1995,
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 lv/ Figures & some text from: © Pearson Education Limited 1995,
lv/ Figures & some text from: © Pearson Education Limited 1995, Functions For a DBMS #1 Data storage, retrieval and update A user-accessible catalogue Transaction support Concurrency control services Recovery services
lv/ Figures & some text from: © Pearson Education Limited 1995, Functions For a DBMS #2 Authorization services Support for data communication Integrity services Services to promote data independence Utility services
Database – not a single system lv/ Figures & some text from: © Pearson Education Limited 1995,
MS-SQL – Architecture
Database – Process organisation
Databases - system and user
Exercise – What is a Database Review Questions (book chapter 1 p.20) Reflect upon the questions lv/ Figures & some text from: © Pearson Education Limited 1995,
lv/ Figures & some text from: © Pearson Education Limited 1995, DBMS: ANSI-SPARC
Example
lv/ Figures & some text from: © Pearson Education Limited 1995, 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/ Figures & some text from: © Pearson Education Limited 1995, 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.
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) lv/ Figures & some text from: © Pearson Education Limited 1995,
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) lv/ Figures & some text from: © Pearson Education Limited 1995,
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 (Valg af en kandidat nøgle) Foreign key (Søljer til en sammenhæng til en anden tabel) lv/ Figures & some text from: © Pearson Education Limited 1995,
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) lv/ Figures & some text from: © Pearson Education Limited 1995,
Exercise – What is Relation Model Review Questions (book chapter 2 p.35-36) lv/ Figures & some text from: © Pearson Education Limited 1995,
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
lv/ Figures & some text from: © Pearson Education Limited 1995, 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!
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