Avatar billede cheeses Nybegynder
15. maj 2007 - 15:25 Der er 7 kommentarer og
2 løsninger

Hvad kaldes dette?

Hej
Jeg ville bare lige vide hvad det tekniske udtryk er for en tabel hvor der er en henvisning til samme tabel.

Noget lignende dette.
!--------------!
!  tree-node  !
!--------------! 1..n
!    ID      !---------!
!              !        !
!  PARENT_ID  !---------!
!              ! 1
!              !
! Mere_data..  !
!              !
!--------------!
hvor henvisningen som sagt skal gå til samme tabel.
Avatar billede pidgeot Nybegynder
15. maj 2007 - 15:39 #1
Det hedder en fremmednøgle.
Avatar billede cheeses Nybegynder
15. maj 2007 - 15:57 #2
hmm. Nej for det er det nemlig ikke. jeg smider lige sql koden til den tabel det drejer sig om:

CREATE TABLE IF NOT EXISTS `sideindhold` (
  `id` int(11) NOT NULL auto_increment,
  `overskrift` varchar(100) NOT NULL ,
  `tekst` text NOT NULL,
  `billede` varchar(100) ,
  `navn` varchar(255),
  `mainid` int(11),
  PRIMARY KEY  (`id`)

Det er main id der henviser til id'et. Men hvad dette hedder har jeg ingen anelse om og det er det jeg gerne vil have et svar på. Men en fremmednøgle er det ikke.
Avatar billede arne_v Ekspert
15. maj 2007 - 17:17 #3
det hedder "self join"
Avatar billede arne_v Ekspert
15. maj 2007 - 17:18 #4
det hedder det ihvertfald naar man faktisk joiner
Avatar billede pidgeot Nybegynder
15. maj 2007 - 17:21 #5
Jo, det er en fremmednøgle. Den vedligeholdes ikke af databasen, men mainid peger stadig på en bestemt record i sideindhold, og det er det der definerer en fremmednøgle - et eller flere felter i den refererende tabel peger på en bestemt record i den refererede tabel.

Hvis du vil bruge et specielt udtryk, hedder det en selv-refererende fremmednøgle (eller rekursiv fremmednøgle) i SQL:2003 (http://en.wikipedia.org/wiki/Foreign_key), men det ændrer ikke på det er en fremmednøgle.
Avatar billede cheeses Nybegynder
15. maj 2007 - 19:58 #6
jeg takker. Jeg har læst lidt på self-join og det er det svar jeg går efter. så hvis du (arne v) lige sætter et svar så får du point. men takker også pidgeot for svaret.
Avatar billede arne_v Ekspert
15. maj 2007 - 22:15 #7
ok
Avatar billede arne_v Ekspert
15. maj 2007 - 22:17 #8
"self join" og "selv-refererende fremmednøgle" er tydeligvis taet beslaegtet
Avatar billede cheeses Nybegynder
15. maj 2007 - 22:43 #9
ja så jeg deler dem mellem jer
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