SQL paraugprakse: lūk, kādi ir ANSI standarti

Atklāšana: Jūsu atbalsts palīdz vietnei darboties! Mēs nopelnām nodošanas maksu par dažiem pakalpojumiem, kurus mēs iesakām šajā lapā.


SQL: ANSI standarti datu bāzu administrēšanai

Strukturētā vaicājumu valoda jeb SQL ir datu bāzes administratoru (DBA) standarta valoda, lai piekļūtu un pārvaldītu datu bāzes.

Gadu gaitā SQL ir attīstījies, un sāka parādīties daudzas versijas un valodas. Lai vienotu SQL par labāko praksi, Amerikas Nacionālais standartu institūts (ANSI) izveidoja īpašus standartus datu bāzu vaicājumu valodām.

SQL laika skala

  • 1970: Dr Edgars Frenks Kodds, datorzinātnieks, kas strādā IBM, 1970. gada jūnijā Datoru mašīnu asociācijas (ACM) žurnālā publicē savu slaveno rakstu “Datu relācijas modelis lielām dalītām datu bankām”. Dr Codd modelis joprojām ir galīgais relāciju datu bāzes pārvaldības sistēmu (RDBMS) modelis..

  • 1978. gads: IBM Corporation Sanhosē pētniecības centrā Kalifornijā izstrādā datu bāzes sistēmu System / R kopā ar datu bāzes valodu strukturēto angļu vaicājumu valodu (SEQUEL). Viņi to pamato ar Dr Codd oriģinālo modeli, un viņi to sauc par SEQUEL.

  • 1979. gads: Relational Software, Inc. izlaiž pirmo relāciju datu bāzes pārvaldības sistēmu un nosauc to par Oracle. Viņu RDBMS darbojas minidatorā, izmantojot SQL kā galveno vaicājuma valodu. Produkts kļūst tik populārs, uzņēmums maina savu vārdu uz Oracle.

  • 1982. gads: IBM izlaiž savu pirmo komerciālo SQL balstīto RDBMS, ko viņi nosauc par SQL / Data System vai SQL / DS, un 1985. gadā viņi izlaiž Database 2 sistēmu jeb DB2. Abas sistēmas darbojas IBM lieldatoru datorā. IBM vēlāk portēja DB2 uz papildu sistēmām, ieskaitot tās, kas darbojas operētājsistēmās Windows un UNIX.

ANSI standarti gadu no gada

  • 1986. gads: SQL-87 sākotnēji ANSI formalizēja 1986. gadā.

  • 1989. gads: Amerikas Nacionālais standartu institūts (ANSI) publicē pirmo datu bāzu vaicājumu valodu standartu kopu, kas pazīstams kā SQL-89 vai FIPS 127-1.

  • 1992: ANSI publicē pārskatītos standartus ANSI / ISO SQL-92 vai SQL2, kas bija stingrāki nekā SQLI, pievienojot dažas jaunas funkcijas. Šie standarti ievieš atbilstības līmeņus, kas norāda, kādā mērā dialekts atbilst ANSI standartiem.

  • 1999: ANSI publicē SQL3 vai ANSI / ISO SQL: 1999 ar jaunām funkcijām, piemēram, atbalstu objektiem. Aizstāja atbilstības līmeni galvenajām specifikācijām, kā arī papildu specifikācijas vēl deviņiem paketiem.

  • 2003. gads: ANSI publicē SQL: 2003, ieviešot standartizētas sekvences, ar XML saistītas funkcijas un identitātes kolonnas. Pirmās RDBMS izveidotājs Dr. E.F.Kodds aiziet prom tā paša gada 18. aprīlī.

  • 2006. gads: ANSI publicē SQL: 2006, definējot, kā izmantot SQL ar XML un ļaujot lietojumprogrammām integrēt XQuery savā esošajā SQL kodā.

  • 2008. gads: ANSI publicē SQL: 2008, ieviešot aktivizētāju INSTEAD, kā arī paziņojumu TRUNCATE.

  • 2011. gads: ANSI publicē SQL: 2011 vai ISO / IEC 9075: 2011, ISO (1987) un ANSI (1986) standarta septīto redakciju SQL datu bāzes vaicājumu valodai.

Viņi sadalīja jaunos ANSI SQL standartus deviņās daļās, to skaitā:

  • 1. daļa – ISO / IEC 9075-1: 2011 SQL / Framework, kas piedāvā loģiskas koncepcijas.

  • 2. daļa – ISO / IEC 9075-2: 2011 SQL / Foundation, ietver centrālos elementus SQL.

  • 3. daļa ISO / IEC 9075-3: 2008 SQL / izsaukuma līmeņa saskarne (CLI) izskaidro saskarnes komponentus, piemēram, procedūras, struktūras un mainīgas saites, lai izpildītu SQL paziņojumus dažādās kodēšanas valodās, piemēram, piemēram, COBOL un C ++..

  • 4. daļa ISO / IEC 9075-4: 2011 SQL / Persistent Stored Modules (PSM) izklāsta SQL procesuālo paplašinājumu standartus, ieskaitot nosacījumu apstrādi un vadības plūsmu, kā arī paziņojuma nosacījuma signālus un atkāpšanos, kā arī vietējos mainīgos un kursorus. Piešķir izteiksmes parametriem un mainīgajiem. Risina pastāvīgu datu bāzes valodas rutīnu uzturēšanu, piemēram, saglabātās procedūras.

  • 9. daļa ISO / IEC 9075-9: 2008 SQL / Ārējo datu pārvaldība (MED) ietver SQL paplašinājumus, lai noteiktu datu saišu tipus, un svešķermeņu datu ietinējus, kas ļauj SQL pārvaldīt ārējos datus. Ārējie dati ir pieejami, taču tos nevar pārvaldīt uz SQL balstīta DBVS.

  • 10. daļa ISO / IEC 9075-10: 2008 SQL / Object Language Bindings (OLB) nosaka SQLJ semantiku un sintakse. SQLJ ir SQL iestrādāšana Java. Standarts norāda SQLJ lietojumprogrammu bināro pārnesamības mehānismus. Tas arī definē vairākas Java pakotnes kopā ar tām esošajām klasēm.

  • 11. daļa ISO / IEC 9075-11: 2011 SQL / informācijas un definīciju shēma norāda informācijas shēmu un definīciju shēmu, piedāvājot rīkus, kā padarīt SQL objektus un datu bāzes pašaprakstošas. Ietver SQL objekta identifikatoru, drošības un autorizācijas specifikācijas, kā arī drošības un integritātes ierobežojumus. Atbalsta ISO / IEC 9075 funkcijas un paketes, kā arī funkcijas, kuras nodrošina SQL balstītas DBMS ieviešanas.

  • 13. daļa – ISO / IEC 9075-13: 2008 ISO / IEC 9075-13: 2008: SQL kārtība un tipi, izmantojot Java programmēšanas valodu (JRT), norāda spēju izmantot Java klases kā SQL strukturētus lietotāja definētus tipus, kā arī izmantot statiskas Java metodes kā rutīnas no SQL lietojumprogramma, kas datu bāzē pazīstama kā Java.

  • 14. daļa – ISO / IEC 9075-14: 2011 Ar SQL / XML saistītās specifikācijas definē uz SQL balstītus paplašinājumus, lietojot XML ar SQL. Tajā ir aprakstīti XML datu tipi, kārtība un funkcijas. Tas arī apraksta XML līdz SQL datu veida kartēšanu XML glabāšanai un pārvaldībai SQL datu bāzē.

ISO / IEC 13249 SQL multivides un lietojumprogrammu paketes darbojas līdztekus ISO / IEC 9075 kā atsevišķs, tomēr būtisks standarts, kas nosaka dažādas saskarnes un pakotnes, kuru pamatā ir SQL.

Šīs paketes mērķis ir atļaut centralizētu piekļuvi visbiežāk izmantotajām datu bāzu lietojumprogrammām, piemēram, attēliem, tekstam, telpiskajiem datiem un datu ieguvei..

Kā atrast standartu kopiju

SQL standartu specifikāciju cietās kopijas ir nopērkamas tikai ISO un ANSI autortiesību ierobežojumu dēļ. Elektronisko kopiju varat atrast ANSI vietnē, atlasot “Piekļuves standarti – eStandards Store” un meklējot “SQL valoda”.

Katram dokumentam ir divi varianti, taču tie ir identiski:

  1. INCITS / ISO / IEC 9075 – * – 2011

  2. ISO / IEC 9075 – *: 2011

Katra datu bāzes veidotāja mērķis ir ievērot šos standartus, liekot dažādām SQL ieviešanām kļūt līdzīgām; tomēr katrai ieviešanai joprojām ir unikāls SQL lietošanas dialekts, kas ietver standartu paplašinājumus vai papildinājumus.

SQL pārbaude

Pamata SQL komandas un paziņojumi ir līdzīgi visiem SQL dialektiem, tāpēc, tiklīdz DBA zina, kā tos izmantot, viņi var viegli iemācīties citus..

Lai arī lielākajai daļai SQL datu bāzu programmu ir savi patentētie paplašinājumi, lai ievērotu ANSI standartus, tām vismaz vienādi jāatbalsta šīs piecas galvenās komandas:

  1. ATJAUNINĀT

  2. DZĒST

  3. IZVĒLĒTIES

  4. IEVADIET

  5. KUR

