Noble Skrevet 16. desember 2010 Del Skrevet 16. desember 2010 Jeg har en ide som trenger en databasebackend, men jeg er usikker på hvordan jeg skal gå frem for å lage en effektiv databasestruktur. Applikasjonen min skal lage relasjoner mellom forskjellige objekter, hvert objekt velger jeg å kalle et atom i denne sammenheng. For alle typer atomer finnes det en blåkopi, dvs dersom to atomer er av samme type har de mulighet for å inneholde samme type informasjon. Feks dersom vi kaller en blåkopi for kontakt, så vil alle typer atomer av typen kontakt ha mulighet for å lagre data i alle feltene som blåkopien har. Alle atomer skal også kunne relateres til hverandre, og det må være tydelig hvem som er parent og hvem som er child. Feks at et atom av typen kontakt har et barn av typen kontakt, eller arbeider i et atom av typen bedrift. Noen forslag? Lenke til kommentar
quantum Skrevet 22. desember 2010 Del Skrevet 22. desember 2010 (endret) CREATE TABLE kontakt ( kontakt_id INTEGER NOT NULL, navn VARCHAR NOT NULL, parent_kontakt_id INTEGER, works_in_kontakt_id INTEGER, CONSTRAINT kontakt_pk PRIMARY KEY (kontakt_id)); ALTER TABLE kontakt ADD CONSTRAINT kontakt_kontakt_fkFOREIGN KEY (parent_kontakt_id)REFERENCES kontakt (kontakt_id)ON DELETE NO ACTIONON UPDATE NO ACTIONNOT DEFERRABLE; ALTER TABLE kontakt ADD CONSTRAINT kontakt_kontakt_fkFOREIGN KEY (works_in_kontakt_id)REFERENCES kontakt (kontakt_id)ON DELETE NO ACTIONON UPDATE NO ACTIONNOT DEFERRABLE;[code] ... blir en veldig enkel modell med kun en tabell dette, men det var ikke så veldig mye konkret informasjon i spørsmålet ditt. Muligens vil du heller ha en egen tabell for "bedrift" og ha fremmednøkkel for works-in-relasjonen mot denne isteden. Det er forøvrig vanligere å kalle "ting" for entiteter, og ikke "atomer", hvis man ønsker å ordlegge seg litt abstrakt Endret 22. desember 2010 av quantum Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå