Backomania-Webapp-DB-Bilder: Difference between revisions

From Elch-Wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
=== Konzeptuelle Überlegungen ===
== Konzeptuelle Überlegungen ==
* Sprach-Konvention: unit ::= Rezept | Teilrezept | Step | Zutat | User
* Sprach-Konvention: unit ::= Rezept | Teilrezept | Step | Zutat | User
* Eine unit kann beliebig viele Bilder enthalten
* Eine unit kann 0..n Bilder enthalten
* Ein Bild kann in 0..m units verwendet werden
* Die Reihenfolge der Bilder in einer unit ist relevant
* Die Reihenfolge der Bilder in einer unit ist relevant
* Ein Bild kann in mehreren units verwendet werden
* Jeder User kann seine Bilder beliebig in Verzeichnissen ordnen
* Jeder User kann seine Bilder beliebig in Verzeichnissen ordnen (virtueller Pfad), Verzeichnisse werden nur zur Verwaltung der Bilder gebraucht, sind also ein reines Anzeige-Vehikel
Ergo: Bilder stehen zu units in einer n:m Beziehung, es braucht eine Zwischentabelle.


 
=== Tabelle "bilder" ===
Tabelle "bilder" mit Spalten:
* id (der physikalische Name im Filesystem wird aus der id gebildet!)
* id (der physikalische Name im Filesystem wird aus der id gebildet!)
* user (der das Bild raufgeladen hat)
* user (der das Bild raufgeladen hat)
* path (virtueller "pfad" für die Sortierung oder id eines Pfades in einer separaten Tabelle?)
* extension (.jpg, .png oder .gif)
* alttext (Text zum Bild)
* pfad_id
* pfad_position
* bemerkung (Text zum Bild)
* approved (Flag ob das Bild freigegeben ist)
* approved (Flag ob das Bild freigegeben ist)
* t_create, t_update


Tabellen Rezept/Teilrezept/Step/Zutat/User müssen geändert werden, so dass eine Liste von Bildern "lop" (List of Pictures, analog zum los / List of Steps) geführt werden kann.
=== Tabelle "bilder_pfade" ===
* id
* user (dem dieser Eintrag gehört)
* name
* public (wird dieser Pfad und die darin enthaltenen Bilder im User-Profil angezeigt?)
* t_create, t_update


Beim Anzeigen können die Bilder einer unit mit gleichem Pfad gruppiert werden. Dies sollte genügend Flexibilität geben.
=== Tabelle "bilder_units" ===
* unit (1=Rezept, 2=Teilrezept, 3=Step, 4=Zutat, 5=User, ...)
* id_unit (in der gewählten Unit, welche id?)
* unit_position
* id_bild (welches Bild?)

Latest revision as of 17:42, 14 April 2008

Konzeptuelle Überlegungen

  • Sprach-Konvention: unit ::= Rezept | Teilrezept | Step | Zutat | User
  • Eine unit kann 0..n Bilder enthalten
  • Ein Bild kann in 0..m units verwendet werden
  • Die Reihenfolge der Bilder in einer unit ist relevant
  • Jeder User kann seine Bilder beliebig in Verzeichnissen ordnen

Ergo: Bilder stehen zu units in einer n:m Beziehung, es braucht eine Zwischentabelle.

Tabelle "bilder"

  • id (der physikalische Name im Filesystem wird aus der id gebildet!)
  • user (der das Bild raufgeladen hat)
  • extension (.jpg, .png oder .gif)
  • pfad_id
  • pfad_position
  • bemerkung (Text zum Bild)
  • approved (Flag ob das Bild freigegeben ist)
  • t_create, t_update

Tabelle "bilder_pfade"

  • id
  • user (dem dieser Eintrag gehört)
  • name
  • public (wird dieser Pfad und die darin enthaltenen Bilder im User-Profil angezeigt?)
  • t_create, t_update

Tabelle "bilder_units"

  • unit (1=Rezept, 2=Teilrezept, 3=Step, 4=Zutat, 5=User, ...)
  • id_unit (in der gewählten Unit, welche id?)
  • unit_position
  • id_bild (welches Bild?)