DATABASHANTERING för programmerare

Slides:



Advertisements
Liknande presentationer
Att förstå anonymiteten (översättning från
Advertisements

Atomer och kemiska reaktioner
En Dag i Ramadan Ramadan
Idrottslärare om astma
Relationsdatabasdesign
Felaktig/Missvisande uppgift i marknadsföring : :6 Marknadsföring utan delägares uppdrag :8 Marknadsföring utan skriftligt.
Databasadministration
Romersk skulptur Exempel Förutsättningar Kännetecken
Access med Sebastian och Robert
MS Excel 2007 Lektion 3 1 Copyright, Mahmud Al Hakim, 2008.
MS Excel 2010 – Dag 2 Mahmud Al Hakim
1 Medarbetarenkät 2011 • 573 svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
DATABASHANTERING för programmerare
MS Excel 2007 Dag 1 Lärare: Mahmud Al Hakim. Agenda 1.Börja arbeta med Excel Hantera arbetsböcker 3.Formler 4.Formatera 5.Diagram Att läsa: sid.
MS Excel 2010 – Dag 1 Mahmud Al Hakim. Kursens innehåll 2 DagInnehåll 1 Introduktion till Excel 2010 Hantera arbetsböcker Formler Formatering Litteratur:
Inloggning till Landstinget Kronoberg via Citrix
Datamodellering med E/R-diagram
I NNEHÅLLSHANTERINGSSYSTEM J OOMLA CMS L EKTION 2 Mahmud Al Hakim
Elkraft 7.5 hp distans: Kap. 3 Likströmsmotorn 3:1
WEBMASTER DAG 13 Mahmud Al Hakim
1 Medarbetarenkät svar. 2 Kön 3 Jag är knuten till en klass, undervisningsgrupp eller barngrupp.
Kommunpussel Din uppgift är att sortera de organisatoriska delar på nästa sida på ett sådant sätt att det överensstämmer med hur din kommun är organiserad.
Barn och Utbildning Föräldraenkät 2011 Totalt resultat förskola Svarsfrekvens hela enkäten (förskola och skola) 39 %
V E R S I O N N R 2. 0 T A V E L I D É E R I M I L J Ö.
V ersion Dialogseminarium – Patientens väg i vården Välkommen!
Datamodellering med E/R-diagram
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2004 Datastrukturer och algoritmer Föreläsning 3.
Programmering B PHP Lektion 2
KARTKUNSKAP 1.
INFÖR NATIONELLA PROVET
Programmering B PHP Lektion 3
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
DATABASHANTERING för programmerare Lektion 1 Mahmud Al Hakim
Det handlar om multiplikation
DATABASHANTERING för programmerare Lektion 3 Mahmud Al Hakim
TÄNK PÅ ETT HELTAL MELLAN 1-50
DATABASHANTERING för programmerare Lektion 4 Mahmud Al Hakim
1 Joomla © 2009 Stefan Andersson 1. 2 MÅL 2 3 Begrepp Aktör: en användare som interagerar med webbplatsen. I diagrammet till höger finns två aktörer:
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Barnets rättigheter i Sverige och för alla barn i världen
ITK3:DB/EIT:DB Databasmetodik
SEO Manager för EPiServer LÅT REDAKTÖRERNA VARA REDAKTÖRER.
Barnets rättigheter i Sverige och för alla barn i världen
Databashantering MS Access 2003 Lektion 2
2 Agenda 1. Börja arbeta med Excel Hantera arbetsböcker 3. Formler 4. Formatera 5. Diagram 6. Skriva ut 7. Referenser mellan kalkylblad 8. Arbeta.
Täckningsgrad Dec 2014 – feb 2015 Täckningsgrad Dec 2014 – feb 2015.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
Vem som svarat på enkäten Fig 1. Män =75 år Boende Fig 2 Eget boende, ej hemtjänst Eget boende med hemtjänst.
1 Anneli Juhlin FP
Mahmud Al Hakim 2  Mål för kursen  Kursplanering  Kurslitteratur  Betygsättning  Grunder om databaser  Tabeller.
Mallar i Word och Excel Lektion 1 Mahmud Al Hakim
Täckningsgrad Dec 2014 – jan 2014 Täckningsgrad Dec 2014 – jan 2014.
IT - Lektion 8 MS Excel 2007 –Del 2/5 1 Copyright, Mahmud Al Hakim, 2008.
Informationsteknologi - Lektion 2 Trådlöst nätverk (WLAN) Trådlöst nätverk (WLAN) Filarkivet: Filarkivet:
I NNEHÅLLSHANTERINGSSYSTEM J OOMLA CMS L EKTION 3 Mahmud Al Hakim
Excel 2003 Grundkurs Lektion 1 Mahmud Al Hakim 1.
Räkna till en miljard 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,14,15,16,17,18,19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, En miljard är ett.
Förskoleenkät Föräldrar 2012 Förskoleenkät – Föräldrar Enhet:Hattmakarns förskola.
DATABASHANTERING för programmerare Lektion 6 Mahmud Al Hakim
DATABASHANTERING för programmerare Lektion 5 Mahmud Al Hakim
Mahmud Al Hakim  Ett makro utför automatiskt en eller flera uppgifter i Access.  När ett makro körs behandlas instruktionerna efter.
1 Jan Lundström OV’s Hemsida Utbildning Ledare. 2 Jan Lundström OV’s Hemsida Standard Lagrum.
MS Excel 2007 Fortsättning Lektion 2 1 Copyright, Mahmud Al Hakim, 2008.
När infaller Julafton och hur ofta?
TDDB77 Databasteknik Fö 4 Gå från ER/EER-schema till ett relationsschema Henrik André-Jönsson.
IT Databas Göran Wiréen
KaU - Datavetenskap - DAV B04 - MGö
Presentationens avskrift:

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? Vilket kommando visar en lista på databaser i MySQL? Vilket kommando visar information en tabell i MySQL?

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.

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ånga Ex. Flera anställda arbetar för flera avdelningar

Relationsmodellen och RDBMS Relationsmodellen En 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

Relation = Tabell personalID namn befattning avdelningID 7513 Nina Larsson Programmerare 128 9842 Bengt Svensson DBA 42 6651 Arne Persson 9006 Camilla Blom Systemadministratör

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.

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.

Scheman Schema eller databasschema Databasens struktur eller utformning Ex. personal (personalID, namn, befattning, avdelningID)

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.

Redundans Redundans Data 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.

personalAvdelning personalID namn befattning avdelningID avdelningNamn 7513 Nina Larsson Programmerare 128 FoU 9842 Bengt Svensson DBA 42 Ekonomi 6651 Arne Persson 9006 Camilla Blom Systemadministratör

Personal Avdelning personalID namn befattning avdelningID avdelningID 7513 Nina Larsson Programmerare 128 9842 Bengt Svensson DBA 42 6651 Arne Persson 9006 Camilla Blom Systemadministratör avdelningID avdelningNamn 42 Ekonomi 128 FoU

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

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.

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

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.

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 VB, Java 9006 Camilla Blom Systemadministratör NT, Linux

personalID namn befattning avdelningID Kunskap 7513 Nina Larsson Programmerare 128 C Perl Java 9842 Bengt Svensson DBA 42 DB2 6651 Arne Persson VB 9006 Camilla Blom Systemadministratör NT Linux

Andra normalformen (2NF) Alla attribut som inte är en del av primärnyckeln är helt funktionellt beroende av primärnyckel. Funktionella beroenden Om 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

2NF - Exempel 1NF personal (personalID, namn, befattning, avdelningID, kunskap) Funktionella beroenden personalID, kunskap  namn, befattning, avdelningID personalID namn, befattning, avdelningID Lösning personal (personalID, namn, befattning, avdelningID) personalKunskap (personalID, kunskap)

personal personalkunskap personalID namn befattning avdelningID 7513 Nina Larsson Programmerare 128 9842 Bengt Svensson DBA 42 6651 Arne Persson 9006 Camilla Blom Systemadministratör personalID Kunskap 7513 C Perl Java 9842 DB2 6651 VB 9006 NT Linux

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

personalAvdelning personalID namn befattning avdelningID avdelningNamn 7513 Nina Larsson Programmerare 128 FoU 9842 Bengt Svensson DBA 42 Ekonomi 6651 Arne Persson 9006 Camilla Blom Systemadministratör

Personal Avdelning personalID namn befattning avdelningID avdelningID 7513 Nina Larsson Programmerare 128 9842 Bengt Svensson DBA 42 6651 Arne Persson 9006 Camilla Blom Systemadministratör avdelningID avdelningNamn 42 Ekonomi 128 FoU

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.

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