Presentation is loading. Please wait.

Presentation is loading. Please wait.

What is a database? Logiskt sammanhängande mängd av data, med en därtill hörande betydelse, strukturerad och försedd med data avsedda för ett visst ändamål,

Similar presentations


Presentation on theme: "What is a database? Logiskt sammanhängande mängd av data, med en därtill hörande betydelse, strukturerad och försedd med data avsedda för ett visst ändamål,"— Presentation transcript:

1 What is a database? Logiskt sammanhängande mängd av data, med en därtill hörande betydelse, strukturerad och försedd med data avsedda för ett visst ändamål, med en viss användargrupp i åtanke och återspeglande någon aspekt av världen. What is a database management system? A set of programs allowing a user to create and maintain databases. Introduction to databases

2 Database system Application programs / Queries Programs for query management Programs for data management MetadataDatabase User / Programmer DBMS

3 Why databases? Persistence Sharing Data independence

4 Hierarchical databases Network databases Relational databases Types of databases

5 A relation scheme is a set of attributes Example: PERSON(SS#, Name, Age, Salary) Every attribute has a domain Example: Name has the domain String, Age has the domain Integer A tuple for a relation scheme gives a value to each attribute in the scheme Example: (778899, John Smith, 26, 13000) The value for each attribute must be in the domain A relation is a set of tuples Relational databases

6 SS# Name Age Salary 650101-2288 Eva Svensson 33 25000 750203-3133 Per Jonsson 23 20000 500107-5532 Sven Olsson 47 25000 800515-0044 Pia Eriksson 17 18000 PERSON Relation scheme Relation A relation can be viewed as a table without duplicates Relational databases

7 school pupil course teacher subject library borrower loan book school((sNr), address) pupil((eNr), firstName, surName) teacher((lNr), firstName, surName) subject((äNamn), courseBook) course((sNr, eNr, lNr, cName) library((bName), address) borrower((lNr), firstName, surName) book((ISBN), title) loan((bName, lNr, ISBN, date) Reality Subset Model Database structure From reality to database

8 Why design? Why not a simple table? ISBNTitleAuthorLibraryAddressBorrowerBorrowerAddDate 12345Mitt livPelleStoraStorgatan 19KalleKarlavägen 12891102 23456Ditt livLisaStoraStorgatan 19KalleKarlavägen 12890723 12346Vårt livPelleStoraStorgatan 19VeraVerdandig 3890809 12347Vilket liv!LisaStoraStorgatan 19MonaMånvägen 7891011 23412Mitt livLisaStoraStorgatan 19KalleKarlavägen 12891112 121212StickningJohanStoraStorgatan 19KalleKarlavägen 12890909 1212MatlagningEvaStoraStorgatan 19VeraVerdandig 3891010 100MatematikVeraStoraStorgatan 19MonaMånvägen 7891102 Library borrower loan book library((bNamn), address) borrower((lNr), firstName, surName) book((ISBN), title) loan((bNamn, lNr, ISBN, date) Database design

9 An unnormalised relation scheme Name Regno Share Salary Model Per ErikssonABC1235025000Volvo Eva Olsson ABC1235018000Volvo Per ErikssonDEF45610025000Mercedes Per ErikssonGHI7895025000Toyota Pia JohnssonGHI7895030000Toyota Pia JohnssonBCD32110030000Ford Bo PerssonCDE65410018000Volvo

10 Problems with unnormalised schemes Redundancy Update anomalies

11 Functional dependencies A functional dependency means that one attribute uniquely determines another attribute. Example: Name --> Salary This functional dependency means that if two tuples have the same value on Name, then they must have the same value on Salary.

12 Functional dependencies Which ones of the functional dependencies are satisfied by the relation above? A --> B AB --> C CD --> B CD --> E

13 Keys A key in a relation scheme is an attribute (or a minimal set of attributes) that functionally determines all the other attributes in the scheme. Thus, a key uniquely identifies a tuple in a relation. What is the key in this relation scheme? MOVIE(Film, Theatre, Time, Price)

14 First normal form A relation scheme is in first normal form if all attribute values are atomic. SS#SurnameFirst name 750101-0032SvenssonGunnar, Sven 550401-0044OlssonKarin, Eva SS#SurnameFirst name 750101-0032SvenssonGunnar 750101-0032SvenssonSven 550401-0044OlssonKarin 550401-0044OlssonEva Not 1NF 1NF What are the keys?

15 Second normal form A relation scheme is in second normal form if every attribute is functionally dependent on the whloe key. Name Regno Salary Per ErikssonABC12325000 Per ErikssonDEF45625000 Pia JohnssonGHI78930000 Pia JohnssonBCD32130000 Name Regno Per ErikssonABC123 Per ErikssonDEF456 Pia JohnssonGHI789 Pia JohnssonBCD321 Name Salary Per Eriksson25000 Pia Johnsson30000

16 Third normal form A relation scheme is in third normal form if each attribute is functionally dependent on the key, the whole key, and nothing else than the key.

17 Third normal form If an attribute does not satisfy the condition for 3NF, it is removed from the relation scheme. It will form a new relation scheme together with the attributes it is functionally dependent on. Example: PERSON(SS#, Name, Country, Number_of_inhabitants) SS# --> Name, Country Country --> Number_of_inhabitants Number_of_inhabitants does not satisfy the condition for 3NF. It is removed and will form a new relation schema together with Country: PERSON(SS#, Name, Country) COUNTRY(Country, Number_of_inhabitants)

18 Third normal form Decompose the following relation scheme to relation schemes in 3NF. BOOK(Copy#, SS#, Date-of-loan, Return-date, Library, Library_address, Person_address, Title) A copy of a book with a title is borrowed by a person, who has an address, at a date and is returned at another date. The copy of the book resides at a library with an address.

19 school pupil course teacher subject library borrower loan book school((sNr), address) pupil((eNr), firstName, surName) teacher((lNr), firstName, surName) subject((äNamn), courseBook) course((sNr, eNr, lNr, cName) library((bName), address) borrower((lNr), firstName, surName) book((ISBN), title) loan((bName, lNr, ISBN, date) Reality Subset Model Database structure From reality to database

20 From conceptual schema to database Main steps 1. Every object type becomes a relation scheme 2. Every 1-1 and 1-m attribute of an object type becomes an attribute in the corresponding relation scheme 3. Every m-m attribute becomes a relation scheme - the attributes in this scheme are the key attributes in the associated relation schemes

21 From conceptual schema to database PERSONCAR StringInteger String owns (m,m,p,p) regno model agename


Download ppt "What is a database? Logiskt sammanhängande mängd av data, med en därtill hörande betydelse, strukturerad och försedd med data avsedda för ett visst ändamål,"

Similar presentations


Ads by Google