– Software development fundamentals

Slides:



Advertisements
Verwante presentaties
SQL deel 2: datamodel ontwerp
Advertisements

Module 7 – Hoofdstuk 5 (1) SQL – een begin.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Meerdere tabellen: Relaties en Joins
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
MySQL-acties Klassikaal: Wijnen.sql. 1.Toon alle wijnen die er zijn. Toon de naam, kleur en prijs. SELECT `naam`,`kleur`,`prijs` FROM `wijnen`
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Het selecteren van data uit meerdere gekoppelde tabellen
Normaliseren Datamodellering 2006.
Databases.
<Mdl01 hoorcollege 1>
Opleiding AI cursus Databases
W ORD P RESS TECHNISCHE ACHTERGROND Kris Cardinaels 26 maart 2013.
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
ontwerp een datamodel Criteria voor een goed model Ontwerppatronen
Normalisatie Relationeel databaseontwerp:
Vorige week: Referentiele integriteit
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Workshop PHP Een productencatalogus Met database.
Databases.
SQL ( SERVER ) Les #02: T-SQL. A GENDA Herhaling les 4 Views SELECT…INTO Beheren van tabellen: CREATE ALTER DROP Opdracht voor de volgende les.
Deltion College Engels B1 Lezen [no. 001] can-do : 2 products compared.
LauwersCollege Buitenpost Informatica
7 Databases. SAMENGESTELDE VOORWAARDEN 1 Wat is het adres van Odile Goossens? SELECT adres, woonplaats FROM leden WHERE naam = ‘Goossens’ AND voornaam.
Computervaardigheden Hoofdstuk 4 — Databank (Basis)
7 Databases. STRUCTURED QUERY LANGUAGE Bij het relationele model hoort een programmeertaal waarmee de database benaderd kan worden. In de praktijk wordt.
Deltion College Engels B2 Lezen [Edu/003] thema: Topical News Lessons: The Onestop Magazine can-do: kan artikelen en rapporten begrijpen die gaan over.
Join Indices … as a tool for Spatial Datamining. Inhoud Inleiding Spatial Relations (Spatial) Join Index Implementatie Conclusie.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
Les 0 Structured Query Language SQL. Programma Les 0 – Introductieopdracht Les 1 Les 2 Les 3 Schriftelijke toets.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 3 CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
Analyse 3 INFANL01-3 week 2 CMI Informatica.
Week 3 BIMAIV03 Les B3 BIMAIV03 Les B3. Opdracht 1 Van een artikel mogen maximaal 300 stuks verkocht worden. Verschillende klanten bestellen een aantal.
ANALYSE 3 INFANL01-3 WEEK 8 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Herhaling ▸ Normaliseerregels ▸ Omzetten ERD ▸ Group by en SET ▸ Proeftentamen.
Week 6 BIMAIV03 les B1. DML en DDL ata D anipulation M anguage L ata D efinition D anguage L.
ANALYSE 3 INFANL01-3 WEEK CMI Informatica.
GegevensAnalyse Les 2: Bouwstenen en bouwen. CUSTOMER: The Entity Class and Two Entity Instances.
Week 1 BIMAIV03 Les B2 BIMAIV03 Les B2. Uit het voorgaande... CREATE TABLE... Opdracht om een nieuwe tabel binnen de database te creëren. Aandachtspunten.
1 KPN Mobiel – Introductie Repository Object Browser & Designer 10 Designer 10g & Repository Object Browser Maandag 28 februari 2005 Lucas Jellema (AMIS)
EERDER….. Tabellen rij (record, tuple, occurence) kolom (attribuut, veld) tabel (relatie) tabelstructuur : patient(PAT#,PNAAM,LEEFTIJD,GESLACHT,ARTS)
NEXT LW 2 Bijv.nw. 3 Zelfst. nw. 4 PV 5 Ond Taal Team 1 Team 2 Team 3 Team 4 Team 5 Team 6.
Wat is SQL (1)? SQL (Structured Query Language):  is een zeer krachtige taal met een beperkt vocabulaire (aantal ‘woorden’)  is declaratief (‘WAT’ niet.
The Research Process: the first steps to start your reseach project. Graduation Preparation
Windows applicatieontwikkeling
SQL Cursus deel
LauwersCollege Buitenpost Informatica
Software Development fundamentals
Informatie-analyse 1: Er zijn veel manieren om een database te vullen
Software Development fundamentals
Software Development fundamentals
SQL Les February 2019.
SQL Les 3 17 February 2019.
SQL Les 7 24 February 2019.
SQL Les 6 14 April 2019.
SQL en Datanormalisatie
– Software development fundamentals
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
– Software development fundamentals
SQL Les May 2019.
Windows applicatieontwikkeling
Even voorstellen: ‘Little Inventors’!
Software Development fundamentals
ERD maken.
Software Development fundamentals
Software Development fundamentals
Transcript van de presentatie:

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

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

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

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?

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?

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

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

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

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

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 https://www.youtube.com/watch?v=mFU_s_9kY1U Meer over normaliseren in de lessen van het vak databases

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

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

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) 555-6874 2 John (509) 555-7969, (509) 555-7970 3. Howard Steel (604) 555-3392, (604) 555-3393

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) 555-6874 2 John (509) 555-7969, (509) 555-7970 3 Howard Steel (604) 555-3392, (604) 555-3393

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.

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.

Afsluiting Zijn er vragen?