PDA

View Full Version : [diagrammi er/progettazione db] che casino, aiuto!


ndakota
29-12-2008, 21:19
ciao ragazzi, quest'anno il programma scolastico prevede:

- progettazione database
- sql
- php

quindi per i fatti miei vorrei provare a fare un piccolo forum, con funzionalità proprio di base, giusto a scopo didattico insomma.

ora, la cosa in cui ho più difficoltà è la progettazione. Non capisco molto come fare le cose. Visto che l'esercizio me lo sono trovato io non ho un testo però a grandi linee ho pensato nella mia mente le cose che deve fare il mio forum, ve le descrivo:

- il forum prevede inizialmente una specie di installazione dove si inserisce il nome del forum in un form.
- il forum è composto da sezioni/thread/post, le sezioni possono essere create solo dall'amministratore mentre thread e post anche da utenti e moderatori(questi sonoi tre tipi di utenti che ci sono).
- il forum tiene traccia di tutti i login(con username e password inseriti e data e ora).
- l'amministratore può nominare nuovi amministratori e/o moderatori.

ora, ho iniziato a fare il diagramma er ma penso che molto di quello che ho fatto sia sbagliato e molte cose che mancano non saprei proprio come rappresentarle, qualcuno può darmi una mano?? grazie. aiutatemi a capire come procedere non fatemi le cose voi.

EDIT: avrei da farvi vedere l'immagine di quello che ho fatto finora ma non riesco ad upparla da nessuna parte(è quasi 3 MB) qualche consiglio??

http://img119.imageshack.us/img119/1963/erforumjh7.th.png (http://img119.imageshack.us/my.php?image=erforumjh7.png)

ndakota
04-01-2009, 13:20
proprio nessuno?

CozzaAmara
04-01-2009, 16:34
Parti magari da una visione Top-Down della cosa (come hai anche già fatto), butta giù una descrizione letterale (scrivi proprio come se fosse un tema) di cosa si tratta il progetto, di cosa è composto e cosa si può fare con esso.

Questo in primis ti può aiutare a trovare tutti i "soggetti" del DB a grosso modo indentificabili poi come tabelle (ripeto a grosso modo).

Oltre alle "macro sezioni" che hai individuato e che per iniziare possono andare bene, prova poi anche a pensare in modo "bottom-up", ovvero partendo dai dettagli della rappresentazione dati in modo da capire quali e quanti sono e da li "sintetizzarli".

Un utente quali dati avrà immagazzinato a DB?
Un post quali informazioni tratterà a sua volta?
E i Thead?
ecc.

In questo modo (e come un processo inverso al primo) puoi arrivare a capire come organizzare l'intera struttura del DB.

Una volta trovato un buono schema di base puoi passare a normalizzare in vari passaggi.

Da li definisci poi i vincoli di integrità referenziale, regole di business ecc.

Non sono un grande esperto spero di possa essere utile in attesa di qualche più autorevole consiglio.

Ciao.

CozzaAmara
04-01-2009, 16:39
Se vuoi un buon libro su cui studiare ti consiglio:

"Progettare database" di Micheal J. Hernandez.

Di lettura estremamente semplice (non è un vero libro-mattone sulla teoria dei DB relazionali) ma è molto ben fatto e utile.

ndakota
05-01-2009, 12:32
per il libro sono a posto ho "basi di dati" di atzeni & co che ha una parte tutta dedicata alla progettazione però boh non mi riesce proprio sta cosa :cry: