Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL?... 5
|
|
|
- Alfred Adam
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 1 Inhoudsopgave. Inleiding Databases en Data Base Management Systems Tabellen Wat is SQL? Gegevens opvragen (deel 1) Boolean operatoren IN en BETWEEN operatoren Rekenkundige operatoren Wiskundige functies Tabellen aanmaken Gegevens invoeren Gegevens wijzigen Gegevens verwijderen Tabellen verwijderen Gegevens opvragen (deel 2) FROM & WHERE clause quick review Aggregate functies GROUP BY clause HAVING clause ORDER BY clause Gegevens opvragen door meerdere tabellen te combineren Gegevens combineren door middel van join Gegevens combineren door middel van geneste selecties Software Ontwikkeling & Programmeren 3 Harry Broeders
2 2 r.-k. T.H. Rijswijk Computers en Datacommunicatie
3 3 Inleiding. Als er grote hoeveelheden data permanent opgeslagen moeten worden dan kun je hier natuurlijk zelf een programma voor schrijven dat zelf de files waarin de data is opgeslagen beheerd. Waarschijnlijk ben je er bij het H1 project al achter gekomen dat dit niet zo eenvoudig is. Vooral niet bij meerdere bestanden met gekoppelde gegevens. In dit geval kun je beter gebruik maken van een Database Management System (DBMS). Er zijn verschillende manieren om een database op te bouwen: hiërarchies, relationeel en object oriënted. Relationele Databases (RDBMS) zijn op dit moment het meest populair. Bekende relationele databases zijn Oracle, DB2, MySQL en Microsoft SQL Server. Als je informatie uit een database wilt opvragen dan kun je gebruik maken van de standaard vraagtaal SQL (Structured Query Language). De SQL query: SELECT ALL WHERE NAME = "Broeders" AND AGE > 40 vraagt bijvoorbeeld alle records op waarbij het veld NAME de waarde Broeders heeft en het veld AGE groter is dan 40. De C&D studenten die hebben gekozen voor de TI minor komen uitgebreid in aanraking met relationele databases en SQL. Ook voor de overige C&D studenten is het echter van belang om enige kennis te hebben van databases. In dit dictaat vind je een basiscursus SQL die gedeeltelijk afkomstig is van en gedeeltelijk afkomstig is uit het dictaat Databases van Henk van den Bosch (docent TI op onze school). Alle tabellen en SQL code uit deze basiscursus kun je downloaden van zowel voor een Microsoft Access database als voor een Paradox database. Microsoft Acces is op alle studentwerkplekken beschikbaar en de Paradox database is te benaderen met het DataBase Desktop programma dat met Borland C++ Builder wordt meegeleverd. Borland C++ Builder bevat een groot aantal standaard componenten waarmee vrijwel elk RDBMS te benaderen is via SQL. Kijk maar eens onder de tabs Data Access en Data Control. 1 Databases en Data Base Management Systems. Een database is een verzameling van samenhangende gegevens opgeslagen op een achtergrondgeheugen. Een Data Base Management System (DBMS) is het software systeem dat dient voor het gebruik en het beheer van een database. Er zijn verschillende manieren bedacht waarop de logische gegevenstructuur van een database vastgelegd kan worden: hiërarchische databases. netwerk databases. relationele databases. semantische databases. object oriënted databases. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd. 2 Tabellen. Een relationeel database systeem bevat één of meer tabellen. De data of informatie die in de database is opgeslagen, is opgeslagen in deze tabellen. Elke tabel heeft een unieke naam en bestaat uit kolommen en rijen. Een kolom heeft een kolom naam (die binnen de tabel uniek moet zijn), een datatype en eventueel nog een aantal andere attributen. Een rij (ook wel record genoemd) bevat de in de kolommen gedefi- Software Ontwikkeling & Programmeren 3 Harry Broeders
4 4 nieerde data. Hieronder is een voorbeeld tabel gegeven genaamd leverancier. LevNr, Naam, Kwaliteit, en Plaats zijn de kolommen. De rijen bevatten de data van deze tabel: Tabel: leverancier LevNr Naam Kwaliteit Plaats 1 Simon 20 Den Haag 2 Janssen 10 Utrecht 3 Bernard 30 Utrecht 4 Janssen 20 Den Haag 5 Bout 30 Leiden De tabelnaam wordt ook wel entiteitstype genoemd. Een entiteit is de beschrijving van een object uit de werkelijkheid waarvan we de gegevens in de database willen opslaan. Elke regel van een tabel bevat een entiteit. De kolomnamen worden ook wel atributen genoemd. Elk hokje in de tabel bevat een zogenaamde attribuutwaarde van een entiteit. Om de verschillende entiteiten (regels) van een entiteitstype (tabel) te kunnen onderscheiden is het begrip sleutel (key) gedefinieerd. De sleutel van een entiteitstype is een attribuut (of combinatie van attributen) van dit entiteitstype waarvan de waarde elke entiteit uniek identificeert. Elke tabel heeft een key nodig omdat de entiteiten anders niet onderscheiden kunnen worden. Soms zijn meerdere attributen geschikt om als sleutel te gebruiken. Als we voor het entiteitstype student b.v. de atributen studentnummer, naam, woonplaats, geboortedatum, SOFI-nummer en paspoortnummer definiëren dan kunnen we het attribuut studentnummer als key gebruiken maar ook het atribuut SOFInummer. De key we uiteindelijk kiezen om een entiteit mee te identificeren wordt de primaire sleutel (primary key) genoemd. De atribuut paspoortnummer is overigens niet als sleutel voor student te gebuiken omdat niet elke student een paspoort heeft. Soms is geen enkele atribuut (of combinatie van atributen) geschikt om als sleutel te gebuiken. De oplossing is simpel: we voegen dan gewoon een geschikte atribuut toe. Dit is de reden dat de atribuut LevNr in de tabel leverancier is opgenomen. In deze cursus zullen we nog twee andere tabellen gebruiken: Tabel: artikel ArtNr Naam Kleur Gewicht 1 moer rood 12 2 bout groen 17 3 schroef blauw 17 4 schroef rood 14 5 veer blauw 12 6 as rood 19 De primary key van deze tabel is ArtNr. Primary keys kunnen in andere tabellen als verwijs sleutel (foreign key) gebruikt worden. Om deze reden kun je een primary key niet zo maar veranderen! r.-k. T.H. Rijswijk Computers en Datacommunicatie
5 5 Tabel: bestelling LevNr ArtNr Aantal Het atribuut LevNr is een foreign key die verwijst naar een entiteit uit de tabel leverancier. Het atribuut ArtNr is een foreign key die verwijst naar een entiteit uit de tabel artikel. De atributen LevNr en ArtNr vormen samen de primary key voor de tabel bestelling. 3 Wat is SQL? SQL (speek uit: ess-que-el ) is de afkorting van Structured Query Language. SQL wordt gebruikt om met een database te communiceren. De SQL taal is gestandaardiseerd door ANSI (American National Standards Institute) en wordt door ieder relationeel database management systeem ondersteund. SQL statements (of commando s) kunnen bijvoorbeeld gebruikt worden om data in de database bij te werken of om data uit de database op te vragen. Een aantal bekende relationele database management systemen zijn: Oracle, DB2, Sybase, Microsoft SQL Server, Access, Ingres, MySQL, etc. Al deze database systemen gebruiken SQL, maar de meeste hebben hun eigen uitbreidingen aan de standaard SQL toegevoegd (zogenaamde proprietary extensions ). Met behulp van de standaard SQL commando s zoals SELECT, INSERT, UPDATE, DELETE, CREATE, en DROP kunnen we alles doen wat nodig is om een database te beheren. Dit hoofdstuk geeft een inleiding in het gebruik van de belangrijkste SQL statements. 4 Gegevens opvragen (deel 1). Het SELECT statement wordt gebruikt om informatie uit de database op te vragen. Z n vraag wordt een query genoemd. Bij het opvragen van de informatie kun je bepaalde selectiecriteria opgeven. Er wordt dan gezocht naar de informatie die aan deze selectiecriteria voldoet. Het formaat van een eenvoudig SELECT statement is als volgt: SELECT kolomnaam[, kolomnaam,...] FROM tabelnaam [WHERE selectiecriterium]; [ ] = optioneel Het resultaat van een SELECT statement wordt gegeven in de vorm van een (tijdelijke) tabel. Na het SELECT keyword volgt een lijst met kolomnamen. Deze lijst bepaald welke kolommen in de resultaat tabel voorkomen. Je kunt zoveel kolommen selecteren als je wilt. Je kunt alle kolommen selecteren door een * te gebruiken. Na het keyword FROM volgt een tabelnaam. Deze tabel wordt doorzocht om de informatie te vinden. Software Ontwikkeling & Programmeren 3 Harry Broeders
6 6 De WHERE clausule (clause) kan worden gebruikt om het selectiecriterium op te geven. Dit selectiecriterium (ook wel conditie genoemd) heeft als eenvoudigste vorm: kolomnaam operator waarde Operatoren die in een WHERE clause gebruikt kunnen worden: = gelijk aan > groter dan < kleiner dan >= groter dan of gelijk aan <= kleiner dan of gelijk aan <> niet gelijk aan LIKE De LIKE operator is een erg krachtige operator die je in staat stelt om rijen te selecteren die lijken op de waarde die je opgeeft. Het procent teken % kan gebruikt worden als een joker die overeenkomt met één of meer willekeurige karakters. Voorbeeld 1: SELECT Gewicht, Naam FROM artikel; Het resultaat van dit SELECT statement is de volgende tabel: Gewicht Naam 12 moer 17 bout 17 schroef 14 schroef 12 veer 19 as Voorbeeld 2: Geef de naam en het gewicht van alle rode artikelen. SELECT Naam, Gewicht FROM artikel WHERE Kleur='rood'; Naam Gewicht moer 12 schroef 14 as 19 Voorbeeld 3: Geef alle gegevens van de leveranciers waarvan de naam met een B begint. r.-k. T.H. Rijswijk Computers en Datacommunicatie
7 7 SELECT * FROM leverancier WHERE Naam LIKE 'B%'; LevNr Naam Kwaliteit Plaats 3 Bernard 30 Utrecht 5 Bout 30 Leiden 4.1 Boolean operatoren. Eenvoudige selectiecriteria kunnen met AND en OR worden gecombineerd tot een samengesteld selectiecriterium. Voorbeeld 4: Geef alle bestellingen met LevNr 1 waarbij het aantal groter of gelijk aan 300 is. SELECT * FROM bestelling WHERE LevNr = 1 AND Aantal >= 300; LevNr ArtNr Aantal De vergelijkingsoperatoren hebben een hogere prioriteit dan de boolean opterators. Haakjes zijn dus in dit geval niet nodig maar als je het duidelijker vindt dan mag je haakjes toevoegen: SELECT * FROM bestelling WHERE (LevNr = 1) AND (Aantal >= 300); 4.2 IN en BETWEEN operatoren. De IN and BETWEEN operatoren kunnen in een WHERE clause als volgt gebuikt worden: SELECT lijst-met-kolomnamen FROM tabelnaam WHERE kolomnaam IN (lijst-met-waarden); SELECT lijst-met-kolomnamen FROM tabelnaam WHERE kolomnaam BETWEEN waarde AND waarde; De IN operator selecteert een rij als de data in de kolom voorkomt in de lijst met waarden. Software Ontwikkeling & Programmeren 3 Harry Broeders
8 8 Voorbeeld 5: SELECT * FROM leverancier WHERE Plaats IN ('Den Haag', 'Leiden'); LevNr Naam Kwaliteit Plaats 1 Simon 20 Den Haag 4 Janssen 20 Den Haag 5 Bout 30 Leiden Een selectiecriterium waarin de IN operator wordt gebruikt kan worden herschreven met behulp van de = en OR operatoren: SELECT * FROM leverancier WHERE Plaats = 'Den Haag' OR Plaats = 'Leiden'; Maar de IN operator is korter en eenvoudiger te lezen zeker als je wilt testen op meer dan twee waarden. Je kunt de operator NOT IN gebruiken om rijen waarvan de data niet in de kolom voorkomt te selecteren. De BETWEEN operator kun je gebruiken om te testen of de data tussen de twee opgegeven waarden ligt. De rij wordt ook geselecteerd als de data in de opgegeven kolom gelijk is aan een van de twee opgegeven waarden. Je kunt BETWEEN waarde AND waarde dus beter lezen als van waarde tot en met waarde. Voorbeeld 6: SELECT Naam FROM artikel WHERE Gewicht BETWEEN 14 AND 17; Dit statement zal de kolom Naam van de tabel artikel laten zien waarbij alle rijen geselecteerd worden waarbij de waarde in de kolom Gewicht tussen 14 en 17 is (inclusief 14 en 17). Naam bout schroef schroef Dit statement kan worden herschreven met behulp van de >=, <= en OR operatoren: SELECT Naam FROM artikel WHERE Gewicht >= 14 AND Gewicht <= 17; r.-k. T.H. Rijswijk Computers en Datacommunicatie
9 9 Je kunt de NOT BETWEEN operator gebruiken om te testen of de data niet tussen de twee opgegeven waarden ligt. 4.3 Rekenkundige operatoren. Standaard ANSI SQL-92 definieert de eerste vier van de onderstaande rekenkundige operatoren: rekenkundige operatoren + optellen - aftrekken * vermenigvuldigen / delen % modulo (rest) De modulo operator bepaald de rest van een integer deling. Deze operator is niet gedefinieerd in ANSI SQL, maar de meeste databases ondersteunen deze uitbreiding. 4.4 Wiskundige functies. In de onderstaande tabel staan enkele wiskundige functies. Deze functies zijn niet opgenomen in de ANSI SQL-92 standaard. Deze functies kunnen in alle bekende database systemen gebruikt worden. ABS(x) geeft de absolute waarde van x SIGN(x) geeft het teken van de waarde x (-1, 0, of 1) MOD(x,y) geeft de rest van de deling x/y (gelijk aan x%y) FLOOR(x) geeft de grootste integer waarde kleiner dan of gelijk aan x CEILING(x) of CEIL(x) geeft de kleinste integer waarde groter dan of gelijk aan x POWER(x,y) geeft the waarde van x tot de macht y ROUND(x) geeft de waarde van x afgerond op de dichtsbijzijnde integer ROUND(x,d) geeft de waarde van x afgerond op d plaatsen achter de decimale punt SQRT(x) geeft de wortel van x De rekenkundige operatoren en wiskundige functies mogen in de WHERE clause van een SELECT gebruikt worden om een selectiecriterium op te geven. De rekenkundige operatoren en wiskundige functies kun je ook gebuiken om bewerkingen op hele kolommen uit te voeren. Voorbeeld 7: SELECT LevNr, LevNr + Kwaliteit FROM leverancier; Software Ontwikkeling & Programmeren 3 Harry Broeders
10 10 LevNr LevNr + Kwaliteit Het SELECT statement heeft nog vele andere mogelijkheden maar daar komen we later op terug. 5 Tabellen aanmaken. Het CREATE TABLE statement kun je gebruiken om een nieuwe tabel aan te maken. Het formaat van een eenvoudig CREATE TABLE statement is als volgt: CREATE TABLE tabelnaam (kolomnaam datatype[, kolomnaam datatype,...]); Bij elke kolom kun je ook bepaalde constraints (voorwaarden of beperkingen) opgeven: CREATE TABLE tabelnaam (kolomnaam datatype [constraints] [, kolomnaam datatype [constraints],...]); [ ] = optioneel Voorbeeld 8: CREATE TABLE artikel (ArtNr INTEGER, Naam VARCHAR(20), Kleur VARCHAR(20), Gewicht INTEGER); Tabel: artikel ArtNr Naam Kleur Gewicht Zoals je ziet bevat de tabel na de CREATE TABLE instructie nog geen data. De tabel kan later met behulp van de instructie INSERT worden gevuld. Je kunt dus een nieuwe tabel aanmaken met het CREATE TABLE commando gevolgd door de tabelnaam, gevolgd door een haakje openen. Hierna geef je per kolom de kolomnaam, gevolgd door het datatype van deze kolom, eventueel gevolgd door constraints voor deze kolom. De definities van de verschillende kolommen worden van elkaar gescheiden door een komma. De laatste kolomdefinitie wordt afgesloten door een haakje sluiten. Het CREATE TABLE commando wordt, net zoals elk SQL commando afgesloten met een punt-komma. De tabelnaam en kolomnamen moeten beginnen met een letter. In deze namen mogen alleen letters, cijfers en underscores voorkomen. Een naam mag niet langer zijn dan 30 karakters. Een SQL keyword zoals SELECT, CREATE, INSERT, enz mag niet als naam worden gebuikt. r.-k. T.H. Rijswijk Computers en Datacommunicatie
11 11 Het datatype geeft aan wat voor soort gegevens in een kolom kunnen worden opgeslagen. Als je bijvoorbeeld de kolom genaamd Naam wilt gebruiken om namen in op te slaan dan moet deze kolom van het datatype VARCHAR (variable-length character) zijn. De meest gebruikte datatypen. CHARACTER(size) Fixed-length character string. De size geeft het aantal karakters wat in deze kolom moet worden ingevuld. De maximale size is 255. VARCHAR(size) Variable-length character string. De size geeft het aantal karakters wat maximaal in deze kolom mag worden ingevuld. De maximale size is 255. INTEGER Geheel getal. FLOAT Floating point getal. DATE Datum. MONEY Geld bedrag. BOOLEAN Boolean. AUTOINC Autoincrement geheel getal. BLOB Binary large object. Dit datatype kan een muzieknummer, een plaatje, een film, een programma, een tekst in HTML, een WORD document, enz. bevatten. SQL bemoeit zich niet met de inhoud van een BLOB. Wat zijn constraints? Bij het aanmaken van een tabel kun je bij elke kolom bepaalde constraints opgeven. Een constraint is een voorwaarde waaraan de data die in de kolom wordt opgeslagen moet voldoen. Zo kun je bijvoorbeeld met behulp van de UNIQUE constraint aangeven dat elke waarde hoogstens één keer in de betreffende kolom mag voorkomen. Alle waarden moeten uniek zijn. De RDBMS zal bij het invoeren van gegevens in de tabel controlleren of aan alle constraints wordt voldaan. Als dit niet het geval is zal het RDBMS een passende foutmelding geven. Enkele andere voorbeelden van constraints zijn NOT NULL en PRIMARY KEY. NOT NULL geeft aan dat in deze kolom in elke rij een waarde moet worden ingevuld. De PRIMARY KEY constraint definieerd dat deze kolom als primary key van de tabel gebruikt wordt. We hebben al gezien dat de primary key voor elke rij (elk record) uniek moet zijn. Elke tabel is geoptimaliseerd om te zoeken op de primary key. Voorbeeld 9: Je hebt net een eigen bedrijf opgericht en je gaat voor het eerst personeel aannemen. Je wilt de gegevens van je personeelsleden in een database opnemen. Omdat je verwacht in de toekomst uit te groeien tot een multinational sla je alle gegevens op in het Engels. Je wilt de volgende gegevens bijhouden: firstname, lastname, title, age, en salary. Oplossing: CREATE TABLE employee (firstname VARCHAR(30), lastname VARCHAR(30) NOT NULL, title VARCHAR(10), age INTEGER, salary MONEY); firstname lastname title age salary Software Ontwikkeling & Programmeren 3 Harry Broeders
12 12 6 Gegevens invoeren. Het INSERT statement kun je gebruiken om een rij gegevens aan een tabel toe te voegen. INSERT INTO tabelnaam [(kolomnaam, kolomnaam,...)] VALUES (waarde, waarde,...); [ ] = optioneel Om een rij gegevens (een record) in een tabel toe te voegen moet je het keyword INSERT INTO gebruiken. Gevolgd door de tabelnaam, gevolgd door een haakje openen, gevolgd door een lijst van kolomnamen gescheiden met komma s, gevolgd door een haakje sluiten, gevolgd door het keyword VALUES, gevolgd door een haakje openen, gevolgd door een lijst met waarden, gevolgd door een haakje sluiten. De waarden die je opgeeft worden opgeslagen in één rij in de tabel in de kolommen die je hebt opgegeven. Als je geen kolomnamen hebt opgegeven dan worden de waarden gewoon van links naar rechts weggeschreven. Strings moeten tussen enkele aanhalingstekens worden opgegeven. Voorbeeld 10: INSERT INTO employee (firstname, lastname, age, salary) VALUES ('Luke', 'Duke', 45, ); firstname lastname title age salary Luke Duke De uitkomst van een SELECT statement kan ook gebruikt worden als invoer voor een INSERT statement. INSERT INTO tabelnaam [(kolomnaam, kolomnaam,...)] SELECT... FROM... WHERE... [ ] = optioneel Voorbeeld 11: Maak een tabel genaamd goedeleveranciers met de namen en vestigingsplaatsen van alle leverancies die een kwaliteit hebben >15. Oplossing: CREATE TABLE goedeleverancier (GoedeLevNr AUTOINC PRIMARY KEY, Naam VARCHAR(30), VestigingsPlaats VARCHAR(30)); INSERT INTO goedeleverancier (Naam, Vestigingsplaats) SELECT Naam, Plaats FROM leverancier WHERE Kwaliteit > 15; r.-k. T.H. Rijswijk Computers en Datacommunicatie
13 13 Tabel: goedeleverancier GoedeLevNr Naam Vestigingsplaats 1 Simon Den Haag 2 Bernard Utrecht 3 Janssen Den Haag 4 Bout Leiden 7 Gegevens wijzigen. Het UPDATE statement kun je gebruiken om een rij (record) in een tabel te wijzigen met een WHERE clause kun je een selectiecriterium opgeven. Alleen de rijen die aan dit criterium voldoen worden gewijzigd. UPDATE tabelnaam SET kolomnaam = waarde [,kolomnaam = waarde,...] WHERE selectiecriterium; [ ] = optioneel Omdat met de UPDATE instructie van hoogstens 1 tabel de gegevens kunnen worden gewijzigd treden er integriteits problemen op als meerdere tabellen gewijzigd moeten worden. In de meeste RDBMS'en is het mogelijk om zogenaamde transactions te definiëren. In een transactie kunnen dan meerdere SQL instructies worden samengevoegd die allemaal òf wel òf niet uitgevoerd. Voorbeeld 12: UPDATE artikel SET Gewicht = 25 WHERE Kleur = 'blauw'; UPDATE artikel SET Kleur = 'groen', Gewicht = 15 WHERE Naam = 'moer' AND Gewicht < 15; Tabel: artikel ArtNr Naam Kleur Gewicht 1 moer groen 15 2 bout groen 17 3 schroef blauw 25 4 schroef rood 14 5 veer blauw 25 6 as rood 19 Software Ontwikkeling & Programmeren 3 Harry Broeders
14 14 8 Gegevens verwijderen. Het DELETE statement kun je gebruiken om rijen (records) uit een tabel te verwijderen. DELETE FROM tabelnaam [WHERE selectiecriterium]; [ ] = optioneel Om één of meer rijen uit een tabel te verwijderen kun je het DELETE FROM commando gebruiken, gevolgd door de tabelnaam, eventueel gevolgd door het keyword WHERE, gevolgd door het selectiecriterium waaraan de te verwijderen regels moeten voldoen. Als je geen WHERE clause gebruikt worden alle regels verwijderd. Voorbeeld 13: DELETE FROM employee; firstname lastname title age salary DELETE FROM bestelling WHERE Aantal = 100; Tabel: bestelling LevNr ArtNr Aantal Het is nu mogelijk dat er integriteitsproblemen ontstaan. Voorbeeld 14: Verwijder de leveranciers met een kwaliteit < 15. DELETE FROM leverancier WHERE Kwaliteit < 15; r.-k. T.H. Rijswijk Computers en Datacommunicatie
15 15 Tabel: leverancier LevNr Naam Kwaliteit Plaats 1 Simon 20 Den Haag 3 Bernard 30 Utrecht 4 Janssen 20 Den Haag 5 Bout 30 Leiden Leverancier met LevNr 2 is nu uit de database verwijderd maar er staan nog verwijzingen naar deze leverancier in de tabel bestelling. 9 Tabellen verwijderen. Het DROP TABLE statement kun je gebruiken om een tabel (inclusief alle gegevens) te verwijderen uit de database. DROP TABLE tabelnaam Voorbeeld 15: DROP TABLE employee; Je kunt een hele tabel, inclusief alle rijen, verwijderen met het DROP TABLE commando gevolgd door de tabelnaam. DROP TABLE is niet hetzelfde als het verwijderen van alle rijen uit een tabel met het DELETE FROM commando. Bij het verwijderen van alle rijen met behulp van het DELETE FROM commando blijven de colomnamen en bijbehorende datatypen en constraints behouden. Het DROP TA- BLE commando verwijderd de volledige tabel definitie. 10 Gegevens opvragen (deel 2). Je hebt al geleerd hoe je het SELECT statement kunt gebruiken om gegevens uit de database op te vragen. Het SELECT statement heeft een groot aantal opties die gebruikt kunnen worden om geavanceerde queries samen te stellen. Je kunt dan allerlei vragen over de gegevens beantwoorden, bijvoorbeeld: Geef het minimale aantal en het maximale aantal van de bestellingen voor elk artikel. Het SELECT statement heeft vijf clauses (opties) die je kunt opgeven. De FROM clause is als enige verplicht. Elke clause heeft weer een hele lijst met mogelijke selectiecriteria, options, parameters, enz. De veschillende clauses zullen nu worden besproken. Het uitgebreide formaat van het SELECT statement is als volgt: SELECT [ALL DISTINCT] lijst-met-kolomnamen FROM lijst-met-tabelnamen [WHERE selectiecriterium] [GROUP BY lijst-met-kolomnamen] [HAVING selectiecriterium] [ORDER BY lijst-met-kolomnamen [ASC DESC] ] [ ] = optioneel 10.1 FROM & WHERE clause quick review. De FROM en WHERE clauses zijn al eerder besproken. Software Ontwikkeling & Programmeren 3 Harry Broeders
16 16 Voorbeeld 16: SELECT ArtNr, Naam, Gewicht FROM artikel WHERE kleur = 'rood' OR Gewicht > 15; ArtNr Naam Gewicht 1 moer 12 2 bout 17 3 schroef 17 4 schroef 14 6 as 19 ALL en DISTINCT zijn keywords die je kunt gebruiken om alle (default) of alleen orginele (unieke) rijen (records) in de resultaattabel op te nemen. Als je alleen unieke waarden wil zien in een specifieke kolom dan kun je het DISTINCT keyword voor de kolomnaam plaatsen. Voorbeeld 17: SELECT DISTINCT Gewicht FROM artikel; Gewicht Het ALL keyword zal alle rijen die aan het selectiecriterium voldoen opnemen in de resultaattabel inclusief eventuele duplicaten. Het ALL keyword wordt default gebruikt als er niets wordt opgegeven Aggregate functies. Aggregate functies. MIN(kolomnaam) MAX(kolomnaam) SUM(kolomnaam) AVG(kolomnaam) COUNT(kolomnaam) COUNT(*) geeft de laagste waarde in een bepaalde kolom geeft de hoogste waarde in een bepaalde kolom geeft de som van alle integer waarden in een bepaalde kolom geeft de gemiddelde waarde van een bepaalde kolom geeft het aantal rijen in een bepaalde kolom geeft het aantal rijen in een tabel Je kunt aggregate functies gebruiken om een bewerking met alle elementen van een bepaalde kolom uit te voeren. Door deze functies worden alle rijen van een bepaalde kolom samengenomen tot één resultaat. Het engelse to aggregrate betekent verenigen. r.-k. T.H. Rijswijk Computers en Datacommunicatie
17 17 Voorbeeld 18: SELECT AVG(Gewicht) FROM artikel; AVERAGE OF Gewicht Voorbeeld 19: SELECT AVG(Gewicht) FROM artikel WHERE Kleur = 'rood'; AVERAGE OF Gewicht Voorbeeld 20: SELECT COUNT(*) FROM bestelling; COUNT(*) De COUNT(*) aggregate functie is de enige aggregate functie waarbij je geen kolomnaam hoeft op te geven. Het bovenstaande voorbeeld bepaalt het aantal rijen (records) in de tabel bestelling. Voorbeeld 21: Bepaal het maximum aantal van een bepaalde bestelling uit de tabel bestelling. SELECT max(aantal) FROM bestelling; MAX OF Aantal GROUP BY clause. De GROUP BY clause syntax: SELECT lijst-van-kolomnamen FROM lijst-van-tabelnamen GROUP BY lijst-van-kolomnamen; Software Ontwikkeling & Programmeren 3 Harry Broeders
18 18 De GROUP BY clause kun je gebruiken om alle rijen waarvan de waarde in een bepaalde kolom (of meerdere kolommen) gelijk zijn te verzamelen in groepen. Als er nu een aggregrate functie wordt gebuikt dan wordt deze functie voor elke groep rijen appart uitgevoerd. Dit is het snelst uit te leggen met een voorbeeld. Voorbeeld 22: Bepaal voor elke leverancier het maximum aantal van alle bestellingen bij die leverancier. SELECT LevNr, max(aantal) FROM bestelling GROUP BY LevNr; LevNr Voorbeeld 23: MAX OF Aantal Geef voor elk artikel het minimale bestelde aantal en het maximale bestelde aantal van de bestellingen van dat artikel. SELECT ArtNr, min(aantal), max(aantal) FROM bestelling GROUP BY ArtNr; ArtNr MIN OF Aantal MAX OF Aantal HAVING clause. HAVING clause syntax: SELECT lijst-van-kolomnamen FROM lijst-van-tabelnamen GROUP BY lijst-van-kolomnamen HAVING selectiecriterium; De HAVING clause kun je gebruiken om een selectiecriterium op te geven waaraan de rijen in de groepen moeten voldoen. De HAVING clause kan alleen na een GROUP BY clause gebruikt worden. De HAVING clause kan het best worden uitgelegd met een voorbeeld. r.-k. T.H. Rijswijk Computers en Datacommunicatie
19 19 Voorbeeld 24: In dit voorbeeld maken we weer gebruik van de tabel bestelling. Als je per leverancier het gemiddelde aantal van alle bestellingen bij die bepaalde levencier wilt bepalen dan kan dat als volgt: SELECT LevNr, avg(aantal) FROM bestelling GROUP BY LevNr; Maar stel nu dat je dit gemiddelde aantal alleen wilt afdrukken als dit gemiddelde groter is dan of gelijk is aan 250: SELECT LevNr, avg(aantal) FROM bestelling GROUP BY LevNr HAVING avg(aantal) >= 250; LevNr AVERAGE OF Aantal ORDER BY clause. ORDER BY clause syntax: SELECT lijst-met-kolomnamen FROM lijst-met-tabelnamen ORDER BY lijst-met-kolomnamen [ASC DESC]; [ ] = optioneel De ORDER BY clause kun je gebruiken om de resultaat tabel te sorteren (in oplopende of in aflopende volgorde). De resultaat tabel wordt gesorteerd op de in de ORDER BY clause opgegeven kolommen. ASC DESC Oplopende volgorde - default Aflopende volgorde Voorbeeld 25: SELECT * FROM bestelling WHERE Aantal > 250 ORDER BY Aantal DESC; Software Ontwikkeling & Programmeren 3 Harry Broeders
20 20 LevNr ArtNr Aantal Voorbeeld 26: SELECT * FROM bestelling WHERE Aantal > 250 ORDER BY Aantal DESC, ArtNr; LevNr ArtNr Aantal Gegevens opvragen door meerdere tabellen te combineren. Tot nu toe hadden alle queries betrekking op de gegevens uit één enkele tabel. Het wordt echter pas leuk als we de gegevens uit verschillende tabellen gaan combineren. De mogelijkheid om gegevens uit verschillende tabellen met elkaar te combineren is een van de meest waardevolle eigenschappen van relationele databases en SQL. Je kunt de gegevens uit twee of meer tabellen met elkaar combineren door: een SELECT statement op de join van twee of meer tabellen uit te voeren. het resultaat van een SELECT statement te gebruiken in de WHERE clause van een ander SELECT statement. Dit wordt dan een geneste SELECT genoemd. We zullen deze methoden één voor één bespreken. Natuurlijk kun je deze twee methoden ook weer met elkaar combineren. De kracht van relationele databases zit in deze mogelijkheden om de gegevens uit verschillende tabellen met elkaar te combineren. Op deze manier kun je gebruik maken van de relaties tussen de verschillende tabellen Gegevens combineren door middel van join. Een SELECT statement waarbij de gegevens uit meerdere tabellen gecombineerd worden wordt een Join genoemd. r.-k. T.H. Rijswijk Computers en Datacommunicatie
21 21 Met behulp van een join kun je de informatie uit twee of meer tabellen combineren in één resultaat tabel door middel van een SELECT statement. Je maakt een join door meerdere tabelnamen achter het FROM keyword te vermelden: SELECT lijst-met-kolomnamen FROM lijst-met-tabelnamen WHERE selectiecriterium Voorbeeld 27: Geef alle details van alle bestellingen: SELECT leverancier.naam, leverancier.kwaliteit, leverancier.plaats, artikel.naam, artikel.kleur, artikel.gewicht, bestelling.aantal FROM bestelling, leverancier, artikel WHERE bestelling.levnr = leverancier.levnr AND bestelling.artnr = artikel.artnr; Naam Kwaliteit Plaats Naam_1 Kleur Gewicht Aantal Simon 20 Den Haag moer rood Simon 20 Den Haag bout groen Simon 20 Den Haag schroef blauw Simon 20 Den Haag schroef rood Simon 20 Den Haag veer blauw Simon 20 Den Haag as rood Janssen 10 Utrecht moer rood Janssen 10 Utrecht bout groen Bernard 30 Utrecht bout groen Janssen 20 Den Haag bout groen Janssen 20 Den Haag schroef rood Janssen 20 Den Haag veer blauw Deze join wordt ook wel Inner Join of Equijoin genoemd. De kolomnamen worden nu voorafgegaan door de tabelnaam en een punt. Dit is alleen maar noodzakelijk als een bepaalde kolomnaam in meerdere tabellen voorkomt. Voor de duidelijkheid is het echter aan te bevelen om bij alle kolomnamen de tabelnaam waarin deze kolom voorkomt te specificeren. Voorbeeld 28: SELECT Naam, SUM(Gewicht * Aantal) FROM bestelling, artikel WHERE artikel.artnr = bestelling.artnr GROUP BY Naam; Software Ontwikkeling & Programmeren 3 Harry Broeders
22 22 Naam SUM OF Gewicht * Aantal as 1900 bout moer 7200 schroef veer 6000 Ook is het mogelijk om gegevens te verkrijgen uit de combinatie van een relatie (table) met zichzelf. Er ontstaat nu een probleem: Hoe moet je dezelfde attributen uit dezelfde tabel onderling onderscheiden? Dit probleem is opgelost door het invoeren van een alias. Deze alias moet aan de tabelnaam in de tabel lijst van het SELECT statement worden toegevoegd (gescheiden van de tabelnaam met een spatie). Voorbeeld 29: Geef alle mogelijke combinaties van 2 artikelen met dezelfde kleur. Oplossing: SELECT x.naam, y.naam FROM artikel x, artikel y WHERE x.kleur = y.kleur AND x.artnr < y.artnr; De voorwaarde x.artnr < y.artnr is om twee redenen opgenomen: artikel combinaties van een artikel met zichzelf worden daardoor uitgesloten. artikel combinaties die simpel een verwisseling zijn van een andere combinatie worden niet meegenomen. Naam schroef moer moer schroef Naam_1 veer schroef as as 11.2 Gegevens combineren door middel van geneste selecties. Voor sommige vragen is het nodig om geneste selecties toe te passen. Dit kun je doen door in de voorwaarde van de WHERE clause van een SELECT statement een ander SELECT statement op te nemen. Dit kan op 3 manieren: Door middel van de IN of NOT IN operatoren. Door middel van de EXISTS of NOT EXISTS operator. Door middel van een vergelijkingsoperator (=, <>, <, >, <= of >=). Voorbeeld 30: Geef het ArtNr, de Naam en de Kleur van bestellingen waarvan het Aantal > 300 is. r.-k. T.H. Rijswijk Computers en Datacommunicatie
23 23 Oplossing: SELECT ArtNr, Naam, Kleur FROM artikel WHERE ArtNr IN ( SELECT ArtNr FROM bestelling WHERE Aantal > 300 ); ArtNr Naam Kleur 2 bout groen 3 schroef blauw 5 veer blauw Alternatieve oplossing: SELECT ArtNr, Naam, Kleur FROM artikel WHERE EXISTS ( SELECT * FROM bestelling WHERE artikel.artnr = ArtNr AND Aantal > 300 ); Voorbeeld 31: Geef de nummers en de namen van de leveranciers waarbij ten minste 1 bestelling loopt voor een rood artikel. Oplossing: SELECT LevNr, Naam FROM leverancier WHERE LevNr IN ( SELECT LevNr FROM bestelling WHERE ArtNr IN ( SELECT ArtNr FROM artikel WHERE Kleur = 'rood' ) ); LevNr Naam 1 Simon 2 Janssen 4 Janssen Software Ontwikkeling & Programmeren 3 Harry Broeders
24 24 Voorbeeld 32: Geef de nummers van de leveranciers die een kwaliteit hebben die hoger is dan de huidige gemiddelde kwaliteit van de leveranciers. Oplossing: SELECT LevNr FROM leverancier WHERE Kwaliteit > ( SELECT AVG(Kwaliteit) FROM leverancier ); LevNr 3 5 r.-k. T.H. Rijswijk Computers en Datacommunicatie
DBMS. DataBase Management System. Op dit moment gebruiken bijna alle DBMS'en het relationele model. Deze worden RDBMS'en genoemd.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Relationele databases
DBMS SQL. Relationele databases. Sleutels. DataBase Management System. Inleiding relationele databases. bestaan uit tabellen.
SQL Inleiding relationele databases DBMS DataBase Management System!hiërarchische databases.!netwerk databases.!relationele databases.!semantische databases.!object oriënted databases. Op dit moment gebruiken
SQL is opgebouwd rond een basisinstructie waaraan één of meerdere componenten worden toegevoegd.
BASISINSTRUCTIES SQL SQL : Structured Query Language is een taal gericht op het ondervragen van een relationele database en die aan veel klassieke databasemanagementsystemen kan worden gekoppeld. SQL is
12. Meer dan één tabel gebruiken en sub-queries
12. Meer dan één tabel gebruiken en sub-queries 12.1. Inleiding In de vorige hoofdstukken heb je telkens queries uitgevoerd op één tabel. In de praktijk is het raadplegen van gegevens over het algemeen
Toon TITEL, JAAR en PLATVORM van GAMES die voor het jaar 2000 uitkwamen op Nintendo 64
Klas Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters JONGENS Number Integer MEISJES Number Integer Lessen Veldnaam Datatype Lengte KLASNAAM Short Text 3 Characters DOCCODE Short Text 3 Characters
Databases - Inleiding
Databases Databases - Inleiding Een database is een verzameling van een aantal gegevens over een bepaald onderwerp: een ledenbestand van een vereniging, een forum, login gegevens. In een database worden
Introductie (relationele) databases
Eerste les Introductie (relationele) databases Database en DBMS Een verzameling van gestructureerd opgeslagen gegevens Dus ook een kaartenbak is een database Van oudsher waren er hiërarchische en netwerkdatabases
Structured Query Language (SQL)
Structured Query Language (SQL) Huub de Beer Eindhoven, 4 juni 2011 Database: in essentie 0 of meer tabellen elke tabel nul of meer kolommen (of velden) elke tabel nul of meer unieke rijen elke query werkt
Query SQL Boekje. Fredrik Hamer
Query SQL Boekje Query SQL Boekje Fredrik Hamer Schrijver: Fredrik Hamer Coverontwerp: Fredrik Hamer ISBN: 9789402162103 Fredrik Hamer Inhoudsopgave A. Aanhef bepalen 17 Aantal 18 Aantal dagen tussen
Data Manipulation Language
Data Manipulation Language (DML) In de vorige les hebben we een database structuur gemaakt van 4 tabellen. Hiervoor worden de volgende scripts gebruikt voor de verschillende tabellen: Tabel A ROBERT ELLIS
Les 2 Eenvoudige queries
Les 2 Eenvoudige queries XAMP Apache server ( http ) mysql server PHP myadmin IAM SQL oefeningen Database phpmyadmin Import : sql_producten.sql, sql_winkel.sql, sql_festival.sql SAMS SQL in 10 minuten
DATAMODEL SQL. Middelbare School. Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1
DATAMODEL SQL Middelbare School Versie 1.0 Datum 30 oktober 2010 Auteur Mark Nuyens, studentnummer: 500625333 Groep TDI 1 INHOUDSOPGAVE 1. Informatiedomein 3 1.1 Informatiedomein 3 1.2 Toepassingen 3 2.
Informatie & Databases
Informatie Wat is informatie en waaruit het bestaat? Stel op een kaart staat het getal 37 geschreven. Wat kun je dan zeggen van het cijfer 37? Niets bijzonders, toch? Alleen dat het een getal is. Gaat
11. Het selecteren van gegevens deel II
11. Het selecteren van gegevens deel II 11.1. Inleiding In hoofdstuk 7 heb je kennis gemaakt met het statement Select. In dit hoofdstuk ga je wat dieper in op het statement. Je gaat sorteren / groeperen
Databases en SQL Foundation (DBSQLF.NL)
Databases en SQL Foundation (DBSQLF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48
Databank - Basis 1. Inhoud. Computervaardigheden en Programmatie. Hoofdstuk 4 Databank - Basis. Terminologie. Navigeren door een Venster
4. 4. Inhoud rste BAC Toegepaste Biologische Wetenschappen Hoofdstuk 4 Databank Terminologie, Navigeren, Importeren Tabellen Records/Velden manipuleren Queries (Vragen) [Ook in SQL] sorteren filter volgens
Les S-02: Meer geavanceerde SQL-instructies
Les S-02: Meer geavanceerde SQL-instructies 2.0 Overzicht les 1: De basisvorm van een SQL query ziet er als volgt uit: (DISTINCT) selecteer de velden uit de tabel waar de volgende voorwaarde geldt ; Bij
Data Definition Language
Data Definition Language We gaan hier dezelfde database gebruiken als in de vorige les. Nu gaan we deze echter maken met behulp van DDL gedeelte van SQL. Om in het SQL deel van Microsoft Access te komen
SQL Aantekeningen 3. Maarten de Rijke [email protected]. 22 mei 2003
SQL Aantekeningen 3 Maarten de Rijke [email protected] 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets
[TOETS SQL INLEIDING]
2011 ROC ter AA afdeling T&T Team ICT Toets SQL Inleiding Duur: 100 minuten Hulpmiddelen: Alleen Pen en Papier Er is één voorblad en vijf opgaven pagina s. Normering: Deel I: 14 punten (7x2 Deel II: 10
Hoofdstuk: 1 Principes van databases
DBSQLF Databases en SQL Hoofdstuk: 1 Principes van databases aant Css: 4 732 blz 9 1.1 Doel ve database - om op het juiste moment op de juiste plaats de juiste gegevens beschikbaar te hebben richten we
SQL datadefinitietaal
SQL datadefinitietaal We kunnen er het schema van de database mee bepalen: metadata toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: CREATE : toevoegen van metagegevens DROP : verwijderen
SQL manipulatietaal. We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database.
SQL manipulatietaal We kunnen er data mee toevoegen, wijzigen en verwijderen uit een database. Basiscommando's: INSERT : toevoegen van gegevens DELETE : verwijderen van gegevens UPDATE : wijzigen van gegevens
SQL STATEMENTS. Deze kolom kan grote stukken tekst aan en is bedoeld om tekst erin de plaatsen. Geheel getal, bijvoorbeeld 8, 63, 835 NUMERIC
Aantekeningen IRDB Vak: IRDB > Infrma1ca Rela1nele DataBase Onderstaande database scripts zijn gebaseerd p PstgreSQL. Standaarden Schrijf SQL wrden al1jd in hfdlefers, k al werkt het met kleine lefers;
Het omzetten van een ER-diagram naar SQL
Het omzetten van een ER-diagram naar SQL Huub de Beer Eindhoven, 4 juni 2011 Omzetting ER-diagram naar SQL in twee stappen 1: ER-Diagram relationeel model Onderwerp van hoofdstuk 3 Entiteittype relatie,
= > >= < <= BETWEEN IS NULL IS NOT NULL
Select queries SELECT...FROM... SELECT DISINCT...FROM... WHERE...AND...OR...NOT...LIKE...IN = > >= <
Les 11 : Basis SQL (deel2).
Les 11 : Basis SQL (deel2). Wat is SQL? SQL gaan we gebruiken voor het raadplegen van de database. We gaan gegevens invoegen in de database, selecteren, aanpassen en verwijderen van de database. Om dit
1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model...
1. Inleiding... 2 1.1. Inleiding SQL... 3 1.1.1. Inleiding... 3 1.1.2. Database, databaseserver en databasetaal... 4 1.1.3. Het relationele model... 4 1.1.4. Wat is SQL?... 6 1.1.5. Verschillende categorieên
Inhoud. Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank
v Voorwoord Belangrijkste kenmerken van dit boek De opzet van dit boek Over de auteur Woord van dank 1 Introductie: data en informatie 1.0 Wat leer je in dit hoofdstuk? 1.1 Verschil tussen gegevens en
Relationele databases
Systematisch bouwen van informatiesystemen t.b.v. practicumopdracht : Relationele databases Structured Query Language SQL Relationele databases Geautomatiseerde informatiesystemen gebruiken bijna altijd
Miniles gegevensbanken bevragen met SQL
Miniles gegevensbanken bevragen met SQL In deze miniles gaat het over gegevensbanken of databases. Dit zijn bestanden waarin gegevens kunnen worden opgeslagen. Het is dan van belang dat je op een eenvoudige
Structured Query Language
Structured Query Language SQL = internationale standaardtaal. Origineel IBM. SQL92 (SQL2), SQL99 (SQL3), SQL:2003, SQL:2007 en SQL:2008. Vele dialecten. In wat volgt beperken we ons tot wat tot de kern
Les S-01: De basisbeginselen van SQL
Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database
SQL.
SQL [email protected] Mogelijkheden Tabellen maken: create table Tabellen verwijderen: drop table Tabellen vullen: insert into Tabellen wijzigen: update, delete from Gegevens opvragen: select
EXIN Databases en SQL Foundation
EXIN Databases en SQL Foundation Preparation Guide Editie 201608 Copyright 2016 EXIN All rights reserved. No part of this publication may be published, reproduced, copied or stored in a data processing
SQL / Systeemanalyse
SQL / Systeemanalyse Wie ben ik Hans de Wit 44 jaar HBO BI in deeltijd gedaan Sinds 2008 werkzaam met BI / DWH med.hro.nl/wihan SQL De gegevens in een database vormen de grondstof voor informatie De informatie
hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit relationele databases 9.1
relationele databases 9.1 hoofdstuk 9 referentiële integriteit waarborgen overige constraints 9.1 Referentiële integriteit Als voorbeeld nemen we een eenvoudige database, bestaande uit twee tabellen. De
SQL & Relationele datamodellen in interactieve media
SQL & Relationele datamodellen in interactieve media HVA-CMD-V1-datamodelleren oefeningen deel 1: SQL 2012-2013 Inhoud Inhoud... 2 Selecties uit een enkelvoudige datatabel... 3 Selecties uit een meerdere
Sparse columns in SQL server 2008
Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : [email protected] www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG
Computervaardigheden. Universiteit Antwerpen. Computervaardigheden en Programmatie. Grafieken en Rapporten 1. Inhoud. Anatomie van een databank
Inhoud Computervaardigheden Hoofdstuk 5 Databanken (Let op: dit is enkel voor studenten Bio-Ingenieur.) Terminologie Data importeren Basis queries Allerhande Joins Doe dit. Aandachtspunt! Wat gebeurt hier?
7. Het selecteren van gegevens
7. Het selecteren van gegevens 7.1. Inleiding Het doel van databases is het ontsluiten van gegevens. Een database wordt gebruikt om gegevens in op te slaan en te lezen. In dit hoofdstuk ga je door gebruik
6. Het maken van een database
6. Het maken van een database 6.1. Inleiding In hoofdstuk 5 heb je de oefendatabase gemaakt doormiddel van een script. In dit hoofdstuk ga je zelf een database maken en deze vullen met tabellen. Hiervoor
9 H. Flits Zwanenveld 89-90 Nijmegen Jeugd1 10 L. Willemsen Kasteel 4 Wychen Jeugd1 12 M.E.P. Graag Broerdijk 234 Nijmegen Heren 12/8/89 19/8/89 36
0 Inleiding SQL: Structured Query Language 0. Informatiesystemen, gegevensbanken en tabellen Bij het automatiseren van gegevensbanken maakt men tegenwoordig bijna altijd gebruik van gegevensbank-beheerssystemen
Inhoud. Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2
v Voorwoord 1 Belangrijkste kenmerken van dit boek 1 De opzet van dit boek 1 Over de auteurs 2 Woord van dank 2 1 Introductie: data en informatie 3 1.0 Wat leer je in dit hoofdstuk? 3 1.1 Verschil tussen
Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010
4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access
8. De invoer van gegevens
8. De invoer van gegevens 8.1. Inleiding Voor het invoeren van gegevens kan het DML-statement INSERT INTO worden gebruikt. Om dit statement correct te kunnen gebruiken, moet je wel antwoord weten op de
Koppeling met een database
PHP en MySQL Koppeling met een database 11.1 Inleiding In PHP is het eenvoudig om een koppeling te maken met een database. Een database kan diverse gegevens bewaren die met PHP aangeroepen en/of bewerkt
1. * Database worden vaak gebruikt in Client-Server architectuur.
Naam Studentnummer Klas Herkansing [ ] ja, nee [ ], zoja uit welk jaar? kernbegrippen relationele database Minimaal drie van de vijf vragen goed beantwoorden. 1. * Database worden vaak gebruikt in Client-Server
Datamodelleren en databases 2011
Datamodelleren en databases 21 Capita selecta 1 In dit college Modelleren Normaliseren Functionele afhankelijkheid 1-3N M:N-relaties, associatieve entiteittypes, ternaire relaties Weak entiteittypes Multivalued
Informatie verwerking en databases... 4. RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE...
Databases+SQL 1 Inhoud Informatie verwerking en databases... 4 RDBMS en tabellen... 8 SQL SELECT... 8 SQL WHERE... 10 SQL INSERT... 14 SQL UPDATE... 17 SQL DELETE... 18 SQL ORDER BY... 19 SQL Aggregate
databases & SQL - antwoorden
informatica databases & SQL - antwoorden Op dit lesmateriaal is een Creative Commons licentie van toepassing. 2010 Remie Woudt [email protected] 2013 François Vonk (XAMP vervangen door USBWebserver
Databases SQL - meerdere tabellen
Databases SQL - meerdere tabellen Nut van een database Dilbert 1 Reservering Lezer Uitgave Filiaal Basis zaken Uitlening Exemplaar NB: er kan verschil in smaak zitten tussen M1a en S1a notatie Join : het
SQL & Datamodelleren
SQL & Datamodelleren HVA-CMD-V1-datamodelleren Algemene handleiding bij het lesprogramma 2012-2013 Inhoud Inhoud... 2 Inleiding... 3 Leerdoelen:... 3 Plaats in het leerplan:... 3 Werkwijze:... 3 Lesstof:...
Gebruikers Handleiding
Gebruikers Handleiding (De SQL module) Versie 2.14 Pagina 2 van 14 Versie 2.14 Inhoudsopgave NGP SQL...5 Het Menu... 6 De instellingen... 7 De database informatie... 9 Het Script... 10 Pagina 3 van 14
SQL: query taal met. woorden. ISO SQL: Structured Query Language. de SQL basis query structuur. voorbeeld: doel: intuitieve query taal
SQL: query taal met woorden ISO SQL: Structured Query Language Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. doel: intuitieve query taal gebruikt Engelse woorden: select, from,
Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens
Info-books HA40c Toegepaste Informatica Handleiding Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils Erik Goossens Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden.
Van CaseTalk naar een database in SQLite studio
Van CaseTalk naar een database in SQLite studio Dit document legt uit hoe je een SQL export uit CaseTalk kunt importeren in het DBMS (Database Management System) SQLite Studio. SQLIte studio is handig
Relationele database. Het relationele model
Module SQL Relationele database. Een database, gegevensbank of databank is een verzameling van gegevens, ingericht met oog op makkelijke raadpleging en gebruik. Databases spelen een belangrijke rol in
Les S-01: De basisbeginselen van SQL
Les S-01: De basisbeginselen van SQL 1.0 Relationele databases en SQL Een database is een bestand waarin gegevens worden opgeslagen in de vorm van tabellen. Zo kan een huisarts met behulp van een database
ISO SQL: Structured Query Language
ISO SQL: Structured Query Language Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. SQL: query taal met woorden doel: intuitieve query taal gebruikt Engelse woorden: select, from,
Databanken - les 2.
Databanken - les 2 [email protected] http://www.cs.kuleuven.be/~joost/dn/ Samenvattend Probleemstelling ER-Diagramma Databank definitie Gegevens invoeren Gegevens opvragen Huiswerk! Practicum
voorbeeldexamen I-Tracks Databases and SQL Foundation Voorbeeldexamen DBSQLF Uitgave juni 2006
voorbeeldexamen Databases and SQL Foundation (DBSQLF) I-Tracks Databases and SQL Foundation Voorbeeldexamen DBSQLF Uitgave juni 2006 inhoud 3 inleiding 4 voorbeeldexamen 21 antwoordindicatie 44 beoordeling
SQL opgaven. Relationele model: Opgaven:
SQL opgaven Relationele model: Opgaven: 1. Selecteer de klanten die bij fabriek F1 of fabriek F4 een bestelling hebben geplaatst. 2. Selecteer de klanten die bij fabriek F1 en fabriek F4 een bestelling
Inhoudsopgave. Theorie... 14 Praktijk... 14. Gegevens uit Database halen... 13 DML commando s... 14
SQL 2013 Inhoudsopgave Inhoudsopgave... 2 SQL begrippen... 3 Maken Database... 4 Rechten voor een Database... 4 User aanmaken... 5 Rol Toekennen aan een user... 5 Backup... 6 Theorie... 6 In SQL... 6 SQL
Databanken - les 2.
Databanken - les 2 [email protected] http://www.cs.kuleuven.be/~joost/dn/ Bv. tennisclub Onze tennisclub heeft een aantal spelers, die allemaal een uniek spelersnummer hebben. Soms krijgt een
Van een ER-diagram naar een database specificatie in SQL
Van een ER-diagram naar een database specificatie in SQL Huub de Beer Eindhoven, 4 juni 2011 Inhoudsopgave 1 Inleiding 1 2 Van een ER-diagram naar het relationele model 1 3 Van relationeel model naar SQL
Inhoud Basiscursus. Access 2010 NL-NL
Inhoud Basiscursus Access 2010 NL-NL 1 - Access starten... 6 Een bestaande database openen... 8 Menu-opdrachten gebruiken... 9 Werkbalken tonen en verbergen... 11 Menu- en werkbalkopties aanpassen... 12
SQL en XML. XML schema s & DMO. Entiteitsklasse en attribuut. SQL en XML. Datamodellering Schema een ruim begrip (zie Møller, p.
SQL en XML Datamodellering 2007 1 XML schema s & DMO Schema een ruim begrip (zie Møller, p. 96) DTD schema W3C Schema In dit overzicht: Wat zijn de belangrijke zaken uit XML voor datamodellering? (onvolledig)
Na bestudering van dit hoofdstuk, moet je tot het volgende in staat zijn:
5. De oefendatabase 5.1. Inleiding In de volgende hoofdstukken ga je oefenen / werken met SQL. Om te kunnen oefenen heb je natuurlijk wel een database nodig. In dit hoofdstuk wordt besproken hoe je deze
COMPUTERWOORDEN.NL SQL - basis
Inhoudsopgave... 1 Introductie: SQL... 7 SQL... 7 SQL geschiedenis...7 SQL dialecten...7 Basis SQL-commando's...8 CREATE TABLE... 8... 8... 8 Datatype...8 Grootte...10 Veldtype... 10 DELETE FROM... 10...
Digitaal Staatsexamen VWO 2010
Onderdeel I - Meerkeuzevragen Kies het juiste alternatief. Digitaal Staatsexamen VWO 2010 1) Wat is de decimale waarde van het binaire getal 101110? A. 4 B. 23 C. 46 D. 92 2) Bekijk bovenstaand model voor
SQL. Datamodellering 2008
SQL Datamodellering 2008 1 Wat is SQL? SQL is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen SQL is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers
SQL. Wat is SQL? Geschiedenis SQL SQL DMO 2008 1. Datamodellering 2008
SQL Datamodellering 2008 1 Wat is SQL? is een standaard interactieve bevragings- en definitietaal voor relationele DBMSen is een set-based, declaratieve query-taal (dus niet procedureel!) DB-leveranciers
ISO Query By Example
ISO Query By Example Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. QBE waarom nog een query taal? de relationele algebra en SQL geven niet alleen een specificatie van een query-resultaat,
ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot
ExpertHandboek Business Intelligence met Power BI in Excel Wim de Groot Van Duuren Media, ISBN 9789463560665 Inhoud Voorwoord 1. Goed beginnen Voor wie is dit boek bedoeld? Werken met dit boek Afspraken
4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen.
4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access
Variabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Database Structuur via menus
Data Dictionary Database Structuur via menus Na het normaliseren en maken van een data dictionary kunnen de tabellen worden ingevoerd in de database. In deze les wordt getoond hoe dit in Access gebeurt.
Zelftest SQL Workshop
Zelftest SQL Workshop Document: n0087test.fm 04/01/2018 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST SQL WORKSHOP Handleiding Deze test
Databases gebruiken. Databases gebruiken
Databases gebruiken In deze module wordt van de kandidaat verwacht dat hij een goed begrip heeft van databases en aantoont competent te zijn in het gebruik van een database. Doel van de module De kandidaat:
PHP en een MySQL database.
mysql_php.doc 1/5 PHP en een MySQL database. Om informatie uit een MySQL database op te halen moet je de volgende stappen uitvoeren: 1. een verbinding maken met mysql; 2. een mysql database selecteren;
1 Download de database 'bieren.mdb' en bewaar het bestand in c:\werkmap van je computer.
DataBase Management & Databasetechnologie We gaan nu aan de slag met het databasemanagementprogramma Access. Zo'n set programma's waarmee je databases kunt maken, beheren en bevragen noemt men ook wel
Entiteit Zaken en gebeurtenissen waarvan gegevens moeten worden vastgelegd worden een entiteit genoemd: b.v. mens, voorstelling, auto.
Relationele databases SqlServer en Oracle zijn relationele client server databases. De verwerking van de opdrachten vindt plaats op de server. Access is een relationele pc database. De verwerking van de
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts
Elfde-Liniestraat 24 3500 Hasselt Schooljaar 2009-2010 TINFO POKER GAME Oracle Scripts Studenten: Peter Asnong Rik Broens Tom De Keyser Daan Gielen Kris Gregoire Koen Olaerts Toon Wouters Inhoudsopgave
oefeningen TOP2000 antwoorden
oefeningen TOP2000 antwoorden vragen niveau 1 Niveau 1 beslaat de volgende onderwerpen: SELECT, FROM, WHERE, DISTINCT, ORDER BY, LIKE, BETWEEN, IN, wildcards, eenvoudige vergelijkingen, eenvoudige logische
Puzzelen met SQL 38. De Muzieklijst, deel 2 PUZZELEN MET SQL
2 3 4 10 2 14 15 18 21 PUZZELEN MET SQL 3 26 27 1 32 33 33 36 Puzzelen met SQL 38 0 41 5 46 47 De Muzieklijst, deel 2 intro In het vorige nummer is een start gemaakt met het bijhouden van een muzieklijst,
Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.
een symbolische naam voor een object. Variabelen Constanten Variabelen Expressies naam : geeft de plaats in het geheugen aan waarde : de inhoud van het object identifier : een rij van letters en/of cijfers
Zorg ervoor dat je een database hebt aangevraagd op http://stap.iam.hva.nl Open daarna het volgende adres in je browser:
WERKGROEP 1 OEFENINGEN Zorg ervoor dat je een database hebt aangevraagd op http://stap.iam.hva.nl Open daarna het volgende adres in je browser: http://stap.iam.hva.nl/phpmyadmin Log in met de gegevens
Leerjaar 1/2 ICT-Academie. Niveau 4. Applicatie ontwikkeling
Databases SQL Leerjaar 1/2 ICT-Academie Niveau 4 Applicatie ontwikkeling Auteur: R. Meijerink Datum: Januari 2013 0. Inleiding Databases / SQL In deze lessen wordt je geleerd databases te bouwen in SQL-code.
Zelftest DB2 for z/os basiscursus
Zelftest DB2 for z/os basiscursus Document: n1067test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST DB2 FOR Z/OS BASISCURSUS
PROGRAMMA 2011-2012. Vak: informatica..
Vak: informatica.. Laag: Havo-. PROGRAMMA 2011-2012 week leerstof dagen toets overig 34-26.08 zomervakantie Bespreking PTA-404 Deze week: uitreiking van de Praktische Opdracht Programmeren Herhaling theorie
Zelftest SQL. Document: n0453test.fm 19/04/2012. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium
Zelftest SQL Document: n0453test.fm 19/04/2012 ABIS Training & Consulting P.. Box 220 B-3000 Leuven Belgium TRAINING & CNSULTING INLEIDING BIJ DE ZELFTEST SQL Korte handleiding Deze test heeft als bedoeling
Data Manipulatie. Query Talen. / Informatica
Data Manipulatie Query Talen 1 Queries maken in TC en SQL (ter verduidelijking) We kijken nog even naar bier-query q: Geef alle paren van drinkers die niet samen naar een kroeg kunnen gaan en daar allebei
Informatica toets vwo 6 Databases
Informatica toets vwo 6 Databases Deze toets bestaat uit drie gedeelten met elk een andere casus: 1. een opdracht waarin je een ER-diagram via het relationeel model omzet in een database specificatie in
Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site
Kies File>New>Blank Page>PHP Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site Geef de site een passende naam. Kies ook de juiste map voor de webdocumenten.
INSTRUCT Samenvatting Praktijk Access 2010, H2 SAMENVATTING HOOFDSTUK 2
SAMENVATTING HOOFDSTUK 2 Sorteren en filteren in een tabel Sorteren kun je met de knoppen (Oplopend) en (Aflopend). Hiermee zet je records in alfabetische of numerieke volgorde. Er wordt gesorteerd op
