Avatar billede mrj615 Nybegynder
25. oktober 2000 - 11:56 Der er 15 kommentarer og
1 løsning

Relationer - hvordan?

Jeg har hidtil mest arbejdet med Access og  mit kendskab til MS SQL er ret begrænset. Men nu skal jeg lave en løsning med MS SQL, og mit spørgsmål er så hvordan man laver relationer i MS SQL? Det kan jeg ikke rigtigt selv gennemskue.

150 point til et brugbart svar!
/mrj
Avatar billede hornshoj Nybegynder
25. oktober 2000 - 12:01 #1
Brug Microsoft Enterprise Manager!
Jeg ved godt det er et ringe svar, men gennem den kan du jo oprette tabeller og derefter i Diagrams oprette dine relationer!
Avatar billede kasseper Nybegynder
25. oktober 2000 - 12:19 #2
du kan bruge references i dine create sætninger.
f.eks.

Create Table Test (ID  char(20),
                  Name VarChar(20),
                  Primary key (ID),
                  Foreign Key (name) references Adresse )

Så er der en relation mod en anden tabel der hedder adresse....
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 12:37 #3
>>kasseper
Hvad er forskellen på at bruge int og char?
Jeg arbejder med en database der oprindelig er lavet i Access og konverteret til MS SQL, og ID står til at have datatypen int.
/mrj
Avatar billede moa Nybegynder
25. oktober 2000 - 12:39 #4
Udvidelse til Kasseper\'s svar: såvidt jeg husker skal man også angive hvilken attribut i din Adresse-tabel du \"references\". Og at det du refererer skal være enten primary key, eller erklæret \"unique\" og \"not null\" Eks med to tabeller:

CREATE TABLE Adresse (
    Name VarChar(20) not null,
    By VarChar(50),
    Primary Key (Name))

CREATE TABLE Test (
    som kasseper\'s pånær sidste linie
    Foreign Key (Name) references Adresse(Name))
Avatar billede kasseper Nybegynder
25. oktober 2000 - 12:51 #5
mrj deter ligegyldigt hervalgte jeg bare char, du kan fint bruge int....
moa det er kun hvis din key i adresse ikke hedder navn...Men ellers er det rigtigt
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 13:10 #6
Det er alt sammen meget godt, men nu ved jeg ikke rigtig hvor jeg skal skrive alt det her... som sagt jeg er nybegynder i forhold til MS SQL.
/mrj
Avatar billede kasseper Nybegynder
25. oktober 2000 - 13:21 #7
Det vil nok være for vidt gående at begive sig ud i brugen af MS SQL, så hvis du kan finde en manual kan jeg kun anbefale dig det....
Avatar billede moa Nybegynder
25. oktober 2000 - 13:28 #8
Kasseper: Det med \"References\" var jeg ikke klar over, men så lærte jeg også noget idag ;-)
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 13:38 #9
Nu er det sådan at jeg ikke lige har en manual eller 400-500 kr (eller hvor meget sådan en nu koster) hvor der står MS SQL manual på ;-)

Så jeg må jo nok bare gøre det på den enkle måde som hornshoj foreslog. Så derfor går pointne dertil.

Men under alle omstændigheder  tak for hjælpen.
/mrj
Avatar billede kasseper Nybegynder
25. oktober 2000 - 13:40 #10
point fuzk, det var ikke det dit spg. gik på......;-[Grrrrrrr
Avatar billede kasseper Nybegynder
25. oktober 2000 - 13:43 #11
Hvis du ikke kan finde ud af det så vil jeg anbefale dig at blive i kravlegården [access] der bliver du da guidet til det du gerne vil...
Avatar billede kasseper Nybegynder
25. oktober 2000 - 13:43 #12
Ja,  jeg er bitter
Avatar billede moa Nybegynder
25. oktober 2000 - 15:04 #13
Rolig nu kasseper ;-), Hornshoj\'s accepterede svar er jo faktisk en ganske udmærket løsning på det originale spg. (det er vist kun gamle dinusaurusser, som os to, der ikke anvender de grafiske tool\'s til DB-management, men istedetfor foretrækker en gammeldav\'s sql-promt ;-)).

Men okay, så er der selvfølgelig tillægsspg\'et om Int vs. Char! - det burde måske nok have affødt lidt point til dig også?!

Men og gå så vidt og kalde det pointfusk, synes jeg er lige voldsomt nok!

Jeg håber selvfølgelig ikke at du tager mig disse meninger ilde op, kasseper, men jeg syntes bare ikke at dine temmelig \"hårde\" kommentarer skulle stå alene.

/moa :-)
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 15:50 #14
>>kasseper
Jeg sidder iøjeblikket og laver en opg. hvor jeg af forskellige årsager er nød til at bruge MS SQL, det er altså ikke mit valg...

Jeg spurgte om en brugbar løsning (brugbar for mig vel at mærke) her og nu og da jeg ikke kan finde ud af hvordan f... BIP jeg skal bruge dit forslag og med henvisning til din kommentar \"det vil være for vidt gående at begive sig ud i brugen af MS SQL, så synes jeg hornshoj skulle ha\' pointne...
Jeg undskylder meget hvis jeg har fornærmet dig, men at du kalder det pointfusk synes jeg er at gå for vidt, for det har aldrig været hensigten med dette spm!!!
Jeg ville gerne kunne bruge sql-promt\'en lige som dig, og det kommer forhåbentlig også en dag, men sagen er at jeg skulle bruge en løsning her og nu, da mit projekt skal være færdigt.
Dit svar er sikkert godt nok (hvad ved jeg?!), men det var bare ikke til at gå til for mig, da jeg som sagt ikke er så erfaren i at bruge MS SQL, hvilket jo netop var årsagen til at jeg spurgte! ;-)

/mrj
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 15:56 #15
Men for at råde lidt bod på skaden vil jeg da gerne gi\' 50 point for tillægsspg\'et om Int vs. Char, som moa skriver! Jeg opretter et spm! ;-)
/mrj
Avatar billede mrj615 Nybegynder
25. oktober 2000 - 16:41 #16
>>kasseper
Så er der oprettet et spm!
http://www.eksperten.dk/spm/30280
/mrj
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