DbGlossary

Included page "clone:dbglossary" does not exist (create it now)

Questa Wiki è stata creata per fungere da ausilio ai futuri studenti del Corso di Basi di Dati. Sono raccolte tutte le parole chiave del corso con la relativa spiegazione con la speranza che possa aiutarvi a comprendere al meglio la materia.


Pages

UniSalento-Universita-del-Salento.jpg

Corso: Basi di dati
Anno accademico: 2021/2022
Docente: prof.ssa Ing. Antonella Longo
Nome del progetto: DBGlossary
Data delle modifiche: 10/03/2022;17/03/2022;
Relatori: Erika Nocco;Aurora Caracciolo;

Progetto concettuale: progetto di livello astratto usato come canale di comunicazione con l’utente finale (soggetto in generale non tecnico) e come documentazione. L’esempio fondamentale è il modello ER.
Progetto logico: progetto che definisce gli aspetti più tecnici dai quali dipenderanno tempo di realizzazione e costo. In questo passaggio ci si preoccupa della scelta del DBMS e che quindi i dati siano effettivamente consistenti e durevoli nel tempo. L’esempio più importante sono i modelli relazionali.
Entità: Oggetto informativo al quale si possono attribuire delle proprietà, può essere:

  • forte: la sua esistenza è indipendente e in un digramma concettuale la si indica con il rettangolo
  • debole: la sua esistenza dipende dall'esistenza di altre entità, quindi la sua relazione con essa è a sua volta una relazione debole. La relazione si indica con il doppio rombo, mentre l'entità con il doppio rettangolo e l'attributo chiave, ha una sottolineatura tratteggiata.

Top-down: Approccio del programmatore nei confronti del progetto secondo cui il primo ha pieno controllo e governo del secondo, quindi ha completo potere decisionale.
CRM: Customer Relationship Management; insieme di canali per la comunicazione con il cliente, può essere:
• Outbound: l’azienda definisce il target dei clienti che possono essere interessati alla novità, segmentandoli a seconda delle loro caratteristiche e poi, conseguentemente, sceglie il canale di comunicazione e li contatta.
• Inbound: Il cliente contatta l’azienda (customer service) per richiesta di informazioni, reclami o risoluzione di problemi.
Relazione in un modello concettuale, tipi di relazione: corrispondenze semantiche tra tipi di entità. Possono essere unarie (ricorsive), binarie o ternarie. Si indica con il rombo.
Attributo chiave: è ciò che distingue univocamente l’istanza di identità. È sempre metterne uno per ogni entità e si indica sottolineato nel cerchio.
Attributo composto: è formato da più attributi semplici e per la sua gestione attraverso le query è sempre necessario fare un cambio di formato. Si indica con tanti cerchi connessi a quello principale. Ad esempio l’indirizzo composto da tipo di via, nome della via, numero civico, città, stato, cap, ecc…
Attributo multivalore: proprietà che può essere associata ad uno stesso soggetto più volte, per esempio una stessa persona può avere più indirizzi e-mail. Si indica con il cerchio doppio.
Attributo complesso: attributo composto e multivalore allo stesso tempo, per esempio un utente può avere più indirizzi, a loro volta composti da più attributi.
Attributo derivato: attributo che deriva da altri attraverso alcuni calcoli, per esempio dalla data di nascita si calcola l’età della persona. Si indica con il cerchio tratteggiato. Si noti inoltre, che si tratta di dati che molto spesso devono essere aggiornati continuamente per poter rimanere validi nel tempo, a questo proposito esistono diverse soluzione: i trigger nei DBMS che permettono di fare un’operazione all’arrivo di una data, le liste (questa soluzione non è gratuita) che sono query dinamiche aggiornata ad ogni chiamata, ecc…
Cardinalità: insieme ai vincoli di partecipazione, è una delle due caratteristiche fondamentali di un attributo, indica quanti tipi di entità partecipano al tipo di relazione. Esistono due modalità di scrittura: 1, M,N oppure (0,…,1), (1,…,1), (1,…,M), (M,…,N)
Vincoli di partecipazione: insieme alla cardinalità, è una delle due caratteristiche fondamentali di un attributo. Si utilizza soltanto nella prima modalità di scrittura della cardinalità, nel caso in cui si voglia dare un vincolo forte, e si indica con la sottolineatura. Per esempio, se un pittore deve aver dipinto almeno un quadro, il tipo di relazione si può indicare con N o con (1,…,N).

Enhanced Entity Relationship: (EER) è un modellizzazione di alto livello che aggiunge estensioni all'originario diagramma ER. Con essa si vanno dettagliare maggiormente alcuni tipi di entità, introducendo i concetti di Generalizzazione e Specializzazione.
Generalizzazione:Entità che mette a fattor comune una serie di attributi tra più entità. In essa si pone un attributo chiave identificante l'entità stessa.
Specializzazione: caratterizzazione del tipo di entità generalizzata in N diverse entità che differiscono tra loro per almeno un attributo (nessuna chiave primaria).
Disjoint: è una tipologia di relazione tra entità generalizzata e specializzazioni della stessa che garantisce che un entità generalizzata non possa assumere più specializzazioni della stessa. Il simbolo relazionale è una 'd'.
Overlapping: è una tipologia di relazione tra entità generalizzata e specializzazioni della stessa che permette ad un entità di assumere plurime specializzazioni. Il simbolo relazionale è una 'o'.
Snapshot: è la cattura di uno stato di un oggetto o entità in un determinato momento del tempo.
Storicizzare: è un modo per conservare nel tempo quante più informazioni possibili del mondo, ciò va al di la del creare una fotografia del mondo attuale, perchè riesco a capire nel tempo il numero di entità che si relazionano tra loro e i vari cambiamenti di esse. Nella storicizzazione è possibile che una Disjoint diventi Overlap ad esempio.
Union: è un'altra tipologia di relazione che garantisce che entità diverse possano essere relazionate tra loro da un'altra entità astratta che va a specializzare un loro aspetto in comune. Il simbolo relazionale è una 'u'.
Chiave Surrogata: è una chiave univoca che agisce come identificatore principale di un oggetto o entità, e va posta nel momento in cui si voglia associare un attributo ad un entità che nasce dall'unione di altre entità. Il simbolo è un ovale tratteggiato con il nome della chiave sottolineato.
Top-Down: L'approccio top-down, è un approccio che parte dall'analizzare gli elementi più in 'alto', cioè i più astratti per scendere verso il 'basso' analizzando i più specifici. (questo nel caso di Generalizzazione e Specializzazione)
Bottom-Up: L'approccio bottom-up, è un approccio che parte dal basso verso l'alto. Si analizzano prima gli oggetti più 'specializzati' per tornare indietro verso quelli più 'generici'. (nel caso dell'Unione)
OLTP (On-line Transaction Processing): soluzione di sviluppo database improntata alla conservazione durevole dei dati e ad un accesso a eventuali azioni online con precisione massima nelle tempistiche, in modo da evitare problemi. Questa è una soluzione applicata in casi in cui l'esattezza dei dati e delle azioni rispetto al tempo è fondamentale. Prendendo ad esempio un database che gestisce delle transazioni bancarie, la precisione è necessaria affinchè non avvengano incidenti come lo scambio di due pagamenti di due utenti, che riceveranno dati (e quindi denaro) errati.
Modello Relazionale: modello di sviluppo database basato su relazioni.
Relazione: componente di un modello relazionale formato da un insieme di attributi definiti da un dominio, disposti mediante tabulazione.
Attributo: componente essenziale di una relazione, che va a definire il dato dal punto di vista nominale e del valore. Qualora non sia assegnato alcun valore, se possibile, sarà NULL.
Dominio: insieme di valori assumibili da un attributo, che va eventualmente a delimitare l'insieme di valori ottenibile da un attributo e da un tipo di dato.
Tupla: insieme dei dati che vanno a rappresentare ogni attributo di un elemento inserito nel database (fondamentalmente è una riga della tabella detta relazione).
Stato del database: insieme delle tuple.
Rappresentazione intenzionale: rappresentazione riferita alla definizione della struttura della relazione.
Rappresentazione estensionale: rappresentazione riferita al valore di esempi di dato generati a partire dalla relazione.
Vincoli impliciti (Schema-Based Constraints): vincoli nella creazione di un database legati alla struttura intrinseca dello stesso. Possono essere legati ad esempio al dominio o all'unicità.
Vincoli espliciti (Explicit Constraints): vincoli nella creazione del database legati alla specifica volontà del creatore dello stesso.
Unicità: caratteristica di un elemento della relazione stabilita mediante la scelta (o la creazione) di un attributo (o un insieme di attributi) che sia intrinsecamente unico per ogni tupla (nello specifico si definisce SUPERKEY).
SUPERKEY: insieme di attributi che rendono unica la tupla.
PRIMARY KEY: SUPERKEY usata per identificare univocamente la tupla. Caratterizzata, oltre che dall'unicità, dalla minimalità.
Minimalità: caratteristica fondamentale della PRIMARY KEY, che ne dimostra l'unicità sul minor numero possibile di attributi usati per raggiungerla.
Vincolo di integrità: vincolo implicito del database caratterizzato dalla presenza dello stesso dato, con lo stesso dominio, in due relazioni diverse. L'insieme dei valori di uno (attributo referenziante) è e deve essere lo stesso insieme dell'altro (attributo referenziato).
Attributo referenziante: chiave esterna (FOREIGN KEY) facente parte di un vincolo di integrità tra due relazioni e collegata a una chiave primaria (attributo referenziato). Ci sono dei casi in cui la chiave esterna può essere anche chiave primaria della stessa relazione.
Attributo referenziato: chiave primaria (PRIMARY KEY) facente parte di un vincolo di integrità tra due relazioni e collegata a una chiave esterna (attributo referenziante). Una chiave primaria non può essere nulla (NULL).
Inconsistenza: Rischio di richiamo di dati non esistenti o esistenti in più tuple della stessa relazione.
Mapping: passaggio da modello ER (o EER) a modello relazionale.
Partecipazione totale: una situazione per la quale il valore NULL non è applicabile all'attributo.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License