Tietojen määrittelykieli
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
- SQL
- Data Manipulation Language (DML)
- Data Control Language (DCL)