Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Strutture dati Database informatici, Sintesi del corso di Sistemi Informativi

Strutture dati Database informatici

Tipologia: Sintesi del corso

2025/2026

Caricato il 08/06/2026

nico-cuneo
nico-cuneo 🇮🇹

3.5

(4)

9 documenti

1 / 5

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
I Database
Definizione
Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di soddisfare i
fabbisogni organizzativi di una specifica organizzazione. I dati congiuntamente con la loro
descrizione, sono gestiti da un unico sistema, chiamato DBMS (DataBase Managemenet System)
che ne permette la gestione e ne regola gli accessi.
DBMS
È un insieme di programmi che devono essere in grado di:
• Permettere la Creazione di una nuova base di dati, definendo gli archivi che la compongono, la
loro articolazione, le correlazioni logiche tra archivi, i limiti nell’accesso ai dati e i vincoli imposti
alla loro manipolazione. La creazione avviene mediante un apposito linguaggio di definizione dei
dati che prende il nome di DDL (Data Definition Language).
• Permettere l’Inserimento, la Cancellazione e la Modifica in modo facile dei dati da parte degli
utenti. Il linguaggio che permette tali operazioni è il linguaggio di manipolazione della base di dati
che prende il nome di DML (Data Manipulation Language)
• Rendere possibile l’estrazione di informazione dal Database Interrogandolo quindi
un’interrogazione attraverso il linguaggio QL (Query Language)
Il DBMS deve inoltre garantire:
• Facilità di accesso: i dati devono essere reperiti in modo rapido anche nel caso
di richieste provenienti da più utenti
• Indipendenza della struttura logica dei dati: i programmi applicativi sono indipendenti dalla
struttura logica con la quale i dati sono organizzati nella base di dati.
• Indipendenza della struttura fisica dei dati: i programmi applicativi sono indipendenti dai dati
fisici, ossia è possibile cambiare il supporto di memoria dei dati senza che gli applicativi debbano
subire modifiche.
• Eliminazione della ridondanza: gli stessi dati non compaiono più volte.
• Eliminazione della inconsistenza: il database non può presentare campi uguali con valori diversi.
• Integrità dei dati: vengono previsti dei controlli per evitare che l’utilizzo dei dati da parte degli
utenti portino a delle anomalie
• Condivisione dei dati: utilizzo della base di dati da parte di più utenti controllandone gli accessi.
• Controllo della concorrenza: controllare che le operazioni svolte da più utenti
contemporaneamente non interferiscano tra loro
• Sicurezza dei dati: per impedire accessi non autorizzati e per proteggere il database da guasti
accidentali.
Linguaggio SQL (Structured Query Language)
pf3
pf4
pf5

Anteprima parziale del testo

Scarica Strutture dati Database informatici e più Sintesi del corso in PDF di Sistemi Informativi solo su Docsity!

I Database

Definizione

Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di soddisfare i fabbisogni organizzativi di una specifica organizzazione. I dati congiuntamente con la loro descrizione, sono gestiti da un unico sistema, chiamato DBMS (DataBase Managemenet System) che ne permette la gestione e ne regola gli accessi.

DBMS

È un insieme di programmi che devono essere in grado di:

  • Permettere la Creazione di una nuova base di dati, definendo gli archivi che la compongono, la loro articolazione, le correlazioni logiche tra archivi, i limiti nell’accesso ai dati e i vincoli imposti alla loro manipolazione. La creazione avviene mediante un apposito linguaggio di definizione dei dati che prende il nome di DDL (Data Definition Language).
  • Permettere l’Inserimento, la Cancellazione e la Modifica in modo facile dei dati da parte degli utenti. Il linguaggio che permette tali operazioni è il linguaggio di manipolazione della base di dati che prende il nome di DML (Data Manipulation Language)
  • Rendere possibile l’estrazione di informazione dal Database Interrogandolo quindi un’interrogazione attraverso il linguaggio QL (Query Language) Il DBMS deve inoltre garantire:
  • Facilità di accesso: i dati devono essere reperiti in modo rapido anche nel caso di richieste provenienti da più utenti
  • Indipendenza della struttura logica dei dati: i programmi applicativi sono indipendenti dalla struttura logica con la quale i dati sono organizzati nella base di dati.
  • Indipendenza della struttura fisica dei dati: i programmi applicativi sono indipendenti dai dati fisici, ossia è possibile cambiare il supporto di memoria dei dati senza che gli applicativi debbano subire modifiche.
  • Eliminazione della ridondanza: gli stessi dati non compaiono più volte.
  • Eliminazione della inconsistenza: il database non può presentare campi uguali con valori diversi.
  • Integrità dei dati: vengono previsti dei controlli per evitare che l’utilizzo dei dati da parte degli utenti portino a delle anomalie
  • Condivisione dei dati: utilizzo della base di dati da parte di più utenti controllandone gli accessi.
  • Controllo della concorrenza: controllare che le operazioni svolte da più utenti contemporaneamente non interferiscano tra loro
  • Sicurezza dei dati: per impedire accessi non autorizzati e per proteggere il database da guasti accidentali.

Linguaggio SQL (Structured Query Language)

SQL è un linguaggio di programmazione per la gestione di serie di fatti e delle relative relazioni. I programmi di database relazionale, come Microsoft Office Access, usano SQL per gestire i dati. A differenza altri linguaggi, SQL è di facile lettura e comprensione, anche per gli utenti meno esperti. Analogamente a molti altri linguaggi, SQL è uno standard internazionale riconosciuto da organismi come ISO e ANSI.

I linguaggi per Database

DDL ( Data Definition Language ): linguaggio per la descrizione dei dati, delle tabelle e delle viste (strumento con il quale si crea la struttura fisica del data base, facendo riferimento allo schema logico).  DML ( Data Manipulation Language ): linguaggio per il trattamento (o manipolazione) dei dati contenuti nel data base (inserimenti, modifiche o cancellazioni).  Query Language : linguaggio per le interrogazioni alla base di dati (ritrovamento dei dati sulla base dei criteri di ricerca richiesti dall’utente).

Gli utenti

Il database viene utilizzato da persone diverse con scopi diversi. 1. La responsabilità della gestione del DB è affidata all’amministratore della base di dati DBA (DataBase Administrator) che ha i seguenti compiti: 1.a. Implementazione del modello logico del DB 1.b. Gestire il trattamento dei dati (controllo di inserimenti, modifiche, cancellazioni) 1.c. Autorizzazione degli accessi 1.d. Gestione delle interrogazioni 1.e. Manutenzione del DB nel tempo 1.f. Controllo sugli interventi di recupero 1.g. Controllo della disponibilità di memoria

  1. I programmatori che utilizzano il linguaggio DML e che agiscono sotto il diretto controllo del DBA
  2. Gli utenti finali che accedono al DB attraverso il QL o se meno esperti attraverso interfacce software specifiche per estrarre dati dal DB.

La progettazione di un DB

Lo sviluppo di un progetto è un sistema complesso di attività tese a ottenere un risultato. In un progetto compaiono normalmente l’attività di studio, di ideazione, di progettazione, di realizzazione e di produzione.

Rappresenta il database come un insieme di tabelle. Esso viene considerato attualmente il modello più semplice ed efficace perché più vicino al modo consueto di pensare i dati, e si adatta in modo naturale alla classificazione e alla struttura dei dati. Gli elementi del modello sono: Entità  È un oggetto concreto o astratto che ha un significato anche quando viene considerato in modo isolato ed è di interesse per la realtà che si vuole modellare Relazione/ Associazioni  È un legame che stabilisce un’interazione tra le entità Attributi  Sono le proprietà delle associazioni e delle relazioni Le relazioni possono essere di tre tipi: 1 a 1(uno a uno)  Quando ogni istanza della prima entità si deve associare una e una sola istanza della seconda entità e viceversa. 1 a N (uno a molti)  Quando ad ogni istanza della prima entità si possono associare una o più istanze della seconda entità, mentre ad ogni istanza della seconda entità si deve associare una sola istanza della prima entità N a N (molti a molti)  Quando ad ogni istanza della prima entità si possono associare una o più istanze della seconda entità e viceversa. L’attributo di legame rappresenta la Chiave Primaria (PK) che permette di identificare in modo univoco ogni elemento dell’entità. Per chiave primaria intendiamo un dato di tipo univoco, solitamente di tipo numerico intero e progressivo, che non è duplicabile. La chiave primaria ha lo scopo di permettere la relazioni tra le varie entità all’interno della base di dati.

I Join

Il JOIN è un costrutto del linguaggio SQL attraverso il quale vengono messe in relazione due tabelle. E' giusto precisare che MySQL supporta tre diversi tipi di JOIN ( cross join , inner join e outer join ) con finalità differenti. Cross Join Sono scarsamente utilizzate nella pratica in quanto offrono il semplice prodotto cartesiano del rapporto tra due tabelle: in pratica, ciascuna riga della prima tabella viene combinata con ciascuna riga della seconda. In pratica se combiniamo due tabelle di 10 righe otterremo un recordset composto da 100 righe (10*10). Inner join Il suo scopo è quello di unire due tabelle restituendo un risultato combinato sulla base di uno o più campi che trovano corrispondenza in tutte le tabelle coinvolte nella JOIN. Left join Estrae tutti i valori della tabella a sinistra anche se non hanno corrispondenza nella tabella a destra. le righe non corrispondenti sono riempite con valori NULL. Right join

Estrae tutti i valori della tabella a destra anche se non hanno corrispondenza nella tabella di sinistra. le righe non corrispondenti sono riempite con valori NULL.

PHP (Hypertext Preprocessor)

PHP è un linguaggio di scripting interpretato, ovvero funziona con il codice che viene interpretato di volta in volta dall’ interprete; ha licenza Open Source (gratuito, più o meno), ed è concepito per la creazione di siti web con contenuti dinamici ovvero che cambiano da utente a utente. Principalmente, viene utilizzato per questo scopo: scrivere applicazioni web lato server. Ciò non toglie che può essere usato per script utilizzabili da riga di comando o applicazioni stand-alone. Un codice PHP , viene inserito fra le pagine HTML e funziona così:

  1. L’utente richiede la pagina index.php
  2. Il server la recupera, elabora il codice PHP presente fra le pagine e restituisce il risultato
  3. L’utente scarica la pagina e la visualizza col suo browser L’elaborazione di codice PHP sul server produce codice HTML da inviare al browser dell’utente che ne fa richiesta. Il vantaggio dell’uso di PHP e degli altri linguaggi Web come ASP e .NET rispetto al classico HTML derivano dalle differenze profonde che sussistono tra Web dinamico e Web statico