Progettazione un Database: modello concettuale e logico

Progettazione un Database: modello concettuale e logico

La progettazione di un database è un processo complesso che richiede una profonda conoscenza delle esigenze aziendali e delle tecnologie di database. Il processo può essere suddiviso in tre fasi principali:

  • Analisi concettuale: In questa fase, si identifica la struttura logica dei dati che devono essere memorizzati nel database. Si tratta di una fase fondamentale, in quanto fornisce la base per le fasi successive.
  • Modellazione logica: In questa fase, si traduce la struttura logica dei dati identificata nella fase di analisi concettuale in un modello logico, che è un’espressione delle strutture dati e delle relazioni tra esse.
  • Implementazione: In questa fase, si crea il database fisico, ovvero la struttura di dati che viene effettivamente memorizzata sul sistema di archiviazione. In questo articolo, ci concentreremo sulla seconda fase del processo, ovvero la modellazione logica.

Analisi concettuale

L’analisi concettuale è la prima fase del processo di progettazione di un database. In questa fase, si identifica la struttura logica dei dati che devono essere memorizzati nel database.

L’analisi concettuale è fondamentale, in quanto fornisce la base per le fasi successive del processo di progettazione. Un’analisi concettuale ben eseguita può garantire che il database soddisfi le esigenze aziendali e sia efficiente da utilizzare.

Entità

L’entità è l’unità fondamentale di un modello concettuale. Un’entità rappresenta un oggetto del mondo reale che è di interesse per l’organizzazione.

Ad esempio, in un database di gestione di un negozio, le entità potrebbero essere:

  • Cliente: rappresenta un cliente del negozio
  • Prodotto: rappresenta un prodotto venduto dal negozio
  • Ordine: rappresenta un ordine effettuato da un cliente

Attributi

Ogni entità ha un insieme di attributi, che rappresentano le diverse caratteristiche dell’entità.

Ad esempio, l’entità Cliente potrebbe avere gli attributi:

  • codice: un codice univoco che identifica il cliente
  • nome: il nome del cliente
  • indirizzo: l’indirizzo del cliente

Relazioni

Le relazioni rappresentano le associazioni tra due o più entità.

Ad esempio, l’entità Cliente potrebbe essere in relazione con l’entità Ordine tramite la relazione “ha effettuato”. Questa relazione indica che un cliente ha effettuato uno o più ordini.

I tipi di relazioni più comuni sono:

  • Uno a uno: una relazione in cui una riga in una tabella può essere associata a una sola riga in un’altra tabella.
  • Uno a molti: una relazione in cui una riga in una tabella può essere associata a più righe in un’altra tabella.
  • Molti a molti: una relazione in cui una riga in una tabella può essere associata a più righe in un’altra tabella e viceversa.

Ad esempio in un sistema di gestione delle spese, ogni spesa ha unan relazione 1 a molti con la categoria di spesa, in quanto una spesa può essere associata a una sola categoria, ma una categoria può essere associata a più spese.

esempio relazione 1 a molti

Il modello logico

Il modello logico è una rappresentazione della struttura logica dei dati che devono essere memorizzati nel database. Esso è indipendente dal sistema di gestione di database (DBMS) che verrà utilizzato per implementare il database.

La deduzione del modello logico dal diagramma ER è un processo che consente di tradurre la struttura logica dei dati rappresentata nel diagramma ER in un modello logico, che è un’espressione delle strutture dati e delle relazioni tra esse.

Il modello logico è indipendente dal sistema di gestione di database (DBMS) che verrà utilizzato per implementare il database.

Il processo di deduzione del modello logico dal diagramma ER può essere suddiviso nelle seguenti fasi

Traduzione delle entità in tabelle

In questa fase, ogni entità del diagramma ER viene tradotta in una tabella del modello logico.

La tabella deve avere una colonna per ogni attributo dell’entità. La colonna per l’attributo chiave primaria deve essere impostata come chiave primaria della tabella.

Ad esempio, se il diagramma ER contiene un’entità Cliente con gli attributi codice, nome e indirizzo, la tabella del modello logico corrispondente avrà le seguenti colonne:

  • codice (chiave primaria)
  • nome
  • indirizzo
  • Traduzione delle relazioni in chiavi esterne

In questa fase, ogni relazione del diagramma ER viene tradotta in una o più chiavi esterne nelle tabelle corrispondenti.

La chiave esterna è una colonna nella tabella che fa riferimento a una chiave primaria in un’altra tabella.

La direzione della relazione determina quale tabella deve avere la chiave primaria e quale tabella deve avere la chiave esterna.

Ad esempio, se il diagramma ER contiene una relazione ha effettuato tra le entità Cliente e Ordine, la tabella Ordine deve avere una colonna codiceCliente che fa riferimento alla chiave primaria della tabella Cliente.

Definizione delle relazioni tra le tabelle

In questa fase, si definiscono le relazioni tra le tabelle del modello logico.

Le relazioni tra le tabelle sono definite tramite le chiavi esterne.

Ad esempio, la relazione ha effettuato tra le tabelle Cliente e Ordine può essere definita come segue:

CREATE TABLE ordine (
  codice INT NOT NULL,
  codiceCliente INT NOT NULL,
  ...
);

ALTER TABLE ordine
  ADD CONSTRAINT fk_ordine_cliente
  FOREIGN KEY (codiceCliente)
  REFERENCES cliente (codice);

Related Posts

descriptive text

7 Esercizi sui diagrammi concettuali

La progettazione concettuale dei database è una fase importante nello sviluppo di un database. In questa fase, si identificano i dati necessari per rappresentare la realtà di interesse e si modella

Leggi
descriptive text

Aspetto intensionale ed estensionale dei dati

## L'aspetto estensionale dei datiL'aspetto estensionale dei dati si riferisce al contenuto dei dati, cioè all'insieme di valori che i dati possono assumere. È il contenuto dei dati che viene effett

Leggi
descriptive text

Definzione di Database e di SQL

## Cos'è un database?Un database è una raccolta strutturata di dati elettronici. Questi dati possono essere consultati, gestiti, modificati, aggiornati, controllati e organizzati con l'aiuto di un

Leggi
descriptive text

Dati e Informazioni

# Dati e informazioni: la differenza fondamentaleIn informatica, i dati e le informazioni sono due concetti fondamentali che sono spesso confusi tra loro. In realtà, si tratta di due cose molto d

Leggi
descriptive text

Definzione di DBMS

Un sistema di gestione delle basi di dati, noto anche come database management system (DBMS), rappresenta il software che funge da intermediario tra gli utenti finali, le applicazioni e la banca dati

Leggi
descriptive text

Definizione di base di dati

Una base di dati, spesso abbreviata come "DB" o "database", è una raccolta di dati strutturati, organizzati in modo da consentire l'archiviazione, la gestione, la ricerca, l'aggiornamento e la manipo

Leggi
descriptive text

Diagramma concettuale di un social tipo Instagram | Esercizio sui diagrammi concettuali

Un'azienda desidera creare un social network tipo Instagram. Gli utenti possono registrarsi sulla piattaforma e fornire informazioni personali come nome, cognome, indirizzo email e password. Aggiun

Leggi
descriptive text

Diagramma concettuale di un social tipo Twitter | Esercizio sui diagrammi concettuali

Un'azienda desidera creare un social network tipo Twitter. Gli utenti possono registrarsi sulla piattaforma e fornire informazioni personali come nome, cognome, indirizzo email e password. Aggiunger

Leggi
descriptive text

Esercizio database gestione spese | Esercizi SQL

Creare un database che consenta di gestire una base dati relativa alle spese personali. Ogni spesa appartiene ad una categoria e ogni spesa può appartenere a più tags. Dopo aver fatto una adeguata

Leggi
descriptive text

Reallizzare una webapp con Python e bottle | Expense Tracker

In questo esercizio vedremo come realizzare una webapp con Python e bottle. La webapp che andremo a realizzare sarà un semplice gestionale per le spese. L'utente potrà inserire le spese e visualizz

Leggi
descriptive text

Gestione file come google drive | Esercizio sui diagrammi concettuali

Un'azienda desidera creare un sistema di gestione per i suoi file. I dipendenti possono caricare file, visualizzare dettagli sui file e scaricare quelli di loro interesse. Ogni dipendente deve regi

Leggi
descriptive text

libreria online | Esercizio sui diagrammi concettuali

Una libreria online desidera creare un sistema di gestione per i suoi libri e i suoi clienti. I clienti possono cercare libri, visualizzare dettagli sui libri e acquistare quelli di loro interesse.

Leggi
descriptive text

Gestione Ecommerce | Esercizio sui diagrammi concettuali

Un'azienda di e-commerce desidera creare un sistema di gestione per i suoi prodotti e i suoi clienti. I clienti possono cercare prodotti, visualizzare dettagli sui prodotti e acquistarli quelli di

Leggi
descriptive text

Gestione museo | Esercizio sui diagrammi concettuali

Si vuole rappresentare una base dati per la gestione di un museo, tenendo conto delle seguenti informazioni:- I musei sono identificati da un codice univoco. Per ciascun museo sono noti il nome,

Leggi
descriptive text

Gestione noleggio auto | Esercizio sui diagrammi concettuali

Una società di noleggio auto intende gestire un sistema online per consentire ai clienti di prenotare veicoli per un periodo specifico. I clienti devono registrarsi come utenti sulla piattaforma e

Leggi
descriptive text

Gestione noleggio biciclette | Esercizio sui diagrammi concettuali

Si vuole rappresentare una base dati per la gestione di un servizio di noleggio di biciclette, tenendo conto delle seguenti informazioni:- I clienti del servizio sono identificati da un codice

Leggi
descriptive text

Gestione ordini pizzeria | Esercizio sui diagrammi concettuali

Viene chiesto di realizzare il sistema informatico della pizzeria "Bella Zi". Le esigenze del committente sono quelle di gestire i clienti salvando l'anagrafica e gestire gli ordini effettuati che

Leggi
descriptive text

Maturità Informatica Ordinaria 2004 | Diagramma concettuale e logico

[Tema di esame](https://www.istruzione.it/esame_di_stato/Secondo_Ciclo/tracce_prove_scritte/2005/tecnica/M070.pdf)## Soluzione![Maturità ordinaria 2004|Diagramma concettuale](/images/maturita-

Leggi
descriptive text

Simulazione Esame Informatica | Logistica aziendale

Una società di logistica sta sviluppando un sistema informatico per gestire il flusso delle merci all'interno della propria rete aziendale. La società gestisce una vasta gamma di merci e ha una rete

Leggi
descriptive text

Simulazione Esame Informatica | Gestione azienda sviluppo software

Una società di sviluppo software sta pianificando l'implementazione di un sistema informatico per gestire in modo efficiente il ciclo di sviluppo del software e le risorse umane coinvolte. Questa soc

Leggi
descriptive text

Tipi di basi di dati

Esistono diversi tipi di basi di dati, a seconda della loro struttura, della tecnologia utilizzata e del modello di dati utilizzato.I principali tipi di basi di dati sono:- **Basi di dati relazio

Leggi