| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hallo Schandi, Willkommen in unserem gemütlichen Forum. Hmm, Du hältst Dich sehr bedeckt, was die Art des Spiels angeht (z.B. wieviele Spieler gleichzeitig). Mit den bisherigen Infos sieht das auch nicht gerade nach schön normalisiert aus: Code: nickname_player1 | nickname_player2 | punkte_p1 | punkte_p2 | datum |
| | |
| | |
| Erfahrener Benutzer | Normalisiert wäre eher sowas: Code: results --- user1_id | user2_id | punkte1 | punkte2 | date users --- id | name Code: SELECT users.name AS name, SUM(points1.punkte1) + SUM (points2.punkte2) AS punktzahl FROM users, results AS points1, results AS points2 WHERE users.id = $id AND points1.user1_id = $id AND points2.user2_id = $id
__________________ Nicht jeder Fehler ist ein Bug. |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Ich hätte als normalisiert eher betrachtet: Code: games -------- game_id | date results ------- game_id | user_id | score users ------ user_id | nickname | name . |
| | |
| | |||
| Moderator Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse: Fortgeschritten ![]() ![]() | Zitat:
Was hat denn das absichtliche "denormalisiert" speichern (was ja grundsätzlich aus Performance gründen schon Sinn machen kann) mit "viel Logik in der DB" zu tun? Viel Logik wäre für mich eher die Datenabnk mit Constraints, Triggern, Stored-Procedures - und was weiß ich was es noch für Schweinereien gibt - zuzuballern Um was geht es deinem Freund denn? Performance oder "Übersichtlichkeit" bzw. leichtere Abfragen? Letzteres kann er auch erreichen indem ihr einfach zusätzlich noch ein paar Views anlegt die euch das abfragen erleichtern. Ich weiß nicht ob MySQL inzwischen Materialized Views unterstützt - aber damit lässt sich vllt. auch noch die Performance hochschrauben? Vielleicht solltet ihr euch erstmal darüber klar werden was eure Anwendung können muss und was euch wichtig ist.
__________________ Today you...Tomorrow me. | ||
| | |
| | |
| Neuer Benutzer Registriert seit: 24.07.2007
Beiträge: 2
![]() | An einem Spiel sind immer 2 Personen beteiligt. Der Name in nickname_player1 ist einzigartig und wird als Schlüssel in der Spielerdatenbank benutzt. @nikosch77: achja - dein vorschlag der Normalisierung ist einleuchtend! Views funktionieren anscheinend leider erst ab mysql 5 aufwärts(?) Der server auf dem die Anwendung läuft hat aber nur 4.irgendwas Also der Freund will, dass der PHP Code der die HTML Tabellen erzeugt, leichter zu verstehen ist. Ich hab da halt eine Abfrage reingeschrieben, die alle Spielresultate holt und daraus Gesamtpunktezahl/Schnitt usw. errechnet. Er will diese Daten gleich in der Datenbank haben. ich bin dagegen, weil durchaus falsche Ergebnisse (per hmtl/php forumlar) in die DB eingegeben werden und man dann an verschiedenen Stelle korrigieren muss. Performance sollte eingentlich egal sein. Da wird nur ein paar mal täglich was in die Datenbank eingetragen und wenn es hoch kommt ein paar Hundert mal täglich eine dynamische html Seite mit der Tabelle erzeugt. Danke jedenfalls für die Antworten, da ist schon einiges dabei was ich mir durch den kopf gehen lassen werde. |
| | |
| | |||
| Erfahrener Benutzer | Zitat:
Zitat:
__________________ Nicht jeder Fehler ist ein Bug. | ||
| | |
| | |
| Erfahrener Benutzer Registriert seit: 21.05.2008
Beiträge: 9.937
![]() | Also wenn die Datenbank so angelegt wird wie dein Kumpel es möchte, ist sie performanter und übersichtlicher, aber eben auch nicht normalisiert, was zur Folge hat, dass sie ohne weiteres inkonsistent werden kann, das heißt Daten doppelt führt, die sich gegenseitig widersprechen. Jeder behauptet da erstmal, das kann nicht passieren. Es passiert aber, ganz bestimmt! Ich würde das ganze ausnormalisieren, vielleicht nicht unbedingt bis zum letzten, aber doch soweit wie du es vorgeschlagen hast. Das sah doch für den Anfang schonmal ganz gut aus. Nun hast du eben die Möglichkeit ein wenig Logik an MySQL abzutreten, was den Vorteil hat, dass MySQL schneller ist, der Nachteil ist, MySQL-Berechnungen sind meiner Meinung nach schwieriger zu verstehen (auch wenn sie kompakter sind), was dein Kumpel ja gerade verhindern will. Um was für Spiele gehts denn? |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Design und Code Trennen | TeazY | PHP Tipps 2008 | 29 | 21.05.2008 12:08 |
| Design | Beitragsarchiv | 26 | 04.06.2005 20:56 | |
| mal ne Frage | PHP Tipps 2005 | 7 | 14.04.2005 09:46 | |
| Technische Frage zur Realisation einer Online-Umfrage | Stefano | PHP Tipps 2005 | 5 | 16.03.2005 17:39 |
| Frage zu einer Liste? | HTML, Usability und Barrierefreiheit | 2 | 15.02.2005 16:56 | |
| Frage zu Include | Pimbolie1979 | PHP Tipps 2005 | 4 | 14.02.2005 14:16 |
| Frage zum Design: HTML Formular | HTML, Usability und Barrierefreiheit | 11 | 27.01.2005 22:17 | |
| [PHP] Design Schutz für ein Gästebuch | I-Spy | PHP Tipps 2005 | 5 | 01.01.2005 11:25 |
| Mit Sessionen das Design wählen lassen. | PHP Tipps 2004-2 | 8 | 28.12.2004 08:30 | |
| Hallo und Frage zu dynamischer Veränderung in Textfeldern. | PHP Tipps 2004-2 | 2 | 27.12.2004 22:29 | |
| [Erledigt] Frage zur Funkrionen? | PHP Tipps 2004-2 | 10 | 01.12.2004 09:42 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.