close

Tietojen määrittelykieli

Siirry navigointiin Siirry hakuun

Tietojenkäsittelytieteessä Data Definition Language ( DDL ) on kieli , osa SQL -kieltä , jonka avulla voit luoda, muokata tai poistaa tietokannan objekteja tai toimia tietokantaskeeman mukaan . DDL-komennot määrittelevät tietokannan rakenteen ja siten siihen sisältyvien tietojen loogisen järjestyksen, mutta ne eivät tarjoa työkaluja tietojen olettamien arvojen muokkaamiseen tai itse tiedusteluihin, joille Data Manipulation Language käytetään vastaavasti ja Data Query Language . Sitä käytetään sekä suunnitteluvaiheessa, molemmat ovat tietokannan uudelleenjärjestelyprosessissa. Käyttääkseen tietokantarakennetta käyttäjällä on oltava tarvittavat käyttöoikeudet, jotka on määritetty Data Control Language (DCL) -kielellä.

Verkkotunnukset

Luo verkkotunnus

Tyyppien, kuten kokonaisluku, char, float, ... lisäksi voimme luoda muitakin: luominen on samanlainen kuin yllä olevien joukossa nähdyn perustyypin tai tyhjästä luodun tyypin uudelleennimeäminen, joka perii kaikki ominaisuudet.

Luo Domain-komennon syntaksi

CREATE  DOMAIN  domain_name  AS  tyyppi  [  SetValue  ]  [  Constraint  ]  {  DefSchema  }

Luot nimityypin verkkotunnuksen_nimi alkaen aiemmasta tyypistä ja asetat valinnaisen oletusarvon ja joukon rajoituksia. Tämän toiminnon avulla voit määrittää kerran ja vain kerran kaikki ominaisuudet (rajoitukset), jotka voidaan liittää attribuutille, kun sitä käytetään useissa taulukoissa, jolloin vältetään redundanssit.

Pudota verkkotunnus

Poista käyttäjän määrittämä toimialue.

Command Syntax Drop Domain

DROP  DOMAIN  domain_name  [ CASCADE | RAJOITTAA ]

Jos määrität CASCADE, kaikki kyseiseen verkkotunnukseen kuuluvat taulukoiden sarakkeet poistetaan sen mukana. Jos määrität RESTRICToletusarvon, tätä toimintoa ei suoriteta.

Kaaviot

Luo skeema

Kaava on kokoelma kaikkia kohteita, jotka tulevat osaksi tietokantaa, eli toimialueet, taulukot, näkymät, oikeudet, väitteet. Se on vähän kuin pakottavalla kielellä kirjoitetun ohjelman deklaratiivinen osa: ensin luomme tyypit, funktiot ja menettelyt, sitten käytämme niitä rungossa.

komentosyntaksi

CREATE  SCHEMA  [  NomeSchema  ]  [  [  autorization  ]  Authorization  ]  {  DefElementoSchema  }

Valtuutus on skeeman omistavan käyttäjän nimi. jos se puuttuu, oletetaan, että käyttäjä on antanut komennon. SchemaName voidaan jättää pois: tässä tapauksessa nimi on omistajan käyttäjän nimi. Jokaiselle käyttäjälle on valtuutukset, eli voimme asettaa tiettyjä rajoituksia niille, jotka tekevät kyselyjä tietokannastamme .

Drop Schema

Poista jo määritetty malli.

Command Syntax Drop Schema

DROP  SCHEMA  skeeman_nimi  [ CASCADE | RAJOITTAA ]

Jos määritetään CASCADE, kaikki skeemaan kuuluvat objektit poistetaan. Jos määrität RESTRICT, joka on oletusarvo, skeemaan kuuluvat objektit säilyvät.

Tietokanta

Luo tietokanta

Komennolla CREATE DATABASEluodaan uusi tietokanta, joka voi sisältää taulukoita, näkymiä, tallennettuja proseduureja, laukaisimia tai muun tyyppisiä objekteja.

Luo tietokannan komentosyntaksi

Syntaksi on seuraava:

LUO  { TIETOKANTA  |  SCHEMA }  tietokannan_nimi [ luo_määrittely 
[, luo_määrittely ] ...]   
   
luoda_määrittely : 
[ OLETUS ]  CHARACTER  SET  merkistön_nimi 
|  [ OLETUS ]  LAJITTELU  lajittelun_nimi

Jos määrität komentoa suoritettaessa, [IF NOT EXISTS]tietokanta luodaan vain, jos sitä ei ole olemassa, muuten virhettä ei palauteta. Create_specification - merkkijonon avulla voit lisätä valintoja tietokantaa luotaessa. Via CHARACTER SETlisää tuetun merkistön tietokantaan. Sen kautta COLLATEvoit määrittää tietokannan oletustiedot.

Muuta tietokantaa

Komentoa ALTER DATABASEkäytetään olemassa olevan tietokannan muokkaamiseen. Sitä ei ole SQL-standardissa, mutta useimmat DBMS-järjestelmät toteuttavat sen.

Muuta tietokannan komentojen syntaksia

Syntaksi on seuraava:

ALTER  { TIETOKANTA  |  SCHEMA }  [ tietokannan_nimi ]    
[ OLETUS ]  CHARACTER  SET  merkistön_nimi 
|  [ OLETUS ]  LAJITTELU  lajittelun_nimi

Pudota tietokanta

Komentoa DROP DATABASEkäytetään tietokannan poistamiseen. Tätä komentoa ei ole SQL-standardissa, mutta kaikki DBMS-järjestelmät toteuttavat sen.

Komentosyntaksin pudotustietokanta

Syntaksi on seuraava:

DROP  DATABASE  tietokannan_nimi

Taulukot

Luo taulukko

Komennon CREATE TABLEtehtävänä on luoda uusi taulukko (tai taulukko).
Taulukon nimi voidaan kirjoittaa joko isoilla kirjaimilla tai pienillä kirjaimilla, joka tapauksessa sen tulee kuitenkin noudattaa seuraavia sääntöjä:

  • Se voi koostua kirjaimista ja numeroista, mutta ensimmäisen merkin on aina oltava kirjain;
  • Sen pituus ei saa ylittää 30 merkkiä.
  • Sillä ei voi olla samaa nimeä kuin taulukolla tai näkymällä , joka on jo olemassa samalla tietokannan käyttäjällä .

Taulukon attribuuttien määrittämisen lisäksi on mahdollista määritellä rajoituksia.
Taulukko voidaan luoda tyhjäksi (katso yksinkertainen luontitaulukko) tai se voidaan luoda ja täyttää tiedoilla (katso luontitaulukko komennolla select ): toisessa tapauksessa taulukon rakenteen määrittää implisiittisesti sarakkeiden lukumäärä (tai kentät), joka on poimittu valinnasta, kunkin sarakkeen tietotyyppi ja vastaavien sarakkeiden nimet, jotka on poimittu valinnasta (tai niihin käytetyistä aliaksista ). Jos taulukko täytetään luonnin aikana, tapahtuma lopetetaan automaattisesti commit -komennolla .

Eheysrajoitukset

SQL :n eheysrajoitusten toteuttamiseen on varattu sanoja .

Intrarelational Constraints
  • NOT NULL: Not null -rajoite osoittaa, että null-arvoa ei sallita attribuuttiarvona; tässä tapauksessa attribuutti on aina määritettävä tyypillisesti lisäysvaiheessa. Jos attribuutti kuitenkin liittyy johonkin muuhun oletusarvoon kuin null, on mahdollista lisätä myös ilman attribuutin arvoa, koska attribuutille määritetään automaattisesti oletusarvo.
  • UNIQUE: Ainutlaatuinen rajoite koskee taulukon attribuuttia tai attribuuttijoukkoa ja pakottaa attribuuttiarvot (tai attribuuttijoukon arvot) olemaan (super)avain, eli taulukon eri rivejä. taulukossa ne voivat esiintyä eri riveillä rikkomatta rajoitusta, koska oletetaan, että nolla-arvot ovat kaikki erilaisia.
  • PRIMARY KEY: Taulukkoa määritettäessä on tarpeen määrittää jokaiselle suhteelle ensisijainen avain, tärkein suhdetunniste. SQL :n avulla voit siis määrittää ensisijaisen avaimen rajoituksen vain kerran kullekin taulukolle. Ensisijaisen avaimen rajoitus voidaan määrittää suoraan yhdelle attribuutille tai se voidaan määrittää luettelemalla useita attribuutteja, jotka muodostavat tunnisteen.
Interrelational Constraints

Tämän tyyppisten rajoitusten hallintaan käytetään FOREIGN KEY(eli viiteavainta ). Tämä rajoitus luo linkin nykyisen taulukon yhden attribuutin arvojen ja toisen taulukon attribuutin arvojen välille, joka on suhteessa itse nykyiseen taulukkoon. Rajoitus edellyttää, että jokaisella taulukon rivillä määritetyn attribuutin arvo, jos se eroaa nolla-arvosta, on ulkoisen taulukon riveillä määritteen vastaavien arvojen välissä.

Komentosyntaksi luo taulukko

  • Yksinkertainen luominen (yhden lisääminen CONSTRAINTon valinnaista):
CREATE  TABLE  taulukon_nimi ( 
 sarakkeen_nimi1  tietotyyppi  CONSTRAINT  , sarakkeen_nimi2 tietotyyppi  CONSTRAINT , sarakkeen_nimi3 tietotyyppi CONSTRAINT , ... sarakkeen_nimiN tietotyyppi CONSTRAINT ) ; _ _ _ _ _ _ _
     
     
 
     
  • Luominen valitsemalla:
CREATE  TABLE  taulukon_nimi 
AS 
SELECT ...;

Muuta taulukkoa

  • Komennon ALTER TABLEtehtävänä on muuttaa taulukon rakennetta.
  • Operaattorin ADDavulla voit lisätä uuden sarakkeen olemassa olevaan taulukkoon tai lisätä rajoituksia taulukon sarakkeisiin.
  • Operaattorin MODIFYavulla voit muuttaa tietotyyppiä ja/tai taulukon jokaisen sarakkeen rajoitusta.
  • Operaattori DROPpoistaa rajoituksen sarakkeesta.

Komentosyntaksin alter table

Lisää operaattori
  • Uuden sarakkeen lisääminen:
ALTER  TABLE  taulukon_nimi 
ADD  sarakkeen_nimi_uusi  tietotyyppi  CONSTRAINT ;
  • Ensisijaisen avaimen lisääminen:
 ALTER  TABLE  taulukon_nimi 
 ADD  CONSTRAINT  taulukon_nimi_pk 
 PRIMARY  KEY  ( sarakkeen_nimi ));  / * toimii ensisijaisena avaimena * /
  • Indeksin lisääminen:
 ALTER  TABLE  taulukon_nimi 
 ADD  CONSTRAINT  taulukon_nimi_pk 
 LISÄÄ  INDEKSI  indeksin_nimi  ( sarakkeen_nimi )
  • Toisesta taulukosta perityn vierasavaimen lisääminen:
 ALTER  TABLE  lapsen_taulukon_nimi 
 ADD  CONSTRAINT  lapsen_taulukon_nimi_fk FORIGN 
 KEY  (  sarakkeen_nimi ) /  * toimii viiteavaimena 
 lapsitaulukossa * / VIITTEET isätaulukon_nimi  ( sarakkeen_nimi )); / * toimii pääavaimena päätaulukossa * /  
Operaattori muokkaa
  • Sarakkeen tietotyypin muuttaminen:
 ALTER  TABLE  taulukon_nimi 
 MODIFY  sarakkeen_nimi  tietotyyppi  uusi ; _  _  / * uuden tietotyypin on oltava yhteensopiva * / 
  • Sarakkeen rajoituksen muuttaminen:
 ALTER  TABLE  taulukon_nimi 
 MODIFY  sarakkeen_nimi  CONSTRAINT  uusi ;
Pudota operaattori
  • Ensisijaisen avaimen poisto:
 ALTER  TABLE  taulukon_nimi 
 DROP  PRIMARY  KEY ;
  • Poista vierasavain:
 ALTER  TABLE  taulukon_nimi_tytär 
 DROP  CONSTRAINT  taulukon_nimi_tytär_fk ;

Pudota taulukko

Komennon DROP TABLEavulla voit tuhota taulukon fyysisesti poistamalla sen tietokannasta. Kuten kaikki DDL-komennot, se on peruuttamaton toimenpide ja aiheuttaa kaikkien taulukon sisältämien tietojen menetyksen.

Pudota taulukkokomennon syntaksi

DROP  TABLE  taulukon_nimi  [ CASCADE | RAJOITTAA ]

Nimeä uudelleen

Komennon RENAMEavulla voit nimetä uudelleen taulukon määritteiden nimet. SQL-standardissa sitä ei ole olemassa, mutta monet Dbms toteuttavat sen esimerkiksi postgresissa.

Nimeä komennon syntaksi uudelleen

NIMEÄ  UUDELLEEN taulukon_nimi  UUSI_taulukon_nimi  ;

Indeksit

Luo hakemisto

Tämä on pikakuvake monimutkaisten muutostaulukoiden välttämiseksi. Lisää indeksin taulukkoon.

Luo hakemistokomennon syntaksi

LUO  [ YKSILÖLLINEN ]  INDEKSI  hakemiston_nimi 
 ON  taulukon_nimi  ( sarakkeen_nimi  [ ASC | DESC ])

Jos määritetään UNIQUE, indeksi on yksilöllinen, eli sen sisällä olevia arvoja ei voi monistaa.
Jos määrität ASCarvot indeksin sisällä, ne ovat nousevassa järjestyksessä, jos määrität, ne DESCovat laskevassa järjestyksessä; oletusarvo on ensimmäinen.

Drop Index

Tämä on pikakuvake monimutkaisten muutostaulukoiden välttämiseksi. Poista hakemisto taulukosta.

Komentosyntaksin pudotusindeksi

DROP  INDEX  hakemiston_nimi 
  taulukon_nimi päälle 

Hallintatyökalut

  • PL / SQL Developer - jakelija AllRoundAutomations
  • SQL Server Management Studio - Microsoftin jakelija
  • SQL Manager Studio - Stevtechin jakelija

Aiheeseen liittyvät tuotteet