100 likes | 219 Views
Tietokannan luominen. Tietokanta luodaan komennolla CREATE DATABASE CREATE DATABASE Tietokanta; Kannan luomisen yhteydessä voidaan määritellä muitakin ominaisuuksia Käytettävä merkistö, levysivujen koko, ... Kanta tuhotaan komennolla DROP DATABASE DROP DATABASE Tietokanta;.
E N D
Tietokannan luominen • Tietokanta luodaan komennolla CREATE DATABASE • CREATE DATABASE Tietokanta; • Kannan luomisen yhteydessä voidaan määritellä muitakin ominaisuuksia • Käytettävä merkistö, levysivujen koko, ... • Kanta tuhotaan komennolla DROP DATABASE • DROP DATABASE Tietokanta;
Käyttäjän luominen • Oletuksena luodaan DBA • PostgreSQL:ssä postgres • Muita käyttäjiä luodaan komennolla CREATE USER • CREATE USER Käytäjä NOCREATEDB NOCREATEUSER PASSWORD Salasana; • Käyttäjille annetaan oikeuksia komennolla GRANT • GRANT SELECT ON DATABASE Kanta TO Käyttäjä; • GRANT INSERT ON Taulu TO Käyttäjä; • Käyttäjä tuhotaan komennolla DROP USER
Taulun luominen (1) • Luetellaan attribuuttien nimet ja tietotyypit sekä mahdolliset rajoitukset ja määritellään avain CREATE TABLE Asiakas ( Id INTEGER NOT NULL, Etunimi TEXT NOT NULL, Sukunimi TEXT NOT NULL, PRIMARY KEY (Id) ); • Taulu tuhotaan komennolla DROP TABLE;
Taulun luominen (2) • Määritellään viiteavaimet • Määritellään myös, miten viite-eheysrikkomuksiin suhtaudutaan • Viite-eheys voi rikkoutua, kun • Viittauksen kohteena olevan pääavaimen arvoa muutetaan • Viittauksen kohteena oleva monikko tuhotaan • (Viiteavainattribuutin arvoa päivitetään) • (Lisätään viittaava monikko)
Taulun luominen (4) • Viiteavainmäärittelyssä kolme osaa • Määritellään viiteavainattribuutit sekä viittauksen kohteena oleva taulu: FOREIGN KEY (Attr1,...,AttrN) REFERENCES Taulu • Määritellään, mitä tehdään, jos viittauksen kohtaana olevaa päävainta päivitetään: ON UPDATE Toiminta • Määritellään, mitä tehdään, jos viittauksen kohteena oleva monikko tuhotaan: ON DELETE
Taulun luominen (3) CREATE TABLE Tilaus ( AsiakasId INTEGER NOT NULL, TuoteId INTEGER NOT NULL, PRIMARY KEY (AsiakasId, TuoteId), FOREIGN KEY (AsiakasId) REFERENCES Asiakas ON UPDATE CASCADE ON DELETE CASCADE );
ON UPDATE • ON UPDATE CASCADE • Muutetaan myös viittaavien monikoiden viiteavainattribuutin arvoa vastaavasti • ON UPDATE RESTRICT • Estetään viittauksen kohteena olevan monikon pääavainattribuutin arvon muuttaminen • ON UPDATE SET DEFAULT • Asetetaan viiteavainattribuutin arvoksi attribuuttimäärittelyssä kirjoitettu oletusarvo
ON DELETE • ON DELETE CASCADE • Tuhotaan myös viittaavat monikot • ON UPDATE RESTRICT • Estetään viittauksen kohteena olevan monikon tuhoaminen • ON UPDATE SET DEFAULT • Asetetaan viiteavainattribuutin arvoksi attribuuttimäärittelyssä kirjoitettu oletusarvo • Vaihtoehdot ovat siis samat kuin edellä
Tärkeää muistaa • Taulun luominen • ON UPDATE ja ON DELETE • CASCADE, RESTRICT, SET DEFAULT • Viite-eheysrikkomuksiin otetaan kantaa sen taulun määrittelyssä, jossa viiteavaimet sijaitsevat