---
title: "Förbättring av design"
type: "forum-thread"
url: "https://www.webforum.nu/amne/webbutveckling/53617-förbättring-av-design"
topic: "Webbutveckling"
topic_url: "https://www.webforum.nu/amne/webbutveckling"
author: "MMats"
published: "2002-09-18T12:47:31.000Z"
updated: "2002-09-18T14:48:03.000Z"
replies: 1
views: 455
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/webbutveckling/53617-förbättring-av-design"
---

# Förbättring av design

## #1 — MMats, 2002-09-18T12:47Z

Efter att fått frågan om min databasdesign verkligen är optimal och 
efter att ha jobbat med den så börjar jag inse att den inte är det. 
Frågan är vilken design som är att föredra istället.

Jag har ett antal produkter som ligger i olika mindre lådor. Dessa mindre lådor
ligger flera stycken i större lådor som i sin tur finns i olika rum.

```
 _______________________________________
|Hus                                    |
|    _________________________________  |
|   |Rum   _________________________  | |
|   |     | Stor  ________________  | | |
|   |     | låda |Liten           | | | |
|   |     |      |låda   _______  | | | |
|   |     |      |      |Produkt| | | | |
|   |     |      |       -------  | | | |
|   |     |       ----------------  | | |
|   |      -------------------------  | |
|    ---------------------------------  |
 ---------------------------------------
```

                                     
I den gamla designen jag hade hade produkten 4 stycken fält i sin tabell,
fldBuilding, fldRoom, fldBigBox, fldSmallBox. 

Det medförde att jag vid varje nytillkommen produkt var tvungen att ta reda
på var varje låda befann sig. Det borde ju räcka med att ta reda på i vilken 
liten låda man lagt den. Sedan borde ju den lilla lådan veta själv var den är. 
Då finns det ju dessutom ingen risk att flera produkter säger att en låda befinner 
sig på olika ställen.

Min tanke när det gäller den nya designen är att varje låda håller reda på sig själv.

dvs man har olika tabeller för lådorna och rumen som har relation med varandra.

```
    ______________
   |tblProdukt    |
   |--------------|
   |fldProduktID  |
   |fldProduktNamn|
   |fldSmallBox   |----
    --------------     |
    _______________    |
   |tblSmallBox    |   |
   |---------------|   |
   |fldSmallBoxID  |<--
   |fldSmallBoxName|
   |fldBigBox      |--
    ---------------   |
    _____________     |
   |tblBigBox    |    |
   |-------------|    |
   |fldBigBoxID  |<---
   |fldBigBoxName|
   |fldRoom      |--
    -------------   |
    ____________    |
   |tblRooms    |   |
   |------------|   |
   |fldRoomID   |<--
   |fldRoomName |
   |fldBuilding |------
    ------------       |
    _______________    |
   |tblBuildings   |   |
   |---------------|   |
   |fldBuildingID  |<--
   |fldBuildingName|
    ---------------
```

På det sättet blir det mindre dubbelt data i databasen och man behöver hålla reda på 
mindre vid inmatning.

Men å andra sidan är det i princip samma typ av data man har i alla dessa tabeller 
(utom tblProdukt) så det kanske vore bättre med en enda tabell som relaterar till sig själv?

```
    _________________    
   |tblLocations     |   
   |-----------------|   
   |fldLocationID    |
   |fldLocationName  |
   |fldParentLocation|
    -----------------
```

Vad tycker ni? Finns det kanske en design som är bättre?

Tack på förhand 

MMats

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

## #2 — Chainsaw, 2002-09-18T14:48Z

Den sistnämnda är helt klart elegantast.

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

---

Tråden på webben: https://www.webforum.nu/amne/webbutveckling/53617-förbättring-av-design
