SlideServe
Menu
Préférences
© SlideServe · v2026

SQL DDL Structured Query Language – Data Description Language

aphrodite-stathos avatar
11 diapositives · 303 Views · Nov 08, 2014

SQL DDL Structured Query Language – Data Description Language. Pozor: odvisnost od SUPB, veliko različnih implementacij SQL DDL. SQL DDL – osnovni stavki. Definiranje tabel (tabela, atributi, integritetne omejitve, tuji ključi) Kreiranje tabel – CREATE TABLE

SQL DDL Structured Query Language – Data Description Language - slide 1
01 / 11SQL DDL Structured Query Language – Data Description Language
1 / 17

Télécharger la présentation

SQL DDL Structured Query Language – Data Description Language
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. SQL DDLStructured Query Language – Data Description Language Pozor: odvisnost od SUPB, veliko različnih implementacij SQL DDL

  2. SQL DDL – osnovni stavki • Definiranje tabel (tabela, atributi, integritetne omejitve, tuji ključi) • Kreiranje tabel – CREATE TABLE • Spreminjanje tabel – ALTER TABLE • Brisanje tabel – DROP TABLE • Definiranje indeksov • Kreiranje sekundarnih indeksov – CREATE INDEX • Brisanje primarnega / sekundarnih indeksov – DROP INDEX • Definiranje uporabnikov, pravic • Kreiranje uporabnikov, skupin – CREATE USER • Dodeljevanje pravic – GRANT …. • Brisanje pravic – REVOKE ….

  3. 1. Delo s tabelami – CREATE TABLE Create Table ime_tabele ( atribut1 tip1 integritetne_omejitve, atribut2 tip2 integritetne_omejitve, … Primary Key (atributx, atributy, …) ); -najpogostejše integritetne omejitve: • NOT NULL • UNIQUE • CHECK pogoj • DEFAULT vrednost -možni podatkovni tipi za atribute: • Odvisni od SUPB

  4. 1. Delo s tabelami – CREATE TABLE(nad.) • Primer stavka za kreiranje tabele ProslavaProslava(ProslavaID:A5,PraznikIDPraznik:N, Vsebina:A50, Opiso:A500, Cenao:N) PB mySQL Create table Proslava ( ProslavaID Char(5) NOT NULL, Vsebina Char(50) NOT NULL, Opis Varchar(255), PraznikID Int NOT NULL, Cena Double, Primary Key (ProslavaID,PraznikID)) TYPE = MyISAM; PB FireBird Create Table "Proslava" ( "ProslavaID" Char(5) NOT NULL, "Vsebina" Char(50) NOT NULL, "Opis" Varchar(255), "PraznikID" Integer NOT NULL, "Cena" Float Check (>0), Primary Key ("ProslavaID","PraznikID") ); Posebnosti SUPB-jev: mySQL – nima integritetne omejitve Check, omogoča izbiro datotečne organizacije fizične datoteke: heap/myISAM/ISAM/…, označi le ne-opcijske atribute FireBird – ima integtitetno omejitev Check, označi le ne-opcijske artibute PostgreSQL – ima integritetno omejitev Check, označi opcijske in ne-opcijske atribute PB PosgreSQL Create table Proslava ( ProslavaID Char(5) NOT NULL, Vsebina Char(50) NOT NULL, Opis Varchar(255) NULL , PraznikID Integer NOT NULL, Cena Double precision NULL Check (>0 ), primary key (ProslavaID,PraznikID) );

  5. 1. Delo s tabelami – ALTER TABLE • Uporaba: • Dodajanje novih atributov v obstoječo tabelo • ALTER TABLE ime_tabele ADD atribut tip; • Brisanje atributov iz tabele • ALTER TABLE ime_tabele DROP atribut; • Dodajanje tujih ključev • ALTER TABLE ime_tabele ADD FOREIGN KEY ime_kljuca REFERENCES ime_tabele (ime_atrubuta) ON operacija1 akcija1 ON operacija2 akcija2;

  6. 1. Delo s tabelami – ALTER TABLE (nad.) • Primer stavka za kreiranje tujega ključa PraznikID tabele Proslava, ki referencira tabelo Praznik Proslava(ProslavaID:A5,PraznikIDPraznik:N, Vsebina:A50, Opiso:A500, Cenao:N) • mySQL: Alter table Proslava add Index IX_(PraznikID); Alter table Proslava add Foreign Key (PraznikID) references Praznik (PraznikID) on delete cascade on update cascade; • Firebird: Alter Table "Proslava" add Foreign Key ("PraznikID") references "Praznik" ("PraznikID") on update cascade on delete cascade ; • PostgreSQL: Alter table Proslava add foreign key (PraznikID) references Praznik (PraznikID) on update cascade on delete cascade ;

  7. 1. Delo s tabelami – DROP TABLE (nad.) • Zelo zanimiv stavek ): • Najbolje dela takrat, ko si to najmanj želiš • Stavek, ki empirično dokazuje pomen rednega arhiviranja PB • Sintaksa – preprosta in praviloma enovita za vse SUPB: DROP TABLE ime_tabele; • Primeri stavkov za brisanje tabele Proslava: • mySQL: drop table IF EXISTS Proslava; • Firebird: Drop Table "Proslava"; • PostgreSQL: Drop table Proslava;

  8. 2. Delo z indeksi • Kreiranje sekundarnih indeksov CREATE INDEX ime_indeksa ON ime_tabele (atribut1, atribut2, ..); • Brisanje sekundarnih indeksov DROP INDEX ime_indeksa; ali DROP INDEX ime_indeksa on ime_tabele; ali … • Primeri stavkov, ki za tabelo Proslava najprej naredijo sekundarni indeks ‘poCeni’, indeks je urejen padajoče – od najdražjih proslav do najcenejših in ga potem izbrišejo • mySQL: Create Index poCeni ON Proslava (Cena); Drop index poCeni on Proslava; • Firebird: Create DESCENDING Index "poCeni" ON "Proslava" ("Cena"); Drop Index "poCeni"; • PostgreSQL: Create index poCeni on Proslava using btree( Cena ); Drop index poCeni;

  9. 3. Definiranje uporabnikov, pravic • Definiranje uporabnikov CREATE USER ime_uporabnika; • Definiranje skupin uporabnikov CREATE GROUP ime_skupine; CREATE ROLE ime_skupine; • Dodajanje uporabnikov v skupino ALTER GROUP ime_skupine ADD USER ime_uporabnika; GRANT ime_skupine TO ime_uporabnika; • Dodajanje pravic GRANT pravica ON ime_tabele TO ime_uporabnika|ime_skupine; ali GRANT pravica ON ime_tabele TO GROUP ime_skupine; • Brisanje pravic REVOKE pravica ON ime_tabele TO ime_uporabnika; ali REVOKE pravica ON ime_tabele TO GROUP ime_skupine;

  10. 3. Definiranje uporabnikov, pravic • Primer PostgreSQL skripte za definiranje uporabniških pravic: Create group Informator; /* naredi skupino*/ Create user Skrbnik; /* kreira uporabnike */ Create user Matej; Create user Peter; Alter group Informator add user Matej; /* polni skupino */ Alter group Informator add user Peter; Grant select on Drzava to group Informator; /* dodeljuje pravice skupini */ Grant select on Praznik to group Informator; … Grant select on Drzava to Skrbnik; /* dodeljuje pravice uporabnikom */ Grant update on Drzava to Skrbnik; Grant delete on Drzava to Skrbnik; …

  11. 3. Definiranje uporabnikov, pravic(nad.) • Podobno v FireBird /* kreiranje skupine */ Create Role "Informator"; /* dodajanje uporabnikov v skupino */ Grant "Informator" to "Matej"; Grant "Informator" to "Peter"; /* definiranje pravic skupine */ Grant select on "Drzava" to "Informator"; Grant select on "Praznik" to "Informator"; Grant select on "Proslava" to "Informator"; Grant select on "Ima" to "Informator";