SQL Les 10 16 February 2019
Agenda Herhaling Afwerken Oefeningen Korte inleiding tot: Oefeningen Views User Defined Functions Stored Procedures Triggers Oefeningen 16 February 2019
Herhaling DML SELECT - statement SINGLE ROW FUNCTIONS JOIN OUTER JOIN INNER JOIN SELF JOIN GROUP FUNCTIONS SUBQUERIES 16 February 2019
Herhaling DDL CREATE ALTER DROP TABLE 16 February 2019
Herhaling DML TRANSACTIONS INSERT UPDATE DELETE BEGIN TRAN COMMIT ROLLBACK 16 February 2019
Oefeningen afwerken p. 213 – 214 Beginners Guide to SQL Server 2008 16 February 2019
View Er zijn 2 soorten “tabellen”: Bevat geen data! = venster Fysieke tabellen VIEWS = Logische tabellen gebaseerd op een andere tabel of een andere view. (Derived tables) Bevat geen data! = venster In de databank opgeslaan als een SELECT-statement
View (2) Wanneer te gebruiken? Beperken van de toegang tot een databank Gebruikers toelaten eenvoudige selecties uit te voeren op resulaten bekomen uit ingewikkelde selecties Ophalen van gegevens uit meerdere tabellen Veel gebruikte queries opslaan
View (3) Een view mag geen order by bevatten Opvragen van gegevens gebeurt op dezelfde wijze als voor een tabel ALTER VIEW : wijzigen van een view DROP VIEW : verwijderen van een view 16 februari 2019
View (4) Demo views via de wizard 16 February 2019
Declareren van variabelen Hergebruik van waarden Reserveren van geheugen Naam Datatype DECLARE @variable DATATYPE Geheugen reserveren SET @variable = DesiredValue Waarde toekennen
Programming in SQL A block of statements BEGIN statement1 statement2 … statementn END 16 February 2019
Programming in SQL IF statement WHILE statement IF condition THEN action ELSE action WHILE statement WHILE condition action 16 February 2019
Oefeningen p. 242 Beginners Guide to SQL Server 2008 16 February 2019
User-Defined Function (UDF) Indien eenzelfde bereking vaak uitgevoerd dient te worden
UDF (2) Voorbeeld som van 2 getallen
Oefening op UDF Schrijf een functie die 3 getallen vermenigvuldigt. Schrijf een functie die twee woorden met maximum lengte 30 concateneert en een spatie plaats tussen de strings. Test beide functies uit op 1 van de tabellen uit de tennis club database. Schrijf een functie die de landen België, Nederland, China, Japan, Mexico, Brazilië of Congo als input heeft en het werelddeel als output geeft.
UDF (4) Verwijderen van UDF met DROP Function
Stored Procedure Een taak in een database die naar behoeven kan worden uitgevoerd.
Stored Procedure (3) Uitvoeren van een Stored Procedure via:
Trigger Een opzichzelf bestaande routine afhankelijk van een bepaalde tabel of view Trigger zorgt voor het uitvoeren van een actie indien er een DML-statement wordt uitgevoerd op de tabel of view 3 delen: Trigger event Trigger condition Trigger action
Trigger (2) Nadelen van triggers Triggers zijn onzichtbaar voor client application Het is niet altijd makkelijk de logica te volgen (before/after) Triggers kunnen al eens vergeten worden. Zeker als er geen documentatie over bestaat Triggers lopen steeds als een DML commando op een tabel wordt uitgevoerd. Dit kan gevolgen hebben voor de performance 16 februari 2019
Voorbeeld trigger Veronderstel: We hebben een tabel emp We hebben een tabel emp_audit, waarin we de operaties op emp willen bijhouden
Voorbeeld trigger (2)
Oefeningen Muziekdatabase 16 februari 2019