



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Dispensa fatta seguendo le lezioni della prof.ssa Patrizia Vizza. C'è tutto quello che chiede sulla base di dati. Dispensa usata per esonero superato con voto 29.
Tipologia: Dispense
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




Una base di da* è un insieme organizzato di da. ulizza per il supporto allo svolgimento di a6vità. Una base di da* è un insieme di da* e ques* sono specifici per l’a6vità di interesse. Dopo aver organizzato i da, essi vanno ges* a?raverso il sistema informa.co (es. sito web). La definizione di base di dati parte dal concetto dell’ informazione che dev’essere: » Raccolta, acquisizione; » Archiviazione, conservazione (scriverla su un’agenda, sul cellulare); » Elaborazione, trasformazione, produzione; » Distribuzione, comunicazione, scambio informazioni. Tutto ciò è possibile avendo a disposizione una base di dati. La differenza tra informazione e dato è che: » L’ informazione è la conoscenza che si acquisisce utilizzando il dato o i dati che si hanno a disposizione; » Il dato è l’elemento che permette di acquisire l’informazione (numeri, lettere, codici). I dati costituiscono spesso una risorsa strategica perché stabili nel tempo , i dati sono quell’elemento che si mantiene. Da un punto di vista tecnico, la base di dati è un insieme di dati gestito da DBMS (DataBase Management System) che è un sistema di gestione di una base di dati. Cosa deve fare questo DBMS? Deve gestire i dati. Deve gestire delle collezioni di dati grandi, persistenti e condivise. Come lo deve fare? Garantendo privatezza, affidabilità, efficienza ed efficacia per gestire la grande quantità di dati. Questi sono gli aspetti principali relativi al DBMS. Che significa che una base di dati è grande? Che occupa memoria. Il concetto di grandezza associato alla base di dati è legato al discorso di memoria. L’unico limite che deve esistere nel caso di basi di dati di grandi dimensioni è quello fisico, cioè legato ai dispositivi. Cosa significa che la base di dati deve essere persistente? Significa che il dato deve persistere, cioè deve continuare ad esistere anche dopo che il programma non si utilizza più. L’informazione deve restare, deve persistere. L’informazione deve poter essere condivisa. Un esempio una base di dati grandi, condivisi e persistenti è il CUP (centro unico prenotazioni). Un altro esempio è la gestione di pazienti nei reparti: follow up, visite di controllo, terapia, medicinali. Che cosa accomuna tutte queste basi di dati? La semantica, il dato. Quali sono però i problemi da tenere in considerazione? La ridondanza e il rischio di incoerenza. La ridondanza si riferisce alle informazioni ripetute. Nel caso di basi di dati condivise bisogna fare attenzione a due aspetti: attività diverse su dati condivisi e, a seconda di chi accede sul dato che deve essere condiviso, è necessario gestire dei meccanismi di autorizzazione. Altro aspetto è l’ accesso , anche contemporaneamente , di più utenti sul dato condiviso. Il database deve garantire, comunque, oltre alla privatezza, anche l’affidabilità e soprattutto il fatto che l’informazione deve essere conservata a lungo termine. Questo discorso dell’affidabilità viene gestito attraverso la tecnica delle transazioni e la transazione è un insieme di operazioni da considerare indivisibili,
è un insieme “atomico”, corretto anche in presenza di concorrenza e di un effetto definitivo. La transazione è la sequenza di operazioni completa e che deve essere portata a termine e deve valere con effetti concorrenti. Il database deve essere: » efficiente , cioè bisogna saper gestire le risorse a disposizione a livello hardware dove memorizzare i dati; » efficace cioè deve servire, facilitare il lavoro ed essere veloce.
Il file system è all'interno del computer ed è un sistema opera.vo , ovvero la parte so\ware visibile, composto da sistemi che gesscono file, memoria ecc…, quindi tu?o quello che è hardware lo si gessce a livello so\ware. Com'è fatto uno schema? Lo schema è la struttura in cui si inseriscono le intestazioni. L' istanza è l'item che viene inserito nella base di dati, sono i valori che vengono inseriti e che possono variare. Le basi di dati si gestiscono con dei modelli che sono principalmente due: il modello logico e concettuale. Il modello logico è l'organizzazione in cui si crea uno schema con le intestazioni, utilizzato nei DBMS esistenti per organizzare i dati. Il modello concettuale precede quello logico in cui si descrivono i concetti nella realtà, il più noto è il modello Enity-Relationship. Lo schema interno è come si analizza un dato a livello hardware e non può essere visualizzato dall'utente. Lo schema logico , invece, è indipendente da quello fisico e questo significa che la base di dati può essere inserita su un altro calcolatore. L' architettura standard è la base di dati, lo schema interno (locazione memoria), lo schema logico e lo schema esterno che è visualizzato dall'utente.
Il modello logico si divide in: » Modello tradizionale, c’è ne sono 3 *pi:
Relazione ® legame logico che c’è tra due o più entà. È chiamata anche correlazione o associazione. Graficamente è rappresentata da un rombo. Vengono usa i sostanvi, al singolare, e in maniera univoca. Ci possono essere due o più relazioni per le stesse entà. Altro po di relazione è quella ricorsiva , cioè che coinvolge due volte la stessa entà. Esiste anche la relazione ricorsiva con ruoli (es. sovrano – successione, predecessore e successore). Attributo ® intestazione delle tabelle, proprietà di entità e relazione. Graficamente viene rappresentata da una linea e un pallino bianco. L’ attributo composto ma che rappresenta un’unica informazione (indirizzo è composto da via, numero civico e CAP). In questo caso graficamente si inserisce l’attributo composto dentro un ovale e da esso partono i vari attributi che lo compongono con linee e pallini bianchi. Cardinalità ® coppia di valori in cui specifico numero minimo e massimo di occorrenze della relazione. Cardinalità minima usa 0 e 1; cardinalità massima usa 1 e N dove N non pone alcun limite. Identificatore ® è un attributo che identifica in maniera univoca (es. codice fiscale, targa). Può essere interno o esterno. Graficamente è una linea con pallino nero. Generalizzazione ® mette in relazione una o più entità figlie con l’entità padre (es. dipendente – direttore, responsabile, impiegato).
Uno dei linguaggi più usati per fare base dei dati è l’SQL, usato come linguaggio di interrogazione. DDL = linguaggio di definizione dei dati. Con DDL si vanno a creare i domini e le tabelle del modello relazionale. DML = linguaggio di manipolazione dei dati. Con SQL si va a creare le interrogazioni, a gestire i valori nulli, a fare tutta una serie di operazioni di manipolazione del dato. L’interrogazione del database si fa in SQL utilizzando il DML. Le operazioni che si possono compiere sono 4: select (seleziona), insert (inserisci), delete (elimina) e update (aggiorna).
select listaattributi (attributo colonna es. nome, cognome) from listatabella (nome della tabella) where condizione (come un filtro es. cognome = rossi) se devo selezionare tutti gli attributi uso * select * from persone where età > nel caso della condizione si scrive: select * from persone where reddito >25 and (età <30 or età > 60 )
Il commando like serve per selezionare parole che iniziano con una lettera e che presenta un’altra lettera nella parola. E si usa così: select * from persone where nome like ‘A_d%’ Questo significa che deve selezionare nella tabella persone i nomi che iniziano con A e che come 3° lettera hanno la d. Possiamo anche effettuare un ordinamento: select nome, reddito from persone where età < order by nome ® order by nome ASC (ascendente) Oppure select nome, reddito from persone where età < order by nome ® order by nome DISC (discendente)
insert into nometabella [(attributi)] values (valori)
delete frome nometabella where condizione