vuoi
o PayPal
tutte le volte che vuoi
INTERROGAZIONI IN ALGEBRA RELAZIONALE (QUERY)
Interrogazione dei dati (to query): attività che si occupa di estrarre i dati dalla base di dati. Il DBMS deve fornire un linguaggio per interrogare i dati:
- DDL: Data Definition Language, consente di definire i dati (crea le tabelle).
- DML: Data Manipulation Language, consente di manipolare i dati (query vere e proprie)
Algebra Relazionale: linguaggio definito a livello teorico, fornisce i concetti base.
SQL: linguaggio fornito dai DMBS commerciali, basato sui concetti di algebra relazionale. Con questo si gestiscono tutte le attività di una base dati.
Proprietà Fondamentale: Dato un operatore del linguaggio, sia i suoi operandi devono appartenere allo stesso dominio dei dati.
Sintassi: come devono essere scritti.
Vincoli: da rispettare per poterli utilizzare.
Semantica: come si comportano (in modo formale)
- Unari: proiezione (π), selezione(σ), ridenominazione (ρ).
- Binari: prodotto cartesiano (x), ⋈ ⋈)
join con predicato (C), join naturale (),• Binari Insiemistici: unione (U), intersezione (∩ di erenza (-).
INTERROGAZIONI IN SQL (QUERY)
SQL: Structured Query Language. Strutturato perché all’inizio degli anni ’70 ilinguaggi di interrogazione dati richiedevano di scrivere dei programmi procedurali.cosa si vuole ottenere non come ottenerlo.
In SQL si dice che ma SELECTPer fare una query è necessaria una istruzione che è la (viste, transazioni,modi ca e cancellazione dati).
FROMCon il andiamo ad indicare la tabella da cui andiamo a prelevare i dati. 3fi fi fi fi ff WHERE,Imponiamo, invece, delle clausole con l’istruzione NON ci vanno le funzioni diaggregazione.
Tutti gli attributi possono essere ridenominati tramite degli alias (as).In linguaggio SQL abbiamo anche le cosiddette “Funzioni di Aggregazione” che ciconsentono di sintetizzare un’intera tabella in un unico valore.
Queste sono:• COUNT (*) oppure COUNT (attributo)
as contatore• SUM (attributo) as somma• AVG (attributo) as media• MIN (attributo) as minimo• MAX (attributo) as massimo• GROUP BY.
Con queste serve necessariamente un’altra “clausola” (istruzione), dettaNon sono ammessi attributi di non raggruppamento. Per imporre una clausola sullel’HAVINGfunzioni di aggregazione usiamo (es. HAVING COUNT (*) >0).
ORDER BY ASCL’istruzione (ultima nell’ordine) ordina i risultati in modo crescenteDESC(“ascendant”) o decrescente (“descendant”).
JOINSQL fornisce l’operazione di (LEFT; RIGHT; FULL OUTER), usata nel FROM pergenerare una tabella unica composta da tutti gli attributi di una prima e di unaseconda tabella (utilizzo di alias per gli attributi con stessa denominazione).
Le visteUna vista è una tabella non materializzata, ossia la sua istanza non è memorizzatain modo persistente nella base dati.Se diversi utenti accedono contemporaneamente ai dati,
c'è l'alto rischio di modifica dei dati in modo "incrociato", causando così molteplici danni. Per risolvere questo problema è stato definito il concetto di transazione, ossia una sequenza di istruzioni eseguite in modo Atomico (tutte o nessuna).
ACID:
- Le transazioni hanno la proprietà Atomicity: transazione eseguita in modo atomico.
- Concurrency: eseguita in modo concorrente.
- Isolation: in isolamento.
- Durability: i suoi effetti sono durevoli.
- Dependability: gli effetti sono effettivi, le altre transazioni dipendono da questi.
DBMS commerciali:
- IBM DB2
- Oracle 19c (più di uso)
- Microsoft SQL Server
- Microsoft Access (uso personale)
DBMS gratuiti:
- PostgreSQL (migliore)
- MySQL (non rispetta lo standard SQL)
- SQLite (dispositivi mobili)
BLOCKCHAIN:
Per vendere/acquistare un immobile non basta firmare un contratto tra le parti, serve un notaio, che svolge 2 funzioni:
- Mantiene i registri
- Immutabilità: la storia dell'intero processo deve essere archiviata in modo da non poter essere manipolata in alcuna maniera. Serve un registro apposito chiamato Ledger.
- Condivisione: il registro deve essere condiviso, devono quindi essere presenti molte copie continuamente aggiornate da sistemi in competizione tra loro.
- Certificare il
- Gestirne le transazioni
- Evitare frodi
- Evitare la perdita di dati
- Permissionless BlockChain: chiunque può accedere alla rete.
- Permissioned BlockChain: solo i peer autorizzati vi possono accedere, dopo laconvalida di un amministratore.
- Internal Code: codice memorizzato ed eseguito in piattaforma. Si dividono in:contract-speci c code (codice non condiviso), contract-family code (unafamiglia di contratti condivide il codice) e global code
- External Code: codice memorizzato all'esterno della piattaforma poiché nonsupportato se memorizzato internamente.
- Permissionless platform
- Moneta virtuale: bitcoin
- Nessun supporto per Smart Contracts
- Eseguiti al di fuori della piattaforma
- Meccanismo di consenso: Proof of Work
- Permissionless platform
- Moneta virtuale: ether
- Supporta gli smart contract
- Linguaggio programmazione: Solidity
- In-platform code, contract-specific code
- Meccanismo consenso: proof of work no ad agosto 2022, dopo proof of stake
- Permissioned platform
- No moneta virtuale
- Supporto agli smart contracts
- In-platform code, contract-family code
- Linguaggi programmazione: Java, Kotlin
- Meccanismo consenso: proof of knowledge
dell'atto di compravendita.
II. Verificare nei registri degli atti, se chi vende ha effettivamente la proprietà del bene venduto.
Gli intermediari svolgono dunque un ruolo importante in quanto si occupano di svolgere quelle operazioni che il cliente non sarebbe in grado di svolgere.
Il cliente potrebbe avere dei problemi di fiducia nei loro confronti, che vengono risolti dai concetti di:
Le Monete Virtuali
Una moneta virtuale è una valuta non fisica (logica) che però è strettamente correlata a quella reale (acquisite in monete reali), ed è gestita da un sistema informatico.
Questo ha diversi compiti:
Possesso da parte dell'utente:
Il sistema di gestione fa da intermediario, il problema sorge quando questo è centralizzato, in quanto risulterebbe essere più vulnerabile. Dunque, perdendo dati, i clienti riscontrerebbero perdite in termini reali.
Bitcoin
Nasce nel 2010 e al momento è la moneta virtuale più nota e usata al mondo, difatti consente il movimento di grandi quantità di denaro. Il suo successo risiede nella tecnologia su cui si basa la sua piattaforma, Bitcoin (B maiuscola), chiamata BlockChain.
Il Bitcoin è una piattaforma del tipo "peer-to-peer network", cioè non esiste un controllore che la supervisiona. Tutti i nodi (peer) partecipano al processo dando il proprio consenso alle operazioni, non creando vulnerabilità.
BlockChain significa "catena di blocchi", denotando, così, il metodo.
dimemorizzazione dei dati al fine di essere immutabili. Un blocco contiene un gruppo di "transazioni" avvenute più o meno contemporaneamente, descrivendo i dati nello stato prodotto dall'esecuzione delle transazioni. Ogni blocco punta al blocco precedente, come in una lista. Quando si deve inserire un nuovo blocco, questo diventa la nuova testa della lista. Ma per garantirne effettivamente l'immutabilità è necessario un HashCode. HashCode: codice generato automaticamente da una funzione matematica, identifica un determinato blocco. Tutto si basa sul concetto di cifratura. Ogni blocco contiene al suo interno l'HashCode di quello precedente; quindi modificare il contenuto del blocco farebbe cambiare il suo codice rendendolo non più valido. Questo deve soddisfare determinati requisiti: - Lunghezza elevata - Un certo numero di bit deve essere 0 La cifratura si basa su un numero generato casualmente detto chiave di cifratura. Cosìviene aperta unapiù parti che non richiede l’intervento umanoper essere portato avanti. Si tratta di un programma che contiene le regole dicorrettezza e di trasformazione dei dati associati al contratto.La BlockChain ne garantisce l’integralità temporale di tutti gli stati del contratto.Le operazioni devono, però, essere necessariamente convalidate da un essereumano, altrimenti il contratto perde la sua validità legale. (questo non vale per tuttigli smart contract).
Come si caratterizzano le piattaforme di BlockChain
Accesso alla piattaforma:
Supporto agli smart contract
CARATTERIZZAZIONE DELLE PIATTAFORME DI BLOCKCHAIN PIÙ FAMOSE
Bitcoin
Ethereum
Corda
La sua caratteristica principale è quella del "Legal-Prose".
re acquistato, venduto o scambiato• Utilizzato per rappresentare asset digitali unici come opere d'arte, collezionabili, giochi virtuali, ecc.• Basato sulla tecnologia blockchain• Garantisce l'autenticità e la proprietà degli asset digitali• Può essere visualizzato e trasferito tramite piattaforme digitali specializzate come marketplace e wallet