Ladda ner presentationen
Presentation laddar. Vänta.
Publicerades avKristina Karlsson
1
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net Databasteknik 2
2
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 T-SQL eller Transact SQL är en utökning av SQL språket. T-SQL kan förutom att skriva SELECT,UPDATE,DELETE och INSERT frågor användas för att skapa funktionallitet för systemutvecklare och Generera djupgående statistik över databassystemet.
3
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 SELECT Kombinera flera sökbegrepp. Med hjälp av orden AND och OR kan flera villkor ställas i SELECT frågans WHERE Uttryck. Ex: SELECT FirstName,LastName FROM Person.Contact WHERE Title='Mr.' AND LastName='Brown'
4
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Tabell och Kolumnalias. I många fall är tabellnamn och kolumnamn ganska långa vilket resulterar I långa SQL frågor och större risk för fel Ex: SELECT FirstName,LastName FROM Person.Contact WHERE Title='Mr.' AND LastName='Brown'
5
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 SELECT Kombinera flera tabeller i en fråga Hela grejen med relationsdatabaser är att olika data delas upp i tabeller som sedan relaterar till varandra via primär och främmande nyckel. Vid en SELECT fråga är det ofta nödvändigt att hämta rader från flera tabeller Som sedan måste slås samman för att bilda en ny rad i resultatet. Sammanslagningen kallas JOIN och kan göras med olika JOIN uttryck i FROM uttrycket eller som villkor i WHERE uttrycket.
6
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Ex: WHERE SELECT c.FirstName,c.LastName,e.Title FROM Person.Contact AS c,HumanResources.Employee AS e WHERE c.ContactID=e.ContactID JOIN SELECT c.FirstName,c.LastName,e.Title FROM Person.Contact AS c JOIN HumanResources.Employee AS e ON e.ContactID=c.ContactID
7
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Ex: GROUP BY Inte sällan vill man utföra beräkningar på de värden som är resultatet av en fråga. Tex Hur många finns med samma namn i Contact tabellen i AdventureWorks Grundfrågan i AdventureWorks databasen. Resultatet ger alla förnamn i bokstavsordning men ger inte svar på hur många av varje namn det finns. SELECT p.FirstName FROM Person.Contact as p ORDER BY p.FirstName
8
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Ex: GROUP BY För att slå samman lika poster till en enda post används Group By följt av de kolumner Som finns i Select uttrycket. Nu finns bara varje unikt namn i resultatet SELECT p.FirstName FROM Person.Contact as p GROUP BY p.FirstName ORDER BY p.FirstName
9
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Ex: Grupperingsfunktioner I sammband med att lika poster slås samman kan ett antal grupperingsfunktioner Utföras. Te.x Beräkna meddel värden, beräkna antalet sammanslagningar i varje post Max resp min värden. Ex SELECT p.FirstName, COUNT(p.FirstName) as Antal FROM Person.Contact as p GROUP BY p.FirstName ORDER BY p.FirstName
10
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Ex: Grupperingsfunktioner Grupperingsfunktioner kan användas i SELECT, ORDER BY och HAVING* uttryck EX SELECT p.FirstName, COUNT(p.FirstName) as Antal FROM Person.Contact as p GROUP BY p.FirstName ORDER BY COUNT(p.FirstName) DESC, p.FirstName ASC * Har vi inte talat om ännu
11
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 StoredProcedures Varje fråga som körs i ett databassystem måste först kompileras innan körning vilket tar tid. För att öka prestandan i de frågor som körs ofta kan dessa frågor förkompileras till sk. Stored procedures. StoredProcedures (sp) kan sedan anropas istället för att skicka en SQL fråga till Databasen. En SP skapas med hjälp av T-SQL och ett Create uttryck.
12
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 StoredProcedures Ex USE databasnamn //För säkerhets skull. koppla upp till rätt databas Create Procedure Schema.Namn AS sqlkod ex SELECT GO Den allra enklaste sp’n tar inga parametrar utan ställer en fast SELECT fråga. Ex hämta alla i Contact Databasen.
13
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 StoredProcedures med parametrar En SP kan ta emot parametrar som kan användas vid alla typer av frågor. en parameter måste deklareras i sp’n med samma datayp som den entitet den skall matchas mot i sp’ns sql Ex Create Procedure Schema.Namn @Parameter1 nvarchar(50) AS SELECT * FROM Production.Product WHERE Name=@Parameter1 GO
14
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Views Views är en annan komponent som förenklar utvecklings arbetet. En view bygger på en selectfråga och fungerar som en virtuell tabell i databasen. En eller flera tabeller kan kombineras i en View med hjälp ett Select uttryck. Almmänt om Views: Skapa virtuella ”tabeller” med data som inte är åtkomst intensiv. En procedure är betydligt mer prestandaeffektiv. Skapa inte views som i sin tur bygger på views. Detta ger dålig prestanda Views fungerar ofta mycket bra till rapportunderlag och andra ej dataintensiva applikationer
15
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Skapa en view Att skapa en View är en enkel historia. CREATE VIEW schema.ViewNamn AS SELECT …….
16
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Skapa en view Data i en View kan skyddas med kryptering. Det är själva Viewuttrycket som krypteras och inte den data som genereras som skyddas. Det går alltså inte att modifiera en krypterad view i efterhand CREATE VIEW schema.ViewNamn WITH Encryption AS SELECT …….
17
Andreas Carlsson Barvefjord och Carlsson Datakraft AB Svarkråkev. 48 33142 Värnamo Tel: 0370-18100 Epost: andreas@biggweb.net T-SQL Databasteknik2 Skapa en view För att öka prestanda i en View kan den indexeras med ett eller flera index. Då lagras index data på disk istället för att enbart genereras från en Selectfråga. För att kunna skapa index på en View krävs att View’n binds till sitt schema vid skapandet. CREATE VIEW schema.ViewNamn WITH SCHEMABINDING AS SELECT………
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.