---
title: "databasdesign"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/21730-databasdesign"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "Eclipse"
published: "2001-10-29T19:16:00.000Z"
updated: "2001-11-05T20:24:00.000Z"
replies: 13
views: 201
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/21730-databasdesign"
---

# databasdesign

## #1 — Eclipse, 2001-10-29T19:16Z

Det finns en major bkackdraft med GetRows() och det är om man länkar ihop flera tabeller, man kanske får upp till 50 värden på en rad, och sedan kommer på att man missade en viktig post. Klämmer man in den så kanske man har oturen att posten hamnar i början av frågan...

...vilket gör att alla sidor som är beroende av den tabellen i olika typer av frågor \*KAN\* bli helt fel...

Genom att klämma in en enda post kan man ju förstöra en hel webbplats!

Ni som är kungar på området, hur gör ni... Eller hur gör ni **inte**!

\---
**OT**
Denna webbplatsen funkar inte med Netscape.
 <http://www.design-gruppen.nu/>

Permalänk: https://www.webforum.nu/p/21730

## #2 — @nders, 2001-10-29T19:19Z

Lägger till fältet sist i selectlistan.
Jag specificerar alltså alla fält som skall hämtas. Fälten kommer ju ut i resultatet i den ordning de specificeras i listan.

Lägger du bara till sist, så är det ju ingen risk att du förstör andra referenser till arrayindex i applikationen.

Mvh,

Permalänk: https://www.webforum.nu/p/353028

## #3 — spango, 2001-10-29T20:20Z

Inte för att jag ens kommer i närheten av asp under mina dagliga sysslor, men en bra variant vore väl att deklarera konstanter som motsvarar det index kolumnerna kommer att få i matrisen som kommer från getRows.

Permalänk: https://www.webforum.nu/p/353029

## #4 — Eclipse, 2001-10-30T07:35Z

Jag tror det skulle fungera med SQL Server men jag tror inte det går med Access.

I SQL Server kan man "baklänges" fråga hur många tabeller som finns, vad dom heter, namnen på kolummerna och vad dom innehåller. Man kan alltså göra ett webbaserat administratinsverktyg (precis som phpMyAdmin) för att hantera själva databasen. Det fungerar inte med Access.

Nån guru på området kanske kan rätta mig på denna punkten för jag vill inte påstå att jag är supersäker på min sak...

Permalänk: https://www.webforum.nu/p/353030

## #5 — Eclipse, 2001-10-30T07:37Z

**@nders**
Ahh! Smart ass igen! :-) Typiskt, jag brukar bara köra den slöa varianten med stjärnan... klart att det blir krångligt då!

Då ska jag bara säga till kunden att jag måste göra om lite, men det går fort... :-)

Permalänk: https://www.webforum.nu/p/353031

## #6 — Eclipse, 2001-10-31T19:00Z

Det var inte \*så\* himmla jobbigt att göra om allt, det var snarare befriande!

Nu blir dokumantation och eventuell framtida underhåll osv mycket enklare.

Bättre sent än aldrig... Det känns bra!

Permalänk: https://www.webforum.nu/p/353032

## #7 — Eclipse, 2001-10-31T19:56Z

**While we're at it...**

Jag frågade i en tidigare tråd om hur man kopplar ihop fyra tabeller och fick väl aldrig något riktigt bra svar på det.

Om någon känner sig manad ska jag inte hindra er att posta förslag!

Jag har förövrigt gjort om delar av projektet så jag tror jag slipper använda mig av den tekniken men man vet ju aldrig...

Permalänk: https://www.webforum.nu/p/353033

## #8 — LarsG, 2001-10-31T20:05Z

```
select * from t1,t2,t3,t4
 where t1.id = t2.id
   and t2.id = t3.id
   and t3.id = t4.id
```

Permalänk: https://www.webforum.nu/p/353034

## #9 — Eclipse, 2001-10-31T20:14Z

Var det så enkelt!?

Varför håller man på och krånglar med inner join och left join då?

Det kanske finns fördelar i andra fall men  då kan man kanske applicera tillvägagångssättet när det ger klara fördelar! Eller är jag helt plockad bakom en cirkusvagn...

Permalänk: https://www.webforum.nu/p/353035

## #10 — LarsG, 2001-10-31T20:18Z

Om du enbart har inner join behöver man aldrig använda join-syntaxen, det går lika bra att skriva på det sättet som jag gjorde.

Däremot om du har minst en (left/right) outer join, så måste du använda en join i from listan.

Permalänk: https://www.webforum.nu/p/353036

## #11 — Eclipse, 2001-10-31T20:27Z

Jaha... Ja, jag får nog experimentera lite med det där. Gör jag det kanske jag fattar varför man ska använda join över huvud taget!

Tack för koden i alla fall.

Permalänk: https://www.webforum.nu/p/353037

## #12 — LarsG, 2001-10-31T20:38Z

Det tråkiga med join-syntaxen är att olika dbms tillåter olika saker. T.ex. så kräver access att man skriver

```
select * from ((t1 inner join t2 on t1.id = t2.id) inner join t3 on t2.id = t3.id) inner join t4 on t3.id = t4.d
```

medan mysql, däremot inte tillåter att man har med parenteser. 

Enligt standard så kan man ha med parenteserna om man vill. Det är också så att Access kräver att man har med ordet inner eller outer vilket inte heller är enligt standard.

Permalänk: https://www.webforum.nu/p/353038

## #13 — Eclipse, 2001-10-31T21:02Z

Wow...! Är detta nya rön eller har det varit så länge!? 

Dessa aspekter har jag inte sett diskuteras i tidigare trådar, vilket därmed inte sagt att det inte har diskuterats.

Tack för dina inlägg!

Permalänk: https://www.webforum.nu/p/353039

## #14 — Eclipse, 2001-11-05T20:24Z

**Note!**

Efter grundlige efterforskningar (trial en error eller blod, svett och tårar...) kan jag meddella att skillnaden mellan join och det andra, enklare sättet är att om man skriver JOIN LEFT behöver det andra tabellen ej finnas.

Använder man den andra varianten förutsätts att alla data redan finns.

Hajar ni!? Förmodligen är jag ensam i hela forumet att inte känna till detta men nu vet jag det i alla fall.

jag ville bara säga att det finns en skillnad och om man inte tar hänsyn till det blir det "either BOF or EOF, maybe the selected post is deleted".

:-)

Permalänk: https://www.webforum.nu/p/353040

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/21730-databasdesign
