Base di dati relazionale a oggetti

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Il modello di base di dati relazionale a oggetti o database relazionale a oggetti in sigla ORDBMS (object-relational database management system) è un modello di base di dati in cui convergono aspetti del modello relazionale e aspetti del modello a oggetti.

Molte delle idee dei database relazionali a oggetti sono state largamente incorporate in SQL:1999 ed infatti ogni prodotto che aderì a quello standard venne descritto come un software di Base di dati relazionale a oggetti, come: PostgreSQL, DB2, Oracle e Microsoft SQL Server.

I tipi e le tabelle tipizzate

[modifica | modifica wikitesto]

Per lo standard SQL-2003 per le basi di dati ad oggetti esistono i tipi predefiniti, i tipi costruiti (array, multiset, ref e row) e i tipi definiti dagli utenti basati su tipi predefiniti (tipi semplici, strutturati e abstract data type). I tipi e le tabelle tipate possono essere anche ereditate.

La creazione di un tipo semplice (id_impiegato) considerato un intero (INTEGER) e il suo uso in una tabella:

CREATE TYPE id_impiegato AS INTEGER;
CREATE TABLE Impiegati(
id id_impiegato,
nome VARCHAR(50),
età INTEGER,
id_manager id_impiegato);

La creazione di un tipo strutturato:

CREATE TYPE t_film AS
(titolo VARCHAR(30),
regista VARCHAR(20),
anno DECIMAL(4),
genere CHAR(15),
valutaz NUMERIC(3,2))
NOT FINAL;

Il tipo riferimento, REF(t) è il tipo di un identificatore di una tabella tipata

REF (<tipo strutturato>) [SCOPE <nome_tabella> ]

Una tabella tipata è una tabella in cui la struttura di un tipo coincide con quella di un tipo. Le tuple della tabella tipata sono istanze del tipo mentre le colonne corrispondono agli attributi del tipo. Una tabella tipata ha un suo identificatore e non ha bisogno di chiave primaria. La creazione di una tabella tipata:

CREATE TABLE <nome_tabella>
OF <nome_tipo_complesso>
[(
[<opzioni attributi>]
[<vincoli>]
[<identificazione>]
)]

Progettazione di un ORDBMS

[modifica | modifica wikitesto]

Per la conversione di una base di dati relazionale in una relazionale ad oggetti si parte dall'analisi dello schema ER della prima e si individuano gli attributi compositi che diventeranno tipi strutturati, gli attributi multivalore che diventeranno array o multiset, per un'entità rilevante per la base di dati si creerà una tabella. Infine si opta per una tabella tipata, in combinazione con tipi riferimento quando una entità dello schema ER ha un'associazione 1-n. Per la scelta della direzione delle associazioni in casi di bidirezionalità tra le varie entità è a discrezione del progettista che la sceglierà in base alla tipologia di interrogazioni che verranno fatte nella base di dati.

Voci correlate

[modifica | modifica wikitesto]

Altri progetti

[modifica | modifica wikitesto]