Progettazione di basi di dati: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
→Collegamenti esterni: Aggiunto il template "Portale" |
|||
| (20 versioni intermedie di 14 utenti non mostrate) | |||
Riga 1:
{{torna a|Base di dati}}
{{C|Questa definizione della progettazione di basi di dati confonde il concetto di relazione con quello di associazione fra relazioni, ci sono molti refusi e non consente la comprensione del concetto di progettazione di database né delle modalità con cui tale processo si esplica. Deve essere riscritta completamente!|informatica|febbraio 2018}}
{{U|verso=da|Schema di database|multi1=Progettazione logica|multi2=Modello concettuale (informatica)|informatica|maggio 2024}}
In [[informatica]] la '''progettazione di basi di dati''' è il processo di formulazione di un [[Modello dei dati|modello]] dettagliato del [[Base di dati|database]]. Questo modello contiene tutte le scelte progettuali a livello logico e fisico e i parametri fisici di memorizzazione necessari per la generazione del [[Data Definition Language|data definition language (DDL)]], che può essere usato per l'implementazione del database. Un modello dei dati completamente specificato contiene i dettagli specifici per ogni singola entità.
== Descrizione ==
Il termine progettazione di basi di dati può essere usato per descrivere diverse parti della progettazione in un generico [[Database management system|database management system (DBMS)]]. Principalmente, e più correttamente, può essere pensato come la progettazione logica della struttura dati di base usata per memorizzare i dati. Nel [[modello relazionale]] queste strutture sono le [[Tabella (database)|tabelle]] e le [[Vista (basi di dati)|viste]]. In una [[base di dati ad oggetti]] le entità e le relazioni sono mappate direttamente alle classi di oggetti e ai nomi delle relazioni. Tuttavia, il termine database potrebbe anche essere utilizzato per applicare il generico processo di progettazione, non solo le singole strutture dati di base, ma anche le schermate e interrogazioni usate come parte di una generica applicazione per database presente all'interno del DBMS.<ref name="Gehani">{{cita|Gehani
Lo sviluppo del database generalmente consiste in un numero di passi effettuati dal progettista del database. Solitamente, esso deve:
Riga 12 ⟶ 14:
* Sovrapporre una struttura logica sopra i dati sulla base delle relazioni precedentemente definite.<ref name="Teorey, T.J. 2009">Teorey, T.J., Lightstone, S.S., et al., (2009). Database Design: Know it all.1st ed. Burlington, MA.: Morgan Kaufmann Publishers</ref>
All'interno del modello relazionale l'ultimo passo di sopra può generalmente essere spezzato in due parti ulteriori, quella di definire il raggruppamento delle informazioni all'interno del sistema, generalmente definendo quali sono gli oggetti base su cui le informazioni sono memorizzate, e poi definire le relazioni tra questi gruppi di informazioni, o oggetti. Questo step non è necessario con un base di dati ad oggetti.<ref name="
=== Definizione dati da memorizzare ===
Nella maggioranza dei casi, chi progetta il database è una persona che possiede competenze in tale campo, piuttosto che competenze nel dominio applicativo dei dati da memorizzare. Ad esempio financial information, biological information ecc. Pertanto, i dati da memorizzare devono essere definiti in cooperazione con un esperto di dominio, che è consapevole di quali dati devono essere memorizzati nel nuovo sistema.
Questo processo è uno di quelli comunemente considerati parte dell'[[analisi dei requisiti]], e richiede che il progettista abbia le competenze necessarie per sfruttare al meglio le conoscenze di dominio applicativo. Questo avviene perché spesso chi progetta il database non riesce esprimere con chiarezza quali sono i requisiti del sistema siccome non è abituato a pensare in termini dei dati che devono essere memorizzati. Tali dati possono essere rilevati tramite un'apposita specifica dei requisiti.<ref>Teorey, T.; Lightstone, S. and Nadeau, T.(2005) ''Database Modeling & Design: Logical Design'', 4th edition, Morgan Kaufmann Press. ISBN 0-12-685352-5</ref>
=== Definizione relazioni tra i dati ===
Una volta che il progettista è consapevole di quali dati memorizzare all'interno della base di dati, deve definire
=== Strutturazione Logica dei dati ===
{{Vedi anche|Schema di database|Tablespace}}
Una volta che le
Il modo in cui questa mappatura è generalmente fatta è tale che ogni insieme di dati correlati che dipende da un singolo oggetto, se reale o astratto, è collocato in una tabella. Le relazioni tra questi oggetti dipendenti è allora memorizzato come collegamento tra i vari oggetti.
Riga 70 ⟶ 67:
=== Progettazione Fisica ===
Il design fisico di un database precisa la configurazione fisica di un database sui supporti di memorizzazione. Questo include dettagliate specifiche dei [[data element]], [[tipo di dato]], [[Indice (basi di dati)|indicizzazione]] e altri parametri risiedenti nel [[data dictionary]] del DMBS. È la progettazione dettagliata di un sistema che include moduli e le specifiche hardware e software del sistema.
Riga 78 ⟶ 74:
== Bibliografia ==
* {{cita libro|titolo="[http://www.ateneonline.it/catlibro.asp?item_id=2986 Basi di dati 4/ed]" |autore= Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone|anno=2014 |ISBN=978-88-386-6587-5}}
* {{cita libro|autore=Narain Gehani|titolo=The Database Book: Principles & Practice using MySQL|ed=1|anno=2006|editore=Silicon Press|isbn=0-929306-35-X|lingua=en|cid=Gehani}}
* S. Lightstone, T. Teorey, T. Nadeau, “Physical Database Design: the database professional's guide to exploiting indexes, views, storage, and more”, Morgan Kaufmann Press, 2007. ISBN 0-12-369389-6
* M. Hernandez, "[http://www.informit.com/store/database-design-for-mere-mortals-a-hands-on-guide-to-9780321884497 Database Design for Mere Mortals]: A Hands-On Guide to Relational Database Design", 3rd Edition, Addison-Wesley Professional, 2013. ISBN 0-321-88449-3
== Voci correlate ==
{{Div col}}
* [[Normalizzazione (informatica)]]
* [[Relational database management system|Database relazionale]]
Riga 99 ⟶ 97:
* [[Web semantico]]
* [[Three schema approach]]
{{Div col end}}
== Collegamenti esterni ==
* [http://www.sqlteam.com/article/database-design-and-modeling-fundamentals Database Design and Modeling Fundamentals]
* [https://support.office.com/en-US/article/Database-design-basics-EB2159CF-1E30-401A-8084-BD4F9C9CA1F5 Database design basics]
* [http://databases.about.com/od/specificproducts/a/normalization.htm Database Normalization Basics] {{Webarchive|url=https://web.archive.org/web/20070205184226/http://databases.about.com/od/specificproducts/a/normalization.htm |date=5 febbraio 2007 }} by Mike Chapple (About.com)
* [https://web.archive.org/web/20110928000244/http://www.databasejournal.com/sqletc/article.php/1428511 Database Normalization Intro], [https://web.archive.org/web/20110708233620/http://www.databasejournal.com/sqletc/article.php/26861_1474411_1 Part 2]
* {{Cita web|url=
* {{Cita web|url=
* {{Collegamento interrotto|1=[http://tinycc.me/DybeLE Efficient Database Design] |data=dicembre 2019 |bot=InternetArchiveBot }}
* [https://web.archive.org/web/20190505222423/http://en.tekstenuitleg.net/articles/software/database-design-tutorial/intro.html Relational database design tutorial]
{{Portale|informatica}}
{{DEFAULTSORT:Progettazione di Basi di Dati}}
| |||