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

Database dispense: modellizzazione concettuale, Dispense di Informatica

Cos'è un sistema informativo? Vantaggi dei Database, progettazione concettuale, vincoli d'integrità, associazioni , attributo , modello relazionale, vincoli referenziali.

Tipologia: Dispense

2020/2021

Caricato il 10/05/2021

Akron03
Akron03 🇮🇹

4.7

(3)

8 documenti

Anteprima parziale del testo

Scarica Database dispense: modellizzazione concettuale e più Dispense in PDF di Informatica solo su Docsity! SISTEMA INFORMATIVO: mezzo per raccogliere informazioni, organizzandole elenchi che le relazionano, per una attività che si vuole tracciare. Un esempio è la registrazione dei pazienti con relative cartelle cliniche di un sistema ospedaliero. sistema informativo automatizzato: è un sistema informativo in cui i dati sono memorizzati in file di dati elaborati da programmi dedicati (tipo tabelle Excel). organizzazione di un sistema informativo automatizzato: costituito da: ● archivi (file di dati) contengono le informazioni da correlare a cui fare un servizio ● programmi di gestione eseguono operazioni sui dati, come l’inserimento, cancellazione, modifica, visualizzazione e stampa di un nuovo record ● programmi applicativi rispondono a una richiesta, per esempio la visualizzazione dei libri più letti ● programmi di utilità , programmi che svolgono le operazioni di backup, aggiornamento, ecc. LIMITI dei sistemi informativi ● duplicazione dei dati , comporta pericolose ripetizioni di una stessa informazione in più archivi, causando: - uno spreco di spazio di archiviazione e, - con un semplice cambio di un dato (per esempio l’indirizzo di un paziente), se la modifica non viene fatta in tutti i file contenenti quel dato, si avrebbe un incoerenza delle informazioni, dati sporchi (no integrità in modifica relazionale). ● integrità e sicurezza dei dati non garantita : non ci sono vincoli di integrità (come il dominio): - non c’è il controllo di un dato inserito erratamente, perdita dei dati, - non si ha un salvataggio garantito (backup manuali), - incoerenza dei dati inseriti simultaneamente, se persone accedono contemporaneamente solo l’ultima modifica viene salvata (quando 2 persone modificano/inseriscono i dati simultaneamente). ● dipendenza dei dati dai programmi , i file di dati sono dipendenti dai programmi utilizzati, se si cambia la struttura dei file bisogna cambiare anche i programmi, non c’è adattabilità. ● difficoltà di accesso agli utenti non specializzati DAI SISTEMI INFORMATIVI AI DATABASE Gli utenti si interfacciano al database attraverso un software, il DBMS, programma che si mette come intermediario tra i programmi degli utenti e dati salvati sul database (contiene procedure che semplificano l’accesso ai dati). I DBMS gestiscono le procedure dei database, come la dichiarazione e creazione di tabelle. DATABASE: raccolta di dati organizzati gestiti da un DBMS, con lo scopo di: - eliminare repliche di dati, rendere i dati indipendendenti dai programmi, garantire integrità e sicurezza dei dati (backup), facilitare l’accesso ai dati agli utenti. Vantaggi: - correlazione dei dati in modo automatico evitano ripetizioni. Il database è un sistema informativo relazionale: i dati memorizzati in tabelle separate vengono collegati in base al servizio, si evita l’utilizzo di più elenchi. Basta apportare una modifica una sola volta ad un dato, essendo tutto relazionato (vincoli d’integrità referenziale in modifica). - maggior adattabilità dei dati, c’è indipendenza logica e fisica dei dati dai programmi utilizzati: poter aggiornare la struttura fisica e logica dei dati senza cambiare i programmi. Grazie al linguaggio SQL - accesso alle informazioni più user-friendly, l’accesso alle informazioni è più semplice e amichevole - integrità e sicurezza dei dati, i database presentano meccanismi di controllo: dei dati di input inseriti, per garantire la coerenza dei dati, per evitare di avere dati sporchi, degli accessi simultanei in scrittura dei dati (se 2 persone accedono simultaneamente il secondo viene bloccato finché il primo non ha finito) o del parziale inserimento dei dati (il software non salva i dati inseriti parzialmente). - riduzione dei costi e dei tempi di lavoro: aggiornare i dati, tempo per scriverli, non ci sono ripetizioni. Importazione ed esportazione dei file di dati in tabelle da condividere con qualcuno (in Excel, pdf, ecc.) o trasferire in un altro database. Creazione di report di sintesi per avere un'idea macro del contenuto del database. SQL Moduli software dei DBMS gestiscono le funzioni del database (dichiarazione e creazione di tabelle, caricamento e convalida dei dati, gestione sicurezza e applicativi, ecc.) SQL: linguaggio di programmazione universale dei database per la gestione di tutti i dati di un database, linguaggio per l’interrogazione della base dati (gestire le operazioni dei dati). Esso si occupa di creare legami con le tabelle, relazioni tra i dati, ecc. STRUTTURA DEI DATABASE i database contengono oggetti, 4 oggetti principali: ● Tabelle: consentono di memorizzare i dati all'interno di righe e colonne. Tutti i database contengono una o più tabelle. Ogni tabella contiene: - record (righe) = insieme di fatti riguardanti una persona Ogni record è univoco, la chiave primaria (= identificatore come un numero di serie, un codice) consente di distinguere informazioni simili rendendo univoco ogni record. Quando due tabelle sono collegate la chiave primaria di una diventa quella esterna dell’altra. Chiave esterna = chiave primaria della tabella a cui c’è il collegamento (per esempio la tabella degli ordini è collegata a quella degli impiegati che li hanno effettuati grazie alla chiave esterna che corrisponde all’ID impiegato). - campi (colonne) = singolo tipo di fatto applicabile a ogni persona ● Query: consentono di recuperare ed elaborare i dati: combinano dati di diverse tabelle, aggiornano i dati e, eseguono calcoli su di essi. → consentono di fornire una risposta a delle richieste, filtrando, recuperando, ordinando e assemblando i dati (per esempio combinare dati di più tabelle in una sola) → permettono di eseguire calcoli ● Maschere: le maschere sono strumenti grafici che semplificano l'utilizzo dei dati (per esempio le linee e rettangoli sono elementi grafici delle maschere) , dipendenti → sono diretti (1,1) , ognuno è diretto da almeno qualcuno classificazione delle associazioni: ● diretta : l’associazione delle entità partiti e cittadini è diretta se diretta per come si legge, da sinistra a destra. es. cittadini → (votano) → partiti, l’associazione votano è diretta ● inversa : è l’inversa di quella diretta, quella da destra verso sinistra (per esempio le facoltà sono frequentate) ● funzionale: per ogni elemento della prima entità è associato un solo elemento della seconda, (come in una funzione matematica y = f(x)) ● totale (associazione diretta): tutti gli elementi della prima entità sono associati a elementi della seconda: (se per ogni occorrenza x appartenente a E1 c’è almeno un'occorrenza y appartenente a E2) ● parziale : se non totale l’associazione si dice parziale: ci sono elementi della prima entità non associati alla seconda. ● uno a uno (biunivoca): associazione con diretta e inversa funzionale: a ogni occorrenza della prima entità corrisponde una e una sola occorrenza della seconda e viceversa. (Per esempio i pazienti e le cartelle cliniche: a un paziente corrisponde una e una sola cartella clinica e a una cartella clinica corrisponde uno e un solo paziente). ● uno a molti: associazioni con diretta funzionale e inversa non o viceversa: a ogni occorrenza della prima entità corrisponde una e una sola occorrenza della seconda entità, ma ha ogni occorrenza della seconda entità corrispondono più occorrenze della prima entità. (Per esempio l’associazione tra le entità degli studenti e delle facoltà) S → (1,1) frequentano/è frequentata (1,N) ← F Ogni studente frequenta una sola facoltà, una facoltà è frequentata da più studenti. ● molti a molti: da entrambi i lati non è funzionale: a ogni occorrenza della prima entità corrispondono più occorrenze della seconda, a ogni occorrenza della seconda entità corrispondono più occorrenze della prima. (Per esempio nell’associazione tra le entità studenti e corsi che frequentano: ogni studente può frequentare più corsi, ogni corso può essere frequentato da più studenti) - associazione con attributi , per esempio all’associazione tra le entità dei progettisti e dei progetti, si possono assegnare due attributi: la data d’inizio e quella di fine. - generalizzazione : permette di rappresentare entità che derivano da altre entità (per esempio l’entità del personale scuola, a sua volta è composta da altre entità figlie come i docenti e i non docenti, ecc.) RELAZIONI E TABELLE Una tabella è costituita da righe, le ennuple o tuple che sono divise in attributi (colonne). Per ogni relazione si definisce un grado e una cardinalità - grado = numero di domini (colonne/campi) su cui è costituita una relazione. → è un'informazione stabile, difficilmente si aggiungono dei campi, in quanto ciò comporterebbe la perdita di tempo (soldi e risorse). (per aggiungere un attributo bisogna rifare la struttura della tabella con i campi aggiunti e poi ricopiare ogni occorrenza da capo). - cardinalità = numero di ennuple → è un'informazione instabile, in quanto può variare nel tempo, si possono aggiungere righe (record) nel tempo. - chiave candidata = un attributo o un insieme di attributi che fungono da chiave primaria per tale relazione. In tutte le relazione c’è almeno una chiave candidata, nel caso limite in cui tutti gli attributi fungono da chiave candidata capiamo che in una relazione non possono esserci ennuple con valori uguali uguali. ● chiave primaria composta = chiave primaria composta da più attributi Se la chiave composta è troppo onerosa da usare si ricorre ad una chiave primaria artificiale, composta da un codice che identifica la relazione univocamente. Relazione tra tabelle = corrispondenza che si pone tra record di tabelle diverse, tramite chiavi primaria ed esterne. Una relazione R tra i domini è rappresentata da una collezione finita di elementi (ennuple) d1,d2, … dn , appartenenti ai rispettivi domini D1, D2, … Dn, (= combinazione dei possibili elementi, ennuple, dei relativi domini). Proprietà di una relazione: - costituita da un insieme di elementi finiti ennuple (record/righe) - le ennuple sono omogenee, hanno la stessa struttura - tutte le ennuple devono essere diverse tra loro, deve essere definita una chiave primaria - l’ordine delle ennuple è irrilevante ● chiave esterna : attributo o insieme di attributi che costituisce una chiave primaria in un’altra tabella con cui c’è la relazione Per esempio: tra 2 entità (tabelle) rappresentanti i reparti e i pazienti, metteremo nella tabella dei pazienti, che è associata in modo funzionale verso quella dei reparti, la chiave esterna codice reparto, PAZIENTI (codice paziente, cognome, nome, codice reparto) → a un paziente corrisponde un solo reparto, invece a un reparto corrispondono più pazienti. VINCOLI DI INTEGRITÀ REFERENZIALE (=ulteriore vincolo per verificare la validità delle relazioni tra tabelle) ● Integrità referenziale = insieme di regole che garantiscono la correttezza dei dati nel caso di relazioni con chiavi primarie ed esterne. Essa garantisce la validità tra le associazioni, ogni valore non nullo della chiave esterna deve associarsi a un valore della corrispettiva chiave primaria non nullo (ci deve essere una associazione di valori). Per esempio nell’associazione tra gli studenti e le valutazioni: STUDENTI (matricola, Cognome, nome, classe) ,lato non funzionale VALUTAZIONI (NumeroValutazione, materia, data, matricola), lato funzionale Il vincolo di integrità verifica che a ogni codice della chiave esterna matricola sia associato un valore della chiave primaria, numerovalutazione. Oltre all’inserimento di righe in una relazione il vincolo di integrità può essere applicato ad operazioni di cancellazione e modifica, per esempio delle chiavi primarie o esterne. ● integrità referenziale in cancellazione e modifica = meccanismo che, a seguito dell'eliminazione o modifica di un valore di una chiave primaria,impone l’eliminazione o la modifica a catena a tutte le chiavi esterne corrispondenti di tale valore.
Docsity logo


Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved