SlideShare a Scribd company logo
1 of 39
Data Sources
Data Sources = databronnen = gegevensbronnen

Een gegevensbron is simpelweg een bron van gedigitaliseerde gegevens. Het kan een bestand, een bepaalde
database, of zelfs een live data-feed. De gegevens kunnen op dezelfde computer als het programma staan of op
een andere computer ergens op een netwerk.

Soorten databronnen:


Database Servers




Data bestanden




Andere…
Data Sources
Doel

Het doel van een gegevensbron is het verzamelen van alle van de technische informatie die nodig is om de
toegang tot de gegevens - de bestuurder naam, netwerkadres, netwerksoftware, en ga zo maar door - in een
enkele plaats en het te verbergen voor de gebruiker.

De gebruiker moet in staat zijn om te kijken naar bijvoorbeeld een lijst die Loonlijst, Inventaris, en
Personeelsgegevens bevat, zonder te weten waar de loonlijst gegevens zich bevinden of hoe de applicatie eraan
komt.
Data Sources
Database


Database-opslag van gegevens:
•Gestructureerd
•Uniek



Doel:
•Spaarzaam omgaan met opslagruimte
•Vermijden van redundantie (meervoudige vastlegging van dezelfde data)
•Vermijden van vastleggen van afgeleide gegevens (bijv. totalen, gemiddelden, leeftijd, …)
Data Sources
Voorbeeldje: personeelsbestand

Ruwe tabel-informatie:



                                         Ongestructureerd!



                                 Redundant!

wordt:




Dit is al gestructureerder!
Data Sources
Voorbeeldje: personeelsbestand

Tabel-informatie:




                                                                 Redundant!
wordt:




Hier worden tevens de gegevens uniek gemaakt (m.b.v. [Auto-] numbering) en gekoppeld middels de unieke
waarden (tabel Werknemer <-> tabel Adres)
Data Sources
Unieke regels in een database-tabel: word je toch ‘n nummertje…

Data dient uniek opgeslagen te worden in een database.
Hier gebruikt men een ID voor.
Dit is trefzekerder dan bijvoorbeeld alleen een naam:
binnen een groot bedrijf zouden er meerdere personen met de naam “Henk de Vries” kunnen zijn.

Types ID
•Auto-numbering
      •   een geheel getal dat automatisch opgehoogd wordt bij toevoegen van een nieuwe regel in een database-tabel
•GUID (Globally Unique IDentifier)
      •   Gegenereerd o.b.v. tijdstip, MAC-adres en evt. Andere PC-specifieke eigenschappen
      •   Voorbeeld: 33b9d8e2-c9e5-47d1-8d20-db1a641c8fbf
•Custom
      •   Eigen format, bijvoorbeeld: YYYY-MM-DD,hh:mm:ss.fffffff als tekst => “2013-02-12,14:51:28.2395629”


Dit ID wordt een kolom/veld in de tabel en heet vanwege zijn uniek bepalend karakter:
Primary Key, kortweg PK
Data Sources
Voorbeeldje: personeelsbestand




                                                          PK
      PK


                                                  ?



  ?
Dit is de koppeling met een andere tabel: de verwijzing vanuit tabel Werknemer naar tabel Adres.
Het veld Adres_ID in de tabel Werknemer verwijst naar de unieke PK van de tabel Adres.
Het veld Adres_ID in de tabel Werknemer is zodoende de Foreign Key, kortweg FK.

  ?        =   FK
Data Sources
Voorbeeldje: personeelsbestand
                                      FK




                                           PK
    PK


                                 FK
Data Sources
Voorbeeldje: personeelsbestand
                                                FK




                                                          Redundant!
    PK                                     FK        PK


wordt:

                                      FK                                FK




    PK                           FK        PK                      FK        PK
Data Sources
Tabel-relaties

Tabel-relaties worden gemaakt via PK-FK koppelingen.
3 vormen van tabel-relaties:

•één-op-veel (+ veel-op-één)    1:N
•veel-op-veel                   M:N
•één-op-één                     1:1




      op                                               op


                                      op




      1:N                             M:N              1:1
Data Sources
Tabel-relaties

één-op-veel, 1:N

                                                één student zit in
                   1            n               één groep, in één
   Student             zit in         Klas
                                                groep mogen
                                                meerdere
                                                studenten zitten



veel-op-één


                   1            n                er mogen
     Klas              bevat         Student     meerdere
                                                 studenten in
                                                 één klas zitten

   Student
                   n   leent
                                1     Boek
                                    exemplaar
Data Sources
Tabel-relaties

veel-op-veel, M:N
                                                  elke student
                                                  krijgt les van
                    n     volgt    n              meerdere
  Student                               docent    docenten; elke
                        les van
                                                  docent geeft les
                                                  aan meerdere
                                                  studenten.



                                                  een fitness-
                    n              n              apparaat wordt
 Fitnesser              gebruikt       apparaat   gebruikt door
                                                  meerdere
                                                  sporters; een
                                                  sporter gebruikt
                                                  meerdere
                                                  apparaten.
Data Sources
Tabel-relaties

één-op-één, 1:1



                                                 één docent is
                  1                   1          mentor van één
  Docent              is mentor van       Klas   klas.
Data Sources
Tabellen en bijbehorende relaties: diagram / schema

Standaard voorbeeld database van Microsoft: Northwind (in SQL Server)
Data Sources
Northwind database


SQL Server is your friend… or maybe NOT!

SQL Server is erg veelomvattend en strict als het op installatie aankomt.
Vanwege installatie- en migratie-perikelen teruggrijpen op de kleinere editie:
SQL Server Compact Edition (CE).

CE valt tussen een echte SQL Server database en een Access database in qua functionaliteit.
Een CE database wordt benaderd als een bestand.
Daarnaast heeft het de restrictie dat het puur op de lokale PC benaderd kan worden.
Voor leereinddoelen voldoet CE verder prima!

Een database (SQL Server of CE) kan met de volgende tools bekeken worden:
•SQL Server Management Studio (SSMS)
•Visual Studio
Data Sources
Northwind.sdf (CE database): schema
Data Sources
Northwind.sdf (CE database)

Een database (SQL Server of CE) kan met de volgende tools bekeken worden:
1.SQL Server Management Studio (SSMS)
2.Visual Studio

Ad 1. SSMS
Data Sources
Northwind.sdf (CE database)

Ad 1. SSMS
Data Sources
Northwind.sdf (CE database)

Ad 2. Visual Studio
Data Sources
Northwind.sdf (CE database)

Ad 2. Visual Studio
Data Sources
Northwind.sdf (CE database)

Ad 2. Visual Studio
Data Sources
Database datatypes

Kolommen/velden binnen een tabel van een database zijn van een bepaald datatype.
Dit is vergelijkbaar met de datatypes van C#.


Soort                          Datatype
Gehele getallen                bigint, numeric, integer, smallint, tinyint
Boolean                        bit
Komma-getallen                 real, float, money
Datum-tijd                     datetime
Tekst                          nchar, nvarchar, ntext
Binaire data                   binary, varbinary, image
ID                             uniqueidentifier (GUID), IDENTITY (auto-number)
Data Sources
Data-manipulatie: CRUD

Create
Read
Update
Delete

Read is voor alle gevallen belangrijk, dus daar gaan we ook mee beginnen:
het selecteren/opvragen van gegevens uit bestaande data.

Het gaat hier om SELECT-query’s.
Query’s worden geformuleerd a.h.v. SQL: Structured Query Language.
Data Sources
Query-scherm openen in: SSMS




                               Query-scherm
Data Sources
Query-scherm openen in: Visual Studio




     Query-scherm




NB: de Visual Studio biedt een intuitievere
manier van werken. Mensen die Access kennen,
zullen e.e.a. herkennen…
Data Sources
SELECT-Query’s


De meest elementaire SELECT-query is om van 1 tabel alles op te vragen.
Bijvoorbeeld alles van de tabel Categories.

Dit doe je als volgt:

SELECT *
FROM Categories



Kies je voorkeursomgeving (SSMS of Visual Studio) en vul bovenstaande select-query in in het query-scherm.
Voer vervolgens de query uit met Execute.
Data Sources
SELECT-Query’s uitvoeren


                           1. SSMS




                                     2. Visual Studio
Data Sources
Resultaten SELECT-Query


                          1. SSMS




                                    2. Visual Studio
Data Sources
SELECT-Query’s: specifieke velden/kolommen


SELECT [Last Name], [First Name], Title
FROM Employees

NB: Namen met een spatie erin moeten voorzien worden van rechte haken ( [ ] ) anders snapt SQL het niet!

Resultaat:

Last Name    First Name   Title
Davolio      Nancy        Sales Representative
Fuller       Andrew       Vice President, Sales
Leverling    Janet        Sales Representative
Peacock      Margaret     Sales Representative
Buchanan     Steven       Sales Manager
Suyama       Michael      Sales Representative
King         Robert       Sales Representative
Callahan     Laura        Inside Sales Coordinator
Dodsworth    Anne         Sales Representative
Hellstern    Albert       Business Manager
Smith        Tim          Mail Clerk
Patterson    Caroline     Receptionist
Brid         Justin       Marketing Director
Martin       Xavier       Marketing Associate
Pereira      Laurent      Advertising Specialist
Data Sources
SELECT-Query’s: sorteren


SELECT [Product Name], [Unit Price]
FROM Products
ORDER BY [Unit Price] DESC

Hierbij geldt:
DESC: in aflopende volgorde.
ASC: in oplopende volgorde (default: als je niks opgeeft, veronderstelt SQL dat het ASC is)

Resultaat:

Product Name              Unit Price
Côte de Blaye             263,5
Thüringer Rostbratwurst   123,79
Mishi Kobe Niku           97
Sir Rodney's Marmalade    81
Carnarvon Tigers          62,5
Raclette Courdavault      55
Manjimup Dried Apples     53
Data Sources
SELECT-Query’s: sorteren (meervoudig)


SELECT Title, [Last Name], [Home Phone]
FROM Employees
ORDER BY Title DESC, [Last Name] ASC

Resultaat:

Title                   Last Name   Home Phone
Vice President, Sales   Fuller      (206) 555-9482
Sales Representative    Davolio     (206) 555-9857
Sales Representative    Dodsworth   (71) 555-4444
Sales Representative    King        (71) 555-5598
Sales Representative    Leverling   (206) 555-3412
Sales Representative    Peacock     (206) 555-8122
Sales Representative    Suyama      (71) 555-7773
Sales Manager           Buchanan    (71) 555-4848
Receptionist            Patterson   (206) 555-3487
Marketing Director      Brid        88 83 83 16
Marketing Associate     Martin      88 62 43 53
Mail Clerk              Smith       (206) 555-3857
Data Sources
SELECT-Query’s: criteria


SELECT [First Name], [Last Name], City
FROM Employees
WHERE City = 'London‘

Resultaat:

First Name   Last Name   City
Steven       Buchanan    London
Michael      Suyama      London
Robert       King        London
Anne         Dodsworth   London
Data Sources
SELECT-Query’s: criteria (meervoudig)


SELECT [First Name], [Last Name], City, Title
FROM Employees
WHERE (City = 'London') AND (Title = 'Sales Representative')

Resultaat:

First Name   Last Name   City        Title
Michael      Suyama      London      Sales Representative
Robert       King        London      Sales Representative
Anne         Dodsworth   London      Sales Representative
Data Sources
SELECT-Query’s: DISTINCT (laat geen dubbele voorkomens zien)


SELECT City                  SELECT DISTINCT City
FROM Employees               FROM Employees

Resultaat:                   Resultaat:

City                         City
Seattle                      Auburn
Tacoma                       Bellevue
                             Haguenau
Kirkland                     Kent
Redmond                      Kirkland
London                       London
London                       Redmond
                             Schiltigheim
London
                             Seattle
Seattle                      Strasbourg
London                       Tacoma
Bellevue
Kent
Auburn
Haguenau
Schiltigheim
Strasbourg
Data Sources
SELECT-Query’s: LIKE


SELECT [Last Name], Title           SELECT [Product Name]                 SELECT [Product Name]
FROM Employees                      FROM Products                         FROM Products
WHERE (Title LIKE 'Sales%')         WHERE ([Product Name] LIKE '%bröd')   WHERE ([Product Name] LIKE '%hot%')


Resultaat:                          Resultaat:                            Resultaat:

Last Name    Title                  Product Name                          Product Name
                                    Gustaf's Knäckebröd                   Louisiana Fiery Hot Pepper Sauce
Davolio      Sales Representative
                                    Tunnbröd                              Louisiana Hot Spiced Okra
Leverling    Sales Representative
Peacock      Sales Representative
Buchanan     Sales Manager
Suyama       Sales Representative
King         Sales Representative
Dodsworth    Sales Representative
Data Sources
SELECT-Query’s: BETWEEN


SELECT [Product Name], [Unit Price]    SELECT [Last Name], [Birth Date]
FROM Products                          FROM Employees
WHERE ([Unit Price] BETWEEN 1 AND 8)   WHERE ([Birth Date] BETWEEN '1-1-1965' AND '1-1-1975')


Resultaat:                             Resultaat:

Product Name           Unit Price      Last Name    Birth Date
                                       Dodsworth    1966-01-27 00:00:00.000
Konbu                  6
                                       Smith        1973-06-06 00:00:00.000
Guaraná Fantástica     4,5             Patterson    1972-09-11 00:00:00.000
Geitost                2,5             Pereira      1965-12-09 00:00:00.000
Filo Mix               7
Tourtière              7,45
Rhönbräu Klosterbier   7,75
Data Sources
SELECT-Query’s: IS NULL / IS NOT NULL (d.w.z. niet/wel ingevuld)


SELECT [Company Name]                            SELECT [Company Name]
FROM [Suppliers]                                 FROM [Suppliers]
WHERE Fax IS NULL                                WHERE Fax IS NOT NULL


Resultaat:                                       Resultaat:

Company Name                              Fax    Company Name                             Fax
                                                 Grandma Kelly's Homestead                (313) 555-3349
Exotic Liquids                            NULL
                                                 Pavlova, Ltd.                            (03) 444-6588
New Orleans Cajun Delights                NULL   PB Knäckebröd AB                         031-987 65 91
Tokyo Traders                             NULL   Nord-Ost-Fisch Handelsgesellschaft mbH   (04721) 8714
Cooperativa de Quesos 'Las Cabras'        NULL   Formaggi Fortini s.r.l.                  (0544) 60603
Mayumi's                                  NULL   Aux joyeux ecclésiastiques               (1) 03.83.00.62
                                                 New England Seafood Cannery              (617) 555-3389
Specialty Biscuits, Ltd.                  NULL
                                                 Lyngbysild                               43844115
Refrescos Americanas LTDA                 NULL   Zaanse Snoepfabriek                      (12345) 1210
Heli Süßwaren GmbH & Co. KG               NULL   G'day, Mate                              (02) 555-4873
Plusspar Lebensmittelgroßmärkte AG        NULL   Pasta Buttini s.r.l.                     (089) 6547667
Norske Meierier                           NULL   Gai pâturage                             38.76.98.58
                                                 Forêts d'érables                         (514) 555-2921
Bigfoot Breweries                  NULL
Svensk Sjöföda AB                         NULL
Leka Trading                              NULL
Karkki Oy                                 NULL
Ma Maison                                 NULL
Escargots Nouveaux                        NULL
Data Sources
SELECT-Query’s: IN


SELECT [Last Name], City                        SELECT [Product Name], [Reorder Level]
FROM Employees                                  FROM Products
WHERE City IN ('Seattle', 'London', 'Tacoma')   WHERE [Reorder Level] IN (5,10,25,30)


Resultaat:                                      Resultaat:

Last Name    City                               Product Name                      Reorder Level
                                                Chai                              10
Davolio      Seattle
                                                Chang                             25
Fuller       Tacoma                             Aniseed Syrup                     25
Buchanan     London                             Grandma's Boysenberry Spread      25
Suyama       London                             Uncle Bob's Organic Dried Pears   10
King         London                             Queso Cabrales                    30
                                                Konbu                             5
Callahan     Seattle
                                                Genen Shouyu                      5
Dodsworth    London                             Pavlova                           10
                                                Teatime Chocolate Biscuits        5
                                                Sir Rodney's Scones               5
                                                Gustaf's Knäckebröd               25
                                                Tunnbröd                          25
                                                NuNuCa Nuß-Nougat-Creme           30
                                                Schoggi Schokolade                30
                                                Mascarpone Fabioli                25
                                                Gravad lax                        25
                                                Chartreuse verte                  5
                                                Boston Crab Meat                  30
                                                Jack's New England Clam Chowder   10
Data Sources
SELECT-Query’s: Subquery’s

Zoek alle producten uit de categorie 'Seafood‘:   Zoek alle bedrijven die een order vóór 1992 geplaatst hebben:


SELECT [Product Name]                             SELECT [Company Name]
FROM [Products]                                   FROM [Customers]
WHERE [Category ID] IN                            WHERE [Customer ID] IN
                                                  (
(
                                                             SELECT [Customer ID]
  SELECT [Category ID]                                       FROM [Orders]
  FROM [Categories]                                          WHERE [Order Date] < '1-1-1992'
  WHERE [Category Name] = 'Seafood'
)                                                 )

Resultaat:                                        Resultaat:
                                                  Company Name
Product Name
                                                  Alfreds Futterkiste
Ikura                                             Antonio Moreno Taquería
Konbu                                             Berglunds snabbköp
Carnarvon Tigers                                  Blauer See Delikatessen
Nord-Ost Matjeshering                             Blondel père et fils
                                                  Bólido Comidas preparadas
Inlagd Sill
                                                  Bottom-Dollar Markets
Gravad lax                                        B's Beverages
Boston Crab Meat                                  Centro comercial Moctezuma
Jack's New England Clam Chowder                   Chop-suey Chinese
Røgede sild                                       Drachenblut Delikatessen
                                                  Du monde entier
Spegesild                                         Eastern Connection

More Related Content

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Les12-01-Data-Sources

  • 1. Data Sources Data Sources = databronnen = gegevensbronnen Een gegevensbron is simpelweg een bron van gedigitaliseerde gegevens. Het kan een bestand, een bepaalde database, of zelfs een live data-feed. De gegevens kunnen op dezelfde computer als het programma staan of op een andere computer ergens op een netwerk. Soorten databronnen: Database Servers Data bestanden Andere…
  • 2. Data Sources Doel Het doel van een gegevensbron is het verzamelen van alle van de technische informatie die nodig is om de toegang tot de gegevens - de bestuurder naam, netwerkadres, netwerksoftware, en ga zo maar door - in een enkele plaats en het te verbergen voor de gebruiker. De gebruiker moet in staat zijn om te kijken naar bijvoorbeeld een lijst die Loonlijst, Inventaris, en Personeelsgegevens bevat, zonder te weten waar de loonlijst gegevens zich bevinden of hoe de applicatie eraan komt.
  • 3. Data Sources Database Database-opslag van gegevens: •Gestructureerd •Uniek Doel: •Spaarzaam omgaan met opslagruimte •Vermijden van redundantie (meervoudige vastlegging van dezelfde data) •Vermijden van vastleggen van afgeleide gegevens (bijv. totalen, gemiddelden, leeftijd, …)
  • 4. Data Sources Voorbeeldje: personeelsbestand Ruwe tabel-informatie: Ongestructureerd! Redundant! wordt: Dit is al gestructureerder!
  • 5. Data Sources Voorbeeldje: personeelsbestand Tabel-informatie: Redundant! wordt: Hier worden tevens de gegevens uniek gemaakt (m.b.v. [Auto-] numbering) en gekoppeld middels de unieke waarden (tabel Werknemer <-> tabel Adres)
  • 6. Data Sources Unieke regels in een database-tabel: word je toch ‘n nummertje… Data dient uniek opgeslagen te worden in een database. Hier gebruikt men een ID voor. Dit is trefzekerder dan bijvoorbeeld alleen een naam: binnen een groot bedrijf zouden er meerdere personen met de naam “Henk de Vries” kunnen zijn. Types ID •Auto-numbering • een geheel getal dat automatisch opgehoogd wordt bij toevoegen van een nieuwe regel in een database-tabel •GUID (Globally Unique IDentifier) • Gegenereerd o.b.v. tijdstip, MAC-adres en evt. Andere PC-specifieke eigenschappen • Voorbeeld: 33b9d8e2-c9e5-47d1-8d20-db1a641c8fbf •Custom • Eigen format, bijvoorbeeld: YYYY-MM-DD,hh:mm:ss.fffffff als tekst => “2013-02-12,14:51:28.2395629” Dit ID wordt een kolom/veld in de tabel en heet vanwege zijn uniek bepalend karakter: Primary Key, kortweg PK
  • 7. Data Sources Voorbeeldje: personeelsbestand PK PK ? ? Dit is de koppeling met een andere tabel: de verwijzing vanuit tabel Werknemer naar tabel Adres. Het veld Adres_ID in de tabel Werknemer verwijst naar de unieke PK van de tabel Adres. Het veld Adres_ID in de tabel Werknemer is zodoende de Foreign Key, kortweg FK. ? = FK
  • 9. Data Sources Voorbeeldje: personeelsbestand FK Redundant! PK FK PK wordt: FK FK PK FK PK FK PK
  • 10. Data Sources Tabel-relaties Tabel-relaties worden gemaakt via PK-FK koppelingen. 3 vormen van tabel-relaties: •één-op-veel (+ veel-op-één) 1:N •veel-op-veel M:N •één-op-één 1:1 op op op 1:N M:N 1:1
  • 11. Data Sources Tabel-relaties één-op-veel, 1:N één student zit in 1 n één groep, in één Student zit in Klas groep mogen meerdere studenten zitten veel-op-één 1 n er mogen Klas bevat Student meerdere studenten in één klas zitten Student n leent 1 Boek exemplaar
  • 12. Data Sources Tabel-relaties veel-op-veel, M:N elke student krijgt les van n volgt n meerdere Student docent docenten; elke les van docent geeft les aan meerdere studenten. een fitness- n n apparaat wordt Fitnesser gebruikt apparaat gebruikt door meerdere sporters; een sporter gebruikt meerdere apparaten.
  • 13. Data Sources Tabel-relaties één-op-één, 1:1 één docent is 1 1 mentor van één Docent is mentor van Klas klas.
  • 14. Data Sources Tabellen en bijbehorende relaties: diagram / schema Standaard voorbeeld database van Microsoft: Northwind (in SQL Server)
  • 15. Data Sources Northwind database SQL Server is your friend… or maybe NOT! SQL Server is erg veelomvattend en strict als het op installatie aankomt. Vanwege installatie- en migratie-perikelen teruggrijpen op de kleinere editie: SQL Server Compact Edition (CE). CE valt tussen een echte SQL Server database en een Access database in qua functionaliteit. Een CE database wordt benaderd als een bestand. Daarnaast heeft het de restrictie dat het puur op de lokale PC benaderd kan worden. Voor leereinddoelen voldoet CE verder prima! Een database (SQL Server of CE) kan met de volgende tools bekeken worden: •SQL Server Management Studio (SSMS) •Visual Studio
  • 16. Data Sources Northwind.sdf (CE database): schema
  • 17. Data Sources Northwind.sdf (CE database) Een database (SQL Server of CE) kan met de volgende tools bekeken worden: 1.SQL Server Management Studio (SSMS) 2.Visual Studio Ad 1. SSMS
  • 18. Data Sources Northwind.sdf (CE database) Ad 1. SSMS
  • 19. Data Sources Northwind.sdf (CE database) Ad 2. Visual Studio
  • 20. Data Sources Northwind.sdf (CE database) Ad 2. Visual Studio
  • 21. Data Sources Northwind.sdf (CE database) Ad 2. Visual Studio
  • 22. Data Sources Database datatypes Kolommen/velden binnen een tabel van een database zijn van een bepaald datatype. Dit is vergelijkbaar met de datatypes van C#. Soort Datatype Gehele getallen bigint, numeric, integer, smallint, tinyint Boolean bit Komma-getallen real, float, money Datum-tijd datetime Tekst nchar, nvarchar, ntext Binaire data binary, varbinary, image ID uniqueidentifier (GUID), IDENTITY (auto-number)
  • 23. Data Sources Data-manipulatie: CRUD Create Read Update Delete Read is voor alle gevallen belangrijk, dus daar gaan we ook mee beginnen: het selecteren/opvragen van gegevens uit bestaande data. Het gaat hier om SELECT-query’s. Query’s worden geformuleerd a.h.v. SQL: Structured Query Language.
  • 24. Data Sources Query-scherm openen in: SSMS Query-scherm
  • 25. Data Sources Query-scherm openen in: Visual Studio Query-scherm NB: de Visual Studio biedt een intuitievere manier van werken. Mensen die Access kennen, zullen e.e.a. herkennen…
  • 26. Data Sources SELECT-Query’s De meest elementaire SELECT-query is om van 1 tabel alles op te vragen. Bijvoorbeeld alles van de tabel Categories. Dit doe je als volgt: SELECT * FROM Categories Kies je voorkeursomgeving (SSMS of Visual Studio) en vul bovenstaande select-query in in het query-scherm. Voer vervolgens de query uit met Execute.
  • 27. Data Sources SELECT-Query’s uitvoeren 1. SSMS 2. Visual Studio
  • 28. Data Sources Resultaten SELECT-Query 1. SSMS 2. Visual Studio
  • 29. Data Sources SELECT-Query’s: specifieke velden/kolommen SELECT [Last Name], [First Name], Title FROM Employees NB: Namen met een spatie erin moeten voorzien worden van rechte haken ( [ ] ) anders snapt SQL het niet! Resultaat: Last Name First Name Title Davolio Nancy Sales Representative Fuller Andrew Vice President, Sales Leverling Janet Sales Representative Peacock Margaret Sales Representative Buchanan Steven Sales Manager Suyama Michael Sales Representative King Robert Sales Representative Callahan Laura Inside Sales Coordinator Dodsworth Anne Sales Representative Hellstern Albert Business Manager Smith Tim Mail Clerk Patterson Caroline Receptionist Brid Justin Marketing Director Martin Xavier Marketing Associate Pereira Laurent Advertising Specialist
  • 30. Data Sources SELECT-Query’s: sorteren SELECT [Product Name], [Unit Price] FROM Products ORDER BY [Unit Price] DESC Hierbij geldt: DESC: in aflopende volgorde. ASC: in oplopende volgorde (default: als je niks opgeeft, veronderstelt SQL dat het ASC is) Resultaat: Product Name Unit Price Côte de Blaye 263,5 Thüringer Rostbratwurst 123,79 Mishi Kobe Niku 97 Sir Rodney's Marmalade 81 Carnarvon Tigers 62,5 Raclette Courdavault 55 Manjimup Dried Apples 53
  • 31. Data Sources SELECT-Query’s: sorteren (meervoudig) SELECT Title, [Last Name], [Home Phone] FROM Employees ORDER BY Title DESC, [Last Name] ASC Resultaat: Title Last Name Home Phone Vice President, Sales Fuller (206) 555-9482 Sales Representative Davolio (206) 555-9857 Sales Representative Dodsworth (71) 555-4444 Sales Representative King (71) 555-5598 Sales Representative Leverling (206) 555-3412 Sales Representative Peacock (206) 555-8122 Sales Representative Suyama (71) 555-7773 Sales Manager Buchanan (71) 555-4848 Receptionist Patterson (206) 555-3487 Marketing Director Brid 88 83 83 16 Marketing Associate Martin 88 62 43 53 Mail Clerk Smith (206) 555-3857
  • 32. Data Sources SELECT-Query’s: criteria SELECT [First Name], [Last Name], City FROM Employees WHERE City = 'London‘ Resultaat: First Name Last Name City Steven Buchanan London Michael Suyama London Robert King London Anne Dodsworth London
  • 33. Data Sources SELECT-Query’s: criteria (meervoudig) SELECT [First Name], [Last Name], City, Title FROM Employees WHERE (City = 'London') AND (Title = 'Sales Representative') Resultaat: First Name Last Name City Title Michael Suyama London Sales Representative Robert King London Sales Representative Anne Dodsworth London Sales Representative
  • 34. Data Sources SELECT-Query’s: DISTINCT (laat geen dubbele voorkomens zien) SELECT City SELECT DISTINCT City FROM Employees FROM Employees Resultaat: Resultaat: City City Seattle Auburn Tacoma Bellevue Haguenau Kirkland Kent Redmond Kirkland London London London Redmond Schiltigheim London Seattle Seattle Strasbourg London Tacoma Bellevue Kent Auburn Haguenau Schiltigheim Strasbourg
  • 35. Data Sources SELECT-Query’s: LIKE SELECT [Last Name], Title SELECT [Product Name] SELECT [Product Name] FROM Employees FROM Products FROM Products WHERE (Title LIKE 'Sales%') WHERE ([Product Name] LIKE '%bröd') WHERE ([Product Name] LIKE '%hot%') Resultaat: Resultaat: Resultaat: Last Name Title Product Name Product Name Gustaf's Knäckebröd Louisiana Fiery Hot Pepper Sauce Davolio Sales Representative Tunnbröd Louisiana Hot Spiced Okra Leverling Sales Representative Peacock Sales Representative Buchanan Sales Manager Suyama Sales Representative King Sales Representative Dodsworth Sales Representative
  • 36. Data Sources SELECT-Query’s: BETWEEN SELECT [Product Name], [Unit Price] SELECT [Last Name], [Birth Date] FROM Products FROM Employees WHERE ([Unit Price] BETWEEN 1 AND 8) WHERE ([Birth Date] BETWEEN '1-1-1965' AND '1-1-1975') Resultaat: Resultaat: Product Name Unit Price Last Name Birth Date Dodsworth 1966-01-27 00:00:00.000 Konbu 6 Smith 1973-06-06 00:00:00.000 Guaraná Fantástica 4,5 Patterson 1972-09-11 00:00:00.000 Geitost 2,5 Pereira 1965-12-09 00:00:00.000 Filo Mix 7 Tourtière 7,45 Rhönbräu Klosterbier 7,75
  • 37. Data Sources SELECT-Query’s: IS NULL / IS NOT NULL (d.w.z. niet/wel ingevuld) SELECT [Company Name] SELECT [Company Name] FROM [Suppliers] FROM [Suppliers] WHERE Fax IS NULL WHERE Fax IS NOT NULL Resultaat: Resultaat: Company Name Fax Company Name Fax Grandma Kelly's Homestead (313) 555-3349 Exotic Liquids NULL Pavlova, Ltd. (03) 444-6588 New Orleans Cajun Delights NULL PB Knäckebröd AB 031-987 65 91 Tokyo Traders NULL Nord-Ost-Fisch Handelsgesellschaft mbH (04721) 8714 Cooperativa de Quesos 'Las Cabras' NULL Formaggi Fortini s.r.l. (0544) 60603 Mayumi's NULL Aux joyeux ecclésiastiques (1) 03.83.00.62 New England Seafood Cannery (617) 555-3389 Specialty Biscuits, Ltd. NULL Lyngbysild 43844115 Refrescos Americanas LTDA NULL Zaanse Snoepfabriek (12345) 1210 Heli Süßwaren GmbH & Co. KG NULL G'day, Mate (02) 555-4873 Plusspar Lebensmittelgroßmärkte AG NULL Pasta Buttini s.r.l. (089) 6547667 Norske Meierier NULL Gai pâturage 38.76.98.58 Forêts d'érables (514) 555-2921 Bigfoot Breweries NULL Svensk Sjöföda AB NULL Leka Trading NULL Karkki Oy NULL Ma Maison NULL Escargots Nouveaux NULL
  • 38. Data Sources SELECT-Query’s: IN SELECT [Last Name], City SELECT [Product Name], [Reorder Level] FROM Employees FROM Products WHERE City IN ('Seattle', 'London', 'Tacoma') WHERE [Reorder Level] IN (5,10,25,30) Resultaat: Resultaat: Last Name City Product Name Reorder Level Chai 10 Davolio Seattle Chang 25 Fuller Tacoma Aniseed Syrup 25 Buchanan London Grandma's Boysenberry Spread 25 Suyama London Uncle Bob's Organic Dried Pears 10 King London Queso Cabrales 30 Konbu 5 Callahan Seattle Genen Shouyu 5 Dodsworth London Pavlova 10 Teatime Chocolate Biscuits 5 Sir Rodney's Scones 5 Gustaf's Knäckebröd 25 Tunnbröd 25 NuNuCa Nuß-Nougat-Creme 30 Schoggi Schokolade 30 Mascarpone Fabioli 25 Gravad lax 25 Chartreuse verte 5 Boston Crab Meat 30 Jack's New England Clam Chowder 10
  • 39. Data Sources SELECT-Query’s: Subquery’s Zoek alle producten uit de categorie 'Seafood‘: Zoek alle bedrijven die een order vóór 1992 geplaatst hebben: SELECT [Product Name] SELECT [Company Name] FROM [Products] FROM [Customers] WHERE [Category ID] IN WHERE [Customer ID] IN ( ( SELECT [Customer ID] SELECT [Category ID] FROM [Orders] FROM [Categories] WHERE [Order Date] < '1-1-1992' WHERE [Category Name] = 'Seafood' ) ) Resultaat: Resultaat: Company Name Product Name Alfreds Futterkiste Ikura Antonio Moreno Taquería Konbu Berglunds snabbköp Carnarvon Tigers Blauer See Delikatessen Nord-Ost Matjeshering Blondel père et fils Bólido Comidas preparadas Inlagd Sill Bottom-Dollar Markets Gravad lax B's Beverages Boston Crab Meat Centro comercial Moctezuma Jack's New England Clam Chowder Chop-suey Chinese Røgede sild Drachenblut Delikatessen Du monde entier Spegesild Eastern Connection