Just nu i M3-nätverket
Jump to content

Hjälp behövs


Andersb79

Recommended Posts

Hejsan

Håller på att försöka visa lite info från min databas. Den har fyra tabeller, och inga relationer. Här visas tre av dem Bestallningar, Kunder, MatRatter

 

Bestallningar

____________

BestId

AnvId

RattId

Antal

Spara

 

Kunder

________

KundId

SessonId

Namn

Nummer

 

MatRatter

__________

RattId

MatId

Ratt

 

Det jag vill är att jag vill är att det ska stå så här på min sida

 

<%= RS("Namn") %>

<%= RS("Antal") %>

<%= RS("Ratt") %>

 

Hur ska min SQL = se ut, snälla någon som kan hjälpa mig, behöver jag dra relationer i Access och i så fall vilka.

 

Tacksam för svar

Anders

Link to comment
Share on other sites

Relationer är till för att para ihop poster i en tabell med poster i en annan.

 

Om jag förstått dina tabeller rätt så ska du ha två relationer:

 

Bestallningar.AnvID -> Kunder.KundID

bestallningar.RattID -> MatRatter.RattID

 

Ett tips är även att inte döpa två fält i olika tabeller till samma sak. Det blir jobbigt att hålla reda på och ser du bara fältnamnet RattID vet du inte om du menar det i MatRatter eller det i Bestallningar.

 

 

Dessutom måste du göra en fråga får att få ut det du vill.

 

 

[inlägget ändrat 2001-11-29 20:38:13 av M Andersson]

Link to comment
Share on other sites

Själv skulle jag lägga upp tabellerna på följande sätt:

 

 

Kunder

------

KundID < PN

Namn

Nummer

 

 

Beställningar

-------------

BestID < PN

KundID

Datum

 

 

Beställningsrad

---------------

BestID

RattID

Antal

 

 

MatRatter

---------

RattID < PN

Ratttyp

Rattnamn

 

'PN' markerar vilka fält som måste vara primära nycklar.

 

Observera att jag har lagt till en kopplingstabell 'BeställningsRad'. Detta är nödvändigt, eftersom jag anser att en kund kan beställa flera olika rätter åt gången. Därför är denna nödvändig för att undvika redundans (dubbellagring) och för att inte bryta mot '3:e normaliseringsformen'.

 

Datum har lagts in i tabellen Beställningar. Det kan ju vara intressant att veta NÄR en beställning gjorts.

 

Jag har också bytt attributet AnvID mot KundID. Detta skall göra det lättare att sedan kunna se vart man ska dra relationerna. Jag har också uteslutit attributen SessonID och Spara, då jag inte kan förstå vad de ska användas till.

 

Relationerna skall se ut så här:

 

----Rel 1----

Kunder.KundID -> Beställningar.KundID

 

Relationen skall vara av typen en-till-många (1:N). 'En' på kundsidan och 'många' på beställningar-sidan. Eftersom en kund kan göra många beställningar, och en beställning kan endast ha EN beställare.

 

----Rel 2----

Beställningar.BestID -> Beställningsrad.BestID

 

Relationen skall vara av typen en-till-många (1:N). 'En' på bästellningar och 'många' på beställningsrad-sidan. Eftersom en beställning kan innehålla många rätter.

 

----Rel 3----

Beställningsrad.RattID -> Maträtter.RattID

 

Relationer i det här fallet skall till skillnad mot de två första vara N:1, dvs många-till-en!

 

 

-----

Detta är det "nästan" bästa sättet att göra databasen på och undvika redundans och inte bryta några regler.

 

Relationerna ÄR nödvändiga, annars kommer inte din databas fungera överhuvudtaget då det utan relationer inte finns någon "kontakt" mellan dessa.

 

När det gäller SQL-satser måste jag erkänna att jag är rätt dålig på detta, och vill inte ens ge in mig på det. Det finns säkert någon annan som kan det!

 

Fast du ska nog i så fall beskriva mer utförande vad du vill att sql satserna skall göra. Så att den som kan SQL kan hjälpa dig på ett bättre sätt.

 

Men databasen skall fungera i alla fall om du gör som jag sagt! Möjligen saknas några attribut men det är en fråga om vad DU VILL ha med.

 

RattTyp kan möjligen också brytas ut i en egen tabell för lättare ändring vid ett senare tillfälle. Om man kanske vill av någon anledning ändra Soppa till Paj så slipper man göra ändringar i varje post där Soppa förekommer. Men detta är ÖVERKURS! ;)

 

Kom också ihåg att det skall vara referensintegritet mellan tabellerna. (Detta ställs in när man drar relationerna)

 

 

Hoppas du fått lite hjälp på vägen!

 

 

 

 

 

 

 

 

 

________________________________________________

MagicBoy

-Läser Programmet för Informatik med Systemvetenskap på Mälardalens Högskola, Västerås.-

 

Skulle vara 'tufft' med några poäng. Förtjänar jag inte dem? ;)

 

 

 

 

[inlägget ändrat 2001-11-30 00:14:09 av MagicBoy (Almir)]

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...