Architettura dei Calcolatori

Download Report

Transcript Architettura dei Calcolatori

Lezione 6
Prof. Angela Bonifati
Applicazioni di sistemi distribuiti
Applicazioni su Internet
Cenni di Database
Applicazioni di SD
Applicazioni come sistemi distribuiti
I sottosistemi di cui un’applicazione è costituita possono risiedere
(ed essere in esecuzione) su calcolatori diversi connessi in rete:
si parla in tal caso di applicazioni distribuite
L’architettura più diffusa per la realizzazione di applicazioni
distribuite è chiamata client-server:
l’utente tramite il programma client produce una richiesta da
inviare al server e ottiene da esso la relativa risposta
il programma server, in esecuzione su un calcolatore raggiungibile
sulla rete, ricevendo una richiesta dalla rete, la elabora e produce
una risposta, che reinvia sulla rete
client
richiesta
server
risposta
17/07/2015
Introduzione ai sistemi informatici
3
Architettura client-server: un esempio
Un “sommatore distribuito”:
 interagendo con il client l’utente specifica due numeri
 il client attiva la richiesta al server, passandogli i due numeri
come parametri
 il server riceve la richiesta e attiva il suo sottoprogramma
sommatore, passandogli i due parametri ricevuti
 il sottoprogramma sommatore produce il risultato e lo rende
disponibile
 il server invia tale risultato come risposta al client
 il client riceve la risposta e ne visualizza il contenuto per l’utente
client
richiesta
server
risposta
17/07/2015
Introduzione ai sistemi informatici
4
Web come esempio di sistema distribuito
World Wide Web è realizzato come sistema distribuito client-server, in cui il client è
un browser e il server è un server web:
l’utente si connette a Internet e mette in esecuzione il browser;
quindi scrive nella barra dell’indirizzo:
http://www.curioso.it/CoseInteressanti/BelloQuesto.txt
e preme Invio
il browser genera automaticamente un testo del tipo:
GET /CoseInteressanti/BelloQuesto.txt HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Accept: */*
e lo invia al server www.curioso.it come richiesta
ricevendo la richiesta, il server web cerca il file richiesto
(/CoseInteressanti/BelloQuesto.txt) e, trovatolo, produce un messaggio del tipo:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
content-type: text/plain
content-length: 14
Saluti a tutti

che invia come risposta al browser da cui aveva ricevuto la richiesta
il browser visualizza il contenuto del file, accodato all’intestazione della risposta
17/07/2015
Introduzione ai sistemi informatici
5
HTTP come esempio di protocollo applicativo
Nella comunicazione tra client e server non è sufficiente che richiesta e risposta
giungano correttamente al destinatario: occorre che i due programmi comunicanti
siano in grado di comprendere le rispettive comunicazioni, cioè “parlino la stessa
lingua”:
devono perciò condividere uno stesso protocollo applicativo
Nel caso di web il protocollo applicativo, che specifica il formato dell’intestazione
sia della richiesta del browser sia della risposta del server web, è HyperText
Transfer Protocol (HTTP)
Per esempio la risposta:
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
content-type: text/plain
content-length: 14
Saluti a tutti
Intestazione HTTP, con informazioni sul
server web che ha prodotto la risposta e
sul file restituito
Linea bianca: separatore tra
intestazione e corpo del messaggio
Corpo del messaggio: contenuto del file restituito
17/07/2015
Introduzione ai sistemi informatici
6
Il problema dell’identificazione delle risorse
Per poter accedere ai servizi applicativi messi a disposizione dai server sulla rete
e creare quindi un’applicazione distribuita, è necessario che ognuno di tali servizi
risulti univocamente identificabile da parte dei client
Nel caso di Internet si è standardizzato uno schema uniforme di identificazione
applicativa, che consente di assegnare un metodo di accesso e un indirizzo,
chiamati congiuntamente Uniform Resource Locator (URL), a ogni risorsa
presente sulla rete
In generale, un URL ha la forma:
protocollo://host:portaTCP/risorsa
Per esempio:
http://server1.isttec.liuc.it:80/dida/calendario.htm
protocollo applicativo
adottato
indirizzo del server
web a cui è inviata la
richiesta
17/07/2015
porta TCP su cui è
nome completo
in esecuzione il
del file richiesto
server web
Introduzione ai sistemi informatici
7
Applicazioni su Internet
Elaborazione su Internet
 Cosa
serve?
• un computer
• una connessione TCP/IP
• collegamento a Internet mediante router
• oppure: linea telefonica + modem + provider
• programmi client
17/07/2015
Introduzione ai sistemi informatici
9
Modem
/1
Connessione di calcolatori attraverso la rete telefonica
(analogica).
 Velocità crescenti dal 1980 in poi

• V.22bis, V.32 & V.32bis furono i primi standard per velocità di
2.4, 9.6 e 14.4Kbit/s.
• V.34 (1994) supporta 28.8Kbit/s e corrisponde al minimo
livello attualmente accettato
• V.34+ (1996) arriva a 33.6Kbit/s
• V.90 arriva a 56Kbit/s downstream e a 33.6Kbit/s upstream.
• downstream indica dal digitale all’analogico
• upstream indica dall’analogico al digitale
17/07/2015
Introduzione ai sistemi informatici
10
Modem
/2
La linea telefonica trasmette bene segnali tra 1000 e
2000 Hz  si usano come portanti (carrier).
 Modulazione del carrier per portare un segnale digitale

• Modulazione di ampiezza
usa due voltaggi diversi per 0 e 1;
• Modulazione di frequenza (frequency shift keying)
tensione costante, ma cambia la frequenza
• Modulazione di fase
ampiezza e frequenza costanti, cambia la fase.

Il numero di possibili cambiamenti di segnale al
secondo si chiama baud.
• È possibile associare 2 o più bit a ogni segnale, allora il
bit rate è maggiore del baud rate.
17/07/2015
Introduzione ai sistemi informatici
11
I provider

Internet Service Provider (ISP)
• organizzazioni, pubbliche o private, che affittano all'utenza
privata accessi ad Internet

Un provider dispone di uno o più host collegati ad
Internet con linee dedicate, attive 24 ore su 24
• gli host possono fornire temporaneamente accesso ai servizi
di rete a decine o centinaia di computer mediante modem e
linee telefoniche
17/07/2015
Introduzione ai sistemi informatici
12
Programmi client

Sono quei programmi che consentono di usufruire
dei servizi della rete.

Esempi:
• mailer (Eudora, Netscape Comunicator, Outlook, …)
• browsers (Netscape, Microsoft Explorer, …)
• plug-in (Adobe Acrobat Reader, Real Player, …)
• telnet
• ftp
17/07/2015
Introduzione ai sistemi informatici
13
Architettura client-server

Il client è un programma dotato di interfaccia utente,
che consente di richiedere dati ed elaborazioni al server

Il server mantiene dati e programmi e si occupa di
effettuare elaborazioni e trasmissioni su richiesta

Il dialogo client-server è regolato da protocolli del livello
delle applicazioni, tra cui:
• Simple Mail Transfer Protocol (SMTP) per la posta;
• File Transfer Protocol (FTP) per i file;
• Hyper-Text Transfer Protocol (HTTP) per il Web.
17/07/2015
Introduzione ai sistemi informatici
14
Client-Server: schema
17/07/2015
Introduzione ai sistemi informatici
15
World Wide Web (WWW)
Architettura software per gestire dati distribuiti
geograficamente basata sulla nozione di ipertesto
 Pagine web: ipertesti che possono contenere testo,
immagini, suoni, programmi eseguibili

• un utente legge le pagine, se seleziona un link la pagina
viene sostituita con quella richiesta (scaricata dal sito
remoto)

Si appoggia a TCP/IP e quindi è compatibile con ogni
tipo di macchina collegata ad Internet
17/07/2015
Introduzione ai sistemi informatici
16
Struttura del Web
Architettura Client-server
 Client (detto browser) permette la navigazione nel
web

• trasmette le richieste di pagine/dati remoti, riceve le
informazioni e le visualizza sul client
• A volte utilizza programmi esterni (plug-in) per gestire i
dati ricevuti

Il Server è un processo sempre attivo che aspetta e
serve le richieste dei client
• restituisce la pagina richiesta oppure un messaggio di
errore
17/07/2015
Introduzione ai sistemi informatici
17
Web: Client-Server
SERVER
Richiesta
Explorer
CNN
CNN.COM
Last News
Pagina
INTERNET
17/07/2015
Introduzione ai sistemi informatici
18
Domini
Domini=suddivisione logica di Internet per facilitare la
gestione dei nomi delle risorse
 Internet è suddivisa in una moltitudine di domini
radice

• Domini nazionali:
• Domini generici:

uk
com
it
edu
de
Un dominio radice include una collezione di host e può
essere suddiviso a sua volta in sottodomini e così via
• Sottodominio del DISI: disi.unige.it
17/07/2015
Introduzione ai sistemi informatici
19
Spazio dei nomi dei domini
com
gov
org
yahoo
it
unige
unipi
microsoft
research
17/07/2015
jp
.....
ac
co
......
......
disi
dist
di
Introduzione ai sistemi informatici
20
Name Server
Lo spazio dei nomi è diviso in zone gestiti da un
server principale e server secondari che mantengono
la lista degli host inclusi nel dominio (database dei
nomi)
 Se un server non trova un nome nel suo database
manda una richiesta al server del dominio antenato
o successore e così via (interrogazioni ricorsive)
 Si usa una memoria cache per mantenere gli indirizzi
recuperati tramite altri server

17/07/2015
Introduzione ai sistemi informatici
21
Domain Name Server
Lo spazio dei nomi è memorizzato quindi sotto
forma di database distribuito
 Ogni rete locale ha un proprio server DNS che
mappa nomi logici (indirizzi DNS) in indirizzi fisici
(indirizzi IP)
 N.B.: Indirizzi IP = codice numerico (binario)
utilizzato dal protocollo di invio dati del modello
TCP/IP

• Es. 121.34.16.19
17/07/2015
Introduzione ai sistemi informatici
22
URL: indirizzi nel Web
URL (Uniform Resource Location) è uno standard
per il formato degli indirizzi delle risorse sul Web
 Specifica:

• Come si vuole accedere alla risorsa (metodo)
• Dove si trova la risorsa (indirizzo server)
• Nome della risorsa (nome)

Formato:
• Metodo://host/nome
17/07/2015
Introduzione ai sistemi informatici
23
Metodo
 http:
protocollo gestione ipertesti
 ftp: trasferimento file
 news: gruppi di discussione
 telnet: accedere a macchine remote
 file: accedere a documenti locali
17/07/2015
Introduzione ai sistemi informatici
24
Nome
(mnemonico) di dominio del server DNS
al quale si vuole chiedere la risorsa
 Esempio:
 Nome
• Server Web DISI: www.disi.unige.it
• Server FTP DISI: ftp.disi.unige.it
17/07/2015
Introduzione ai sistemi informatici
25
Nome risorsa

Path name (cammino) che porta al file contente la
risorsa (es pagina, foto, ecc) nello spazio di dati
gestito dal server del sito contattato
• Esempio:
• http://www.icar.cnr.it/angela/teaching/intro/

Solitamente ogni sito ha una pagina di ingresso
denominata index.html
• I seguenti url sono equivalenti
• http://www.icar.cnr.it/angela/index.shtml
• http://www.icar.cnr.it/angela/
17/07/2015
Introduzione ai sistemi informatici
26
Problemi di sicurezza
La parte di File System del server accessibile al client
è controllata dal server (i nomi delle risorse sono
relativi a tale parte di file system!)
 Il client può scaricare dalla rete programmi (es Java)
che vengono poi automaticamente eseguiti dal
browser (ad es animazioni); tali programmi hanno
permessi molto limitata per evitare intrusioni nel
sistema del client

17/07/2015
Introduzione ai sistemi informatici
27
Pagine Web
Web basato su un linguaggio ipertestuale che associa
indirizzi URL a parti di documento chiamati link
 Selezionando un link (ad es. con il mouse) si scarica
una pagina dal server DNS identificato dal
corrispondente URL
 Le applicazioni che gestiscono pagine web vengono
dette browser

• Netscape
• Explorer
17/07/2015
Introduzione ai sistemi informatici
28
Come fornire servizi sul web?
• Dobbiamo avere a disposizione spazio su disco di
un server di un sottodominio e quindi ottenere un
indirizzo URL per le nostre risorse
• Dobbiamo creare delle pagine web che i clienti
possano leggere con i loro browser collegandosi al
nostro indirizzo URL
• Tramite le pagine spieghiamo quali risorse
mettiamo a disposizione
17/07/2015
Introduzione ai sistemi informatici
29
Linguaggio per Pagine Web

Si utilizza il linguaggio HTML (HyperText Markup
Language) che utilizza annotazioni per descrivere
come verrà visualizzato il documento sul browser di un
cliente
• Es: La prossima parola è in <b>neretto</b>

Il browser interpreta le annotazioni traducendole in
effetti grafici
• Es: La prossima parola è in neretto

Alcuni tool forniscono direttamente l’effetto desiderato
senza dover usare HTML
17/07/2015
Introduzione ai sistemi informatici
30
Alcuni esempi







Pagina web racchiusa nel comando
<HTML>....</HTML>
Intestazione: <HEAD>...</HEAD>
Corpo pagina: <BODY>...</BODY>
<P>: inizia un paragrafo
<BR>: fine linea
<B>...</B>: testo in bold
<I>...</I>: testo in italico
17/07/2015
Introduzione ai sistemi informatici
31
Altri tag
Link
<A HREF=“indirizzo URL”>...</A>
 Immagine
<IMG SRC=“nome_immagine”>
 Linea di separazione: <hr>
 Caratteri accentati:

• &caratteregrave (es &agrave=à)
• &carattereacute (es &eacute=é)
17/07/2015
Introduzione ai sistemi informatici
32
Sorgente pagina web
<HTML>
<BODY>
<b>Marco Rossi</b><br>
PhD Student <br>
Universit&agrave di Genova<br>
<IMG SRC=“marco.gif”><hr>
Per scaricare la mia tesi premi qui sotto<br>
<a href=“ftp://ftp.disi.unige.it/RossiM/tesi.ps”>
<i>TESI</i></a>
</BODY>
</HTML>
17/07/2015
Introduzione ai sistemi informatici
33
Pagina visualizzata su browser
Marco Rossi
PhD Student
Università di Genova
Per scaricare la mia tesi premi qui sotto
TESI
17/07/2015
Introduzione ai sistemi informatici
34
Ipertesto
17/07/2015
Introduzione ai sistemi informatici
35
Form e interazione con cliente
Si possono creare pagine che permettono all’utente di
immettere dati attraverso FORM (moduli da compilare)
 I dati vengono gestiti poi da programmi residenti sul
server
 Ad esempio servono per E-commerce o per consultare
cataloghi (biblioteche virtuali)

17/07/2015
Introduzione ai sistemi informatici
36
Motori di ricerca

Raccolgono indirizzi URL di migliaia di siti e forniscono
un catalogo che l’utente può consultare
• navigando nelle pagine fornite dal motore di ricerca

Permettono all’utente di immettere parole chiavi
tramite FORM
• per cercare informazioni, siti, pagine di persone, ecc
Esistono anche motori di ricerca che utilizzano altri
motori di ricerca…
 Esempi: Google Yahoo Altavista Lycos Virgilio

17/07/2015
Introduzione ai sistemi informatici
37
Posta elettronica
Servizio per trasmettere dati (messaggi) tra vari utenti
 Sistemi di posta elettronica supportano:

•
•
•
•
Composizione di messaggi
Trasferimento al destinatario
Visualizzazione e cancellazione
Caselle di posta (Mailbox) per memorizzare i messaggi in
arrivo
• Mailing list (lista di indirizzi)
17/07/2015
Introduzione ai sistemi informatici
38
Invio di messaggi
 Occorre
fornire un messaggio, e l’indirizzo del
destinatario
 L’indirizzo ha la seguente forma
Mailbox@locazione
e viene gestito dal DNS server del nostro dominio
 Es.
17/07/2015
[email protected]
Introduzione ai sistemi informatici
39
Formato dei messaggi
 To:
(destinatario)
 Cc: (in copia a)
 Bcc: (copia trasparente)
 From: mittente
 Sender: indirizzo del mittente
 Testo del messaggio
 Attachment MIME foto, suoni, ecc)
17/07/2015
Introduzione ai sistemi informatici
40
Applicazioni per posta
 Esistono
molte applicazioni che permettono di
leggere la posta e mantenere mailbox
•
•
•
•
17/07/2015
Explorer
Outlook
Netscape
Eudora
Introduzione ai sistemi informatici
41
Mailing list
(liste di discussione)

strumenti di discussione attraverso mail elettronica
• esistono mailing list su svariati argomenti e in tutte le lingue
• sulle M.L. avvengono discussioni, si fanno annunci, si
distribuiscono bollettini elettronici …

una mailing list e’ un indirizzo di mail che redistribuisce
il messaggio ad una lista di indirizzi (gli iscritti alla
mailing list)
• es: mail [email protected]
17/07/2015
Introduzione ai sistemi informatici
42
Mailing list

Iscrizione e rimozione
• mail [email protected]
• subject: subscribe nomelista
• body: subscribe nomelista
• mail [email protected]
• subject: unsubscribe nomelista
• body: unsubscribe nomelista

Vantaggi e svantaggi
•
•
•
•
17/07/2015
solo chi e’ veramente interessato usa una mailing list
utenti scorretti possono essere rimossi
puo’ essere difficile da trovare
aumento del numero di mail ricevute
Introduzione ai sistemi informatici
43
Newsgroups
(conferenze in rete)

A differenza dei messaggi postali, quelli inviati a una
conferenza non hanno un vero e proprio destinatario
• sono semplicemente 'affissi' su una bacheca virtuale.
• Chi passa di lì, ed è interessato all'argomento, può leggerli,
commentarli, rispondere.

Possono essere
• moderate: qualcuno controlla i messaggi prima di pubblicarli
nella “bacheca”
• libere

Per accedere occorre un programma “newsreader”
17/07/2015
Introduzione ai sistemi informatici
44
Newsgroups: funzionamento
 Gestione
completamente distribuita
 Molti News-servers sparsi per il mondo:
• Ogni News-server riceve i messaggi dei suoi utenti e
li invia agli altri news-servers
 Alcuni
gruppi vengono oscurati
 Alcuni gruppi sono moderati
 I messaggi durano un tempo limitato
17/07/2015
Introduzione ai sistemi informatici
45
Newsgroups: accesso
 Tramite
un Provider:
• Il provider dovrebbe essere obbligato a mostrare i
gruppi richiesti dall’utente.
 Tramite
un News-Server gratuito
 Tramite accesso diretto ad un News-Server
usando il browser Netscape
• (Collabra Discussion Groups)
17/07/2015
Introduzione ai sistemi informatici
46
Newsgroups: gerarchie
I newsgroups sono organizzati in gerarchie ad albero
per argomenti e sotto-argomenti
 La forma generale del nome di un newsgroup e’ del
tipo:

• categoria.argomento.sotto-argomento

alt (gli argomenti piu’ disparati)
• es: alt.music.pink-floyd
• alt.astrology
• alt.fan.simpsons
17/07/2015
Introduzione ai sistemi informatici
47
Newsgroups: gruppi regionali
Normalmente riproducono Newsgroups di lingua
inglese in una lingua locale
 Trattano argomenti significativi solo per una certa
area

• es: ricerche/offerte di lavoro, politiche/culture locali, ...
Possono essere a livello di singola nazione o anche
di singola città
 Categorie:

• it. - es. - uk. - fr. - ... ... ...
17/07/2015
Introduzione ai sistemi informatici
48
Cenni su DB
L’organizzazione funzionale
di un’applicazione informatica
IU
sottosistema di
interfaccia con l’utente
(user interface, o anche
presentation layer),
incaricato di controllare i
comandi e i dati che
l’utente fornisce come
input al sistema e di
presentare come output i
risultati dell’esecuzione del
programma
17/07/2015
sottosistema di
logica
applicativa
(business logic
layer), che
implementa gli
specifici algoritmi
di manipolazione
dei dati che
caratterizzano
l’applicazione
Introduzione ai sistemi informatici
LA
GD
sottosistema di
gestione dei dati
(data layer), che si
occupa
dell’organizzazione
dei dati, e in
particolare della loro
memorizzazione e del
loro reperimento
efficiente
50
Il sottosistema GD – Il ruolo dei DBMS
Una tecnologia consolidata per la gestione dei dati persistenti
(cioè che devono essere mantenuti in modo permanente,
e non solo durante l’esecuzione del programma): sistemi di
gestione di basi di dati (DBMS, data base management system)
In particolare i DBMS basati sul modello relazionale forniscono
un’interfaccia comune per la definizione della struttura del DB,
l’amministrazione del DB stesso e l’accesso ai dati, ottenuta con
l’impiego del linguaggio SQL
Grazie a SQL:
i dati mantenuti in un DBMS possono essere manipolati da
programmi molteplici (accessibilità)
i dati possono essere trasferiti tra DBMS diversi e rimanere
identicamente accessibili (indipendenza dal DBMS)
17/07/2015
Introduzione ai sistemi informatici
51
PRODOTTI
Nome Fatturato
Tabella
Rappresentazione sotto forma
di tabella dell’array di record
definito e utilizzato nei
frammenti di codice riportato
nella slide precedente.
Il numero riportato alla
sinistra di ogni riga
rappresenta l’indice dell’array
(in questo caso a partire da 0 e
quindi in accordo alla sintassi
C) ed è utilizzato per accedere
al contenuto del
corrispondente record.
17/07/2015
0
1
2
3
4
5
6
7
…
98
99
Introduzione ai sistemi informatici
HT5231
HT5441
NS221
NS321
NS222
NS322
HT5321
HT5442
………
RX521
RX522
129 000
105 000
144 000
123 000
133 000
136 000
139 000
136 000
………
183 000
175 000
52
Il modello relazionale
STUDENTI
Matr Cognome Nome
Nato_il
3571 Banfi
Alessandro 19/02/1982
999 Bosio
Umberto
27/01/1983
2805 Castelnuovo Andrea
06/05/1982
3719 Colpi
Marco
15/01/1983
773 Izzo
Stefania
08/10/1982
3672 Librandi
Silvia
12/03/1983
1539 Longoni
Mauro
05/02/1983
3500 Matta
Vera
26/04/1982
1886 Merlo
Andrea
05/05/1983
1427 Morelli
Riccardo
14/04/1982
2608 Ornaghi
Gabriele
09/09/1982
3711 Panico
Andrea
29/05/1982
1940 Poretti
Stefania
20/02/1982
1814 Quaglia
Andrea
13/08/1982
1662 Salmoiraghi Veronica
19/09/1982
2744 Sterlocchi
Elena
29/06/1982
3024 Tarantola
Marcello
17/06/1982
3527 Valentini
Samuele
10/07/1982
3615 Venturi
Anita
28/07/1982
681 Zaccaretti
Carolina
23/02/1983
Nato_a
Milano
Aosta
Torino
Genova
Firenze
Bologna
Venezia
Roma
Trento
Trieste
Perugia
Pescara
Ancona
Napoli
Cagliari
Palermo
Reggio Calabria
Bari
Potenza
Campobasso
ISCRITTI
Matr Codice
2805 IG06
3527 BA03
1940 IG10
773
IG11
1539 IG05
1940 IG03
3672 ICT3
681
ICT2
1886 IG05
1940 ICT1
3500 BA08
1886 IG01
3024 BA01
3719 IG10
3672 IG08
773
ICT2
3719 IG06
1814 ICT2
2744 BA09
2744 IG03
2805 IG09
CORSI
Codice
BA01
BA02
BA03
BA04
ICT1
IG01
IG02
ICT2
IG03
…
IG04
IG05
BA09
ICT3
IG09
IG10
IG11
IG12
Titolo
Analisi Matematica I
Analisi Matematica II
Elettromagnetismo
Fond. Meccanica Teorica e Applicata
Fond. Informatica I (laboratorio)
Elettrotecnica
Fisica Tecnica
Fond. Informatica II
Fond. Automatica
………
Economia Organizzazione Aziendale
Gestione Produzione Industriale
Ricerca Operativa
Produzione Assistita Calcolatore
Sistemi di Controllo di Gestione
Logistica Industriale
Gestione Aziendale
Gestione della Qualità
Settore
MAT/05
MAT/05
FIS/01
ING-IND/13
ING-INF/05
ING-IND/31
ING-IND/10
ING-INF/05
ING-INF/04
…
ING-IND/35
ING-IND/17
MAT/09
ING-IND/16
ING-IND/35
ING-IND/17
ING-IND/35
ING-IND/17
Tipo Crediti
Base
7.5
Base
7.5
Base
5
Affine
5
Affine
4
Affine
5
Affine
5
Base
6
Caratt.
5
…
…
Caratt.
10
Caratt.
10
Base
5
Caratt.
5
Caratt.
5
Caratt.
5
Caratt.
5
Caratt.
5
Studenti (Matr, Cognome, Nome, Nato_il, Nato_a);
Corsi (Codice, Titolo, Settore, Tipo, Crediti);
Iscritti (Matr, Codice).
17/07/2015
Introduzione ai sistemi informatici
53
Linguaggio di accesso a un DBMS
Tale linguaggio deve disporre di tre funzionalità di base:
 Data Definition Language (DDL): definizione della
struttura del DB (schemi delle tabelle);
 Data Manipulation Language (DML):
manipolazione dei dati (inserimenti e cancellazioni di
record);
 Query Language (QL): realizzazione di
interrogazioni.
17/07/2015
Introduzione ai sistemi informatici
54
Ambiente per lo sviluppo e l’utilizzo di un DB relazionale
Menu
comandi
Barra
strumenti
Elementi del
DB (Tabelle,
Query, …)
Schema
delle
relazioni
Struttura di
una query
SQL
Struttura
di una
query by
example
17/07/2015
Scheda di
un cliente
Introduzione ai sistemi informatici
55
Modello concettuale dei dati
STUDENTE
0:N
Esami
sostenuti
Matricola
Anno di
corso
{ 1,2,3,4}
17/07/2015
0:M
CORSO
Codice
Denominazione
Iscritto
regolarmente
{vero, falso}
Introduzione ai sistemi informatici
56