AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Designfrage - Tabellenlayout
Thema durchsuchen
Ansicht
Themen-Optionen

Designfrage - Tabellenlayout

Ein Thema von fkerber · begonnen am 22. Nov 2009 · letzter Beitrag vom 23. Nov 2009
 
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#1

Designfrage - Tabellenlayout

  Alt 22. Nov 2009, 11:07
Datenbank: MySQL • Version: 5 • Zugriff über: php --> mysqli
Hi!

Es geht um ein grundsätzliches Design-Problem für eine Datenbank. Ich versuche mal kurz den momentan Aufbau zu umreißen - vllt. ist dieser schon der bestmögliche, vielleicht aber auch nicht:
Es gibt in dem System Schüler und Lehrer. Für jeden gibt es momentan eine Tabelle - diese sind recht ähnlich, d.h. es gibt 10 gemeinsame Attribute und jeweils ein Attribut, das die andere "Gruppe" nicht hat.
In vielen anderen Tabellen können an gleicher Stelle Schüler oder Lehrer auftauchen, d.h. zum Beispiel der Verfasser einer Nachricht kann ein Schüler oder ein Lehrer gewesen sein. In dieser Nachrichten-Tabelle (und vielen anderen) ist es so gelöst, dass man als Verfasser z.B. "S4711" oder "L1337" drin stehen hat.
Wenn es dann darum geht den Namen des Verfassers zu ermitteln, wird über das erste Zeichen geswitched und abhängig davon entweder aus der Schüler-Tabelle gefetched oder aus der Lehrertabelle.

Die einzige Alternative, die mir jetzt einfällt wäre die folgende:
Alle "Teilnehmer" sind in einer Tabelle mit insgesamt 12 oder 13 Attributen - 12 wenn ich einfach die 10+2*1 nehme und das Vorhandensein des 11. bzw. 12. Wertes als Flag benutze - 13 wenn ich noch ein "ist-Lehrer-Flag" benutzen würde.
Dann hätte ich eine "global" eindeutige Teilnehmer-ID. Im Gegenzug dazu fange ich mir einige tausend NULL-Einträge in der Datenbank ein und die DB-Abfragen werden etwas komplizierter (dafür entfällt vorher der PHP-Aufwand).

Jetzt meine Frage:
Ist Variante 1 besser oder Variante 2?
Oder gibt es gar eine noch bessere Variante 3, die ich noch nicht sehe/kenne?

Danke und liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz