SQL Les 1 5 April 2019
Agenda Voorstelling Lesverloop / Cursusinhoud Korte inleiding Databases Toepassingen Software SQL Server Het SELECT statement 5 April 2019
Voorstelling Werk 2004 – 2008: Syntra Privé Getrouwd Wilrijk Voetbal Skiën 5 April 2019
Lesverloop Afwisselend theorie en oefeningen Website http://users.telenet.be/SQL/ Powerpoints Cursus Oefeningen Oplossingen van de oefeningen … 5 April 2019
Contact Kurt.Moermans@gmail.com 5 April 2019
Cursusinhoud Relationele databases SQL Database Management System Data Definition Language (DDL) Definiëren van databases Data Manipulation Language (DML) Ophalen en wijzigen van data Toevoegen en verwijderen van data Database Management System SQL Server (PostgreSQL) 5 April 2019
Wat is een database? Een verzameling van met elkaar gerelateerde gegevens en een beschrijving van deze gegevens ontwikkeld om de informatiebehoeften van een organisatie in kaart te brengen. Een groot reservoir van gegevens De gegevens worden gewoonlijk georganiseerd in tabellen 5 April 2019
Hoe de data beheren? Database Management System (DBMS) Bevat: Software Vb: SQL Server Oracle PostgreSQL DB2 Bevat: Security systeem Hulpmiddelen om data consistent te houden Recovery control systeem Metadata (data over data) … 5 April 2019
DBMS Data integrity Database taal Data voldoet aan de realiteit Data consistency: 2 verschillende stukken mogen elkaar niet tegenspreken Database taal SQL Spreken met het DBMS 5 April 2019
Database application Voorbeeld 1 Aankopen in supermarkt: Barcode ingescand Database -> Prijs Database -> Stock van product verlaagd Stock onder bepaalde waarde? Automatisch aanvraag nieuwe goederen 5 April 2019
Database application (2) Voorbeeld 2 Internet (www.amazon.com) Boek/DVD/CD opgeslaan in databases Persoonsgegevens in database Bij volgende logon verwelkomen met eigen naam Lijst van boeken die je wel eens interessant kan vinden (bepaald aan de hand van vorige aankopen) 5 April 2019
Database application (3) Voorbeeld 3 Aankoop met credit card: Inlezen kaart Link naar database Database met creditgevens 5 April 2019
Database application (4) Voorbeeld 4 Bibliotheek Digitale index voor het opzoeken boeken Bij het uitlenen, scannen van boek, informatie wordt weggeschreven in de database 5 April 2019
Interactie applicaties - DBMS SQL SQL SQL DBMS 5 April 2019
Interactie applicaties - DBMS 3 belangrijke componenten DBMS: opslag van en toegang tot data Opvragen en wijzigen gegevens via SQL Applicaties: Leveren SQL code Zorgen voor graphical user interface voor de gebruiker Fysieke opslag: 5 April 2019
Database rollen Database administrator (DBA): Beveiliging Integrity control Onderhoud Constant monitoren van het systeem Technisch 5 April 2019
Database rollen (2) Database designer: Identificeren van de data Relatie tussen de data Business rules (regels waaraan de data onderworpen is; afhankelijk van het bedrijf) 5 April 2019
Database rollen (3) Applicatie ontwikkelaars: Eind gebruikers Ontwikkelen van programma’s ‘op de databases’ Eind gebruikers Naïve gebruikers Niet naïve gebruikers: Zullen sporadisch zelf SQL gebruiken om iets op te vragen 5 April 2019
Voor- en nadelen van een DBMS + Data integrity Meer informatie voor dezelfde hoeveelheid data Delen van data Beveiligde data Hogere productiviteit Backup systemen Metadata … - Complex Hoge kostprijs 5 April 2019
SQL – server en SQL - clients 5 April 2019
SQL – server en SQL – clients (2) Eén centrale computer (de server) Relationeel database management systeem (rdbms) Meerdere PC’s of vergelijkbare computers (de clients) waarop een applicatie draait Netwerkverbinding Eindgebruiker moet de taal SQL niet te kennen Ontwikkelaars en beheerders moeten een gedegen kennis hebben van SQL 5 April 2019
SQL – server en SQL – clients (3) Beide systemen kunnen ook op één computer draaien Deze architectuur hebben we in de lessen gebruikt 5 April 2019
Belangrijke begrippen Tabel: Data wordt steeds opgeslaan in een tabel Voorbeeld Rij of record Kolom, column of veld Intersectie van een rij en kolom moet altijd 1 waarde zijn 5 April 2019
Belangrijke begrippen (2) Integrity rule (Business Rules) Bv: het spelerID mag niet negatief zijn 2 verschillende spelers mogen niet hetzelfde spelerID hebben 5 April 2019
Belangrijke begrippen (3) Primary key De kolom (of combinatie van kolommen) die uniek een rij identificeert Voorbeeld Het is mogelijk dat alle kolommen nodig zijn voor de primary key 5 April 2019
Belangrijke begrippen (4) NULL Waarde Onbekende waarde ≠ 0 ≠ ‘ ’ 2 NULL waarden zijn nooit gelijk Primary key mag nooit een waarde NULL hebben 5 April 2019
SQL Gestandaardiseerde Database Language SeQuel Structure Query Language Bekende SQL producten MS Access Microsoft SQL Server Oracle DB2 Er zijn verschillende SQL dialecten Veruit de belangrijkste Database Language 5 April 2019
SQL Server Microsoft product Eerst versie in 1989 Verschillende types: Express Gratis Scaled down 10 GB data only Standard Enterprise Tot 524 petabytes data 5 April 2019
SQL Server SQL Server Express Edition Versie 2008 SQL Server database SQL Server management studio Versie 2008 http://www.microsoft.com/download/en/details.aspx?id=23650 Versie 2012 is zopas uitgekomen 5 April 2019
SQL Twee belangrijke delen: Data Definition language (DDL) Structuurcommando’s Data Manipulation language (DML) Querycommando’s 5 April 2019
SELECT statement (1) 5 April 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 5 April 2019
Gerecht tabel 5 April 2019
Simpel select statement 5 April 2019
Select statement met conditie 5 April 2019
Opmerking Spaties en linefeeds worden genegeerd Commentaar -- Dit is commentaar /* Dit is commentaar En hier staat ook nog commentaar */ 5 April 2019
Vergelijkingsoperatoren Logische vergelijkingsoperatoren: =; >; <; >=; <= SQL operatoren Between…and … In LIKE IS NULL Logische operatoren AND OR NOT 5 April 2019
Oefeningen op personeelsdatabase Zie blad 5 April 2019