php.de

Zurück   php.de > Webentwicklung > Software-Design

Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.01.2012, 01:56  
Neuer Benutzer
 
Registriert seit: 25.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
doxa befindet sich auf einem aufstrebenden Ast
Standard Datenbankdesign

Hallo,

war mir nicht sicher ob das Thema hier hingehört, da es sich grundlegend um die Datenbank handelt, ich aber nach der Diskussion- oder wärend dessen - über das Datenbankdesign auch auf das Softwaredesign eingehen möchte.

ich bin dabei eine Software zu planen und sitze gerade am Datenbankdesign.

Mir ist es wichtig, dass ich Entitäten wie z.B. Benutzer, Rolle, Gruppe, Domäne, Kontakte, Projekte etc. möglichst einheitlich behandeln kann um den implementierungsaufwand so gering wie möglich zu halten und um das Rechtemanagement - welches im Datenbangdesign noch nicht berücksichtigt wurde - zu vereinfachen. Außerdem muss gewerleistet sein, dass alle Metadaten auch sprachabhängig gespeichert werden können.

Mein derzeitiges Ergebnis habe ich angehängt. Wie bereits erwähnt fehlt derzeit noch eine Tabelle für Rechte und deren Vergabe auf Objekte.

Ich bin gespannt was für Verbesserungsavorschläge ihr habt und freue mich über Tipps bzw. Erfahrung bezüglich Performance und Skalierbarkeit bei großen Datenmengen.

Viele Grüße
Miniaturansicht angehängter Grafiken
datenbankdesign-datenbankmodell.jpg  

Geändert von doxa (25.01.2012 um 13:28 Uhr).
doxa ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.01.2012, 08:06  
Neuer Benutzer
 
Registriert seit: 25.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
doxa befindet sich auf einem aufstrebenden Ast
Standard Nested Set

Um die Performance zu steigern, habe ich die Tabelle object_link zu einem Nested Set abgeändert und auf die hierarchische Darstellung über id und parent verzichtet.

Außer das es beim einfügen von Knoten länger dauert, sehe ich kein Nachteil bei dem Konzept... Ihr!?
Miniaturansicht angehängter Grafiken
datenbankdesign-datenbankmodell_tree.jpg  

Geändert von doxa (25.01.2012 um 13:21 Uhr).
doxa ist offline   Mit Zitat antworten
Alt 25.01.2012, 20:16  
Neuer Benutzer
 
Registriert seit: 25.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
doxa befindet sich auf einem aufstrebenden Ast
Standard

Um es ein bisschen besser zu verdeutlichen was mein Ziel ist.

Hier mal die Struktur die ich abbilden möchte:
Globale Domöne
-> Gruppe A
---> Benuter A
-> Rolle A
---> Benutzer A
Domäne A
-> Gruppe B
---> Benuter B
-> Rolle B
---> Benutzer B
-> Website A
---> Page A

Jeder Knoten wird im DB Model als Objekt bezeichnet.
doxa ist offline   Mit Zitat antworten
Alt 25.01.2012, 22:12  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Zitat:
Mir ist es wichtig, dass ich Entitäten wie z.B. Benutzer, Rolle, Gruppe, Domäne, Kontakte, Projekte etc. möglichst einheitlich behandeln kann um den implementierungsaufwand so gering wie möglich zu halten
Alle gleich behandeln? Eine Rolle ist rein aus Sicht ihrer Domänen-Funktion etwas deutlich anderes als beispielsweise ein Artikel.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 25.01.2012, 22:25  
Neuer Benutzer
 
Registriert seit: 25.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
doxa befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Alle gleich behandeln? Eine Rolle ist rein aus Sicht ihrer Domänen-Funktion etwas deutlich anderes als beispielsweise ein Artikel.
Ich habe auch schon überlegt die Domäne, Rolle, Gruppe und Benutzer aus der Objekt Struktur zu nehmen und nur noch Dinge wie Projekt, Artikel, News etc. darüber zu verwalten.

Bei der Zuordnung Benutzer -> Gruppe und Benutzer -> Rolle würde ich aber wieder ähnliche, wenn nicht sogar gleiche, Tabellen anlegen. Ich würde gerne alles so generisch wie möglich machen um redundanzen und zusätzlichen Implementierungsaufwand in der Programmierung zu sparen.
doxa ist offline   Mit Zitat antworten
Alt 25.01.2012, 23:04  
Neuer Benutzer
 
Registriert seit: 25.01.2012
Beiträge: 5
PHP-Kenntnisse:
Fortgeschritten
doxa befindet sich auf einem aufstrebenden Ast
Standard

Hier wäre ein Modell in dem die Domäne, Gruppe, Rolle und der Benutzer gesondert behandelt werden.

Nur wie geht man jetzt mit den Sprachabhängigen Daten dieser Entitäten um. Vorher konnte man diese Daten in einer gemeinsamen Tabelle speichern, da die Beziehung klar war. Jetzt müsste ich eine neue Tabelle einführen oder die Übersetzung mittels PHP machen.

Genau das ist der Punkt wo es derzeit bei mir harkt und zusätzlich noch die Performance, da doch viel joints verwendet werden müssen um an alle Daten eines Objekts zu kommen.
Miniaturansicht angehängter Grafiken
datenbankdesign-datenbankmodell_tree_v2.jpg  

Geändert von doxa (25.01.2012 um 23:15 Uhr).
doxa ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Datenbankdesign ecomeback Software-Design 4 04.10.2011 11:26
Datenbankdesign / Normalisierung taurus Datenbanken 1 07.02.2011 10:53
Benutzerrechteverwaltung / Datenbankdesign Adam S Datenbanken 5 01.11.2010 10:37
Datenbankdesign für Reisen 22hase Datenbanken 16 17.09.2010 18:39
Datenbankdesign wernersbacher Datenbanken 3 10.07.2010 16:06
datenbankdesign - server .csv abfragen, werte speichern taurus Datenbanken 42 09.05.2010 17:44
Datenbankdesign für Keywords monk Datenbanken 2 19.01.2010 21:03
Datenbankdesign Screeny Datenbanken 13 29.10.2009 01:50
Datenbankdesign für Onlineshop jonSchmidt Datenbanken 1 24.07.2009 18:41
[Erledigt] Komplexer SELECT (in relationalem Datenbankdesign) + Literaturempfehlung lordnikonkg Datenbanken 4 29.04.2009 23:10
[Erledigt] Datenbankdesign: "Freundschaftsnetzwerk" phyton Software-Design 15 04.10.2008 13:28
Datenbankdesign mit wiederholung shocky Datenbanken 2 15.01.2007 15:37
Datenbankdesign: Reloaded c-f-g Datenbanken 7 29.07.2006 17:24
[Erledigt] [SQL] Datenbankdesign Datenbanken 5 12.04.2005 08:30
Datenbankdesign für Shop mit unterschiedlichen "Typen&a PHP Tipps 2005 27 20.01.2005 16:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbankdesign, datenbankdesign gruppen, datenbankmodell, datenbank design, datenbankmodell shop, datenbankmodell together, das knoten-set, datenbankdesign tutorial, datenbankdesign sql, hierarchisches datenbankmodell, onlineshop datenbank modell, datenbankmodelle, datenbankmodell von forum, datenbank design reise, beanstandung datenbankmodell

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:41 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum