Sei sulla pagina 1di 18

Domotica e

Supervisione di Impianti
2.1 Basi di Dati

Roberto Setola: r.setola@unicampus.it


Luca Faramondi: l.faramondi@unicampus.it
Basi di Dati
Informazione: notizia, dato o elemento che consente di avere conoscenza più
o meno esatta di fatti, situazioni, modi di essere.

Dato: ciò che è immediatamente presente alla conoscenza, prima di ogni


elaborazione; (in informatica) elementi di informazione costituiti da simboli che
debbono essere elaborati

Base di Dati:
• Insieme organizzato di dati utilizzati per il supporto allo svolgimento delle attività di
un ente (azienda, ufficio, persona)

• Insieme organizzato di dati gestito da un DBMS

DBMS: DataBase Management System

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
I DBMS garantiscono l’affidabilità e la resistenza a malfunzionamenti software o
hardware e devono inoltre gestire delle transazioni.

Esempio: Due prelievi da un controcorrente

Quanto
Quanto c’è c’è sul conto?

1) sul conto?
2)

1000 1000

3) 4) Bene, allora
Bene, allora prelevo 100
prelevo 200

Nuovo Saldo 800 Nuovo Saldo 900

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Lo schema della base di dati

L’istanza della base di dati

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Una base di dati contiene di solito diverse relazioni:

Corsi Aule

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Linguaggi per basi di dati:

• Un altro contributo all’efficacia: disponibilità di vari linguaggi e interfacce

• Linguaggi testuali interattivi (SQL)

• Comandi (SQL) immersi in un linguaggio ospite (Cobol, Fortran, Pascal, Java, C ...)

• Comandi (SQL) immersi in un linguaggio ad hoc, con anche altre funzionalità (p.es.
per grafici o stampe strutturate)

• Con interfacce user friendly (senza linguaggio testuale)

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Chiave primaria:
Campo su cui non sono ammessi valori nulli

Notazione: sottolineatura

Una chiave primaria può essere anche definita su più campi (attributi):

La coppia (Studente,Corso) potrebbe essere una valida chiave primaria

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Vincolo di integrità referenziale:
Vincolo di integrità referenziale (“foreign key”) fra X di R1 e Y R2

impone ai valori su X in R1 di comparire come valori della chiave primaria di R2

Infrazioni Vigili

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Corsi Aule Prova online linguaggio SQL
https://sqltest.net

CREATE TABLE IF NOT EXISTS `corsi` (


CREATE TABLE IF NOT EXISTS `aule` (

`corso` varchar(20) ,
`nome` varchar(20) ,

`docente` varchar(20) ,
`edificio` varchar(20) ,

`aula` varchar(20) ,

`piano` varchar(20) ,

PRIMARY KEY (`corso`,`docente`)

PRIMARY KEY (`nome`,`edificio`)


) DEFAULT CHARSET=utf8;

INSERT INTO `corsi` (`corso`, `docente`, `aula`) VALUES


) DEFAULT CHARSET=utf8;

('basi di dati', 'Rossi', 'DS3'),


INSERT INTO `aule` (`nome`, `edificio`, `piano`) VALUES
('Sistemi', 'Neri', 'N3'),
('DS1', 'OMI', 'Terra'),

('Geometria', 'Bruni', 'N3'),


('N3', 'OMI', 'Terra'),

('Algebra', 'Bruni', 'G'); ('G', 'Pincherle', 'Primo');

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Corsi Aule

Possibili interrogazioni (QUERY):

SELECT * FROM corsi WHERE aula = "G"


SELECT corso, aula FROM corsi WHERE aula = "N3"
SELECT corso, docente, aula, edificio, piano FROM corsi, aule WHERE aula = nome

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
ENTITA’: Rappresentano classi di oggetti (fatti, cose, persone, ...) che hanno proprietà
comuni ed esistenza autonoma ai fini dell'applicazione di interesse. Un'occorrenza di
un'entità è un oggetto o istanza della classe che l'entità rappresenta.

RELAZIONI / ASSOCIAZIONI: rappresentano un legame tra due o più entità. Il numero di entità
legate è indicato dal grado dell'associazione

Le entità e le associazioni possono essere descritte usando una serie di attributi. Tutti gli oggetti della
stessa classe entità (o associazione) hanno gli stessi attributi: questo è ciò che si intende quando si
parla di oggetti simili. La scelta degli attributi riflette il livello di dettaglio con il quale vogliamo
rappresentare le informazioni sulle entità e sulle relazioni. Per ciascuna classe entità o associazione si
definisce una chiave.

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Esempio di Modello E-R

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Identificatori Interni (Chiavi primarie definite tra gli attributi della singola entità)

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Identificatori Esterni (Chiavi primarie definite includendo attributi esterni all’entità in esame)

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Cardinalità delle Relazioni Per semplicità usiamo solo tre simboli:

0 e 1 per la cardinalità minima: 

0 = partecipazione opzionale

1 = partecipazione obbligatoria 


1 e N per la massima:

N non pone alcun limite

Con riferimento alle cardinalità massime, abbiamo relazioni:


• uno a uno

• uno a molti

• molti a molti

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Relazioni Molti a Molti

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Relazioni Uno a Molti

Domotica e Supervisione di Impianti 2.1 Basi di Dati


Basi di Dati
Relazioni Uno a Uno

Domotica e Supervisione di Impianti 2.1 Basi di Dati