SQL ļauj DBA datu bāzē veikt šādas darbības:

  • Izpildiet vaicājumus

  • Izgūt datus

  • Ievietot, atjaunināt un dzēst ierakstus

  • Izveidojiet jaunas tabulas un skatus

  • Veidojiet jaunas datu bāzes

  • Izgatavojiet procedūras

  • Iestatiet atļaujas skatiem, tabulām un procedūrām.

Lai izveidotu vietni, kurai var piekļūt datiem no datu bāzes, ir nepieciešama Relāciju datu bāzes pārvaldības sistēmas (RDBMS) datu bāzes programma. Dažas populāras RDBMS programmas ietver:

  • SQL serveris

  • MS piekļuve

  • MySQL

  • Postgre SQL

  • Oracle datu bāze.

Lai izveidotu datu bāzi, datu bāzes administratoram būs jāizmanto arī:

  • Standarta iezīmēšanas valoda, piemēram, CSS / HTML

  • Servera puses skriptu valoda, piemēram, ASP vai PHP.

  • Izprotiet, kā izmantot SQL, lai iegūtu pieprasītos datus.

Datu bāzes anatomija

Relāciju datu bāzes pārvaldības sistēma (RDBMS) veido datu bāzes pamatu. Izmantojot RDBMS, DBA var saglabāt datus datu bāzes objektos, ko sauc par tabulām. Tabulas sastāv no kolonnām un saistīto datu rindām, kas sakārtotas sadaļās.

Datu bāzes tabulu identificēšana

Lielākajā daļā datu bāzu ir vairāk nekā viena tabula, tāpēc DBA katrai tabulai jāidentificē nosaukums. Katrā tabulā būs ierakstu rindas, kas satur informāciju un datus.

Piemēram, uzņēmums izmantotu datu bāzi ar klientu tabulu, kurā ir šādi dati par katru klientu:

  1. Klienta vārds

  2. Kontakta vārds

  3. Klienta ID

  4. Klienta adrese – iela, pilsēta, pasta indekss un valsts

  5. Klientu kontaktinformācija

Šajā gadījumā tabulā ir pieci ieraksti – pa vienam katram klientam – un astoņas slejas, pa vienai katrai datu daļai: klienta vārds, kontaktpersonas vārds, klienta ID, klienta adrese, ieskaitot pilsētu, pasta indekss un valsts, un klienta kontaktinformācija.

Saziņa ar SQL datu bāzi

Datu bāzes administratori veic visas nepieciešamās darbības datu bāzē, izmantojot SQL paziņojumus. Rezultāti tiek saglabāti rezultātu tabulā, ko sauc par rezultātu kopu.

SQL parasti nav reģistrjutīgs, un dažām datu bāzu sistēmām katra SQL paziņojuma beigās ir nepieciešams izmantot semikolu. Semikols ir kļuvis par standarta metodi SQL paziņojumu atdalīšanai viens no otra datu bāzes sistēmā.

Tas ļauj DBA izpildīt vairākus SQL paziņojumus vienā izsaukumā uz serveri.

Dažas SQL komandas ietver:

  • ALTER TABULA Pārveido tabulas.

  • ALTER DATU BĀZE Pārveido datu bāzes.

  • Izveidot datu bāzi Izveido jaunas datu bāzes.

  • Izveidot indeksu Izveido indeksa / meklēšanas taustiņus.

  • Izveidot tabulu Izveido jaunas tabulas.

  • DZĒST Izdzēš datus no datu bāzēm.

  • Pilienu indekss Dzēš indeksus.

  • Pilienu tabula Izdzēš tabulas

  • IEVADIET Ievieto jaunus datus datu bāzēs.

  • IZVĒLĒTIES Izgūst datus no datu bāzēm.

  • ATJAUNINĀT Atjaunina datus datu bāzēs.

Koda 12 noteikumi

Izveidojot pirmo relāciju datu bāzes pārvaldības sistēmu, Dr. Kods iekļāva 13 noteikumus, kas liek domāt, ka, ja datu bāzu pārvaldības sistēma atbilst visiem šiem noteikumiem, tā ir īsta relāciju datu bāzes pārvaldības sistēma..

