DATABASHANTERING f - PowerPoint PPT Presentation

About This Presentation
Title:

DATABASHANTERING f

Description:

DATABASHANTERING f r programmerare Lektion 2 Mahmud Al Hakim mahmud_at_hakimdata.se www.hakimdata.se * Idag Databasdesign Databasbegrepp och terminologi Principer f r ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 29
Provided by: Windo1198
Category:

less

Transcript and Presenter's Notes

Title: DATABASHANTERING f


1
DATABASHANTERINGför programmerare
  • Lektion 2
  • Mahmud Al Hakim
  • mahmud_at_hakimdata.se
  • www.hakimdata.se

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

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

4
Enheter och relationer
  • 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.

5
Relationer
  • En till en Ex. 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 RDBMS En databas organiserad
    enligt relationsmodellen, d.v.s. med alla data
    lagrade i tabeller. Ex. MySQL

7
Relation Tabell
personalID namn befattning avdelningID
7513 Nina Larsson Programmerare 128
9842 Bengt Svensson DBA 42
6651 Arne Persson Programmerare 128
9006 Camilla Blom Systemadministratör 128
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
personalID namn befattning avdelningID avdelningNamn
7513 Nina Larsson Programmerare 128 FoU
9842 Bengt Svensson DBA 42 Ekonomi
6651 Arne Persson Programmerare 128 FoU
9006 Camilla Blom Systemadministratör 128 FoU
14
Personal Avdelning
personalID namn befattning avdelningID
7513 Nina Larsson Programmerare 128
9842 Bengt Svensson DBA 42
6651 Arne Persson Programmerare 128
9006 Camilla Blom Systemadministratör 128
avdelningID avdelningNamn
42 Ekonomi
128 FoU
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 adressenhttp//www.vtc.com/products/mysq
    l.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

personalID namn befattning avdelningID Kunskap
7513 Nina Larsson Programmerare 128 C, Perl, Java
9842 Bengt Svensson DBA 42 DB2
6651 Arne Persson Programmerare 128 VB, Java
9006 Camilla Blom Systemadministratör 128 NT, Linux
20
personalID namn befattning avdelningID Kunskap
7513 Nina Larsson Programmerare 128 C
7513 Nina Larsson Programmerare 128 Perl
7513 Nina Larsson Programmerare 128 Java
9842 Bengt Svensson DBA 42 DB2
6651 Arne Persson Programmerare 128 VB
6651 Arne Persson Programmerare 128 Java
9006 Camilla Blom Systemadministratör 128 NT
9006 Camilla Blom Systemadministratör 128 Linux
21
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

22
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)

23
personal
personalkunskap
personalID Kunskap
7513 C
7513 Perl
7513 Java
9842 DB2
6651 VB
6651 Java
9006 NT
9006 Linux
personalID namn befattning avdelningID
7513 Nina Larsson Programmerare 128
9842 Bengt Svensson DBA 42
6651 Arne Persson Programmerare 128
9006 Camilla Blom Systemadministratör 128
24
Tredje normalformen (3NF)
  • Attributen får inte vara beroende av någonting
    annat än nyckeln.
  • ExempelpersonalAvdelning (personalID, namn,
    befattning, avdelningID, avdelningNamn)

25
personalAvdelning
personalID namn befattning avdelningID avdelningNamn
7513 Nina Larsson Programmerare 128 FoU
9842 Bengt Svensson DBA 42 Ekonomi
6651 Arne Persson Programmerare 128 FoU
9006 Camilla Blom Systemadministratör 128 FoU
26
Personal Avdelning
personalID namn befattning avdelningID
7513 Nina Larsson Programmerare 128
9842 Bengt Svensson DBA 42
6651 Arne Persson Programmerare 128
9006 Camilla Blom Systemadministratör 128
avdelningID avdelningNamn
42 Ekonomi
128 FoU
27
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.

28
Ö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 )
Write a Comment
User Comments (0)
About PowerShow.com