Ämne: Databasdesign
Visa ett inlägg
Oläst 2005-07-24, 00:59 #13
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
eg0master eg0master är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Oct 2004
Inlägg: 898
Citat:
Originally posted by Robert@Jul 23 2005, 14:19
I det projekt jag sitter på nu har man ca 137tabeller, 685sp's, och ett snitt på 15kolumner per tabell. Många av sp'arna genereras av ett verktyg som verkligen uppskattar att en kolumn kan visa vilken tabell den härör ifrån ELLER vilken tabell den pekar på. Att tex ha 137 tabeller där varje unik id-kolumn heter 'id' är inte skoj, speciellt inte när en tabell har en fk som ska peka mot en annan tabells id... då ska det synas vilken tabell den ska peka mot genom att läsa på kolumnnamnet.
Inte ska du behöva skriva en novell...
Och ang användandet av verktyg så kan jag tänka mig att ett verktyg (eftersom den som gjorde verktyget var lat) genererar/kräver att kolumnnamn innehåller tabellnamn. Men eftersom det då handlar om autogenererad kod så är det ju inte mycket att göra åt. Dock så är ju inte det ett argument för att man skall använda den typen av konventioner generellt eftersom jag antar att verktyget du syftar på används av en specifik anledning och inte något som man generellt skulle dra nytta av (för om det är ett generellt verktyg skulle man ju vilja ha ett verktyg som var bättre skrivet och klarade av att hantera kolumnnamn oavsett vad de egentligen heter).

Ang namnsättning på ID så har du helt missförstått vad jag (och andra i denna tråd) sagt. Vi pratar ID kolumnen i en tabell, inte eventuellt FK.
Exempel på hur jag menar:
Kod:
CREATE TABLE Customer (
ID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(50));

CREATE TABLE CustomerContact (
ID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(50),
CustomerID INT NOT NULL /* References Customer.ID */);

SELECT Contact.ID, Customer.ID, Contact.Name, Customer.Name
FROM CustomerContact AS Contact, Customer AS Customer
WHERE Contact.CustomerID = Customer.ID;
För jag hoppas du är medveten om att kolumner som är FK inte behöver ha samma namn som PK kolumnen...
eg0master är inte uppkopplad   Svara med citatSvara med citat