CASE -kuvaus
Luonti
Ylläpito
Perusavaimen määrittelet taulun perustamisen yhteydessä PRIMARY KEY -määreellä kentän tietotyypin perään tai määrittelyn loppuun. Perusavaimen voit luoda myös indeksin perustamisen yhteydessä . Käytännössä perusavaimen toteutus on aina yksikäsitteinen indeksi! Määrittelyn voit tehdä 3:lla eri tavalla:
Syntaksi: Perusavaimen voit määritellä suoraan kentän määrittelyn perään PRIMARY KEY -avainsanoilla: CREATE TABLE taulu ( kenttä1 tietotyyppi [(pituus)] NOT NULL PRIMARY KEY, … ); Voit myös nimetä perusavaimen rajoitteeksi eli käyttää "CONSTRAINT nimi" -määrettä. Tätä tapaa käytettiin ennen - enää se ei ole kaikissa toteutuksissa välttämätöntä. Tällä tavalla nimeät perusavaimen toteutuksen eli indeksin itse. Jos jätät CONSTRAINT -määreen pois - tietokannan hallintajärjestelmä nimeää perusavaimen eli indeksin itse.
CREATE TABLE taulu
( kenttä1 tietotyyppi [(pituus)] NOT NULL CONSTRAINT pkey PRIMARY KEY,
…
);
tai voit määritellä perusavaimen kenttäluettelon jälkeisen rajoitteen avulla. Tätä joudut käyttämään aina kun perusavain muodostuu useammasta kuin yhdestä kentästä!
CREATE TABLE taulu
( …
PRIMARY KEY (perusavain1, [perusavain2],...)
);
Voit myös nimetä perusavaimen "CONSTRAINT nimi" -määreellä Lisäksi voit määritellä perusavaimen perustamalla yksikäsitteisen indeksin WITH PRIMARY -määreellä
Esimerkkejä: Quality -taulun perusavaimen määrittely:
CREATE TABLE Quality
(
qualityID VARCHAR (8) NOT NULL PRIMARY KEY,
name VARCHAR(25), …
) Type = InnoDB;
- tai
CREATE TABLE Quality
( qualityID VARCHAR (8) NOT NULL,
name VARCHAR (50), …
PRIMARY KEY (qualityID) );
Yhdistetty perusavaimen, joka koostuu siis useammasta kuin yhdestä kentästä, voit tehdä vain tavalla.
Esimerkki yhdistetyn avaimen luomisesta:
CREATE TABLE Block
( qualityID VARCHAR (8),
blockID INTEGER,
blockmarkID CHAR (2), ... ,
PRIMARY KEY (qualityID, blockID, blockmarkID)
) Type = InnoDB;