1 / 28

DATABASHANTERING för programmerare

DATABASHANTERING för programmerare. Lektion 2 Mahmud Al Hakim mahmud@hakimdata.se www.hakimdata.se. Idag Databasdesign. Databasbegrepp och terminologi Principer för databasdesign Normalisering Övningar. Repetition. Vad är en databas? Vad är en DBMS? Ge exempel på några DBMS?

vinaya
Download Presentation

DATABASHANTERING för programmerare

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DATABASHANTERINGför programmerare Lektion 2 Mahmud Al Hakim mahmud@hakimdata.se www.hakimdata.se

  2. Idag Databasdesign • Databasbegrepp och terminologi • Principer för databasdesign • Normalisering • Övningar

  3. Repetition • Vad är en databas? • Vad är en DBMS? • Ge exempel på några DBMS? • Vilket kommando visar en lista på databaser i MySQL? • Vilket kommando visar information en tabell i MySQL?

  4. Enheter: Saker i verkliga livet som vi vill lagra information om i databasen.Ex. Anställd, Avdelning… Länkarna mellan enheter kallas relationer.Ex. En anställd arbetar på en avdelning. Enheter och relationer

  5. Relationer • En till enEx. En anställd finns i sitt eget kontor • En till många (många till en)Ex. Flera anställda arbetar för en avdelning • Många till mångaEx. Flera anställda arbetar för flera avdelningar

  6. Relationsmodellen och RDBMS • RelationsmodellenEn datamodell där man beskriver verkligheten genom att lagra data i tabeller. • Relationsdatabas RDBMSEn databas organiserad enligt relationsmodellen, d.v.s. med alla data lagrade i tabeller. Ex. MySQL

  7. Relation = Tabell

  8. Primärnyckel • En primärnyckel En kolumn, eller en kombination av kolumner, som alltid har ett unikt värde för varje rad i tabellen. Om det finns flera möjliga primärnycklar säger man att man har flera kandidatnycklar, och man väljer en av dem som primärnyckel.

  9. Främmande nyckel • En främmande nyckel Ett attribut (kolumn) i en tabell som refererar till en annan (eller ibland samma) tabell.Kallas även för Referensattribut.

  10. Scheman • Schema eller databasschemaDatabasens struktur eller utformningEx.personal (personalID, namn, befattning, avdelningID)

  11. Principer för databasdesign • Vilken sorts information ska lagras? • Vilka frågor behöver vi ställa till databasen? • Ta hänsyn till affärsreglerna. • Undvik strukturella problem som redundans och dataanomalier. • Undvik Null-värden.

  12. Redundans • RedundansData som upprepas i olika rader i en tabell eller i olika tabeller i databasen. Ex.personalAvdelning (personalID, namn, befattning, avdelningID, avdelningNamn)Kom ihåg: Minska upprepning av data utan att information går förlorad.

  13. personalAvdelning

  14. Personal Avdelning

  15. Anomalier • Problem som uppkommer i data beroende på felaktig databasdesign. • Infogningsanomalier • Borttagningsanomalier • Uppdateringsanomalier

  16. Null-värden • Ett speciellt värde, eller snarare brist på värde, som betyder att en uppgift saknas i databasen. Motsvarar en "tom ruta" i relationsmodellen.

  17. VTC - Getting Started • Gå till adressen:http://www.vtc.com/products/mysql.htm • Lyssna på Database Basics -What is a Database? -RDBMSs -Tables and Data Pt 1 -Tables and Data Pt 2

  18. Normalisering • En process som kan användas för att avlägsna fel i en databas. • Beskriver ett antal normalformer som består av en uppsättning regler som beskriver hur en tabellstruktur ska och inte ska utformas.

  19. Första normalformen (1NF) • Varje attribut eller kolumnvärde måste vara odelbar

  20. Andra normalformen (2NF) • Alla attribut som inte är en del av primärnyckeln är helt funktionellt beroende av primärnyckel. • Funktionella beroendenOm det finns ett funktionellt beroende mellan kolumn A och kolumn B i en viss tabell, så bestämmer värdet i kolumn A värdet i kolumn B. A  B

  21. 2NF - Exempel • 1NF personal (personalID, namn, befattning, avdelningID, kunskap) • Funktionella beroendenpersonalID, kunskap  namn, befattning, avdelningIDpersonalID namn, befattning, avdelningID • Lösningpersonal (personalID, namn, befattning, avdelningID)personalKunskap (personalID, kunskap)

  22. personal personalkunskap

  23. Tredje normalformen (3NF) • Attributen får inte vara beroende av någonting annat än nyckeln. • ExempelpersonalAvdelning (personalID, namn, befattning, avdelningID, avdelningNamn)

  24. personalAvdelning

  25. Personal Avdelning

  26. Boyce-Codds normalform (BCNF) • Relationen måsta vara i den tredje normalformen och • Alla funktionella beroenden måste ha en supernyckel på den vänstra sidan.

  27. Övningar efter rasten • Svara på frågorna på sid. 56-57 • Normalisera följande schema till 3NF Order ( kundNr, kundNamn, kundAdress, orderNr, orderDatum, artikelNr, artikelNamn, artikelAntal )

More Related