Tā kā viņš tos numurēja no nulles līdz 12, tos sauc par Koda 12 noteikumiem:

  • Nulles noteikums: pamati Paziņo, ka pamatsistēmai jāatbilst trim pamatprasībām: Tai jābūt relatīvai un jāietver datu bāze un pārvaldības sistēma. Tai arī ir jāizmanto relatīvās iespējas tikai un vienīgi datu bāzes pārvaldīšanai, lai to uzskatītu par īstu RDBMS.

  • Pirmais noteikums: informācijas attēlojums Pārstāvējiet visu datu bāzē esošo informāciju atsevišķā veidā, īpaši ievietojot vērtības kolonnu pozīcijās tabulas rindās.

  • Otrais noteikums: garantēta piekļuve Visiem datiem jābūt pieejamiem, tāpat kā pamatprasībām attiecībā uz primārajām atslēgām. Katrai atsevišķai skalārā vērtībai datu bāzē jābūt saprātīgi adresējamai, nosakot tabulas un kolonnas nosaukumu, kā arī tabulas rindas primārās atslēgas vērtību..

  • Trešais noteikums: Nulle vērtību apstrāde DBVS katram laukam jāatstāj tukšs vai nulle. Tas nozīmē, ka tai sistemātiski jāatbalsta jebkādas nepiemērojamas vai trūkstošas ​​informācijas attēlojuma manipulācijas, kas atšķiras no visām regulārajām vērtībām, kā arī neatkarīgi no datu veida.

  • Ceturtais noteikums: aktīvs tiešsaistes katalogs Sistēmai ir jāatbalsta tiešsaistes, relatīva struktūra vai katalogs, kas pieejams autorizētiem lietotājiem, izmantojot parasto vaicājuma valodu. Lietotājiem vajadzētu būt iespējai piekļūt datu bāzes katalogam, izmantojot to pašu relāciju modeli un vaicājuma valodu, kuru viņi izmantoja, lai piekļūtu datiem datu bāzes iekšienē..

  • Piektais noteikums: visaptveroša datu subvaloda Sistēmai ir jāatbalsta vismaz viena relāciju valoda ar lineāru sintakse. Lietotājiem vajadzētu būt iespējai to izmantot arī lietojumprogrammās un interaktīvi. Tam arī jāatbalsta datu manipulācijas operācijas, piemēram, atjaunināšana un izguve, un datu definēšanas operācijas, piemēram, skata definīcijas, kā arī darījumu pārvaldības operācijas, piemēram, saistības, sākšana un atcelšana. Tam arī vajadzētu būt integritātes un drošības ierobežojumiem.

  • Sestais noteikums: atjaunināšana Visi skati, kurus var atjaunināt teorētiski, ir jāatjaunina sistēmai.

  • Septītais noteikums: augsta līmeņa atjaunināšana, ievietošana un dzēšana Sistēmai ir jāatbalsta operatora atjaunināšana, ievietošana un dzēšana vienlaikus, lai lietotāji varētu izgūt datus no relāciju datu bāzes komplektos, kas veidoti no datiem no vairākām tabulām un / vai rindām. Atjaunināšanas, ievietošanas un dzēšanas darbības jāiespējo jebkurai izgūstamai kopai, nevis vienai rindai vienā tabulā.

  • Astotais noteikums: Fizisko datu neatkarība Fiziskā līmeņa atjauninājumiem nav nepieciešams atjaunināt lietojumprogrammu, pamatojoties uz struktūru. Piemēram, izmaiņas datu glabāšanā, piemēram, vai tos ievietot masīvos vai saistītos sarakstos.

  • Devītais noteikums: loģisko datu neatkarība Atjauninājumiem loģiskajā līmenī, piemēram, kolonnās, tabulās un rindās, nav jāpielāgo lietojumprogramma, pamatojoties uz struktūru. Ir grūtāk panākt loģisku datu neatkarību nekā fizisko datu neatkarību.

  • 10. noteikums: Integritātes neatkarība Norādiet integritātes ierobežojumus, kas jāglabā atsevišķi no lietojumprogrammām un katalogā. Jābūt iespējai šādus ierobežojumus atjaunināt, neietekmējot pašreiz esošās lietojumprogrammas.

  • 11. noteikums: Izplatīšanas neatkarība Datubāzes daļu sadalījumam dažādās vietās datubāzes lietotājiem nevajadzētu būt redzamam. Visām esošajām lietojumprogrammām jāspēj nepārtraukti un efektīvi darboties, ieviešot izplatītu DBVS versiju vai kad pašreizējie izplatītie dati tiek pārdalīti visā sistēmā.

  • 12. noteikums: Nepakļaušanās Ja sistēma nodrošina vienotu ierakstu vienlaicīgi vai zema līmeņa saskarni, to nevar izmantot, lai mazinātu citu sistēmu. Šāds piemērs varētu būt relāciju integritātes vai drošības ierobežojuma apiešana.

Strukturētā vaicājumu valoda jeb SQL ir nogājusi garu ceļu, taču tās izveidošanai izmantotie pamati joprojām ir spēcīgi. Datubāzu administratori var atklāt vairāk veidu un vietu, kā to izmantot, jo mākoņdatošana kļūst par normu; tomēr ANSI paliks spēkā, lai precizētu standartus datu bāzes vaicājumu valodu apvienošanai.

Resursi:

ANSI.org

SQL vēsture

W3Resource

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map