Dodaj jezik SQL omejitve

Ta jezik, ki se uporablja za ekstrahiranje in upravljanje DBMS v RDMS, je prostor za shranjevanje relacijskih podatkov, ki imajo več vrstic in stolpcev. SQL omogoča sprejemanje in obdelavo tabel v RDMS. V SQL lahko ustvarite proceduralne programe s ponovitvami in pogoji. Do baze podatkov lahko dostopate tako, da ukaze postavite na enak način kot v PHP, ali z vizualno programsko opremo, kot je phpMyAdmin, ki se izvaja na strežniku ali računalniku z uporabo XAMPP, kot tudi številni drugi lokalni programi strežnikov. Skoraj vsi sodobni sistemi za upravljanje baz podatkov temeljijo na tem jeziku.

Zgodovinski predpogoji SQL

Kratica SQL pomeni "Strukturirani jezik iskanja", ki razume praktično vsak DBMS. IBM ga je razvil v sedemdesetih letih s prvotnim imenom SEQUEL, njegovo pravo ime pa sega v osemdeseta leta. SQL je potrdila mednarodna organizacija ISO. Tu so glavni koraki v tem procesu:


  • ANSI standard leta 1986;
  • ISO (SQL1) leta 1987, revidiran leta 1989;
  • ISO (SQL2) leta 1992;
  • SQL3 je bil ustanovljen leta 1999 s strani ANSI in ISO.
  • Standard ISO SQL 2006 se uporablja za upravljanje datotek XML, kot je uvoz podatkov XML v bazo podatkov ali izvoz XML vsebine in omejitev SQL. Kljub standardizaciji ISO ima dejanska uporaba različnih urednikov DBMS razlike glede na:
  • podrobnosti sintakse;
  • pisanje naročil;
  • natančno delo upravnih organov;
  • uvedba novih vrst podatkov (slike, animacije, video, hipertekstovne povezave)itd.).
  • Ne glede na uporabljeno programsko opremo MySQL (ali MariaDB), PostgreSQL, Oracle, NoSQL in Cassandra - ista sintaksa z manjšimi razlikami. Skratka, obstaja samo en jezik SQL, vendar vsak urejevalnik DBMS izvaja lastno narečje. "Slovar", ki vam omogoča prehod z enega na drugo narečje, se imenuje ODBC (Open Data Base Connectivity). Ustvarjen je bil v Microsoftu 1993 za omejitev SQL.


    Značilnosti programskega jezika

    SQL je najbolj priljubljen med računalniškimi jeziki, povezanimi s sistemi za upravljanje baz podatkov. Najbolj obetavne smernice označujejo strukturirane poizvedbe. Predmet več mednarodne standardizacije, prva se nanaša na leto 1986 in se še razvija. Realizacija ustreza relacijski algebri, vendar pogosto odstopa od tradicionalnih izračunov. Pri izvedbah se razlike med velikimi in malimi črkami, z izjemo vrstic, običajno ignorirajo. Ms SQL omejitev omogoča:
  • izvajanje operacij relacijske algebre;
  • urejanje kopij;
  • uredite razmerje v bazi podatkov.
  • Izražanje omejitev integritete

    To je predlog, ki omejuje tabelarno spremembo, ki jo opravijo zahteve strank, tako da so vhodni podatki v skladu s pričakovanimi rezultati. Nastavljajo se pri ustvarjanju:
  • Constraint SQL.
  • DEFAULT.
  • NI NULL.
  • ENOTA.
  • PREVERJANJE.
  • SQL definira privzeto vrednost, ko osnovno polje ni sporočeno z uporabo določbe DEFAULT. To poenostavlja oblikovanje tabel in zagotavlja, da polje ni prazno. V stavku DEFAULT mora biti dodeljena vrednost.
    Lahko je eden od naslednjih tipov:
  • digitalna konstanta;
  • alfanumerična konstanta (vrstica);
  • ključna beseda USER (uporabniško ime);
  • ključna beseda NULL;
  • ključna beseda CURRENT_DATE (vhodni datum);
  • ključna beseda CURRENT_TIME (vhodni čas);
  • ključna beseda CURRENT_TIMESTAMP (datum in čas vnosa).
  • Tipi podatkov v podatkovnih bazah

    V sintaksi, na primer, type_field1 field_type2, itd., Določite vrsto podatkov, ki bodo vsebovali ustrezno polje. V bistvu se to pravilo uporablja za prenos v sistem, tako da dodeli ustrezen prostor pomnilnika, odvisno od velikosti podatkov. Sistem ne bo dodelil istega prostora za vrstico kot za celo število. V phpMyAdmin si lahko pri ustvarjanju tabele ogledate seznam sprejetih tipov na spustnem seznamu.

    Tip podatkov



    vrsta



    opis



    ŠTEVILO (n, [d])



    Število n števk [d (neobvezno) za decimalno vejico]



    SMALLINT



    16-bitno celo število z znakom



    INTEGER



    32-bitno celo število z znakom


    )
    FLOAT



    Število s plavajočo vejico



    DATUM



    Oblika datuma dd /mm /90



    ČAS



    ura



    TIMESTAMP



    Datum in čas



    CHAR (l)



    Vrstica simbolov fiksne dolžine l (n
    ) Tukaj je primer: CREATE TABLE ime_tabele (stolpec1 Type_champ1, column2) Type_champ2, colonne3 Type_champ3).

    Atributi omejitve SQL

    Za ustvarjanjepoznati omejitve integritete. Za atribut veljajo naslednje omejitve:
  • privzeta vrednost je privzeta vrednost za ta atribut;
  • ni ničelna - prazna ali neznana (nič) je za ta parameter prepovedana;
  • null - za ta atribut dovolimo prazno ali neznano (nič (privzeto);
  • edinstveno - vse vrednosti tega atributa morajo biti edinstvene;
  • check (te) - test te mora biti veljaven za ta parameter,
  • pimarski ključ - ta atribut je primarni ključ (ta edinstvena omejitev SQL se lahko pojavi enkrat) in ne vključuje ničelnega edinstvenega; (at)] - ta parameter ima obstoječi atribut pri, ki je obvezen, edinstven, tabele ta, če niso podane, je primarni ključ, ta;
  • reference ta [(at)] na kaskadnem brisanju - podobno prejšnjemu poleg tega se omejitev, če se ta črta, samodejno izbriše tudi primer, ki mu je podan v tej tabeli
  • . at1, atN) - vse vrednosti v tem nizu atributov morajo biti unikatne;
  • check (te) - test mora biti veljaven za ta niz parametrov.
  • Ustvarjanje razmerij

    Odnos SQL se imenuje tudi tabela. Ustvarjanje razmerja je izraženo v SQL s pomočjo tabele za pomoč.
    Ustvarjena tabela je prazna: vsebuje atribute (stolpce), ki so definirani med ustvarjanjem, vendar ne pojavljanje (niz). Možno je in primerno določiti omejitev integritete za atribute.
    In tudi omejitve se lahko imenujejo za lažjo identifikacijo. V nasprotnem primeru dobi ime, ki ga podatkovna baza samodejno zagotovi.

    Ustvarjanje tabele

    Ključna beseda NOT NULL vam omogoča, da določite, da morate vnesti polje, to pomeni, da bo DBMS zavrnil vstavljanje nizov, ki ne določajo polja, ki vključuje ponudbo NOT NULL. Polje lahko preverite s CHECK (), ima logični pogoj za vrednost med oklepaji. Če se ta vrednost razlikuje od NULL, bo DBMS izvedel preverjanje z uporabo logičnih pogojev s stavki SELECT.

    Predlog UNIQUE vam omogoča, da preverite polja in zagotovite, da so vrednosti stolpcev drugačne. Ključna beseda CONSTRAINT dodeli ime omejitve, tako da deluje, ko določen stavek ni bil preverjen. Če člen CONSTRAINT ni podan, bo ime podano poljubno s strani DBMS. Vendar je malo verjetno, da bi bilo razumljivo, in ni verjetno, da bi ga sploh lahko razumeli, ko pride do napake integritete.

    Primer omejitve tabele SQL za spreminjanje podatkov

    Za ponazoritev naslednjih naročil upoštevajte tabelo izdelkov:

    id (identifikator)



    nom (ime )



    mačka Gorie (kategorija)



    zaloge



    prix (cena) )







    računalnik



    obdelava podatkov

    177)
    5



    950



    2



    klaviature

    )

    obdelava podatkov



    32



    35



    3
    )


    je dana obdelava miške







    16



    30



    4



    svinčnik



    dostava



    ) 147



    2

    Operator dodati omejitev SQL lahko združi več pogojev v poizvedbi. Z shranjevanjem iste tabele kot prej za filtriranje samo računalniških izdelkov, ki so skoraj brez zalog (manj kot 20 naslovov), zaženite naslednjo poizvedbo:
    SELECT * FROM produitWHERE cat? Gorie = 'informatique' AND zaloga




    ) Zaloga



    prix (cena)



    1



    računalnik



    obdelava podatkov



    5



    950









    miši



    obdelava podatkov



    16


    30

    Za filtriranje podatkov in samo informacije o izdelkih "računalnik" ali "tipkovnica", morate izvesti naslednje iskanje: SELECT * FROM produITWHERE nom = 'ordinateur' ALI nom = ' Ta preprosta poizvedba vrne naslednje rezultate:

    id (identifikator)



    nom (ime)



    mačka ? gorie



    Zaloga



    prix (cena)



    1



    računalnik



    obdelava podatkov



    5


    )
    950



    2



    tipkovnice



    obdelava podatkov



    32



    35

    Ne smemo pozabiti, da so operaterji lahko Povezan za izvedbo močnega iskanja. Lahko filtrirate izdelke "računalnik" z zalogo manj kot 20 in izdelke za "dobavo" z zalogo manj kot 200z naslednjo iskalno tabelo SQL dodajte omejitev: SELECT * FROM produITWHERE (mačka? gorie = 'informatique' IN zaloga
    id (identifikator)



    nom (ime)
    )


    mačka? Gorie



    Zaloga



    prix (cena)
    )


    1



    računalnik



    obdelava podatkov


    397) 540



    950



    2



    miši



    obdelava podatkov



    16



    30



    4

    )

    svinčnik



    dostava



    147



    2

    Definicije ključev

    S tujim ključem SQL omejitve lahko definirate ključe, tj. Podate stolpce, katerih znanje vam omogoča, da točno določite enega od njih in eno vrstico. Niz stolpcev, ki so del trenutne tabele, se imenuje primarni ključ in se določi s členom PRIMARY KEY, ki mu sledi seznam stolpcev, ki so v oklepajih ločeni z vejicami. NULL ne sprejemajo več, da bi morale biti dve vrstici hkrati enake kombinacije vrednosti za te stolpce. PRIMARNI KLJUČ (colonne1 colonne2). Ko seznam stolpcev v izvedljivi tabeli omogoča definiranje primarnega ključa, uporablja tuj ključ za dodajanje SQL, ki mu sledi seznam stolpcev v trenutni tabeli, ločenih z vejicami, v oklepajih. V oklepaju je predlog REFERENCES, ki mu sledi ime zunanje tabele in seznam ustreznih stolpcev, ločenih z vejicami. ZUNANJA KLJUČ (colonne1 colonne2) REFERENCE Nom_de_la_table_etrangere (colonne1colonne2)

    Primarni ključi

    Medosebni DBMS, ki presega prostor za shranjevanje, organizira to skladišče in omogočadoločiti določena pravila. Tako se za vsako tabelo običajno določi primarni ključ. Pri predstavitvi bo enolično identificirala iskanje po vrstici. Zato pri razglasitvi stolpca kot ključnega DBMS samodejno ustvari indeks omejitve. Lahko se izpolni:
    Ime omejitve upravlja DBMS, če je potrebno imenovati ta primarni ključ. Računalnik lahko ustvarite tudi drugič s spreminjanjem vrstnega reda v tabeli. Ta primarni ključ bo absolutni identifikator za uporabo. DBMS lahko to brez njega opravi zahvaljujoč rowidu, tako da potreba po primarnem ključu ne obstaja tehnično, vendar v aplikaciji ni smiselna. Ta primarni ključ tudi v mnogih primerih določa omejitev integritete, tj. Upravljanje nekaterih podatkov v eni tabeli v primerjavi z drugimi kazalniki, ki pripadajo drugim tabelam.
    Na primer, v podatkovni zbirki za upravljanje strank je prepovedana prisotnost računa brez enega naročila. Ustvarite zunanji ključ v tabeli računa, ki bo omejen s prisotnostjo ključa.

    Omejitev zunanjega ključa

    Za računalnik je omejitev zunanjega ključa (FK) določena z ustvarjanjem tabele, zahvaljujoč mehanizmu za konfiguriranje ključev in povezanih indeksov, ki bodo ustvarjeni za FK, tako da je povezovanje poizvedb lažje. Poleg omejitev primarnega ali zunanjega ključa obstajajo tudi druge omejitve:
    Na primer, omejitev edinstvenosti, razen tiste, ki ustreza primarnemu ključu. Ustvariti morate edinstven indeks: ustvarite edinstven indeksnum_s? cu na personne. Druga možnost omejitve je omejitev preverjanja, ki običajno omogoča, da določite obseg ali vrednost formata. Pozitivna vrednost za porabo je merilo za izbiro vljudnosti (enakovredno ENUM-u za nekatere druge DBMS-je) in je shranjena v velikih črkah:
    Tako DBMS omogoča ustvarjanje omejitev za celovitost vseh vrst, toda ko so uporabljene, je nemogoče nadzorovati koncept aktivno /neaktivno. Neaktivna omejitev ne vpliva na delo baze podatkov (vstavite, izbrišite). Čas, potreben za ponovno aktiviranje napetosti, pa je lahko dolgotrajen, odvisno od postopkov, ki jih je treba izvesti za preverjanje te omejitve SQL. Vendar je običajno zanimivo, da omejitve onemogočite. Omejitev je onemogočena na naslednji način: ALTER TABLE ma_table DISABLE CONSTRAINT ma_constraint; In aktiviran: ALTER TABLE ma_table ENABLE CONSTRAINT ma_constraint; Seveda je treba opozoriti, da vsaka (aktivirana) omejitev, ki se uporablja za bazo podatkov, zahteva dodatno obdelavo za vstavitve, modifikacije ali izbrise. Ti postopki ponavadi upočasnjujejo uporabo baze podatkov, zato jih je treba uporabljati gospodarno. Ukaz ALTER TBLE spremeni strukturo tabele. Če ga uporablja trenutna poizvedba, ukaz ALTER čaka, da se konča. Uporabite ukaz: Uredite vrednost stolpca. Privzete vrednosti veljajo za naslednje ukaze INSERT, ne pa v vrstice. Preimenovanje stolpcev ali tabel brez spreminjanja vrste v tem ukazu lahko ignorirate stolpec s ključnimi besedami. Jezik vam ne dovoljuje spreminjanja omejitev. Namesto tega soodstraniti omejitve ali jih ustvariti. Spremenite dolžino stolpca varchar. Če se tabela nanaša na shranjeno proceduro, lahko dodate ali odstranite stolpec. Shranjeno proceduro lahko izbrišete pred izvajanjem ukaza ALTER TABLE in jo predvajate po urejanju tabele.

    Sprožilec: jamstvo za referenčno integriteto

    Zunanji ključi se uporabljajo za določanje stolpcev tabele, ki zagotavlja zanesljivost druge tabele. Tako obstajajo elementi, imenovani sprožilci, ki zagotavljajo vse te omejitve, ki so označene z izrazom referenčna celovitost (i), in se prepričajte, da se niz uporablja iz druge tabele, dejansko obstaja. Ti sprožilci so zapisani v "Izbriši" in "Osveži":
  • ON DELETE - je opremljen z argumenti v zavitih oklepajih, ki vam omogočajo, da podate dejanje, ki se izvede, ko se črta črta.
  • CASCADE - Označuje kaskadno brisanje nizov, katerih ključi ustrezajo primarni odstranitvi.
  • RESTRICT - označuje napako pri brisanju vrednosti ustrezne tipke.
  • SET NULL - postavi NULL v niz, če je vrednost izbrisana.
  • SET DEFAULT - postavi privzeto vrednost (ki ji sledi ta parameter) v vrstico, če je vrednost izbrisana.
  • V polju "UPDATE" obstajajo argumenti v zavitih oklepajih, ki vam omogočajo, da določite dejanje, ki se izvaja pri spreminjanju vrstic tabele, del ključa:
  • CASCADE - Označuje kaskadno spremembo vrstic zunanje tabele, katere ključi ustrezajo ključem spremenjenih vrstic.
  • RESTRICT - označuje napako ustreznega ključa.
  • SET NULL -postavi NULL v vrstico, če se spremeni vrednost ustreznih ključev.
  • SET DEFAULT - postavi privzeto vrednost, ki ji bo sledil ta parameter v vrstici, če se spremeni vrednost ustreznih ključev.
  • Odobritve so izrazi, ki jih je treba izvesti pri urejanju podatkov, tako da se lahko izvedejo, zato zagotavljajo celovitost podatkov.
  • Njihova sintaksa je naslednja: CREATE ASSERTION Nom_de_la_contrainte CHECK (expression_conditionnelle) Pogoj, ki ga je treba izvesti, je mogoče narediti (in običajno) s stavkom SELECT.

    Sorodne publikacije