[Erledigt] Datenbank Normalisierung wie weit macht es sinn?

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
GeneralCrime
Beiträge: 77
Registriert: 14.12.2011, 07:13:16

[Erledigt] Datenbank Normalisierung wie weit macht es sinn?

Beitrag von GeneralCrime » 14.12.2011, 07:32:55

Hallo,
lange hats gedauert aber nun bin ich doch recht verwirrt.

Mein Problem liegt bei dem GORM und seine mir recht stark ausgeprägter zwang die Datenbank in einer möglichst hohne Normalisierung auf zu bauen.

Beispiel

Tabelle 1
ent_person
PersonID

Tabelle 2
ent_auto
AutoID
Kenzeichen

Tabelle 3
ent_fabrikat
FabrikatID
Name

Tabelle 3
comp_person2auto

Tabelle 4
comp_auto2fabrikat

Nun nehmen wir an ich möchte ein Menü erstellen. Die angemeldete Person sieht dort seine Autos die ihm gehören als Link, welche dann zu weiteren Informationen führen.
Der Name des Links setzt sich aus dem Fabrikat und des Kennzeichens zusammen BSP: Ford Ka (BSP-R553).

Um das anzeigen zu können müste ich wenn ich es richtig verstehe 2 anfragen abgeben:
1. Autos der Person über comp_person2auto
2. Fabrikat des Autos über comp_auto2fabrikat

Soweit scheint mir das logisch zu sein jedoch stellt sich mir die Frage: Warum comp_auto2fabrikat wenn jedes Auto nur 1 Fabrikat hat. Da könnte ich mirdoch 1 ganze Tabelle sparen, zumal diese sehr groß werden könnte je mehr Daten drin liegen.

Ich muss dazu sagen das ich mich noch nicht 100% mit dem GORM auseinandergesetzt habe ich lediglich erstemall verstehen wollte wie die Datenbank aufgebaut sein muss.

PS: Ist mein erster Post hier nutze das Framework schon seit 1 Jahr und davon seit 3 Monaten intesiv im Original vorher hab ichs nur nachprogramiert (Da ich so recht schnell lerne und verstehe).

mfg Christian
Zuletzt geändert von GeneralCrime am 15.12.2011, 18:58:54, insgesamt 1-mal geändert.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Datenbank Normalisierung wie weit macht es sinn?

Beitrag von Megger » 14.12.2011, 12:09:32

Der Vorteil ist, dass der Zugriff immer der gleiche ist, d.h. der GORM muss nicht wissen um was für eine Beziehung es sich handelt und wie er diese Beziehung abfragt.

Ich nehme an, dass die Angaben sich sehr selten ändern, dann wäre in dem Fall Caching vielleicht eine interessante Methode!
Da könnte ich mirdoch 1 ganze Tabelle sparen, zumal diese sehr groß werden könnte je mehr Daten drin liegen.
So eine Datenbanktabelle kann sehr viele Datensätze aufnehmen und da ein entsprechender Index definiert ist, sollte das keine Probleme machen!
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

GeneralCrime
Beiträge: 77
Registriert: 14.12.2011, 07:13:16

Re: Datenbank Normalisierung wie weit macht es sinn?

Beitrag von GeneralCrime » 15.12.2011, 17:05:02

Hm naja ich bin mal gespannt hab mich nun erstmal dadran gemacht die komplette Datenbankstruktur meines Projekts auf zu baun.

Es sind sage und schreibe 43 Tabellen davon 19 Datentabellen und 24 Verbindungen (ASS,CMP). Vieleicht ist es auch nur ungewohnt mit so einer menge an Tabellen zu arbeiten.

Megger
Beiträge: 1233
Registriert: 04.11.2008, 10:57:37

Re: Datenbank Normalisierung wie weit macht es sinn?

Beitrag von Megger » 15.12.2011, 17:15:39

Ja es ist erstmal seltsam damit zu arbeiten, so ging es mir auch am Anfang, aber inzwischen will ich nicht mehr ohne arbeiten :D

Und bisher ist deine Anzahl an Tabellen doch noch recht überschaubar ;)
Tutorial: Browsergame mit dem APF (Die ersten Parts handeln von Installation und Inbetriebnahme des APFs, deswegen sicherlich auch für alle Nicht-Browsergame-Programmierer interessant)

APF-Version
  • Entwicklung: 2.0
  • Produktiv: 1.15

GeneralCrime
Beiträge: 77
Registriert: 14.12.2011, 07:13:16

Re: Datenbank Normalisierung wie weit macht es sinn?

Beitrag von GeneralCrime » 15.12.2011, 18:58:38

Ok dann werd ichs mal weiterführen.
Danke für die schnellen antworten.

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste