Sistemi Informativi e Informatici
40 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Qual è la differenza principale tra un sistema informativo e un sistema informatico?

  • Un sistema informativo è sempre automatizzato.
  • Un sistema informatico è una parte automatizzata di un sistema informativo. (correct)
  • Un sistema informativo non richiede alcuna forma di rappresentazione delle informazioni.
  • Un sistema informatico gestisce dati senza alcuna interazione umana.
  • Come possono le informazioni diventare significative?

  • Solo quando sono scritte in forma complessa.
  • Semplicemente aggiungendo più dati.
  • Attraverso l'interpretazione e la correlazione dei dati. (correct)
  • Attraverso l'archiviazione senza elaborazione.
  • Cosa rappresentano i 'dati' in un contesto pratico?

  • Documentazione scritta senza alcun processo di interpretazione.
  • Informazioni compresse pronte all'uso.
  • Simboli che richiedono elaborazione per acquisire significato. (correct)
  • Numeri e stringhe già significativi sin dall'inizio.
  • Qual è un esempio di come i dati possano trasformarsi in informazioni?

    <p>Un numero e una stringa che rappresentano un'ordinazione in un ristorante.</p> Signup and view all the answers

    Quali strumenti possono essere utilizzati per gestire informazioni senza rappresentazioni complesse?

    <p>Lingua scritta, numeri o disegni.</p> Signup and view all the answers

    Che cosa non è corretto dire riguardo ai dati?

    <p>I dati hanno un significato intrinseco.</p> Signup and view all the answers

    Qual è una caratteristica essenziale dei sistemi informatici?

    <p>La codifica e la rappresentazione delle informazioni sono fondamentali.</p> Signup and view all the answers

    Quale affermazione è vera sui sistemi informativi?

    <p>Possono operare senza un computer.</p> Signup and view all the answers

    Cosa rappresenta uno schema di relazione nel modello relazionale?

    <p>Un simbolo R seguito da un insieme di attributi</p> Signup and view all the answers

    Qual è la corretta definizione di 'istanza di relazione'?

    <p>Un insieme r di tuple su X relative a uno schema</p> Signup and view all the answers

    Che cosa indicano i nomi di relazione in uno schema di base dati?

    <p>Le varie relazioni distinte nella base di dati</p> Signup and view all the answers

    Come vengono rappresentati gli attributi in uno schema di relazione?

    <p>Con lettere iniziali maiuscole eventualmente con indici e/o pedici</p> Signup and view all the answers

    Quale delle seguenti affermazioni è falsa riguardo allo schema di base dati?

    <p>Deve contenere almeno un'istanza di relazione</p> Signup and view all the answers

    Come viene indicato un insieme di attributi in un modello relazionale?

    <p>Con lettere maiuscole finali</p> Signup and view all the answers

    Qual è la forma corretta per rappresentare un insieme di attributi in notazione compatta?

    <p>X = ABC</p> Signup and view all the answers

    Come vengono indicati i nomi di relazione se non possono essere utilizzati nomi significativi?

    <p>Con lettere contigue maiuscole come R1, R2, R3...</p> Signup and view all the answers

    Quale operatore SQL è utilizzato per unire i risultati di due o più query producendo un insieme di righe distinte?

    <p>UNION</p> Signup and view all the answers

    Cosa restituisce l'operatore INTERSECT quando viene utilizzato tra due query?

    <p>Solo le righe comuni alle due query</p> Signup and view all the answers

    Quale condizione deve essere rispettata per utilizzare l'operatore UNION tra due query?

    <p>Le colonne delle query devono avere lo stesso numero e tipo di dati compatibili</p> Signup and view all the answers

    Cosa fa l'operatore EXCEPT in una query SQL?

    <p>Isola le righe presenti nella prima query ma non nella seconda</p> Signup and view all the answers

    In quale situazione sarebbe più utile l'operatore INTERSECT?

    <p>Quando si vogliono identificare le righe comuni in due set di risultati</p> Signup and view all the answers

    Quale tra le seguenti affermazioni è vera riguardo all'operatore UNION?

    <p>Non può essere utilizzato con colonne di tipo diverso</p> Signup and view all the answers

    Quale risultato si otterrebbe utilizzando l'operatore EXCEPT tra le due query fornite sugli studenti?

    <p>Un elenco di studenti presenti solo nella prima tabella</p> Signup and view all the answers

    Qual è il principale utilizzo dell'operatore UNION in SQL?

    <p>Ottenere un insieme unico di righe provenienti da query diverse</p> Signup and view all the answers

    Qual è una caratteristica della dipendenza transitiva in una relazione?

    <p>Un attributo non primo determina un altro attributo non primo attraverso una chiave.</p> Signup and view all the answers

    Cosa indica che una relazione è in Forma Normale di Boyce-Codd (BCNF)?

    <p>Ogni dipendenza funzionale non banale deve avere una superchiave come determinante.</p> Signup and view all the answers

    Quale affermazione è vera riguardo al comportamento attivo dei DBMS?

    <p>Il comportamento attivo è realizzato tramite i trigger.</p> Signup and view all the answers

    Qual è il paradigma fondamentale su cui si basa un trigger?

    <p>Evento-condizione-azione.</p> Signup and view all the answers

    Cosa si intende per dipendenza funzionale non banale?

    <p>Una relazione in cui l'insieme di attributi non è una superchiave.</p> Signup and view all the answers

    Perché è necessario eliminare le dipendenze transitive per raggiungere la 3NF?

    <p>Per evitare anomalie di aggiornamento e ridondanze.</p> Signup and view all the answers

    Qual è il risultato di una relazione che non soddisfa i requisiti della BCNF?

    <p>La relazione può avere anomalie e ridondanze.</p> Signup and view all the answers

    Qual è uno degli obiettivi principali della 3NF?

    <p>Eliminare le dipendenze transitive.</p> Signup and view all the answers

    Cosa rappresenta un'azione in un trigger?

    <p>Una serie di comandi SQL o una procedura memorizzata da eseguire</p> Signup and view all the answers

    Quale di queste affermazioni descrive il modo di esecuzione 'BEFORE'?

    <p>Il trigger verifica le modifiche prima che vengano registrate</p> Signup and view all the answers

    Quando un trigger viene attivato?

    <p>Quando la condizione specificata è soddisfatta</p> Signup and view all the answers

    Qual è il ruolo della granularità in un trigger?

    <p>Definisce se il trigger opera su singole righe o sull'intera operazione</p> Signup and view all the answers

    Qual è la principale funzione dei trigger nella gestione dei dati?

    <p>Centralizzare la logica aziendale nella gestione della base di dati</p> Signup and view all the answers

    Quali eventi possono attivare un trigger?

    <p>INSERT, DELETE e UPDATE</p> Signup and view all the answers

    Quale delle seguenti opzioni descrive in modo errato la creazione di un trigger?

    <p>Richiede solo un nome per il trigger</p> Signup and view all the answers

    Cosa succede quando viene eseguito un trigger in modalità 'AFTER'?

    <p>Il trigger si attiva dopo che l'operazione è stata completata</p> Signup and view all the answers

    Study Notes

    Sistemi informativi e Sistemi informatici

    • La disponibilità di informazioni e la capacità di gestirle in modo efficace è fondamentale per qualsiasi attività, a livello individuale e organizzativo.
    • Ogni organizzazione dispone di un sistema informativo per gestire le informazioni necessarie al raggiungimento dei propri obiettivi.
    • L'esistenza di un sistema informativo non è legata alla sua automatizzazione.
    • I sistemi informativi esistono da molto prima dell'avvento dei computer, esempi sono gli archivi bancari o anagrafici.
    • La parte automatizzata di un sistema informativo viene definita sistema informatico.
    • Negli ultimi decenni, la diffusione capillare dell'informatica ha portato molti sistemi informativi ad essere anche sistemi informatici.
    • È essenziale non confondere i due concetti.
    • Nelle attività più semplici, le informazioni possono essere gestite senza rappresentazioni complesse, utilizzando la lingua scritta, i numeri o i disegni.
    • In altri casi, le informazioni non vengono formalizzate, ma rimangono memorizzate a livello mentale.
    • Con la crescita della complessità delle attività, è diventata necessaria una migliore organizzazione e codifica delle informazioni.
    • Nei sistemi informatici, la rappresentazione e la codifica di informazioni diventa fondamentale.
    • Le informazioni vengono tradotte in dati, che devono essere interpretati per fornire significato.
    • I dati da soli non hanno significato; è solo attraverso la loro interpretazione e correlazione che diventano informazioni.
    • Le informazioni, arricchiscono la nostra conoscenza del mondo.
    • I dati possono essere considerati come simboli (numeri, stringhe, ecc.) che richiedono elaborazione per acquisire significato, diventando informazioni utili.
    • Ad esempio, la stringa "Ferrari" e il numero "8", scritti su un foglio di carta, sono dati.
    • Da soli non significano nulla. Tuttavia, nel contesto di un ristorante durante una notte di Capodanno, questi dati possono rappresentare l'ordinazione di una bottiglia di spumante della marca Ferrari, da addebitare alla camera numero 8.
    • Questo esempio dimostra come, una volta aggiunte informazioni contestuali, i dati si trasformano in informazioni.

    Schema di relazione

    • Costituito da un simbolo R (nome della relazione) e un insieme di attributi [X = {A1, A2, ..., An}]{.math.inline}, solitamente indicato come [R(X)]{.math.inline}.
    • A ciascun attributo è associato un dominio.

    Schema di base di dati

    • Rappresenta un insieme di schemi di relazione con nomi diversi: [R = {R1(X1), R2(X2), ..., Rn(Xn)}]{.math.display}.
    • I nomi di relazione servono a distinguere le varie relazioni all'interno della base di dati.
    • L'insieme di schemi di relazione con nomi diversi: [R = {STUDENTI(Matricola, Cognome, Nome), ESAMI(Voto, Corso), CORSI(Codice, Titolo, Docente)}]{.math.display} può essere considerato come uno schema di base di dati, con opportune definizioni per i domini.

    Istanza di relazione

    • Rappresenta un insieme r di tuple su X. [R = {R1(X1), R2(X2), ..., Rn(Xn)}]{.math.display}
    • Ogni [ri]{.math.inline}​ è una relazione sullo schema [Ri(Xi)]{.math.inline}.

    Convenzioni nella notazione

    • Gli attributi vengono indicati con lettere iniziali dell'alfabeto (maiuscole), eventualmente con indici e/o pedici: [A, B, C, A^′^, A1, ...]{.math.inline}.
    • Insiemi di attributi saranno indicati con lettere finali dell'alfabeto (maiuscole): [X, Y, Z, X′, Xi, ...]{.math.inline}.
    • Un insieme in cui si vogliano evidenziare gli attributi componenti verrà denotato dalla giustapposizione dei nomi degli attributi stessi: ad esempio, scriveremo [X = ABC]{.math.inline} anziché [X = {A, B, C}]{.math.inline}.
    • Analogamente, l'unione di insiemi verrà denotata dalla giustapposizione dei relativi nomi: scriveremo [XY]{.math.inline} anziché [X ∪ Y]{.math.inline}; unendo le due convenzioni, scriveremo [XA ]{.math.inline}anziché [X ∪ {A}]{.math.inline}.
    • Per i nomi di relazione, quando non si possano o debbano usare nomi significativi, utilizzeremo R e lettere contigue (maiuscole): [R1, S, S′, ...]{.math.inline}.
    • Per le relazioni, utilizzeremo gli stessi simboli, ma in lettere minuscole.

    Operatori insiemistici in SQL

    • Gli operatori insiemistici consentono di combinare i risultati di due o più query come se fossero insiemi matematici.
    • Le principali operazioni insiemistiche sono UNION, INTERSECT ed EXCEPT.

    UNION

    • Unisce i risultati di due o più query, producendo un insieme di righe distinte.
    • Elimina le righe duplicate.
    • Le query devono avere lo stesso numero e tipo di dati compatibili.
    • Ad esempio, se una query seleziona nomi e cognomi, anche l'altra deve avere colonne corrispondenti.
    • Utilizzando UNION, puoi ottenere un elenco unico di nomi e cognomi degli studenti presenti in due tabelle, STUDENTI_BASIDATI e STUDENTI_ANALISI1, senza duplicati.
    • Il comando seguente restituirebbe un insieme di studenti, assicurandosi che ogni nome e cognome appaia una sola volta.
    SELECT Nome, Cognome FROM STUDENTI_BASIDATI
    
    UNION
    
    SELECT Nome, Cognome FROM STUDENTI_ANALISI1;
    

    INTERSECT

    • Identifica le righe comuni tra due query.
    • Restituisce solo le righe che si trovano in entrambe le tabelle.
    • Con le stesse tabelle dell'esempio precedente, per trovare solo gli studenti presenti in entrambe le tabelle, puoi scrivere:
    SELECT Nome, Cognome FROM STUDENTI_BASIDATI
    
    INTERSECT
    
    SELECT Nome, Cognome FROM STUDENTI_ANALISI1;
    
    • Il risultato includerebbe solo gli studenti che sono elencati in entrambe le tabelle, utile per analisi comparative o per verificare l'appartenenza a gruppi specifici.

    EXCEPT

    • Trova le righe presenti nella prima query ma non nella seconda.
    • Utile per isolare le differenze tra i due set di risultati.

    Dipendenza Transitiva

    • Si verifica quando un attributo non primo è determinato da un altro attributo non primo, che a sua volta dipende dalla chiave.
    • Per esempio, se abbiamo una relazione con gli attributi "Impiegato", "Progetto" e "Sede", e se "Sede" dipende da "Progetto", e "Progetto" dipende da "Impiegato", allora "Sede" dipende transitivamente da "Impiegato".
    • Questa condizione viola la 3NF, poiché l'attributo "Sede" non dovrebbe dipendere da un attributo che non è parte della chiave primaria.

    Forma normale di Boyce-Codd (BCNF)

    • Versione più rigorosa della 3NF.
    • Una relazione è in BCNF se per ogni dipendenza funzionale non banale, l'insieme di attributi che determina gli altri attributi (determinante) deve essere una superchiave della relazione.
    • Una relazione non può avere dipendenze funzionali in cui l'insieme di attributi determinante non sia una superchiave.
    • Sebbene una relazione in 3NF soddisfi la maggior parte dei requisiti per evitare anomalie, esistono casi in cui alcune dipendenze funzionali violano comunque il principio della superchiave, che la BCNF risolve.
    • Passare alla BCNF non garantisce sempre la conservazione delle dipendenze funzionali.

    Comportamento attivo delle basi di dati e trigger

    • Tradizionalmente, i DBMS erano considerati passivi: eseguivano solo le istruzioni transazionali inviate dagli utenti.

    • Il comportamento attivo, introdotto con i trigger, consente ai DBMS di reagire autonomamente a determinati eventi.

    • Si basa sul paradigma E-C-A (evento-condizione-azione).

    • Permette alla base di dati di rispondere automaticamente a una situazione specifica quando si verifica un evento particolare.

    • I trigger sono regole definite che si attivano a fronte di eventi transazionali predefiniti.

    • Ogni trigger segue il paradigma E-C-A, suddiviso in tre componenti fondamentali:

      • Evento: rappresenta il momento di attivazione del trigger, ossia una modifica dello stato dei dati, come un'operazione di INSERT, DELETE o UPDATE.
      • Condizione: una condizione logica che specifica se il trigger debba effettivamente essere eseguito quando si verifica l'evento.
      • Azione: rappresenta una sequenza di comandi SQL o una procedura memorizzata che viene eseguita se la condizione è soddisfatta.
    • Grazie ai trigger, una parte delle logiche applicative diventa "condivisa" all'interno della base di dati, garantendo l'indipendenza della conoscenza: le regole e la logica reattiva vengono estratte dal codice dell'applicazione e centralizzate nella gestione della base di dati stessa.

    • Ciò rende la manutenzione delle regole aziendali più agevole e aumenta la consistenza dei dati, poiché tutti i sistemi che accedono alla base di dati condividono lo stesso insieme di regole.

    • I trigger vengono definiti utilizzando il linguaggio di definizione dei dati (DDL) tramite l'istruzione CREATE TRIGGER.

    Creazione e sintassi dei trigger

    • La sintassi standard include vari elementi:

      • Il nome del trigger e il nome della tabella target su cui esso viene applicato.
      • La specifica dell'evento che lo attiva (ad esempio, INSERT, DELETE, UPDATE).
      • Il modo di esecuzione, ossia quando il trigger viene eseguito rispetto all'evento: BEFORE o AFTER.
      • La granularità dell'evento, che può essere statement-level (per l'intera operazione) o row-level (per ciascuna riga coinvolta nell'operazione).
      • Eventuali condizioni e azioni, cioè le istruzioni che il trigger deve eseguire se la condizione è verificata.

    Modo di esecuzione dei trigger: BEFORE e AFTER

    • I trigger possono essere configurati per essere eseguiti prima (BEFORE) o dopo (AFTER) l'operazione specificata.
    • BEFORE: esegue il trigger prima che l'evento venga effettivamente applicato sulla base di dati. Utile per controllare o validare le modifiche prima che vengano registrate, garantendo integrità e consistenza dei dati in fase di modifica.
    • AFTER: esegue il trigger subito dopo che l'operazione è stata completata. È il comportamento più comune e viene utilizzato in moltissime applicazioni, come la gestione dei log o l'aggiornamento di record collegati in altre tabelle.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Basi Dati - Sommario PDF

    Description

    Questo quiz esplora i concetti di sistemi informativi e sistemi informatici, evidenziando le loro differenze e relazioni. Scoprirete come le organizzazioni gestiscono le informazioni e l'importanza della loro corretta automazione. Testate la vostra comprensione attraverso domande mirate.

    More Like This

    Use Quizgecko on...
    Browser
    Browser