See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Modello relazionale - Wikipedia

Modello relazionale

Da Wikipedia, l'enciclopedia libera.

Il modello relazionale è un modello logico di rappresentazione dei dati implementato su sistemi di gestione di basi di dati (DBMS), detti perciò sistemi di gestione di basi di dati relazionali (RDBMS). Esso si basa sull'algebra relazionale e sulla teoria degli insiemi ed è strutturato attorno al concetto di relazione (detta anche tabella).

Venne proposto da Edgar F. Codd nel 1970 per semplificare la scrittura di interrogazioni sui database e per favorire l’indipendenza dei dati; venne reso disponibile come modello logico in DBMS reali nel 1981.

Oggi è uno dei modelli logici più utilizzati, implementato su moltissimi DBMS sia commerciali che open source.

[modifica] Il modello

L'assunto fondamentale del modello relazionale è che tutti i dati sono rappresentati come relazioni; i dati sono manipolati con gli operatori dell'algebra relazionale.

Il modello relazionale consente al progettista di database di creare una rappresentazione consistente e logica dell'informazione. La consistenza viene ottenuta inserendo nel progetto del database appropriati vincoli, normalmente chiamati schema logico. La teoria comprende anche un processo di normalizzazione in base al quale viene selezionato tra le diverse alternative lo schema maggiormente "desiderabile". Il piano di accesso e altri dettagli operativi vengono gestiti dal motore del DBMS e non dovrebbero trovare spazio nello schema logico: questo è in contrasto con la pratica corrente in molti DBMS di ottenere miglioramenti delle prestazioni attraverso modifiche dello schema logico.

La struttura base del modello relazionale è il dominio o tipo di dato, definito come l'insieme dei valori che può assumere un determinato attributo. Una tupla è un insieme non ordinato di valori degli attributi. Un attributo è una coppia ordinata di "nome di attributo" e "nome di tipo", mentre un valore di attributo è un valore specifico valido per quel tipo di dato.

Una relazione consiste di una testata e di un corpo, dove la testata è un insieme di attributi e il corpo è un insieme di n tuple. La testata di una relazione è anche la testata di ciascuna delle sue tuple.

La tabella è la rappresentazione grafica normalmente accettata per rappresentare la relazione.

Il principio base del modello relazionale è che tutte le informazioni siano rappresentate da valori inseriti in relazioni (tabelle); dunque un database relazionale è un insieme di relazioni contenenti valori e il risultato di qualunque interrogazione (o manipolazione) dei dati può essere rappresentato anch'esso da relazioni (tabelle).

[modifica] Applicazione ai database

Il tipo di dato come viene usato nei database relazionali può essere un insieme di numeri interi, un insieme di caratteri alfanumerici, l'insieme delle date, i valori booleani vero e falso, e così via. I corrispondenti "nomi di tipo" per saranno le stringhe "int", "char", "date", "boolean", etc. Da sottolineare che da una parte la teoria relazionale non definisce quali tipi vadano supportati, e dall'altra molti sistemi garantiscono la possibilità di definire tipi di dati definiti dall'utente, in aggiunta a quelli "standard" forniti dal sistema.

Attributo è il termine usato nella teoria per ciò che normalmente si definisce come colonna. Allo stesso modo tabella è normalmente usato al posto del termine teorico relazione. La struttura di una tabella è specificata come una lista di colonne, ciascuna delle quali ha un nome univoco e un dominio, un insieme cioè di valori accettati. Un valore di attributo è il valore di una cella identificata da una specifica coppia riga - colonna, come ad esempio "Mario Rossi" o "2006".

Una tupla è praticamente la stessa cosa di una riga.

Una relazione è la definizione di una tabella (cioè un insieme di colonne) insieme ai dati che vi compaiono. La definizione della tabella è la testata e i dati che vi appaiono sono il corpo, un insieme di righe.

Il modello relazionale risponde al requisito dell'indipendenza dei dati e prevede una distinzione tra il livello fisico e il livello logico: questa sua capacità di astrazione ha fatto la sua fortuna.

[modifica] Altri modelli

Prima dell'avvento del modello relazionale, i DBMS utilizzavano altri due modelli logici di database: il modello gerarchico e il modello reticolare. Sebbene oggi la gran parte dei DBMS aderiscano (o dicano di aderire: v. le 12 regole di Codd) al modello relazionale, in alcuni centri elettronici sono ancora utilizzati DBMS gerarchici o reticolari, specialmente in casi in cui la migrazione avrebbe costi proibitivi. Secondo alcuni autori il modello relazionale potrebbe in futuro cedere il passo a un modello object oriented, ma da una parte i DBMS object-oriented (OODBMS) stentano ad affermarsi, dall'altra i migliori DBMS relazionali stanno rilasciando funzionalità object-oriented, come la possibilità di definire tipi di dato utente.

[modifica] Strumenti di modellazione di dati

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

[modifica] D

[modifica] E

[modifica] K

[modifica] M

[modifica] O

[modifica] P

[modifica] S

[modifica] T

[modifica] U

[modifica] V

[modifica] Voci correlate


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -