De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

– Software development fundamentals

Verwante presentaties


Presentatie over: "– Software development fundamentals"— Transcript van de presentatie:

1 98-361 – Software development fundamentals
databases – Software development fundamentals

2 inhoudsopgave We doorlopen de volgende onderwerpen uit de PDF ‘Understanding Databases’ ERD’s Normaalvormen SQL queries op genormaliseerde databases Daarna breiden we de northwind applicatie nog een keer uit

3 check Weten we alles dat nodig is van het vak Databases? ERD’s
Normaalvormen (1e t/m 3e) SQL (select incl. where & joins, insert, update, delete) Reminder: wat je moet kunnen aan het eind van het jaar: Een correcte database kunnen ontwerpen en maken. Classes kunnen schrijven die interacteren met een database. Deze classes gebruiken in applicaties (windows of web).

4 Entiteit relatiediagram
ERD: Schematische weergave van een databaseontwerp Bestaat uit: entiteiten, attributen en relaties. ERD’s kunnen op verschillende manieren worden getekend: Welke manier heeft jouw voorkeur en waarom?

5 Entiteit relatiediagram
Scenario 6-1: Creating an Entity-Relationship Diagram A company has a number of employees, and each employee may be assigned to one or more projects. In addition, each project can have one or more employees working on it. Draw an entity-relationship diagram for this situation. Wat zijn de entiteiten? Wat zijn de relaties? Teken het ERD Welke manier heeft jouw voorkeur en waarom?

6 ERD van de Northwind database
Waarom zoveel tabellen? Stel, we zetten de klantgegevens in de Ordertabel Wat zijn de gevolgen? Voor de database zelf Voor de databasebeheerder Voor de softwareontwikkelaar

7 ERD van de Northwind database
Waarom zoveel tabellen? Stel, we zetten de klantgegevens in de Ordertabel Wat zijn de gevolgen? Voor de database zelf – wordt groter Voor de databasebeheerder – meer kans op fouten Voor de softwareontwikkelaar – queries veranderen

8 Normaliseren Wikipedia:
Normalization involves decomposing a table into less redundant (and smaller) tables without losing information, and then linking the data back together by defining foreign keys in the old table referencing the primary keys of the new ones. The objective is to isolate data so that additions, deletions, and modifications of an attribute can be made in just one table and then propagated through the rest of the database using the defined foreign keys. Geen dubbele gegevens (redundantie) Minder kans op fouten Anders bekeken: Alle gegevens in één tabel, goed idee of niet? Normal/normaal kan je hier lezen als standaard, niet als gewoon

9 De normaalvormen 1NF: Elke rij moet een unieke primary key hebben (mag uit meerdere kolommen bestaan) Elke kolom mag maar 1 waarde bevatten, herhalende groepen gegevens zijn niet toegestaan 2NF: Bij een samengestelde primary key mogen kolommen niet afhankelijk zijn van maar een deel van de sleutel 3NF Kolommen mogen niet afhankelijk zijn van andere niet-keykolommen, ze moeten afhankelijk zijn van de primary key

10 Wat je moet kunnen Op het MTA examen:
Kunnen herkennen aan welke normaalvormen een tabel voldoet (1NF, 2NF, 3NF) Waarom zijn normaalvormen belangrijk? Verminderen van redundantie: vermindert de hoeveelheid data en de kans op fouten. Databases voldoen bijna altijd aan 3NF, tenzij er een specifieke reden is om dat niet te doen. Na voldoende ervaring met databases gaat dit min of meer vanzelf. Hoe werkt het? Bekijk de voorbeeldvideo op Meer over normaliseren in de lessen van het vak databases

11 Herken de normaalvorm OrderId CustomerI d OrderDat e FirstName
In welke normaalvorm bevindt deze tabel zich? OrderId CustomerI d OrderDat e FirstName LastName 101 1 10/1/2010 Jane Doe 102 2 10/5/2010 John 103 10/4/2010

12 Herken de normaalvorm OrderId CustomerI d OrderDat e FirstName
In welke normaalvorm bevindt deze tabel zich? Antwoord: 1NF, voor 2NF zouden CustomerId, FirstName en LastName in een aparte tabel moeten staan. FirstName en LastName zijn namelijk niet afhankelijk van OrderId OrderId CustomerI d OrderDat e FirstName LastName 101 1 10/1/2010 Jane Doe 102 2 10/5/2010 John 103 10/4/2010

13 Herken de normaalvorm Id FirstName LastName PhoneNumber 1 Jane Doe
In welke normaalvorm bevindt deze tabel zich? Id FirstName LastName PhoneNumber 1 Jane Doe (503) 2 John (509) , (509) 3. Howard Steel (604) , (604)

14 Herken de normaalvorm Id FirstName LastName PhoneNumber 1 Jane Doe
In welke normaalvorm bevindt deze tabel zich? Antwoord: Geen, deze tabel is niet genormaliseerd. Voor 1NF mag er maar 1 telefoonnummer in de kolom staan. Id FirstName LastName PhoneNumber 1 Jane Doe (503) 2 John (509) , (509) 3 Howard Steel (604) , (604)

15 Wat gaan we doen In een genormaliseerde database is de data verdeeld over meerdere tabellen. Dit maakt queries ingewikkelder Voorbeeld, denk aan het orderoverzicht: De bedrijfsnaam van de klant tonen De naam van het verzendbedrijf tonen Met SELECT * FROM Orders gaat dit niet lukken, Wat heb je nodig? Los beide problemen op.

16 De opdrachten De laatste uitbreiding van de Northwind applicatie:
Toon de naam van het verzendbedrijf in het orderoverzicht. Je eigen applicatie: Schrijf de database code, zodat je applicatie maandag helemaal werkt. Zorg dat je database is genormaliseerd.

17 Afsluiting Zijn er vragen?


Download ppt "– Software development fundamentals"

Verwante presentaties


Ads door Google