close

SQL-92

Gå til navigation Gå til søg

SQL -92  er den tredje version af SQL - databaseforespørgselssproget . I modsætning til SQL-89- standarden var den tredje version en meget væsentlig opdatering af sproget. Bortset fra nogle mindre uoverensstemmelser er SQL-89-standarden næsten fuldstændig kompatibel med SQL-92-standarden.

Historie

Den første internationale SQL-sprogstandard blev vedtaget i 1989 (den modtog den tilsvarende betegnelse SQL/89), og langt de fleste DBMS annoncerede i begyndelsen af ​​90'erne understøttelse af denne standard. Denne standard har dog mangler, nemlig: Standarden etablerer mange vigtige egenskaber ved sproget som defineret i implementeringen eller afhængigt af det. Dette har givet meget plads til divergens mellem forskellige implementeringer af SQL. For det andet er nogle praktiske aspekter af sproget slet ikke nævnt i SQL/89-standarden. Disse omfatter primært reglerne for indlejring af SQL-sproget i programmeringssproget C og den såkaldte dynamiske SQL. Som et resultat implementerede DBMS-leverandører deres egne mekanismer, som næppe var kompatible med hinanden. Dette førte til en situation, hvor koden for en DBMS, der var i overensstemmelse med SQL/89-standarden, viste sig at være ikke-portabel til en anden DBMS, der også var i overensstemmelse med SQL/89-standarden [1] .

For at fjerne manglerne ved SQL/89-standarden blev der i slutningen af ​​1992 vedtaget en ny international standard for SQL-sproget (SQL/92). Det viste sig også ikke at være fejlfrit, men var stadig væsentligt mere præcist og komplet end SQL/89. SQL/92 kompenserer ikke kun for manglerne ved SQL/89, men indeholder også mange nye funktioner.

Større forskelle fra SQL/89

I den nye standard blev det muligt at bruge datatypen for tegnstrenge af variabel længde (det vil sige, når man angiver en kolonne, angives den maksimalt tilladte størrelse af den lagrede streng i tegn, men i virkeligheden er der gemt nøjagtig lige så mange tegn i databasen, som brugeren indtastede dem), datatyper af bitstrenge af konstant og variabel længde (hvordan de faktisk lagres i databasen er ikke defineret i standarden), standardiserede datatyper til at arbejde med dato og klokkeslæt: DATO (dato) ), TID (tid) og INTERVAL (tidsinterval) [2] .

Når du opretter et databaseskema (som kan ændres senere), kan du definere funktionerne i det nationale tegnsæt, herunder sorteringsregler, og de tegnsæt, der bruges både i lagrede tekststrenge og i identifikatorer [2] kan defineres .

Den nye standard introducerer muligheden for at oprette lagrede og synlige tabeller og indstille eller fjerne adgangsrettigheder ved hjælp af operatorerne ( CREATE TABLE, CREATE VIEW, GRANT, REVOKE) til enhver tid i enhver transaktion uden for en skemadefinitionssætning. Der var tabeldestruktionsoperatører ( DROP TABLEog DROP VIEW), som også kan udføres i enhver transaktion (hvis du har de relevante privilegier). For første gang blev der også defineret en operator ALTER TABLE, der giver dig mulighed for dynamisk at ændre karakteristikaene for en tidligere oprettet tabel (især tilføje nye kolonner til den) [2] .

Liste over innovationer

  • SQL Agent
  • Nye datatyper: DATE, TIME, TIMESTAMP, INTERVAL, strengtype BIT, strengtype VARCHARog strenge NATIONAL CHARACTER.
  • Understøttelse af yderligere tegnsæt ud over dem, der kræves til at repræsentere SQL -forespørgsler.
  • Nye skalaroperationer såsom strengsammenkædning, matematik for dato og klokkeslæt, tilstandsunderstøttelse.
  • Nye sæt operationer, fx , UNION JOIN, NATURAL JOINsæt forskelskontrol, sæt kryds.
  • Understøttelse af ændring af skemadefinitioner ved brug af ALTERog DROP.
  • Indbygget understøttelse af C , Ada og MUMPS sprog .
  • Nye muligheder for brugerrettigheder.
  • Ny funktionalitet til kontrol af dataintegritet, såsom CHECK-limit .
  • Nye skemadefinitioner for "information".
  • Dynamisk eksekvering af forespørgsler (i modsætning til forhåndsforberedte).
  • Forbedret understøttelse af ekstern databaseadgang.
  • Midlertidige borde.
  • Transaktionsisolationsniveauer .
  • Nye on-the-fly datatypekonverteringsoperationer ved hjælp af CAST.
  • Dynamiske markører.
  • Bagud- og fremtidig kompatibilitet med andre SQL-standarder.
  • Call Level Interface

Noter

Links