Posts

MS Sql 70-461: Chapter 13

Les 1 Stored procedures(sp's) zijn routines die zijn opgeslagen in de database en bevatten code. Sql Server kent verschillende soorten sp's: T-Sql stored procedures, geschreven in T-Sql CLR stored procedures, opgeslagen als Microsoft .NET assemblies in de database Extended stored procedures, welke externe dll's aanroepen. Understanding stored procedures Een SP bestaat uit een enkele batch met T-Sql code. Features van een SP zijn: Ze kunnen worden aangeroepen door het EXEC command Parameters kunnen meegegeven worden als input parameters, maar SP's ondersteunen ook OUTPUT parameters Ze kunnen een result terug als resultaat teruggeven Ze kunnen data in tabellen aanpassen Ze kunnen tabellen en indexen aanmaken, wijzigen en verwijderen Voordelen van een SP: Herbruikbaarheid. Een SP kan vanaf verschillende plekken worden aangeroepen met parameters. Ze kunnen de DB veiliger maken. Er kunnen rechten op SPs worden uitgedeeld De gebruikers hoeft de o...

MS Sql 70-461: Chapter 12

Afbeelding
Les 1 Understanding transactions Alle wijzigingen op een DB vinden in Sql Server vinden plaats binnen een transactie. Dit betekent dat alle wijzigingen worden doorgevoerd, of geen. Op deze manier zorgt de Relational Database Management System (RDMS) er voor dat de integriteit van de data gewaarborgd blijft. Alle operaties die in welke manier dan ook schrijven in de DB worden door Sql Server als een transactie beschouwd. Dit bevat: - Alle Data Manipulation Language (DML) statements, zoals INSERT, UPDATE en DELETE - Alle Data Definition Language (DDL) statements, zoals CREATE TABLE en CREATE INDEX Als een transaction is goedgekeurd door de user, dan voert Sql Server een commit uit op de transactie. Als er fouten optreden, dan treeft er een rollback op. ACID properties of transactions In relationele database wordt de ACID acroniem gebruikt om de eigenschappen van transacties te beschrijven. ACID staat voor: - Atomicity: Elke transactieis een atomische unit of work. ...

MS Sql 70-461: Chapter 11

Les 1 De IDENTITY column property en het sequence object zijn beide manieren om automatisch een nummer te laten genereren. De IDENTITY property bestaat al lang, terwijl  het sequence objectin Sql Server 2012 is geïntroduceerd, Using the IDENTITY column property IDENTITY is een eigenschap van een kolom. De eigenschap voorziet de kolom automatisch van een waarde als een rij wordt aangemaakt. Voor een IDENTITY kan een increment en een seed worden opgegeven. Increment: Hoeveel moet de vorige waarde van IDENTITY worden verhoogd. Seed: de beginwaarde van de IDENTITY kolom. T-Sql biedt drie maniere om de laatste identity waarde op te halen: - De SCOPE_IDENTITY functie geeft de laatst gegenereerde identity waarde terug van de sessie in de huidige scope - De @@IDENTITY functie geeft de laatst gegenereerde identity waarde terug, ongeacht de scope - De IDENT_CURRENT functie heeft een tabel als input en geeft de laatst gegenereerde identity waarde van deze tabel. Het verschi...

MS Sql 70-461: Chapter 10

Les 1 INSERT VALUES Met het volgende stament kan een rij worden aangemaakt in de MyOrders tabel INSERT INTO Sales.MyOrders(custid, empid, orderdate, shipcountry, freight) VALUES(2, 19, '20120620', N'USA', 30.00); Het opgeven van de kolomnamen na de tabel is optioneel, maar wel een best practice. De naam van het identity veld (id) is niet opgegeven omdat deze automatisch wordt gevuld door Sql. Als toch een id moet worden opgegeven, dan moet gebruik gemaakt worden van de IDENTITY_INSERT optie: SET IDENTITY_INSERT ON; Na de INSERT moet de identity weer worden uitgezet: SET IDENTITY_INSERT OFF; Om deze optie te gebruiken moet de gebruiker eigenaar van de tabel zijn of ALTER permissies hebben op de tabel. Als bij het toevoegen van een rij geen waarde wordt opgegeven voor een kolom, dan wordt gebruik gemaakt van de DEFAULT constraint, indien aanwezig. Een andere manier is door gebruik te maken van de DEFAULT keyword: INSERT INTO Sales...

MS Sql 70-461: Chapter 9

Les 1 Met views en  inline functions kan content worden gepresenteerd van één of meerdere base tables en kan hiervan de onderliggende complexe logica (zoals bijv joins) worden verborgen.  In Sql Server kunnen views gebruikt worden om queries op te slaan en zodoende te herbruiken. Views gedragen zich bijna hetzelfde als tabellen. Het is ook mogelijk om insert, update en delete statements te gebruiken, maar wel met restricties. Elke view is gedefinieerd door een SELECT statement, welke weer kan refereren naar meerdere base tables en andere views. Views Onderstaand een voorbeeld hoe een view gemaakt kan worden: CREATE VIEW Sales.OrderTotalsByYear  WITH SCHEMABINDING AS SELECT  YEAR(o.orderdate) AS orderyear,  SUM(od.qty) AS qty FROM Sales.Orders AS o  JOIN Sales.OrderDetails AS od  ON od.orderid = o.orderid GROUP BY YEAR(orderdate); GO Opmerking over views: - Het is een best practice om de naam van het schema t...

MS Sql 70-461: Chapter 8

Les 1 In system tables slaat Sql Server zijn systeem data op.  Tabellen die data bevatten worden vaak ook wel base tables genoemd. Dit om onderscheid aan te brengen met andere objecten of expressies die afgeleiden zijn van een tabel, zoals views of queries. Variaties van tabellen zijn: - Temporary tables: base tables die enkel bestaan in tempdb tijdens de huidige sessie - Table variables: variabelen die data opslaan voor de duur van een batch - Views: samengesteld op basis van een query. Een view is geen base table. - Indexed views: Opgeslagen data die gedefinieerd is als een view en bijgewerkt worden alsde base tables worden bijgewerkt - Derived tables en table expressions: subqueries waarnaar wordt gerefereerd binnen queries. Een tabel maken Er zijn twee manieren om een tabel aan te maken: CREATE TABLE statement en het INSERT INTO statement.  Bij CREATE TABLE: moet je:    - de naam van de tabel opgeven en    - de kolommen specific...