Skip to main content

Transact-SQL: Introduksjon og oversikt

Transact-SQL: Introduksjon og oversikt

Geoffrey Carr

T-SQL eller Transact-SQL er en proprietær utvidelse til SQL (sekvensiell spørrespråk). De utvidede funksjonene inkluderer: Forbedret ytelse, økt funksjonalitet og forbedret globaliseringsstøtte.

Transact-SQL er Microsoft SQL Server implementering av språket. Det er i stor grad SQL-92-kompatibelt, så hvis du er kjent med en annen leverandørs smak av SQL, vil du sannsynligvis føle deg hjemme med Transact-SQL. Transact-SQL bruker lagrede prosedyrer for å hente data eller for å utføre en forespørsel på en database.

Lagrede prosedyrer i Transact-SQL

Lagrede prosedyrer er kjørbare server-siderutiner. De gir deg stor kraft og ytelsesfordeler hvis de brukes klokt. I motsetning til brukerdefinerte funksjoner (UDFer), kan lagrede prosedyrer ha bivirkninger. Årsaken til dette er at du ikke kan ha transaksjon innenfor funksjon, mens de i en prosedyre har lov til å endre data i tabeller og endrer endog objektdefinisjoner. Lagrede prosedyrer kan brukes som et sikkerhetslag. Du kan kontrollere tilgangen til objekter ved å gi utførelsesrettigheter på lagrede prosedyrer og ikke til underliggende objekter.

SQL Server 2008 støtter ulike typer lagrede prosedyrer: Brukerdefinert, system og utvidet. Du kan utvikle brukerdefinerte lagrede prosedyrer med T-SQL eller med CLR.

Følgende er noen programmer som kan generere Transact-SQL:

  • Generelle kontor produktivitetsapplikasjoner.
  • Programmer som bruker et grafisk brukergrensesnitt (GUI) for å la brukerne velge tabellene og kolonnene de vil se data fra.
  • Distribuerte databasesystemer hvorfra data fra SQL Server blir replikert til ulike databaser, eller distribuerte søk utføres.
  • Datavarehus hvor data hentes fra OLTP-systemer (online transaction processing) og oppsummeres for beslutningsstøtteanalyse.

For å forklare mer fullstendig, er programmering i Transact-SQL en blanding av flere tydelige, men likevel integrerte komponenter. La oss anta at du vil bygge et program, og du starter med design og analyse av databasen som du vil. Og at du har bygget din utviklingsdatabase ved hjelp av deklarative SQL-setninger eller kanskje et visuelt datamodelleringsverktøy. Du vil kanskje senere implementere et sett med komplekse forretningsregler på databasetabellene dine gjennom triggere kodet i Transact-SQL. Derfra kan du opprette rapporter og forretningsmessige behandlingsmoduler som støtter brukergrensesnittet gjennom lagrede prosedyrer kodet i Transact-SQL.

Som nevnt tidligere tilbyr SQL Server 2008 et bredt spekter av Transact-SQL-funksjoner som gjør det mulig for utviklere å lage nye applikasjoner som kan lagre og forbruke alle typer data på en hvilken som helst enhet, og gjør det mulig for alle brukerne å ta informerte beslutninger med relevant innsikt. Her er de viktigste funksjonene:

  1. Initialisering av variabler
  2. Sammensatte oppdragsoperatører
  3. Forbedret CONVERT-funksjon
  4. Nye dato og tid datatyper
  5. Ny dato og tid funksjoner
  6. MERGE-setningen
  7. Gruppesett
  8. Tabellverdierte parametere
  9. Store brukerdefinerte typer
  10. Konstruksstøtte for bordverdier
  11. HIERARCHYID datatypen
  12. DDL utløserforbedringer
  13. Store CLR-brukerdefinerte aggregater
  14. Sparsomme kolonner
  15. Filtrerte indekser
  16. Multi-input CLR brukerdefinerte aggregater
  17. ORDER-alternativet for CLR-tabellverdier
  18. Objekt avhengighet
  19. Endre datafangst
  20. Sorteringsjustering
  21. avskrivninger

SQL-databasen er et populært emne i disse dager. Med dataene blir mer komplekse og store, gjør teknologier som Transact-SQL spørreundersøkelser raskere og optimalisert. Å forstå og studere disse teknologiene som involverer å håndtere komplekse datalager og deres gruveproblemer, er flotte i sine termer. For nybegynnere som har litt kunnskap om DBMS, er disse noen nye konsepter som kan hjelpe dem til å utforme sin tilnærming bedre.

Hvis du ønsker å utforske Transact-SQL helt, anbefaler jeg deg å ta noen bøker og bruke MSDN for løsninger også.

Link
Plus
Send
Send
Pin