LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam

Modello relazionale dati

Il modello relazionale si basa sul concetto set-teorico di una relazione. Nelle discipline matematiche esiste un concetto ʼʼ atteggiamento (Relazione), la cui rappresentazione fisica è tavolo ... Da qui il nome del modello - relazionale .

Per quanto riguarda il database, i concetti "database relazionale" e "database tabulare" sono sinonimi. I database relazionali sono i più diffusi al mondo. Quasi tutti i prodotti di database creati dalla fine degli anni '70 sono relazionali.

Nel 1970, apparvero articoli che discutevano delle possibilità di usare vari modelli di dati tabulari. Il più significativo di questi è stato l'articolo del dipendente iBM Codd E.F., un modello relazionale di dati per grandi banche dati condivise. CACM 13: 6, giugno 1970), dove ha applicato per la prima volta termine "modello di dati relazionali" ... Il progetto System R è stato sviluppato presso l'IBM Research Laboratory. Questo progetto è stato concepito con scopo dimostrare la praticità del modello relazionale. DBMS relazionale si riferisce a DBMS seconda generazione.

obiettivi creazione di un modello di dati relazionali:

1. Fornire un livello più elevato di indipendenza dei dati.

2. Creazione solide fondamenta per risolvere problemi di coerenza e ridondanza dei dati.

3. Ampliamento delle lingue di gestione dei dati includendo le operazioni sui set.

I sistemi commerciali basati sul modello di dati relazionali iniziarono ad apparire alla fine degli anni '70 e all'inizio degli anni '80. Oggi ci sono diverse centinaia di diversi tipi di DBMS relazionali.

Il modello relazionale è una forma conveniente e più comune di rappresentazione dei dati nel modulo tavoli (relazioni ). Ogni relazione ha nome e consiste in un nome attributi (colonne) di dati. Uno dei vantaggi di base del modello relazionale è il suo uniformità... Tutti i dati sono memorizzati in tabelle in cui ogni riga ha lo stesso formato. Ogni riga nella tabella rappresenta alcuni oggetti del mondo reale o relazioni tra oggetti.

I concetti di base con cui viene definito il modello relazionale sono i seguenti:

1. database relazionale - una serie di relazioni normalizzate;

2. atteggiamento - file, tabella piatta, costituito da colonne e righe; una tabella in cui ogni campo è atomico;

3. dominio - un insieme di valori ammissibili da cui viene preso il valore dell'attributo corrispondente di una determinata relazione. Dal punto di vista della programmazione, dominio - ϶ᴛᴏ tipo di dati;

4. universo - una serie di valori per tutti i campi o una serie di domini;

5. corteo - record, riga della tabella;

6. cardinalità - il numero di righe nella tabella;

7. attributicampi con nome, colonne di tabella;

8. grado di attitudine - numero di campi (colonne);

9. diagramma delle relazioni - un elenco ordinato di nomi di attributi;

10. schema del database relazionale - una serie di schemi di relazione;

11. chiave primaria - un identificatore univoco con record non ripetitivi - una colonna o un sottoinsieme di colonne che identificano in modo univoco le righe.

Viene chiamata una chiave primaria che include più di una colonna plurale , o combinato , o composito , o super chiave .

Regola di integrità dell'oggetto afferma che la chiave primaria non deve essere completamente o parzialmente vuota.

La relazione tra questi concetti è illustrata in Fig. 4.5.

Nome e cognome Anno di nascita Posizione Dipartimento
1. Ivanov I. I. Testa Dipartimento 22
2. S. S. Sidorov Prof. 22
3. Andreeva G.G. Prof. 22
4. Tsvetkova S. S. docente
5. Kozlov K.K. docente 22
6. Petrov P. P. Arte. Rev. 22
attributi

figura. 4.5. Concetti di base del modello di dati relazionali.

A volte colonne diverse vengono selezionate come chiave primaria in una tabella. Una chiave dedicata è una chiave esplicitamente elencata con lo schema relazionale. Altrimenti, si parla di una chiave implicita, o di una chiave possibile o di una chiave candidata.

12. chiave esterna - ϶ᴛᴏ una colonna o un sottoinsieme di colonne di una tabella che può fungere da chiave primaria per un'altra tabella. La chiave esterna di una tabella è un riferimento alla chiave primaria di un'altra tabella. Poiché lo scopo di costruire un database è di memorizzare tutti i dati, se possibile, in un caso, quindi se un certo attributo è presente in più relazioni, la sua presenza di solito riflette una certa relazione tra le righe di queste relazioni.

Le chiavi esterne implementano le relazioni tra le tabelle del database.

Una chiave esterna, come una chiave primaria, può essere una combinazione di colonne. In pratica, una chiave esterna sarà sempre composita se si riferisce a una chiave primaria composita di un'altra tabella. Il numero di colonne e i relativi tipi di dati nelle chiavi primaria ed esterna devono corrispondere.

Nel caso in cui una tabella sia correlata a diverse altre tabelle, può avere più chiavi esterne.

Ogni tabella relazionale possiede quanto segue proprietà:

Ha un nome ĸᴏᴛᴏᴩᴏᴇ diverso dai nomi di tutte le altre tabelle;

I dati nelle celle della tabella dovrebbero essere strutturalmente indivisibili. È inaccettabile che una cella di tabella contenga più di un'informazione. Per esempio, il numero e la serie del passaporto devono trovarsi in diverse colonne della tabella;

Tutte le colonne nella tabella sono omogenee, ᴛ.ᴇ. tutti gli elementi in una colonna hanno lo stesso tipo (numerico, carattere, ecc.) e lunghezza;

Ogni colonna ha un nome univoco;

Non ci sono righe identiche nella tabella;

L'ordine delle righe e delle colonne deve essere arbitrario, indipendentemente dal loro riordino, la relazione rimarrà la stessa e quindi avrà lo stesso significato.

I concetti di base del modello di dati relazionali sono concetti e tipi. Classificazione e caratteristiche della categoria "Concetti di base del modello di dati relazionali" 2017, 2018.

Modello di dati di rete

Nell'MDS, i dati elementari e le relazioni tra loro sono rappresentati come una rete orientata (i vertici sono dati, gli archi sono relazioni).

I database in rete hanno diversi vantaggi:

· Flessibilità.Molteplici relazioni padre / figlio hanno consentito a un database di rete di archiviare dati più complessi di una semplice gerarchia.

· Standardizzazione. L'emergere dello standard CODASYL, la popolarità del modello di rete e i fornitori di minicomputer come Digital Equipment Corporation e Data General hanno implementato DBMS in rete.

· Prestazioni ad alta velocità. Nonostante la loro grande complessità, i database di rete hanno raggiunto prestazioni paragonabili a quelle dei database gerarchici. I set erano rappresentati da puntatori a record di dati fisici e, in alcuni sistemi, l'amministratore poteva specificare di raggruppare i dati in base a più relazioni.

Sicuro, i database in rete presentavano degli svantaggi. Come i database gerarchici, i database di rete erano molto rigidi. I set di relazioni e le strutture dei record dovevano essere specificati in anticipo. Cambiare la struttura di un database di solito significava ricostruire l'intero database.

Sia il database gerarchico che quello in rete erano strumenti dei programmatori. L'implementazione delle richieste degli utenti è stata spesso ritardata di settimane o mesi e, quando è apparso il programma, le informazioni fornite erano spesso inutili.

È possibile eseguire su dati del modello di rete le seguenti azioni:

· creare un record nel database (a seconda del tipo di inclusione, il record può essere aggiunto o meno alla relazione di gruppo);

· includere un record in una relazione di gruppo (associare un record a un proprietario);

· attiva (associa record subordinato a record proprietario nella stessa relazione di gruppo);

· modificare il valore degli elementi del record precedentemente recuperato;

· recuperare un record per valore chiave o in sequenza all'interno di una relazione di gruppo;

· elimina: quando si elimina un record, è necessario considerare le classi di appartenenza;

· escludere dalla relazione di gruppo (interrompere il collegamento tra il record proprietario e il record subordinato).

Modello di dati relazionali.

Il modello relazionaleè un database in cui tutti i dati disponibili per l'utente sono organizzati sotto forma di tabelle e tutte le operazioni sui dati sono ridotte a operazioni su queste tabelle... Una tabella bidimensionale è una forma visiva di rappresentazione di una relazione. Una tabella ha righe (record) e colonne (colonne). Ogni riga ha la stessa struttura ed è composta da campi. Le righe della tabella corrispondono alle tuple e le colonne agli attributi della relazione. Il vantaggio del modello relazionale sta nella semplicità, chiarezza e convenienza implementazione fisica su un computer. È la semplicità e la chiarezza per l'utente che sono state la ragione principale per usarlo per l'utente. Il problema dell'efficienza dell'elaborazione di dati di questo tipo si è rivelato tecnicamente abbastanza risolvibile. I principali svantaggi sono: mancanza di strumenti standard identificazione record individuali e la complessità della descrizione delle relazioni gerarchiche e di rete. Esempi di DBMS relazionali esteri sono: Visual FoxPro e Access (Microsoft).

Gli elementi principali del modello relazionale: la relazione è il concetto più importante ed è una tabella bidimensionale contenente alcuni dati. L'entità è un oggetto di qualsiasi natura, i cui dati sono archiviati nel database. I dati dell'entità sono memorizzati in una relazione. Proprietà-attributi che caratterizzano l'entità. Nella tabella, è denominato e corrisponde all'intestazione della colonna della tabella. Il dominio è l'insieme di tutti i possibili valori per un attributo specifico di una relazione. Lo schema delle relazioni (intestazione delle relazioni) è un elenco di nomi di attributi. La chiave primaria (chiave di relazione) è un attributo di una relazione che identifica in modo univoco ciascuno dei suoi tappeti. Se le tuple sono identificate solo dalla concatenazione dei valori di diversi attributi, si dice che la relazione ha una chiave composita. Una relazione può contenere più chiavi. Una delle chiavi è sempre dichiarata primaria, i suoi valori non possono essere aggiornati. Tutte le altre chiavi della relazione sono chiamate chiavi candidate.

Vantaggi del modello relazionale:

Semplicità e facilità di comprensione da parte dell'utente. L'unico costrutto informativo usato è "table";

Regole di progettazione rigorose basate su apparecchi matematici;

Completa indipendenza dei dati. Cambiamenti nell'applicazione quando le modifiche al database relazionale sono minime;

Per organizzare query e scrivere software applicativo, non è necessario conoscere l'organizzazione specifica del database durante memoria esterna.

Svantaggi del modello relazionale:

L'area tematica non può sempre essere presentata sotto forma di "tabelle";

Come risultato della progettazione logica, ci sono molte "tabelle". Ciò rende difficile comprendere la struttura dei dati;

Il database occupa una quantità relativamente grande di memoria esterna;

Velocità di accesso ai dati relativamente bassa.

I tre elementi costitutivi di un modello di dati relazionali sono:

§ strutturale

§ manipolativo

§ olistico

Parte strutturale il modello specifica che l'unica struttura di dati è un rapporto a coppie normalizzato. Le relazioni sono rappresentate convenientemente sotto forma di tabelle, in cui ogni riga è una tupla e ogni colonna è un attributo definito in alcuni domini. Questo approccio informale al concetto di relazione offre una forma più familiare di presentazione per sviluppatori e utenti, in cui un database relazionale è un insieme finito di tabelle.

Parte di manipolazione il modello definisce due meccanismi fondamentali per la manipolazione dei dati: l'algebra relazionale e il calcolo relazionale. La funzione principale della parte di manipolazione del modello relazionale è quella di fornire una misura della relatività di un particolare linguaggio di database relazionali: un linguaggio è chiamato relazionale se non ha meno espressività e potere dell'algebra relazionale o del calcolo relazionale.

Parte integrale Il modello definisce i requisiti di integrità dell'entità e integrità di riferimento. Il primo requisito è che ogni relazione deve avere una chiave primaria. Il requisito di integrità referenziale, o requisito di chiave esterna, è che per ogni valore di chiave esterna che appare nella relazione di riferimento, la relazione di riferimento deve avere una tupla con lo stesso valore di chiave primaria, oppure il valore di chiave esterna deve essere indefinito (cioè non indicare nulla).

10. Modello ER "modello di relazione tra entità", normalizzazione dei dati.

Il modello ER (Entity-Relationship model) è un modello di dati concettuali di alto livello che è stato sviluppato nel 1976 per semplificare l'attività di progettazione di database. I concetti di base del modello entità-relazione includono tipi di entità, relazioni e attributi.

Il concetto di base della modellazione ER è un tipo di entità, che rappresenta molti oggetti del mondo reale con le stesse proprietà. Un tipo di entità è caratterizzato da un'esistenza indipendente e può essere un oggetto con un'esistenza fisica (reale) o un oggetto con un'esistenza concettuale (astratta).

Ogni istanza identificabile in modo univoco di un tipo di entità viene semplicemente definita entità. Ogni tipo di entità è identificato da un elenco di nomi e proprietà ed è classificato in due tipi: forte debole. L'esistenza di un tipo debole dipende da un altro tipo, uno forte no.

In uso varietàModello basato su ER maggior parteapprocci moderni alla progettazione di database (principalmente relazionali). Il modello è stato proposto da Chen nel 1976. La modellazione di domini si basa sull'uso di diagrammi grafici che includono un numero limitato di componenti diversi. In connessione con la chiarezza della presentazione di schemi concettuali di banche dati I modelli ER sono ampiamente utilizzati in CASE-strumenti destinati alla progettazione assistita da computer di banche dati relazionali.

Per modellare la struttura dei dati, vengono utilizzati diagrammi ER (diagrammi entità-relazione), che in una forma visiva rappresentano le relazioni tra entità. Di conseguenza, i diagrammi ER si sono diffusi nei sistemi CASE che supportano la progettazione assistita da computer di database relazionali. I più comuni sono i diagrammi realizzati secondo lo standard 1DEF1X, utilizzato dai sistemi CASE più popolari (in particolare, ERwin, Design / IDEF, Power Designer). I concetti di base di un diagramma ER sono essenza, connessionee attributo.

L'essenza

Essence -è un oggetto reale o virtuale che è essenziale per l'area tematica considerata, le informazioni su quale deve essere memorizzato. Senza entrare nei dettagli, possiamo presumere che le entità corrispondano alle tabelle nel modello relazionale. Ogni entità deve avere le seguenti proprietà:

1.have unico identificatore;

Qualsiasi entità può avere un numero arbitrario di relazioni con altre entità.

Nei diagrammi del modello ER, un'entità è rappresentata come un rettangolo contenente il nome dell'entità.

Parte 2. Il modello di dati relazionali

Il modello relazionale è una forma conveniente e più comune di presentazione dei dati sotto forma di tabella.

A differenza di gerarchico e modelli di rete, in questo modo di presentazione:

1. comprensibile per un utente non programmatore;

2. consente di modificare facilmente lo schema - di allegare nuovi elementi e record di dati senza modificare i corrispondenti circuiti secondari;

3. Offre la flessibilità necessaria per gestire richieste impreviste. Inoltre, qualsiasi rete o schema gerarchico può essere rappresentato da relazioni bidimensionali.

Uno dei principali vantaggi del modello relazionale è la sua uniformità. Tutti i dati vengono trattati come memorizzati in tabelle in cui ogni riga ha lo stesso formato. Ogni riga nella tabella rappresenta alcuni oggetti del mondo reale o relazioni tra oggetti.

L'utente del modello deve decidere da solo se le entità corrispondenti del mondo reale sono omogenee. Ciò risolve il problema dell'idoneità del modello per l'applicazione prevista.

I concetti di base con cui viene definito il modello relazionale sono i seguenti:

1.domain,

2. atteggiamento,

3.tuple,

4. cardinalità,

5.attributes,

6.degree,

7. chiave primaria.

La relazione tra questi concetti è illustrata nella Figura 7.

Figura. 7. Concetti di base del modello relazionale


Tabella 7

Questi concetti rappresentano una terminologia speciale introdotta dagli autori delle basi teoriche, tuttavia hanno anche analoghi più familiari (ma non tutti gli equivalenti), la cui corrispondenza è mostrata nella seguente tabella 1.

Dominio è un insieme di valori da cui vengono presi i valori degli attributi corrispondenti di una particolare relazione. Da un punto di vista della programmazione, un dominio è un tipo di dati definito dal sistema (standard) o dall'utente e un insieme di restrizioni aggiuntive imposte a questi dati.

Nelle discipline matematiche, il concetto di "tabella" corrisponde al concetto di "relazione" (relazione). Da qui il nome del modello - relazionale. Cioè, in relazione ai database, i concetti di "database relazionale" e "database tabulare" sono essenzialmente sinonimi.

Chiave primaria è una colonna o un sottoinsieme di colonne unico, ovvero definisce in modo univoco le righe. Una chiave primaria che contiene più di una colonna è chiamata multipla, o combinata o composita. La regola di integrità dell'oggetto afferma che la chiave primaria non può essere completamente o parzialmente vuota, ovvero non può avere un valore nullo.

Il resto dei tasti, che possono anche essere usati come chiavi primarie, sono chiamati potenziali o alternativa chiavi.



Chiave esterna è una colonna o un sottoinsieme di una tabella che può fungere da chiave primaria per un'altra tabella. La chiave esterna di una tabella è un riferimento alla chiave primaria di un'altra tabella. La regola di integrità referenziale afferma che una chiave esterna può essere vuota o corrispondere al valore della chiave primaria a cui fa riferimento. Le chiavi esterne sono parte integrante del modello relazionale perché implementano le relazioni tra le tabelle del database.

Una chiave esterna, come una chiave primaria, può anche essere una combinazione di colonne. In pratica, una chiave esterna sarà sempre composita (multi-colonna) se si riferisce a una chiave primaria composita in un'altra tabella. Ovviamente, il numero di colonne e i relativi tipi di dati nelle chiavi primaria ed esterna sono gli stessi.

Se una tabella è correlata a più altre tabelle, può avere più chiavi esterne.

Il modello ha i seguenti requisiti per le tabelle:

1. i dati nelle celle della tabella devono essere strutturalmente indivisibili 1;

2. i dati in una colonna devono essere dello stesso tipo;

3. ogni colonna deve essere unica (non sono consentite colonne duplicate);

4. Le colonne sono disposte in ordine casuale;

5. le righe vengono inoltre inserite nella tabella in un ordine arbitrario;

6. Le colonne hanno nomi univoci.

In generale, il concetto di modello relazionale è definito dalle seguenti dodici regole Codd (nella lezione, le regole sono date da).

1. Regola delle informazioni. Tutte le informazioni nel database devono essere fornite esclusivamente a livello logico e in un solo modo, sotto forma di valori contenuti nelle tabelle.

2. Regola di accesso garantito. L'accesso logico a tutti gli elementi di dati (valore atomico) in un database relazionale deve essere fornito utilizzando una combinazione di nome tabella, chiave primaria e nome colonna.

3. Regola di supporto per valori non validi. Un database relazionale deve supportare valori non validi che differiscono da una stringa di caratteri di lunghezza zero, una stringa di caratteri di spazi bianchi, zero o qualsiasi altro numero e vengono utilizzati per rappresentare i dati mancanti indipendentemente dal tipo di dati.

4. Regola di un catalogo dinamico basato sul modello relazionale. La descrizione del database a livello logico deve essere presentata nella stessa forma dei dati anagrafici in modo che gli utenti con i diritti appropriati possano lavorare con esso usando lo stesso linguaggio relazionale che usano per lavorare con i dati anagrafici.

5. Regola di una sotto lingua multilingue dei dati. Il sistema relazionale può supportare lingue differenti e modalità di interazione con l'utente (ad es. modalità di domande e risposte). Tuttavia, deve esistere almeno una lingua i cui operatori possono essere rappresentati come stringhe di caratteri in base a una sintassi ben definita e che supporti pienamente i seguenti elementi:

Definizione dei dati;

Definizione delle viste;

Elaborazione dati (interattivo e software);

Condizioni di integrità;

Identificazione dei diritti di accesso;

Confini delle transazioni (inizio, fine e annullamento).

6. Regola di aggiornamento delle viste. Tutte le viste teoricamente aggiornabili dovrebbero essere aggiornabili.

7. La regola di aggiungere, aggiornare ed eliminare. La capacità di lavorare con una relazione come singolo operando dovrebbe esistere non solo durante la lettura dei dati, ma anche durante l'aggiunta, l'aggiornamento e l'eliminazione di dati.

8. Regola di indipendenza dei dati fisici. I programmi applicativi e le utilità per lavorare con i dati dovrebbero rimanere intatti a livello logico in qualsiasi cambiamento nel modo in cui i dati vengono archiviati o nei metodi di accesso ad essi.

9. La regola di indipendenza dei dati logici. Le applicazioni e le utilità dei dati devono rimanere logicamente intatte quando vengono apportate modifiche alle tabelle di base che teoricamente consentono ai dati contenuti in tali tabelle di rimanere intatti.

10. La regola di indipendenza delle condizioni di integrità. Dovrebbe essere possibile definire le condizioni di integrità specifiche di un particolare database relazionale in una sublingua del database relazionale e memorizzarle in una directory anziché in un programma applicativo.

11. Regola di indipendenza della distribuzione. Un sistema di gestione di database relazionali non dovrebbe dipendere dalle esigenze di un determinato client.

12. La regola dell'unicità. Se un sistema relazionale ha un linguaggio di basso livello (elaborazione di un record alla volta), non dovrebbe essere possibile utilizzarlo per bypassare le regole e le condizioni di integrità espresse in un linguaggio relazionale di alto livello (elaborazione di più record alla volta).

La regola 2 specifica il ruolo delle chiavi primarie nella ricerca di informazioni nel database. Il nome della tabella consente di trovare la tabella richiesta, il nome della colonna consente di trovare la colonna richiesta e la chiave primaria consente di trovare la riga contenente l'elemento di dati che si sta cercando.

La regola 3 richiede che i dati mancanti possano essere rappresentati utilizzando valori non validi ( NULLO).

La Regola 4 dice che un database relazionale deve descrivere se stesso. In altre parole, il database deve contenere il set tabelle di sistema, descrivendo la struttura del database stesso.

La regola 5 richiede che il DBMS utilizzi un linguaggio di database relazionale come SQL. Tale linguaggio dovrebbe supportare tutte le funzioni di base di un DBMS: creazione di un database, lettura e immissione di dati, implementazione della sicurezza del database, ecc.

Regola 6 riguarda visualizzazioni, che sono tabelle virtuali che consentono a diversi utenti di mostrare parti diverse della struttura del database. Questa è una delle regole più difficili da attuare nella pratica.

La Regola 7 sottolinea che i database sono orientati agli insiemi in natura. Richiede che le operazioni di aggiunta, eliminazione e aggiornamento possano essere eseguite su più righe. Questa regola ha lo scopo di non consentire implementazioni che supportano solo operazioni a linea singola.

Le regole 8 e 9 hanno lo scopo di separare l'utente e l'applicazione dall'implementazione del database di basso livello. Sostengono che l'implementazione specifica dell'archiviazione o dell'accesso utilizzata nel DBMS, e persino i cambiamenti nella struttura delle tabelle del database, non dovrebbero influire sulla capacità dell'utente di lavorare con i dati.

La regola 10 stabilisce che il linguaggio del database deve supportare i vincoli imposti sull'input e le azioni che possono essere eseguite sui dati.

La regola 11 stabilisce che il linguaggio del database deve fornire la capacità di lavorare con dati distribuiti situati su altri sistemi informatici.

Infine, la Regola 12 ti impedisce di utilizzare altre funzionalità del database diverse dalla lingua del database, il che potrebbe compromettere l'integrità del database.

Letteratura

1. Data K . Introduzione ai sistemi di database: Per. dall'inglese. - M.: Nauka, 1980.- 463 p.

2. Groff J., Wainberg P. SQL: guida completa / Per. dall'inglese. 2a ed. К.: BHV, 2001.

database se sono basati su questo modello. Avere un modello di dati consente di confrontare implementazioni specifiche usando un linguaggio comune.

Sebbene il concetto di un modello di dati sia generale e possiamo parlare di modelli di dati gerarchici, di rete, semantici e di altro tipo, va notato che nel campo dei database questo concetto è stato introdotto da Edgar Codd in relazione ai sistemi relazionali e viene utilizzato in modo più efficace in questo contesto. I tentativi di un'applicazione diretta di modelli simili alle organizzazioni pre-relazionali lo dimostrano modello relazionale è troppo "grande", ma per le organizzazioni post-relazionali risulta "piccolo".

caratteristiche generali

Sebbene il concetto modello di dati relazionali introdotto per la prima volta dal fondatore approccio relazionale Edgar Codd, l'interpretazione più comune modello di dati relazionali, a quanto pare, appartiene al famoso divulgatore delle idee di Codd Christopher Date, che lo riproduce (con vari chiarimenti) in quasi tutti i suoi libri (vedi, ad esempio, K. Date. Introduzione ai sistemi di database. 6a ed., M. ; SPb.: Williams - 2000). Secondo l'interpretazione di Data, modello relazionale è composto da tre parti che descrivono aspetti diversi approccio relazionale: parte strutturale, parte di manipolazione e parte integrale.

Nella parte strutturale del modello, è fissato che l'unica struttura generica 7 Per la seconda volta in questa lezione, è stato sostenuto che una relazione n-normale normalizzata è l'unica struttura di dati generici utilizzata nei database relazionali. È tempo di chiarire cosa intendiamo con il termine struttura generica... I linguaggi di programmazione con sistemi di tipo sviluppati di solito hanno costrutti chiamati tipi generici, tipi parametrizzabili, costruttori di tipo, generatori di tipi e così via, che consente di generare un tipo di dati concreto basato sulla sua specifica astratta (solitamente predefinita). La particolarità di tali tipi è che le operazioni di base di un tipo concreto sono definite a livello di questa specifica astratta. Uno degli esempi più famosi è impostare il tipo, ad esempio, in pascal... quando modello di dati relazionali non stiamo dicendo esplicitamente che una relazione sia di tipo generico, ma in sostanza lo è. Operazioni di algebra relazionale sono definiti a livello di una relazione astratta e sono applicabili a qualsiasi relazione di valore con intestazioni specifiche. i dati utilizzati nei database relazionali sono una relazione normale normalizzata. I concetti di domini, attributi, tuple, intestazione, corpo e rapporto variabile... In effetti, nelle due sezioni precedenti di questa lezione, abbiamo considerato esattamente i concetti e le proprietà della componente strutturale modello relazionale.

La parte di manipolazione del modello definisce due meccanismi fondamentali per manipolare i database relazionali: l'algebra relazionale e calcolo relazionale... Il primo meccanismo si basa principalmente sulla teoria dell'insieme classico (con alcuni chiarimenti e aggiunte), e il secondo - sull'apparato logico classico del calcolo del predicato del primo ordine. Considereremo questi meccanismi in modo più dettagliato nelle prossime lezioni, ma per ora noteremo solo che la funzione principale della parte di manipolazione modello relazionale è fornire una misura della relatività di un particolare linguaggio di database relazionali: un linguaggio è chiamato relazionale se non ha meno espressività e potere dell'algebra relazionale, oppure calcolo relazionale.

Entità e integrità di riferimento

Infine, nella parte integrale modello di dati relazionali sono fissati due requisiti di integrità di base che devono essere supportati in qualsiasi DBMS relazionale. Viene chiamato il primo requisito requisito di integrità dell'entità... Un oggetto o entità del mondo reale nei database relazionali corrisponde a tuple di relazioni. In particolare, il requisito è che qualsiasi tupla di qualsiasi valore sia una relazione di qualsiasi rapporto variabile deve essere distinguibile da qualsiasi altra tupla di questo valori di rapporto dai valori compositi di un insieme predefinito di attributi rapporto variabile, cioè, in altre parole, qualsiasi variabile di relazione deve avere chiave primaria... Come abbiamo visto nella sezione precedente, questo requisito viene automaticamente soddisfatto se le proprietà di base della relazione non vengono violate nel sistema.

In realtà, il requisito integrità dell'entità suona completamente così: qualsiasi rapporto variabile deve esistere una chiave primaria e nessun valore chiave primaria in tuple i valori sono relazioni rapporto variabile non dovrebbe contenere valori indefiniti ... Perché questa formulazione sia pienamente compresa, dobbiamo almeno discutere brevemente del concetto valore indefinito (NULLO).

Naturalmente, teoricamente, qualsiasi tupla inserita in una relazione persistente dovrebbe contenere tutte le caratteristiche dell'entità del mondo reale che sta modellando che vogliamo archiviare nel database. Tuttavia, in pratica, non tutte queste caratteristiche possono essere conosciute quando un'entità deve essere impegnata nel database. Un semplice esempio potrebbe essere la procedura per l'assunzione di una persona il cui stipendio non è stato ancora determinato. In questo caso, l'impiegato delle risorse umane che inserisce una tupla che descrive il nuovo impiegato nella relazione DIPENDENTI non può semplicemente fornire il valore dell'attributo SLU_ZARP (qualsiasi valore del dominio PAYMENT_SIMES caratterizzerà erroneamente lo stipendio del nuovo impiegato).

Edgar Codd ha suggerito di utilizzare in questi casi valori indefiniti. Valore indefinito non appartiene a nessun tipo di dati e può essere presente tra i valori di qualsiasi attributo definito su qualsiasi tipo di dati (a meno che non sia esplicitamente vietato quando l'attributo è definito). Se a è un valore di un tipo di dati o NULL, op è un'operazione "aritmetica" a due posizioni di quel tipo di dati (ad esempio, +) e potare Operazione di confronto di valori di questo tipo (ad esempio \u003d), quindi per definizione:

a op NULL \u003d NULL NULL op a \u003d NULL a lop NULL \u003d sconosciuto NULL lop a \u003d sconosciuto

Qui sconosciuto è il terzo valore booleano, o tipo booleanocon le seguenti proprietà:

NOT sconosciuto \u003d sconosciuto vero E sconosciuto \u003d sconosciuto vero OR sconosciuto \u003d vero falso AND sconosciuto \u003d falso falso O sconosciuto \u003d sconosciuto

(ricorda che AND e OR sono commutativi) 8 Come dimostra l'esperienza dell'autore, non sempre e non tutti gli studenti ricordano le operazioni logiche di base. Per garantire, presentiamo tabelle di verità delle operazioni AND (& - congiunzione), OR (- disgiunzione) e NOT (- negazione):

E vero falso O vero falso NON vero falso
vero vero falso vero vero vero falso vero
falso falso falso falso vero falso

... Per questa lezione, la breve introduzione a valori indefiniti, ma nelle prossime lezioni torneremo su questo argomento più di una volta.

Quindi, il primo dei requisiti è il requisito integrità dell'entità - significa che la chiave primaria deve identificare completamente ogni entità, e quindi come parte di qualsiasi valore chiave primaria non autorizzato valori indefiniti ... (Nel classico modello relazionale questo requisito si applica anche alle possibili chiavi; come verrà mostrato nelle seguenti lezioni, nei DBMS orientati a SQL tale requisito per chiavi possibili non supportato.)

Viene chiamato il secondo requisito requisito di integrità referenziale, è più complesso. Ovviamente, se le relazioni sono normalizzate, entità complesse del mondo reale sono rappresentate in un database relazionale come diverse tuple di più relazioni. Ad esempio, immagina cosa vuoi rappresentare database relazionale l'entità DEPARTMENT con gli attributi DET_NUMBER (numero reparto), DEPARTMENT_RASM (numero di dipendenti) e DTD_SLU (insieme di dipendenti del dipartimento). Per ciascun dipendente, è necessario memorizzare SLU_NUMBER (numero di dipendente), SLU_NAME (nome del dipendente) e SLU_ZARP ( salario dipendente). Come vedremo nella lezione 7, con la corretta progettazione del database corrispondente, appariranno due relazioni: DEPARTMENTS (DEPARTMENT_NUMBER, DEPARTMENT_SIZM) (chiave primaria - (DT_NUMBER)) e EMPLOYEES (SERVICE_NUMBER, SERVICE_NAME, SLU_ZARP, SLU_OTD_NOM) (chiave primaria - (SLU_NUMBER)).

Come puoi vedere, l'attributo SLU_DEPARTMENT_NOM viene introdotto nella relazione EMPLOYEES non perché il numero del dipartimento è di proprietà di un dipendente, ma solo per poter ripristinare l'intera entità DEPARTMENT, se necessario. Il valore dell'attributo SLU_DEPARTMENT_NOM in qualsiasi tupla della relazione EMPLOYEE deve corrispondere al valore dell'attributo RELATED_NOM in una tupla della relazione DEPARTMENT. Viene chiamato un attributo di questo tipo (possibilmente composito) chiave esterna, poiché i suoi valori caratterizzano in modo univoco le entità rappresentate dalle tuple di qualche altra relazione (ovvero, impostano i valori delle loro chiave primaria). Naturalmente, una chiave esterna può essere composita, ovvero può consistere in diversi attributi. Si dice che una relazione in cui è definita una chiave esterna si riferisce a una relazione corrispondente in cui si trova lo stesso attributo chiave primaria.

Richiesta integrità per riferimento, o il requisito per l'integrità della chiave esterna, è quello per ogni valore di chiave esterna che appare nel file rapporto variabileo nella relazione significato rapporto variabileil collegamento punta a, dovrebbe esserci una tupla con lo stesso valore chiave primariaoppure il valore della chiave esterna deve essere completamente indefinito (ovvero non indicare nulla) 9 NEL linguaggio SQL sono ammesse diverse varianti della definizione di chiave esterna, di cui solo una corrisponde pienamente all'approccio classico. Ne discuteremo più dettagliatamente nelle prossime lezioni. ... Per il nostro esempio, ciò significa che se viene specificato un numero di reparto per un dipendente, questo reparto deve esistere.

Si noti che, come la chiave primaria,

Quale è un'applicazione ai problemi di elaborazione dei dati di tali rami della matematica come la teoria degli insiemi e la logica del primo ordine.

I database relazionali sono basati sul modello di dati relazionali.

Il modello di dati relazionali include i seguenti componenti:

  • Aspetto strutturale (costituente): i dati nel database sono un insieme di relazioni.
  • Aspetto (componente) di integrità - relazioni (tabelle) soddisfano determinate condizioni di integrità. RMD supporta vincoli di integrità dichiarativi a livello di dominio (tipo di dati), livello di relazione e database.
  • Aspetto (componente) dell'elaborazione (manipolazione) - RMD supporta gli operatori per la manipolazione delle relazioni (algebra relazionale, calcolo relazionale).

I concetti di base dei database relazionali sono tipo di dati, relazione, entità, attributo, dominio, tupla, chiave primaria.

Concetto tipo di dati nel modello di dati relazionali è completamente simile al concetto di tipo di dati nei linguaggi di programmazione. In genere, i moderni database relazionali consentono di memorizzare caratteri, dati numerici, stringhe di bit, dati numerici specializzati (come denaro) e dati speciali (data, ora, intervallo di tempo).

Atteggiamento è il concetto più importante ed è una tabella bidimensionale contenente alcuni dati.

L'essenzaalcuni oggetti o eventi isolati, informazioni sui quali devono essere archiviati nel database e che hanno un certo insieme di proprietà - attributi. Le entità possono essere sia oggetti fisici (attualmente esistenti), ad esempio STUDENTE (attributi - Numero del registro dei voti, Cognome, Nome, Patronimico, Specialità, Numero di gruppo, ecc.), Sia astratto, ad esempio ESAME (attributi - Disciplina, Data, Docente, Auditorium, ecc.). Per le entità, viene fatta una distinzione tra tipo e istanza. Un tipo è caratterizzato da un nome e da un elenco di proprietà e un'istanza è caratterizzata da valori di proprietà specifici.

attributi sono proprietà che caratterizzano un'entità. Nella struttura della tabella, ogni attributo è denominato e corrisponde al titolo di una determinata colonna nella tabella. Gli attributi dell'entità sono:

1) identificativo e descrittivo.Gli attributi identificativi hanno valore unico per entità di questo tipo e sono potenziali chiavi. Ti consentono di riconoscere in modo univoco le istanze di un'entità. È selezionata una delle chiavi potenziali chiave primaria.La chiave potenziale viene generalmente scelta come chiave primaria, che viene utilizzata per accedere alle istanze del record più spesso. La chiave primaria deve includere il numero minimo di attributi richiesti per l'identificazione. Il resto degli attributi è chiamato descrittivo;

2) semplice e composto.Un attributo semplice è costituito da un componente, il suo valore è indivisibile. Un attributo composito è una combinazione di più componenti, possibilmente appartenenti a diversi tipi di dati (ad esempio un indirizzo). La decisione di utilizzare un attributo composito o di scomporlo in componenti dipende dalle specifiche dei processi per la sua applicazione e può essere associato a garantire un'alta velocità di lavoro con grandi basi dati;

3) inequivocabile e ambiguo.Gli attributi possono avere uno o più valori, rispettivamente, per ogni istanza di entità;

4) di base e derivati.Il valore dell'attributo principale è indipendente da altri attributi. Il valore di un attributo derivato viene calcolato in base ai valori di altri attributi (ad esempio, l'età di una persona viene calcolata in base alla data di nascita e alla data odierna).

Una specifica di attributo consiste nel suo nome, un'indicazione del tipo di dati e una descrizione dei vincoli di integrità: l'insieme di valori (o dominio) che un determinato attributo può assumere.

Dominioè l'insieme di tutti i possibili valori per un particolare attributo di relazione.

Diagramma delle relazioni (intestazione della relazione)è un elenco di nomi di attributi con nomi di dominio.

tuple, corrispondente a un determinato schema di relazione è un insieme di coppie (nome dell'attributo, valore) che contiene un'occorrenza di ciascun nome di attributo. Il valore è un valore di dominio valido per questo attributo.

Chiave primaria(chiave di relazione, attributo chiave)è un attributo o un insieme di attributi di una relazione che identifica in modo univoco ciascuna delle sue tuple. Una chiave primaria è per definizione unica: una relazione non può avere due tuple diverse con gli stessi valori della chiave primaria. Gli attributi che compongono la chiave primaria non contano NULLO.Concetto NULLOnella teoria del database relazionale, si intende indicare l'assenza di qualsiasi valore di attributo. Può esserci solo una chiave primaria per ogni relazione.

Ogni relazione ha necessariamente una combinazione di attributi che possono fungere da chiave. Ci possono essere casi in cui una relazione ha diverse combinazioni di attributi, ognuna delle quali identifica in modo univoco tutte le tuple della relazione. Tutte queste combinazioni di attributi sono chiavi possibilirelazioni. Qualsiasi chiave possibile può essere selezionata come primaria.

Le chiavi esterne sono il meccanismo principale per organizzare le relazioni tra le tabelle e mantenere l'integrità e la coerenza delle informazioni in un database.

Chiave esternaÈ un insieme di attributi per una relazione che è una chiave possibile per un'altra relazione.

A causa della presenza di associazioni tra possibili e chiavi esterne, viene fornita la relazione di tuple di determinate relazioni, che contribuisce in tal modo a mantenere il database in uno stato tale da poter essere considerato nel suo insieme. Una relazione che contiene una chiave esterna è chiamata figlio e una relazione che contiene una possibile chiave associata a una chiave esterna è chiamata padre. I tipi di dati (e in alcuni DBMS, le dimensioni) degli attributi corrispondenti delle chiavi esterne e principali devono corrispondere.

Elementi del modello di dati relazionali e la forma della loro presentazione

Elemento del modello relazionale

Modulo di presentazione

Atteggiamento

Diagramma delle relazioni

Riga intestazioni colonna tabella (intestazione tabella)

Riga della tabella

L'essenza

Descrizione delle proprietà dell'oggetto

Intestazione di colonna della tabella

Molti valori di attributo validi

Valore attributo

Valore del campo nel record

Chiave primaria

Uno o più attributi

Tipo di dati

Tipo di valore degli elementi della tabella

LA CAMPANA

C'è chi legge questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere The Bell
Niente spam