SQL Les 3 17 February 2019.

Slides:



Advertisements
Verwante presentaties
SQL deel 2: datamodel ontwerp
Advertisements

Computervaardigheden
Module 7 – Hoofdstuk 5 (1) SQL – een begin.
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.
Relationele databases en
Databases Informatica Ga verder met een muisklik. SQL FCO DBMS NE FA
Module 7 – Hoofdstuk 5 (4) SQL – voorwaarden aan groepen en meerdere tabellen.
Databank van een restaurant Download op Twee tabellen: Klanten: Alle klanten die minstens.
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
SQL Les 01 & 02. SELECT Weergeven van alle gegevens uit een tabel: SELECT * FROM tlbPersonen; Weergeven van alle personen die uit Aruba komen: SELECT.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Databases.
<Mdl01 hoorcollege 1>
Base: bewerkingen 2 soorten - Oplopend- Aflopend.
LauwersCollege Buitenpost Informatica
LauwersCollege Buitenpost Informatica
Inleiding Databanken: oefeningen 4 Sven Casteleyn 4 Lokaal: 6G HomePage: te bereiken via
Computervaardigheden en Programmatie Universiteit AntwerpenDatabank - Basis 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Databanken by Steven Stinis.
Download en installeer de gereedschappen
Download en installeer de gereedschappen
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
Vorige week: Referentiele integriteit
SQL (structured Query Language) DDL (Data Definition Language) DML (Data Manipulation Language) Ontwerp databaseBevraag database.
PHP functies.
Workshop PHP Een productencatalogus Met database.
Statistische functies (aggregaatfuncties)
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
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.
24/04/2015IT-Assurance1 IT-Assurance deeltijd 4. Inleiding SQL Introductie in de basisfuncties Bijbehorend lesmateriaal: -AIV-boek van Derksen en Crins.
Hoofdstuk 11 Databasemanagementsystem. hoofdstuk 112 STROKENDIAGRAMMEN llnrvoornaamtussenvachternaamstraathuisnummerpostcodeplaatstelefoongeslachtgebdatumklas.
2 August SQL Les August Agenda Herhaling Herhaling Cursors Cursors MS SQL Server and MS Excel MS SQL Server and MS Excel Oefeningen.
Hogeschool van Amsterdam - Interactieve Media – Internet Development – Jochem Meuwese - -
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.
BIMAIV03 Les A1 BIMAIV03 Les A1 Databases. De gegevens in een database vormen de grondstof voor informatie De informatie wordt opgevraagd in de taal met.
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.
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 ▸
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.
– Software development fundamentals
SQL Cursus deel
Webinar voor ambassadeurs
LauwersCollege Buitenpost Informatica
Software Development fundamentals
SQL Les February 2019.
SQL Les 3 23 February 2019.
SQL Les 7 24 February 2019.
SQL Les 1 5 April 2019.
SQL Les 6 14 April 2019.
SQL en Datanormalisatie
SQL Les 9 12 May 2019.
SQL Les 4 12 May 2019.
– Software development fundamentals
SQL Les May 2019.
Databases SQL.
Transcript van de presentatie:

SQL Les 3 17 February 2019

Agenda Herhaling Afwerken data normalisatie Oefeningen Weergeven van gegevens uit meerdere tabellen 17 February 2019

Herhaling 17 February 2019

Geen geschikte tabelstructuur Bepaalde informatie wordt meer dan één keer opgeslaan (redundantie) Een tabel met subtabellen is zeer complex om te beheren (herhalende groepen) Gegevens over producten worden alléén in de context van gerechten bewaard, terwijl producten een zelfstandig belang hebben February 17, 2019

Normaliseren & Standaardiseren Het verwijderen van herhalende groepen of redundantie, door tabellen van een grotere tabel af te splitsen. Standaardiseren: Bv eenheid liter 17 February 2019

Beperkingsregels Voorbeeld Optionele en verplichte kolommen Verplicht De kolom moet een waarde hebben Bv gerecht.gerechtnaam Optioneel De kolom mag lege cellen bevatten Bv product.eenheidnaam Bv peper -> geen eenheidnaam en energiePE Aanduiding met op February 17, 2019

Gedragsregels RDBMS onderneemt actie in antwoord op een aantal acties Gedragsregels of actieregels February 17, 2019

Reference actieregels Bewaren van de referentiële integriteitsregel In 2 gevallen problemen Verwijderen van een ouderrij Wijzigen van de primary key in een ouderrij Deleteregels Updateregels February 17, 2019

Deleteregels Restricted delete Cascading delete Nullifying delete Nullifying komt in de praktijk weinig voor February 17, 2019

Updateregels Restricted update Cascading update Nullifying update February 17, 2019

Reference actieregels (2) February 17, 2019

Oefening 1 – 2 – 3 – 4 – 5 February 17, 2019

Meer over uniciteitsregels Uniciteitsregels zijn het meest prominent Hoe bepalen we de juistheid van een voorgestelde uniciteitsregel? Bv: Avondschool Inschrijving (cursistnr, vaknaam, docentnaam) February 17, 2019

Meer over uniciteitsregels (2) 7 mogelijkheden voor een tabel met 3 kolommen February 17, 2019

Meer over uniciteitsregels (3) February 17, 2019

Meer over uniciteitsregels (4) Regels zijn niet onafhankelijk van elkaar Regels hangen af van de business rules van het bedrijf February 17, 2019

Combinaties van uniciteitsregels Uniciteitsregels kunnen gecombineerd worden February 17, 2019

Uniciteitsregels 99 % van de gevallen over 1, 2 of 3 kolommen February 17, 2019

Samengestelde sleutels Een primary key kan samengesteld zijn: Bestaande uit meer dan één kolom February 17, 2019

Recursieve verwijzingen = Verwijzing van een tabel naar zichzelf Bv: Hemellichamen in ons zonnestelsel, die satelliet kunnen zijn van een ander hemellichaam February 17, 2019

Recursieve verwijzingen (2) Structuurdiagram? Cardinaliteitendiagram? February 17, 2019

Recursieve verwijzingen (2) Voorstelling ook mogelijk met een virtuele tabel: February 17, 2019

Oefeningen 8 February 17, 2019

Oplossing 8 February 17, 2019

Oplossing 8 February 17, 2019

Oefening 9 February 17, 2019

Oefening 10 February 17, 2019

Oefening 11 February 17, 2019

Oefening 12 February 17, 2019

Oefening 13 February 17, 2019

DML 17 February 2019

SELECT statement (1) 17 February 2019

SELECT statement (2) SELECT: lijst van kolommen (minstens 1) of * DISTINCT: enkel unieke rijen worden weergegeven ALIAS: geef de kolom een andere naam FROM TABEL: geef de tabel(len) die de kolom(men) bevatten WHERE: beperkt het aantal rijen tot een aantal die aan de voorwaarde voldoen CONDITIE: voorwaarde ORDER BY: bepaald de sorteervolgorde ASC: van klein naar groot DESC: van groot naar klein 17 February 2019

Single row functies Om gegevens te bewerken Eigenschappen Resultaat per rij Van toepassing op elke rij van de query Eén of meerdere parameters Kunnen gebruikt worden in: SELECT WHERE ORDER BY 17 February 2019

Syntax van een Single row functie Overzicht beschikbare functies: Character functions Number functions Date functions Conversion functions 17 February 2019

Character functions Als input een gegeven van het type char; een resultaat in numerieke of karakter vorm Voorbeeld: LOWER ( character_expression ) UPPER ( character_expression ) SUBSTRING ( expression , start , length ) LEN ( string_expression ) 17 February 2019

Character functions (2) 17 February 2019

Number functions Als input een numeriek gegeven en als output een numeriek gegeven Voorbeeld: ROUND ( numeric_expression , length [ , function ] ) 17 February 2019

Number functions 17 February 2019

Date functions Functies met betrekking tot datumvelden Voorbeeld: DATEPART ( datepart , date ) DATEDIFF ( datepart , startdate , enddate ) + -> een aantal dagen optellen bij een datum - 17 February 2019

Conversion functions Converteer een expressie van één datatype naar een ander Voorbeeld CAST ( expression AS data_type ) 17 February 2019

Weergeven van gegevens uit meerdere tabellen Join Gegevens uit meer dan één tabel op te vragen Rijen van verschillende tabellen samenvoegen op basis van gemeenschappelijke gegevens Soorten join-methoden: Equijoins Non-equijoins Outer joins Self joins 17 February 2019

Cartesiaans product Alle rijen van de eerste tabel verbonden met alle rijen van de tweede tabel 17 February 2019

Simple Join Query Join schrijven in WHERE-optie Richtlijnen Laat de kolomnaam voorafgaan door de tabelnaam Aantal condities is afhankelijk van het aantal tabellen die verbonden zijn: N tabellen verbinden -> minstens N-1 voorwaarden nodig 17 February 2019

Equijoin Verbinding tussen tabellen op basis van dezelfde waarden Bijvoorbeeld In welke afdeling zijn de medewerkers tewerkgesteld Meerdere voorwaarden mogelijk Net zoals bij een kolomnaam is het bij een tabel mogelijk een alias aan te geven 17 February 2019

Non-equijoin Verbinding tussen 2 tabellen, waarbij de relatie niet gelegd wordt op basis van ‘=‘ 17 February 2019

Outer join Left outer join aan de hand van een voorbeeld: 17 February 2019

Self-join Verbind van een bepaalde tabel aan zichzelf Gebruik maken van alias Rijen te verbinden met rijen binnen deze zelfde tabel 17 February 2019

Self-join (2) Geef de naam van de medewerkers en de naam van zijn chef 17 February 2019

Oefeningen 17 February 2019