Kleine Tabellen mit 2 CMP Verbindungen

Dieser Bereich dient dazu, neue Features zu diskutieren und für die Entwicklung zu dokumentieren. // This area is dedicated to new features including proposals and documentation.
Gesperrt
GeneralCrime
Beiträge: 67
Registriert: 14.12.2011, 07:13:16

Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von GeneralCrime » 09.07.2013, 16:24:32

Hallo,
mittlerweile arbeite ich sehr viel mit dem GORM.

Viele meiner Tabellen habe ich dadrauf umgestellt jedoch fallen mir einige Tabellen auf wo es meiner Meinung nach keinen sinn macht.

Bsp:
1. Tabelle Ressourcen
2. Tabelle Stützpunkte

nun habe ich eine 3 Tabelle:
3. Stützpunkt/Ressource
aufbau
RessourceID
BaseID
Amount
Modi..
Creat..

um das nun optimal auf den GORM zu packen werden aus der 3 Tabelle 3
cmp_resource2baseresource
cmp_base2baseresource

und die alte Tabelle hat eine ID bekommen während die 2 alten rausgeflogen sind.

wäre es nicht möglich solche Tabellen auch beim GORM mit verwalten zu könne.

Grund ist das ich dadurch eben halt platz spare und vor allem diese lästige id der 3 Tabelle nicht habe.


mfg Christian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von dr.e. » 10.07.2013, 09:05:08

Hallo Christian,

ich bin mir nicht sicher, ob ich dich richtig verstanden habe. Soweit ich verstanden habe, möchtest du Platz in der Datenbank sparen und eine Tabelle weniger anlegen, da die Beziehung einfach eine 1:n-Ausprägung hat. Richtg?

Falls ja: der GORM bildet auch 1:n- bzw. n:1-Beziehungen über Beziehungstabellen ab, damit du nachträglich in der Lage bist, die Beziehung auch in n:m zu realisieren und da die Implementierung des GORM dadurch einfacher wird. Für den Speicherplatz auf der Datenbank hat das nahezu keine Auswirkung, da Beziehungstabellen sehr klein im Vergleich zu den Datentabellen sind.

Hoffe das hilft dir weiter! Falls nicht, gib mir vielleicht ein mehr Details, was du genau erreichen möchtest.
Viele Grüße,
Christian

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

Re: Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von Megger » 10.07.2013, 12:17:36

Ich denke es hat auch etwas mit den Beziehungstabellen zu tun! Wir hatten irgendwann mal darüber gesprochen den Beziehungen auch Attribute mitgeben zu können!
Die 3 Tabellen werden ja mit dem GORM mehr, da er die 1:n Beziehungen über Beziehungstabellen löst und man eine eigene Tabelle braucht um die Attribute aus der ehemaligen Beziehungstabelle abbilden zu können
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: 67
Registriert: 14.12.2011, 07:13:16

Re: Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von GeneralCrime » 13.07.2013, 21:23:39

Ja megger hat es erkannt es ist im Grunde so das die Beziehngstabelle einfach die werte Creation.. Modification... und eben halt die attribute bekommt.

Es ist halt viel übersichtlicher.

Den ich habe zb nur
4 Ressourcen
jedoch x Stützpunkte

nun löse ich es derzeit so das das Stützpunkt Object auf die DataSource zugreift und dann das objekt lädt welches BaseID und ResosurceID hat. die derzeitige BaseResourceID (Prim) ist total sinnlos vorhanden.

In dem Object findet sich dann halt wie schon gesagt Creation und Modifi zudem Amount und ResUpdateTime.

Es ergibt sich somit für mich keinen sinn dafür extra Tabellen an zu lege.
Wären nun mehr verbindungen oder viel mehr daten vorhanden würde ich es akzeptieren.

Stelle mir das so vor das in der objects.ini dann zb ein zusätzlicher Tag existiert:
[BaseResource]
Source_Object1 = Base
Source_Object2 = Resource
Amount = "DECIMAL(20,10) NOT NULL DEFAULT '0'"
ResUpdate = "TIMESTAMP DEFAULT '0000-00-00 00:00:00'"

daraus wird dann halt BaseID, ResourceID, Amount, ResUpdate und dem realtions wird es automatisch hinzugefügt:
nur eine ->loadRelationObject('BaseResource',$Base,$Resource);
alle des Stützpunktes ->loadRelationObjects('BaseResource',$Base);
alle der ressource ->loadRelationObjects('BaseResource',$Resource);

ich weis ich verlange vielleicht viel sind halt nur dinge die mir bei meiner arbeit auffallen und ich einfach besser gelöst finde da 50% meiner tabellen so aufgbaut sind.

Benutzeravatar
dr.e.
Administrator
Beiträge: 4527
Registriert: 04.11.2007, 16:13:53

Re: Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von dr.e. » 15.07.2013, 21:55:05

Hallo GeneralCrime,

vorneweg: du verlangst nicht viel, du zeigst lediglich die Grenzen der aktuellen Implementierung auf. :) Ferner ist es absolut legitim, die aktuelle Implementierung hinsichtlich gewünschten und für die tägliche Arbeit benötigte Features zu erweitern. Wir hatten die Diskussion über Beziehungs-Atribute bereits in der Vergangenheit geführt und ich halte das für eine sinnvolle Erweiterung.

Ich schlage daher vor, dass wir - z.B. basierend auf deinem Vorschlag - ein Proposal im Wiki schreiben und über die Features und die Art der Umsetzung diskutieren. Sobald wir Konsens haben, darf das Feature gerne sofort jemand umsetzen. Einverstanden?
Viele Grüße,
Christian

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

Re: Kleine Tabellen mit 2 CMP Verbindungen

Beitrag von GeneralCrime » 20.07.2013, 23:12:02

Einverstanden habe das Theme nun auch gefunden wo es schonmal erwähnt wurde. Die sahce mit der Config finde ich sehr gut.

viewtopic.php?f=10&t=266&hilit=composit ... dern#p2114

Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast