Pagina 1 di 1

Progettazione basi di dati forum

MessaggioInviato: 11 dic 2007, 19:27
di diegofio
Non è un vero e proprio argomento di programmazione stretta, comunque mi pare la sezione più indicata.

Per l'esame di basi di dati ho una tesina (n'altra :D ) da fare e presentare all'orale: si tratta di progettare una base di dati per un caso reale, per esempio una biblioteca, o un negozio.
Io ho scelto di progettare il forum di amdplanet :lol:
ora non scherziamo....se michele usasse il mio database cadremmo a picco, quindi non preoccupatevi :lol:

più che altro ho intenzione di progettare il database di un forum semplificato, il grado di semplificazione lo deciderò via via strada facendo.

ho pensato che poteva essere utile per qualcuno se inserivo il lavoro. spero che qualcuno che fa l'esame con me non veda sto topic :asd:
ho già fatto la parte di progettazione su carta, sto scrivendo il tutto sul pc. in questo modo vedrete se non lo avete mai visto prima come si progetta -male :asd: - una base di dati, da cima a fondo (anche se ho intenzione di fermarmi al mysql altrimenti dovrei impararmi il php e per ora non se ne parla) e cosa c'è, seppur in modo più semplificato, sotto il cofano di amdplanet, o meglio phpbb.
ovviamente in sto modo se qualcuno trova errori o cavolate ci guadagno pure io :asd:

è un argomento piutosto semplice quindi può seguirlo anche uno che non sa una mazza di ste robe, come il sottoscritto [bigsmile]

adesso trovo il modo di aggiungere il file pdf

eccolo
Tesina (v. 4)

Re: Progettazione basi di dati forum

MessaggioInviato: 11 dic 2007, 20:32
di Ibanez89
interessantissimo... la tesi me scippo... sogno molto ignorante in materia... cmq che fregatura non figuro nelle foto k utente :( male, molto male

Re: Progettazione basi di dati forum

MessaggioInviato: 11 dic 2007, 23:04
di Cesena'88
e magari adesso riesco a capire cosa c'è d tanto pesante nel phpbb3 rispetto al 2.....

cmq dai interessante.... :D

Re: Progettazione basi di dati forum

MessaggioInviato: 12 dic 2007, 11:19
di nemesys_72
bel progettino diego..

Re: Progettazione basi di dati forum

MessaggioInviato: 12 dic 2007, 17:23
di diegofio
grazie ;)

ho messo su la seconda versione. la parte di introduzione iniziale è praticamente terminata, adesso comincia la progettazione vera e propria... anche se ovviamente anche quello scritto finora ne fa parte... si insomma in parole povere adesso cominciano i casini :asd:

Re: Progettazione basi di dati forum

MessaggioInviato: 12 dic 2007, 18:17
di diegofio
questa è una bozza del modello ER. ma bozza bozza :asd:
Immagine

allora i quadrati indicano delle entità, ovvero oggetti della realtà che vogliamo rappresentare, nel nostro caso ad esempio un utente, un topic, un post...
a ciascuna entità saranno associate varie istanze, per esempio all'entità utente saranno associati tutti gli utenti del nostro sito (ogni utente è una istanza, così come in programmazione abbiamo le istanze di un oggetto). nemesys_72, ibanez89, siamo tutte istanze di una stessa entità utente.
ogni entità e descritta da un nome ("utente" appunto) e da una lista di attributi. questi ultimi descrivono le proprietà dell'entità stessa. quindi nickname, password eccetera sono tutte proprietà (attributi) dell'entità utente, per ogni istanza di utente avranno un ovviamente certo valore.
lo stesso discorso per tutti gli altri rettangoli.

spiego adesso il significato dei rombi. quelle sono associazioni ovvero dei legami tra diverse entità. per esempio abbiamo un evidente legame tra utente e gruppo: gli utenti fanno parte di gruppi e i gruppi contengono istanze di utenti.
anche per le associazioni esiste il concetto di istanza. in pratica vedendo l'associazione come un oggetto, un'istanza dell'associazione "partecipa" tra utente e gruppo è una cosa del tipo:
(utente, gruppo)
cioè una coppia ordinata che contiene una istanza dell'entità utente (per esempio l'istanza cesena88) e un istanza dell'entità gruppo (per esempio redazione).
esiste una definizione matematica di tutto questo (associazione = sottoinsieme del prodotto cartesiano delle entità partecipanti) che porta al fatto che non ci possono essere ripetizioni: in pratica esisterà una sola coppia ordinata (cesena88, redazione), nessun altra contiene queste due istanze di entità in questo ordine.

