Informatica - Database Flashcards
(31 cards)
DB - Sistema informativo
È l’insieme di risorse, persone, tecnologie, dati e procedure ideate per raccogliere, elaborare, immagazzinare e distribuire informazioni.
DB - Sistema informatico
È un sottoinsieme del sistema informativo che si focalizza sulla gestione digitale dei dati.
DB - Archivio
È una raccolta organizzata di dati
DB - Archivio - Limiti
Isolamento dei dati - Gli utenti di un programma non hanno modo di accedere a dati utili gestiti da altri programmi.
Ridondanza - Gli stessi dati sono gestiti da programmi diversi, creando così duplicati che andranno a sprecare spazio e con valori formati diversi tra loro.
Dipendenza logica - La struttura dei dati e definita dal singolo programma.
Sicurezza - Non è garantita alcuna protezione sui dati.
Formati incompatibili - Diversi programmi, sviluppati con linguaggi diversi, non potranno accedere a determinati tipi di file.
DB - Archivio - Tipi di file
Sequenziale - I dati sono memorizzati in sequenza e si accedono in sequenza.
Accesso diretto - Tramite un algoritmo di hashing, è possibile risalire direttamente alla posizione del record tramite l’inserimento di una chiave.
Accesso con chiave - Ogni record del file ha una chiave univoca che lo identifica. Tutte le chiavi sono salvate su un file esterno detto indice.
È possibile utilizzare il file indice per risalire al blocco di memoria in cui sono salvati i dati.
Accesso invertito - La ricerca viene effettuata usando un valore al posto della chiave.
DB - Database
Viene creato per la primo volta a metà degli anni ‘80.
È un insieme strutturato di dati organizzati in modo da facilitare la memorizzazione, la gestione e il recupero delle informazioni.
I dati vengono gestiti tramite un DBMS (DataBase Management System), ossia un programma che legge, manipola e conserva i dati e i metadati in maniera efficiente.
DB - Database- Caratteristiche
Indipendenza - Il DBMS separa i dati dalla logica applicativa, consentendo di modificare la struttura dei dati senza andare ad intaccare le applicazioni che li utilizzano.
Persistenza - I dati persistono nel tempo.
Non ridondanza - I dati vengono salvati soltanto una volta.
Sicurezza - Il DBMS dispone di meccanismi di accesso autorizzato ai dati e crittografia.
Integrità - Garantisce che i dati siano sincronizzati e corretti attraverso vincoli d’integrità.
Utilizzo concorrente - Più programmi possono accedere agli stessi dati nello stesso momento.
Backup e recovery - Il DBMS offre sistemi di backup per poter ripristinare i dati in caso di errore, perdita o corruzione.
DB - Astrazione del DBMS
È il concetto che separa il modo in cui i dati vengono salvati effettivamente rispetto a come sono percepiti e utilizzati da utenti e applicazioni.
È struttura in 3 livelli: livello fisico, livello logico/concettuale e il livello esterno.
DB - Astrazione del DBMS - Differenza tra i tre livelli di astrazione
1) Il livello fisico - Gestisce il modo in cui i dati sono archiviati a livello hardware.
2) Il livello logico/concettuale - Definisce la struttura e le relazioni dei dati (es: diagramma ER)
3) Il livello esterno - Mostra agli utenti finali una visione personalizzata e semplificata dei dati.
DB - Progettazione di un database
1) Analisi dei requisiti - Viene fatta un’analisi sulle necessità e sui dati da gestire.
2) Progettazione concettuale - Viene creato un modello astratto, detto anche schema concettuale, in cui vanno definiti le entità e le relazioni (es: diagramma ER).
3) Progettazione logica - Il modello viene tradotto in un altro modello comprensibile al DBMS scelto, lo schema logico, in cui sono definite le le tabelle, gli attributi, le chiavi e le relazioni tra le tabelle.
4) Progettazione fisica - Vengono implementate le strutture di dati nel database.
DB - Linguaggi di un DBMS
DLL (Data Definition Language) - Viene utilizzato per definire o modificare la struttura del database.
DML (Data Manipulation Language) - Viene utilizzato per interagire con le strutture dati all’interno del database.
DCL (Data Control Language) - Viene utilizzato per gestire i permessi e l’accesso al database.
DB - Transazioni ACID
Sono un insieme di proprietà che garantiscono che le operazioni su un database siano eseguite in modo affidabile, sicuro e coerente.
Sono: Atomicità, consistenza, isolamento e durabilità.
DB - Transazioni ACID - Atomicità
Le transazioni sono atomiche, quindi se non venissero portate a termine, bisognerà rifarle di nuovo da capo.
DB - Transazioni ACID - Consistenza
Le transazioni devono rispettare i vincoli di integrità del database, così che a fine transazione, esso sia in regola con le regole imposte.
DB - Transazioni ACID - Isolamento
Ogni transazione avviene in maniera completamente isolata e indipendente dalle altre.
DB - Transazioni ACID - Durabilità
Una volta completate le transazioni, tutte le modifiche apportate saranno permanenti.
DB - Modello di dati
Descrive la realtà che si vuole modellare mediante il database.
Ne esistono di diversi tipi:
Il modello gerarchico.
Il modello reticolare.
Il modello a oggetti.
Il modello relazionale.
DB - Modello di dati - Gerarchico
Rappresenta i dati come una struttura ad albero, con un nodo principale “radice” e vari livelli “figli”.
DB - Modello di dati - Reticolare
Rappresenta i dati in una struttura a rete, permettendo ad un qualsiasi record di avere più di un genitore.
DB - Modello di dati - A oggetti
Si basa sui principi della programmazione ad oggetti, rappresentando i dati come oggetti, con tanto di attributi e operazioni per gestirli.
DB - Modello di dati - Relazionale
Rappresenta i dati e le eventuali relazioni in tabelle, in cui ogni riga rappresenta un record e ogni colonna un attributo.
DB - Elementi del modello ER
Entità - Rappresenta una classe di oggetti che appartengono ad una realtà e che hanno proprietà comuni, esistenza autonoma e sono di interesse per l’applicazione.
Attributi - Sono le proprietà che si intendono rappresentare e che descrivono un’entità.
Sono composti da un nome, un formato, una dimensione, un valore e un’opzionalità.
Associazioni - Sono un legame logico tra 2 o più entità.
Cardinalità - Esprime il numero minimo e massimo di volte in cui un’istanza di un elemento può partecipare in una reazione con un altro.
Generalizzazione - Ispirato alla gerarchia presente nella programmazione ad oggetti.
DB - Elementi del modello ER - Tipologie di entità
Entità forte - È un’entità con una chiave univoca e definita.
Entità debole - È un’entità in cui parte della chiave è data dalla chiave di un’entità forte da cui dipende.
Entità proprietaria - È l’entità forte dalla quale l’entità debole dipende per essere identificata.
DB - Elementi del modello ER - Tipologie di attributi
Attributo semplice - Non scomponibile in altri attributi.
Attributo composto - Scomponibile in altri attributi.
Attributo multiplo - Dispone di una cardinalità da 1 a N, usato se è possibile avere piò valori nel suddetto attributo.
Attributo opzionale - Dispone di una cardinalità da 0 a 1, usato se è possibile non avere alcuna istanza dell’attributo.
Attributo multiplo opzionale - Una fusione tra l’attributo multiplo e quello opzionale.
Attributo chiave primaria - Usato come identificatore dell’entità.
Attributo chiave composta - Sono più attributi usati per formare una chiave.
Attributo derivato - È un attributo ricavabile elaborando un altro attributo o un insieme di attributi.
Chiave candidata o superchiave - È un attributo o un insieme di attributi che concorrono al titolo di chiave primaria.