– 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
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
PHP & MYSQL LES 03 PHP & DATABASES. PHP & MYSQL 01 PHP BASICS 02 PHP & FORMULIEREN 03 PHP & DATABASES 04 CMS: BEST PRACTICE.
Module 7 – Hoofdstuk 5 (4) SQL – voorwaarden aan groepen en meerdere tabellen.
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.
Opleiding AI cursus Databases
LauwersCollege Buitenpost Informatica
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
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 - -
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
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.
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.
ANALYSE 3 INFANL01-3 WEEK 6 CMI Informatica. ANALYSE 3- INFANL01-3 ▸ Vorige les ▸ Subqueries met correlaties ▸ Subqueries zonder correlaties ▸ Views ▸
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)
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
– Software development fundamentals
SQL Cursus deel
Key Process Indicator Sonja de Bruin
LauwersCollege Buitenpost Informatica
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 3 23 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.
SQL Les May 2019.
Even voorstellen: ‘Little Inventors’!
Software Development fundamentals
ERD maken.
Software Development fundamentals
Transcript van de presentatie:

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

inhoudsopgave In het MTA examen gaat ook een deel over databases (zie ook de PDF van lesson 5, ‘Understanding Databases’) Daarom hebben we het deze les over: ERD’s Normaalvormen SQL queries op genormaliseerde databases (joins) Daarna breiden we de northwind applicatie nog een keer uit

check Wat hebben we geleerd bij het vak Databases over: ERD’s Normaalvormen (1e t/m 3e) SQL (select incl. where & joins, insert, update, delete)

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 101 1 10/1/2010 Jane Doe 102 2 10/5/2010 John In welke normaalvorm bevindt deze tabel zich? OrderId CustomerId OrderDate FirstName LastName 101 1 10/1/2010 Jane Doe 102 2 10/5/2010 John 103 10/4/2010

Herken de normaalvorm 101 1 10/1/2010 Jane Doe 102 2 10/5/2010 John 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 CustomerId OrderDate 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.

Afsluiting Zijn er vragen?