i numeri sopra le linee che collegano entità ed associazioni: essi formalmente indicano il numero minimo e massimo di istanze dell'associazione a cui ciascuna istanza di entità può partecipare. se avete capito quanto detto prima probabilmente ragionandoci un po ci arrivate comunque con un esempio è semplice. prendendo l'associazione partecipa tra utenti e gruppi, è evidente che ciascun utente può partecipare da uno a più gruppi: da qui la coppia (1,N). sul lato opposto un gruppo può comprendere da uno o più utenti, quindi anche qui (1,N).
prendiamo ora l'associazione "posta" tra utente e post: un utente può avere da 0 a N post, mentre un post può essere scritto da un minimo di 1 ad un massimo di... 1 utente, ovvero c'è un unico autore. quindi potrebbe essere che non esiste nessuna coppia ordinata (cesena 88, post) nel caso in cui cesena88 non abbia ancora postato nulla. invece nel nostro caso reale esistono oltre 2000 (cesena88, post), dove con post si sostituisce l'istanza dell'entità post riferita al particolare post di cesena88 considerato di volta in volta.

spero di esser stato chiaro visto che ho scritto un po' di fretta
se avete domande chiedete pure

Re: Progettazione basi di dati forum

MessaggioInviato: 12 dic 2007, 23:59
di thrantir
modello entità relazioni? Io l'ho sempre trovato scomodo, tanto vale usare il modello a oggetti :-)

ho dato una scorsa veloce allo schema, qualcosa non mi torna, ma sono molto arrugginito sull'argomento

in giro dovresti trovare qualche tool che ti permette di generare i diagrammi, di fatto sono tutti simboli usati nell'UML :-)

sarà senzaltro interessante discutere insieme del tuo lavoro :-)

Re: Progettazione basi di dati forum

MessaggioInviato: 13 dic 2007, 01:16
di diegofio
grazie matteo, per il modello ad oggetti...beh devo per forza seguire uno schema che va dal modello ER a quello relazionale sono vincolato.

quello è uno schemaccio, ci sono sicuramente degli errori. l'ho messo solo per poter scrivere e spiegare dei concetti che ovviamente non mi sarei messo a spiegare nella tesina, ovvero cosa significano quei simboli. altrimenti chi segue qui non ci avrebbe capito nulla leggendo l'elaborato.

ciaobello.

Re: Progettazione basi di dati forum

MessaggioInviato: 13 dic 2007, 08:50
di tonertemplum
appena riesco a trovare 2 min 2 voglio buttarci un occhio... di sicuro sarà interessante....

grande diego, anche per voler condividere i tuoi studi col forum :D

Re: Progettazione basi di dati forum

MessaggioInviato: 13 dic 2007, 15:23
di thrantir
hai buttato giu', in modo informale, le entita' e le relazioni?

Re: Progettazione basi di dati forum

MessaggioInviato: 13 dic 2007, 15:34
di diegofio
le entità e le associazioni sono nell'immagine :)

il modello relazionale lo sto mettendo a posto per avere tabelle in forma normale più stringente possiible

Re: Progettazione basi di dati forum

MessaggioInviato: 13 dic 2007, 18:48
di diegofio
ho messo su la nuova versione, con parte dello schema logico.

Re: Progettazione basi di dati forum

MessaggioInviato: 14 dic 2007, 10:44
di thrantir
diego.fiozzi ha scritto:le entità e le associazioni sono nell'immagine :)

il modello relazionale lo sto mettendo a posto per avere tabelle in forma normale più stringente possiible


sisi, mi chiedevo se avessi buttato giu' le cose in modo verbale, non schematico... una sorta di analisi+specifica dei requisiti

Re: Progettazione basi di dati forum

MessaggioInviato: 09 gen 2008, 12:14
di diegofio
ho messo su la nuova versione, quasi definitiva visto che venerdi ho l'orale.

ho anche letto per puro caso sul suo sito che voleva 4-5 pagine (era scritto in un'altra parte). va bè se rompe gli spacco la testa

Re: Progettazione basi di dati forum

MessaggioInviato: 09 gen 2008, 15:29
di thrantir
a me sembra un ottimo lavoro diego, complimenti :-)