Progettazione e creazione Database SQL Server 2008 R2

domenica 22 maggio 2011 - 10.57

pasqua62 Profilo | Newbie

Ciao a tutti

insieme ad altri sviluppatori sto realizzando un portale web di servizi per le aziende turistiche e sono arrivato al punto di dover pensare a come realizzare il database SQL. Il progetto è un portale web di grosse dimensioni (almeno questo la nostra idea e speranza) per la presentazione e la divulgazione di informazioni sul territorio, sulle strutture ricettive e sui prodotti: il progetto prende in esame l'intero territorio nazionale. Oltre a questo sarà previsto un servizio di booking, un servizio di streaming audio/video, ed una suite di web application dedicate agli operatori turistici (strutture e Tour Operator).
L'obbiettivo che ci prefiggiamo è quello di inserire migliaia di aziende, quindi, il database dovrà prevedere la gestione di centinaia di migliaia di record, nella fase iniziale, per poi arrivare successivamente a milioni di record.
Ho progettato su carta la struttura del database e il risultato è che saranno necessarie dalle 250 alle 300 tabelle. Non avendo mai fatto un progetto così grosso non so da che parte iniziare.
Quale suggerimento su cosa e come procedere ?.
Grazie.
Bye...



alx_81 Profilo | Guru

>Ciao a tutti
Ciao e benvenuto su dotnethell.it!

>L'obbiettivo che ci prefiggiamo è quello di inserire migliaia
>di aziende, quindi, il database dovrà prevedere la gestione di
>centinaia di migliaia di record, nella fase iniziale, per poi
>arrivare successivamente a milioni di record.
>Ho progettato su carta la struttura del database e il risultato
>è che saranno necessarie dalle 250 alle 300 tabelle. Non avendo
>mai fatto un progetto così grosso non so da che parte iniziare.
>Quale suggerimento su cosa e come procedere ?.
Come puoi ben capire non è semplice definire una struttura del genere.
Al di là della difficoltà, per poter effettuare analisi di modellazione accurate è necessario scomporre sempre il problema in moduli elementari, in modo da renderlo complesso ma come risultato di tanti piccoli moduli.
In generale non ci sono regole standard per procedere in una soluzione come questa. L'unica cosa che mi sento di dirti è quella di partire con le entità essenziali, un modello E/R ben definito sul cuore del database e una struttura solida infrastrutturale.
Da lì poi metti i fiori nel giardino, affrontando una problematica alla volta, senza per forza analizzare il tutto. Questo perchè è molto più importante avere la granularità del dato per supportare ogni funzionalità che vuoi offrire, piuttosto che accorgerti di un refactor necessario che rischi di rompere tutto quanto avevi pensato. Parti dal piccolo e cresci di conseguenza. Pensa ad una buona struttura applicativa che supporti caching e multiutenza (e concorrenza).
Normalizza i più possibile per avere scalabilità su database, ragiona a SET e non a iterazioni il più possibile. Denormalizza dove serve e dove ti dà vantaggi.
In generale questo.. Poi nello specifico non mi sento di entrare senza avere sott'occhio un progetto di tali dimensioni.

>Grazie.
di nulla!

>
>
>

--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5