Avatar billede bredum Nybegynder
23. juni 2002 - 20:01 Der er 7 kommentarer og
4 løsninger

constraint - hvad er det

Jeg har glemt hvad constraint er, og hvad man bruger det til... håber der er nogle der kan svare... eller vise mig nogle eks.
Avatar billede lequet Nybegynder
23. juni 2002 - 20:11 #1
Se på de to stykker kode her

create table tablename
(rowname constraint(number),
rowname constraint(number);

og

create table employee
(first varchar(15),
last varchar(20),
age number(3),
address varchar(30),
city varchar(20),
state varchar(20));

contraint er altså bare en "betegnelse" for et felts type, sådan som jeg har kunnet finde frem til... Håber du forstår hvad jeg forsøger at sige :)
Avatar billede lequet Nybegynder
23. juni 2002 - 20:13 #2
Altså constraint kan være INT, TEXT, VARCHAR eller alt muligt andet
Avatar billede mjl Nybegynder
23. juni 2002 - 20:13 #3
Engelsk, og betyder : sb tvang; indskrænkning, begrænsning, ufrihed, hæmmethed; generthed.

Noget unikt i hver row...
Avatar billede mjl Nybegynder
23. juni 2002 - 20:16 #4
Tvinge (constraint) til at være unik
Avatar billede tmceu Praktikant
23. juni 2002 - 20:36 #5
Constraints er alt hvad der begrænser indholdet i databasen. Eksempler på constraints i MySQL er som det allerede er nævnt, datatyper men derudover også NULL, Primary Keys og Indexes (unique).
Avatar billede lequet Nybegynder
23. juni 2002 - 20:38 #6
Hmm, en søgning på google kan give mange sjove svar på et spm, men ikke altid 100% korrekt kan jeg se :)
Avatar billede mjl Nybegynder
23. juni 2002 - 20:43 #7
Ja nemlig - Tvinge (constraint) til at være unik...
Avatar billede tmceu Praktikant
23. juni 2002 - 20:44 #8
lequet >> undskyld at jeg siger det så direkte, men det er vel næppe et udtryk for kvalificeret hjælp, blot at slå et spørgsmål op på en søgemaskine.
Avatar billede lequet Nybegynder
23. juni 2002 - 21:05 #9
tmceu > Det er da et synspunkt. Jeg har altid anstrengt mig for at give så konkrete svar som muligt, at det sommetider ikke lykkes beklager jeg da.
Avatar billede a1a1 Novice
24. juni 2002 - 01:46 #10
tja...

svaret på spørgsmålet er lidt lettere...

mySQL understøtter ikke constrains af nogen art....
(så spg. er vel irrelevant i mySQL kat?)

en contrstrain (i database sammenhæng) er som mjl siger "tvinge til at være unik", men det er en database funktion der "checker" om fx. en foreginkey(?) (fx. userID) (et felt der "passer" i den anden tabel ), er unik eller ej.

og hvis databasen understøtter det kan den "tvinge" din insert statement til at slå fejl, hvis du prøver at oprette en post hvor din contstrain (userID) er der i forvejen....

:o)
Avatar billede tmceu Praktikant
24. juni 2002 - 05:42 #11
a1 >> her er du for en gangs skyld noget på afveje. Foreign key constraints er ganske rigtigt endnu ikke understøttet af MySQL, men foreign keys er altså kun én type constraint (der anvendes til at sikre referential integrity).

I brede termer sikrer constraints "data integrity" og for lige at fortsætte fra tidligere, er constraints ikke kun noget der sikrer unikke værdier i en række, men det er det også.

Dette simple statement anvender 3 forskellige constraints:

CREATE TABLE MyTable
(
MyID int NOT NULL,
MyChar varchar(30) NOT NULL,

PRIMARY KEY(MyID)
)

int + varchar er datatype constraints der begrænser den information du kan putte i feltet.

NOT NULL er en såkaldt nullability constraint der yderligere begrænser - at felterne ikke kan indeholde NULL.

Og endelig en primary key constraint, der sikrer at alle rækker i tabellen skal indeholde en unik værdi i feltet MyID.

Kigger man udenfor MySQL er der mange flere typer constraints, men dem kan vi tage en anden gang :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester