Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Introduzione all'informatica: Dati, Hardware e Software, Appunti di Elementi di Informatica

Università di Ferrara - Cds: Scienze e tecnologie della comunicazione Corso: Fondamenti di informatica

Tipologia: Appunti

2019/2020

Caricato il 08/11/2020

Camilla_Bnt
Camilla_Bnt 🇮🇹

4

(1)

1 documento

1 / 35

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
FONDAMENTI DI INFORMATICA
UNIFE
LEZIONE 1
ETIMOLOGIA E DEFINIZIONE
Il termine INFORMATICA deriva dal francese INFORMATIQUE, ovvero informat(ion) e automat(ique).
E’ una disciplina tecnico scientifica che si occupa del trattamento dell’informazione tramite procedure
automatizzate.
Benefici rispetto all’elaborazione umana: 1- riduzione dei tempi di elaborazione;
2- aumento dell’affidabilità;
3- si evitano elaborazioni noiose;
4- si diffondono elaborazioni “difficili”.
Ricordiamoci che i termini: elaboratore, calcolatore, computer sono sinonimi.
DATO INFORMAZIONE CONOSCENZA
Si collocano rispettivamente su tre livelli, in ordine crescente:
1- DATO: insieme di simboli tracciati su un supporto fisico che rappresenta una proprietà di un oggetto;
2- INFORMAZIONE: il dato viene messe in relazione con la proprietà a cui si riferisce;
3- CONOSCENZA: regole che consentono di trarre vantaggio dall’informazione.
Esempio: La sequenza di simboli “39.5” scritta alla lavagna costituisce un esempio di dato.
’3’, ’9’, ’.’, ’5’ sono i simboli e il supporto fisico è costituito dalla lavagna.
Affermare che la temperatura di Giacobbo è di 39.5mette in relazione la sequenza di simboli (dato) con una
proprietà fisica, le attribuisce un significato e trasforma quindi il dato in informazione.
La conoscenza è la regola che specifica che una temperatura maggiore o uguale di 37indica che una persona
ha la febbre.
ELABORAZIONE DELL’INFORMAZIONE O TRATTAMENTO DELL’INFORMAZIONE
Indichiamo qualsiasi attività che comprenda almeno una delle seguenti operazioni:
1- CREAZIONE
2- MODIFICA/ ELIMINAZIONE
3- CONFRONTO
4- CONSERVAZIONE/MEMORIZZAZIONE
5- TRASMISSIONE
Una qualsiasi attività di elaborazione dell’informazione segue il seguente schema:
UTENTE CODIFICA COMPUTER DECODIFICA UTENTE
INIZIO INPUT TRASFORMA I DATI OUTPUT DEVE COMPRENDRE I DATI
1- CODIFICA: è quando l’input viene codificato sotto forma di dati, simboli tracciati su un supporto fisico;
2- TRASFORMAZIONE: il supporto fisico viene sottoposto a una trasformazione fisica e genera nuovi dati;
3- DECODIFICA: i dati generati vengono decodificati e apportano nuova informazione di output.
INPUT: è l’informazione in ingresso (microfono, webcam)
OUTPUT: è l’informazione prodotta dall’elaboratore verso l’esterno (casse acustiche, stampanti 3D)
Il computer per effettuare una trasformazione deve conoscere quali istruzioni usare, per questo si basa
sull’ALGORITMO. E’ una sequenza di istruzioni necessarie per risolvere un determinato problema. Si esprime
tramite un LINGUAGGIO FORMALE il quale è composto da:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23

Anteprima parziale del testo

Scarica Introduzione all'informatica: Dati, Hardware e Software e più Appunti in PDF di Elementi di Informatica solo su Docsity!

FONDAMENTI DI INFORMATICA

UNIFE

LEZIONE 1

ETIMOLOGIA E DEFINIZIONE

Il termine INFORMATICA deriva dal francese INFORMATIQUE, ovvero informat(ion) e automat(ique).

E’ una disciplina tecnico scientifica che si occupa del trattamento dell’informazione tramite procedure

automatizzate.

Benefici rispetto all’elaborazione umana: 1- riduzione dei tempi di elaborazione;

2 - aumento dell’affidabilità;

3 - si evitano elaborazioni noiose;

4 - si diffondono elaborazioni “difficili”.

Ricordiamoci che i termini: elaboratore, calcolatore, computer sono sinonimi.

DATO INFORMAZIONE CONOSCENZA

Si collocano rispettivamente su tre livelli, in ordine crescente:

1 - DATO : insieme di simboli tracciati su un supporto fisico che rappresenta una proprietà di un oggetto;

2 - INFORMAZIONE : il dato viene messe in relazione con la proprietà a cui si riferisce;

3 - CONOSCENZA : regole che consentono di trarre vantaggio dall’informazione.

Esempio:

La sequenza di simboli “39.5” scritta alla lavagna costituisce un esempio di dato.

’3’, ’9’, ’.’, ’5’ sono i simboli e il supporto fisico è costituito dalla lavagna.

Affermare che la temperatura di Giacobbo è di 39.

mette in relazione la sequenza di simboli (dato) con una

proprietà fisica, le attribuisce un significato e trasforma quindi il dato in informazione.

La conoscenza è la regola che specifica che una temperatura maggiore o uguale di 37

indica che una persona

ha la febbre.

ELABORAZIONE DELL’INFORMAZIONE O TRATTAMENTO DELL’INFORMAZIONE

Indichiamo qualsiasi attività che comprenda almeno una delle seguenti operazioni:

1 - CREAZIONE

2 - MODIFICA/ ELIMINAZIONE

3 - CONFRONTO

4 - CONSERVAZIONE/MEMORIZZAZIONE

5 - TRASMISSIONE

Una qualsiasi attività di elaborazione dell’informazione segue il seguente schema:

UTENTE CODIFICA COMPUTER DECODIFICA UTENTE

INIZIO INPUT TRASFORMA I DATI OUTPUT DEVE COMPRENDRE I DATI

1 - CODIFICA : è quando l’input viene codificato sotto forma di dati, simboli tracciati su un supporto fisico;

2 - TRASFORMAZIONE : il supporto fisico viene sottoposto a una trasformazione fisica e genera nuovi dati;

3 - DECODIFICA : i dati generati vengono decodificati e apportano nuova informazione di output.

INPUT : è l’informazione in ingresso (microfono, webcam)

OUTPUT : è l’informazione prodotta dall’elaboratore verso l’esterno (casse acustiche, stampanti 3D)

Il computer per effettuare una trasformazione deve conoscere quali istruzioni usare, per questo si basa

sull’ ALGORITMO. E’ una sequenza di istruzioni necessarie per risolvere un determinato problema. Si esprime

tramite un LINGUAGGIO FORMALE il quale è composto da:

1 - ALFABETO : elenco infinito di simboli;

2 - GRAMMATICA FORMALE : regole su come i simboli possano essere combinati fra loro;

3 - SEMANTICA FORMALE : attribuisce un significato alle frasi.

Questi tre punti messi assieme formano il LINGUAGGIO DI PROGRAMMAZIONE. L’insieme dei linguaggi

formali per descrivere algoritmi al calcolatore.

Il PROGRAMMA quindi è un algoritmo scritto in un linguaggio di programmazione, e il PROGRAMMATORE , è

colui che scrive i programmi.

Facciamo un esempio di algoritmo: 1

  1. Metti l’acqua nella pentola
  2. Accendi il fornello e sopra ci metti la pentola
  3. Aspetta che l’acqua bolla
  4. Aggiungi il sale all’acqua
  5. Pesa la pasta su una bilancia
  6. Aggiungi la pasta nella pentola
  7. Leggi il tempo di cottura sulla confezione della pasta
  8. Attendi il termine della cottura
  9. Scola la pasta e aggiungila al sugo
  10. Servi la pasta nel piatto

LA CODIFICA E LA RAPPRESENTAZIONE DELL’INFORMAZIONE

In informatica si usa l’ALFABETO BINARIO. Esistono solo due simboli “0” e “1” (bit).

b= bit 1/

B= Byte 8 bit

Nibble 4 bit

DIFFERENZE TRA HARDWARE E SOFTWARE

Istruzioni e dati codificate all’interno

della memoria del calcolatore per

essere eseguite dall’hardware. E’ la

“componente morbida”.

Sono i componenti tangibili (meccanici,

elettrici, elettronici..). E’ la

“componente dura”. In parole povere è

tutto ciò che possiamo toccare

(monitor, mouse, tastiera, ram, cpu..)

Dall’accensione allo spegnimento del calcolatore la CPU svolge a ripetizione 5 attività controllate dalla CU:

1 - FETCH

2 - DECODIFICA L’INFORMAZIONE

3 - ESECUZIONE

4 - ACCESSO ALLA MEMORIA

5 - SCRITTURA

PROCESSORE MULTI-CORE : tipico dei computer moderni.

3 - LE MEMORIE

I dati all’interno del calcolatore devono essere conservati in memoria. Esistono vari tipi di memorie:

  • Dischi rigidi (persistente);
  • Memoria RAM (memoria centrale);
  • Cache (riservata alla CPU);
  • Registri (riservata alla CPU).

Le memorie si distinguono in:

  1. MEMORIA VOLATILE : per memorizzare i dati richiedono l’alimentazione elettrica. Quando viene

spenta tutto il contenuto viene cancellato. Ha capacità ridotte di memoria, prestazioni più elevate.

Esempio RAM.

  1. MEMORIA PERSISTENTE : permettono il salvataggio dei dati per più tempo. Se si spegne il contenuto

rimane. Hanno capacità di memoria più elevate, ma prestazioni meno elevate. Esempio SSD, Hardisk.

Una memoria consiste di un insieme di unità elementari chiamate celle. Ciascuna cella è composta da gruppi

di byte. Una cella può contenere istruzioni o dati, ed è identificata da un indirizzo numerico.

Una qualsiasi memoria può supportare uno dei seguenti tipi di accesso:

  1. ACCESSO SEQUENZIALE (nastri rigidi) dato un indirizzo di una cella, prima di poter accedere è

necessario leggere quelle che la precedono;

  1. ACCESSO DIRETTO (RAM) dato l’indirizzo di una cella è possibile l’accesso immediato;
  2. ACCESSO MISTO – diretto + sequenziale (dischi magnetici) con un accesso diretto accedo ad un blocco

di celle all’interno del quale la singola cella viene individuata con una ricerca sequenziale;

  1. ACCESSO ASSOCIATIVO (cache) l’indirizzo di una cella è guidato dal suo contenuto non più dal suo

indirizzo e avviene in più celle.

La memoria centrale è composta da due memorie:

1 - RANDOM ACCESS MEMORY (RAM): è una memoria volatile ad accesso diretto. Contiene programmi in

esecuzione e relativi dati.

2 - READ ONLY MEMORY (ROM): è una piccola memoria persistente riprogrammabile, ossia si può sia leggere

sia scrivere. Contiene il BIOS, programma che gestisce l’avvio del calcolatore.

AVVIO DEL CALCOLATORE (bootstrap)

1 - Quando un calcolatore viene acceso la CPU legge la prima istruzione dalla ROM (istruzione del BIOS)

2 - Le istruzioni del BIOS ordinano alla CPU di trasferire il sistema operativo dalla memoria di massa alla RAM

3 - quando il sistema operativo è nella RAM, il BIOS ordina alla CPU di eseguire la prima istruzione

4 - Il sistema operativo subentra e assume il controllo delle attività

Abbiamo un altro tipo di memoria, quelle di massa, le quali possono essere fisse o rimovibili. Le vari tipologie

di memoria di massa sono:

1 - MEMORIA MAGNETICHE (disco rigido = hard disk e i nastri);

2 - DISCHI OTTICI (cd, dvd). I dati sono codificati su uno strato di alluminio come una successione di pit e land

letti per mezzo di un laser;

3 - MEMORIE FLASH (usb, ssd, memory card)

GERARCHIA DI MEMORIA

  • Registri della CPU centinaia di byte
  • Cache di livello 1 (L1 cache) , interna alla CPU/core ∼ decine di KB
  • Cache di livello 2 (L2 cache) , interna alla CPU/core ∼ 512 KB
  • Cache di livello 3 (L3 cache) , interno al processore (condiviso tra i core) ∼ 4 MB - 128 MB
  • Memoria Centrale (RAM)
  • Memoria secondaria interna (HDD o SSD)
  • Memoria esterna

4 - LE PERIFERICHE

Dispositivi connessi con varie modalità alla scheda madre e possono essere:

  • I NPUT : tastiera, mouse, scanner, fotocamera, videocamera
  • OUTPUT : monitor, stampante
  • I/O (INPUT/ OUTPUT ): scheda audio

LEZIONE 3

E’ un’unità di memorizzazione in cui risiedono si i dati da elaborare sia le istruzioni che il computer deve

eseguire per effettuare l’elaborazione. Sono istruzioni e dati codificate all’interno della memoria del

calcolatore per essere eseguite dall’hardware.

Ripassiamo il concetto di ALGORITMO:

DIMENSIONE

VELOCITA’ COSTO

INTERFACCIA UTENTE

In passato l’interfaccia era chiamata “a linea di comando” (si doveva scrivere), a partire dagli anni 80’ compare

la prima interfaccia grafica.

INGEGNERIA DEL SOFTWARE

Detta anche software engineering, si occupa di sviluppare e sistemare la manutenzione del software durante il

suo ciclo di vita. Le metodologie proposte dall’ingegneria del software per lo sviluppo e manutenzione del

software sono chiamate PROCESSI SOFTWARE, esistono diversi tipi di processi.

CICLO DI VITA DEL SOFTWARE

Viene suddiviso in 6 fasi:

  1. ANALIS I: ha come finalità la produzione di un documento di specifica contenente la definizione del

problema che il software dovrà risolvere in base alla sua collocazione;

  1. PROGETTAZIONE : sono specificate le architetture del prodotto software;
  2. I MPLEMENTAZIONE : si procede alla fase di scrittura del programma in un linguaggio di

programmazione;

  1. COLLAUDO : si sottopone il software ad un insieme di test per verificare che soddisfi i requisiti richiesti

del documento di specificazione;

  1. RILASCIO (deployment): viene consegnato agli utenti;
  2. MANUTENZIONE/ EVOLUZIONE : sono le attività successive al rilascio.

TIPOLOGIE DI LICENZE SOFTWARE E SICUREZZA INFORMATICA

Esistono diverse licenze software:

  • Custom software proprietario : un’azienda cliente commissiona a una software house la produzione di

un’applicazione per poter soddisfare delle particolari esigenze ( custom software ). Il cliente oltre

all’applicazione, acquista anche il codice sorgente (e la titolarità del diritto d’autore).

  • Software proprietario con licenza d’uso : il produttore di un software immette il proprio prodotto

compilato nel mercato mantenendo i diritti d’autore e concedendo un’autorizzazione all’uso ( licenza

d’uso ). Esempi: Windows 10 e Office

  • Software shareware : il prodotto compilato viene distribuito gratuitamente, può essere usato

gratuitamente per un periodo di prova dopo, pagando la registrazione, si può utilizzarlo e ricevere

aggiornamenti. Esempio: Matlab

  • Software freeware : il prodotto compilato può essere liberamente usato, copiato e distribuito.

Esempio Adobe Reader e Skype

  • Software open source : oltre al prodotto compilato , viene distribuito anche il programma (codice

sorgente). Può essere usato, copiato e distribuito gratis ma rispettando alcune regole. Esempi: Linux e

Gimp

I software maligni possono essere diversi, ma partiamo dalla definizione di MALWARE. Ottenuto dalla

contrazione di malicious software, “software maligno” si indica una classe di programmi specificatamente

progettati per infiltrarsi, ed eventualmente apportare danni al calcolatore senza il consenso informato del suo

proprietario.

Le tipologie:

§ Virus : è un insieme di istruzioni (blocco di codice) che si nasconde all’interno di un altro programma

(programma infetto ). Se il programma infetto viene avviato, viene eseguito anche il codice del virus

che cerca di infettare altri programmi (cerca di riprodursi) e creare danni. Un virus si diffonde da un

calcolatore all’altro con il trasferimento di un programma infetto.

§ Worm (verme) : è programma intero (non si annida all’interno di altri programmi) che si diffonde tra gli

elaboratori autoreplicandosi mediante la rete (soprattutto e-mail) e genera problemi sulla rete.

§ Trojan horse (cavallo di troia) : si presenta come un’applicazione utile, ma, in realtà, durante

l’esecuzione apre una breccia all’interno delle difese del calcolatore stesso, che quindi può essere

facilmente oggetto di attacchi e accessi da persone non autorizzate.

§ Spyware : programma installato senza autorizzazione che raccoglie, sempre senza autorizzazione,

informazioni sull’utente e le sue abitudini (applicazioni eseguite, siti web visitati,... ).

§ Adware (advertising-supported software) : programma che propone pubblicità. Se viene installato

senza il consenso del proprietario del calcolatore è detto adware disonesto.

§ Hoax (bufala) : messaggio e-mail che annuncia l’imminente arrivo di messaggi e-mail infettati da

pericolosissimi virus inesistenti.

§ Ingegneria sociale : non è un malware, ma sono quegli attacchi basati su inganni e tecniche

psicologiche col fine di carpire informazioni utili.

Come prevenire?

Tramite la diffidenza verso il materiale scaricare da siti web, e-mail con contenuti o mittenti strani. Usando gli

antivirus e tenendoli sempre aggiornati e monitorati. Usando i firewall (muro tagliafuoco), dispositivo

hardware e software che crea una barriera contro gli attacchi in stile trojan house.

LEZIONE 4

LA CODIFICA BINARIA

RAPPRESENTAZIONE POSIZIONALE DECIMALE

La codifica odierna adottata per i numeri è la NOTAZIONE DECINALI POSIZIONALE.

Fa riferimento alla

cardinalità dell’alfabeto

utilizzato nella codifica. Ha

10 simboli:

Ogni cifra assume un ruolo in funzione della sua

posizione. I numeri si leggono da destra verso

sinistra.

Ogni cifra è moltiplicata per una potenza di 10.

Si inizia da destra con 10

0 e aumentando

l’esponente di una unità a ogni cifra verso sinistra.

Il numero finale si ottiene sommando i prodotti

ottenuti.

10 è la base del nostro sistema di rappresentazione

numerica posizionale.

Con n cifre si possono rappresentare

n

numeri

naturali: da 0 a 10

n

    1. Esistono anche

rappresentazioni non posizionali: numeri romani.

  1. Il nuovo dividendo è dato dal quoziente ottenuto al passo precedente
  2. Scrivi il resto
  3. Il dividendo è 0?
    • Se sì, vai al punto 6

Altrimenti vai al punto 2

  1. Termine: la sequenza dei resti, trascritti in ordine inverso rispetto a quello con cui sono stati generati,

costituisce il risultato dell’elaborazione.

Esempio

4 - Conversione da binario a esadecimale

  1. Divido in gruppi di 4 (bit in nibble) – raggruppo in nibble quindi gruppi da 4 bit;
  2. Converto in b decimale;
  3. Converto in esadecimale.

Esempio

2

= 95CD

H

IL FILE SYSTEM

Il File System (FS) è il componente del sistema operativo che si occupa della gestione delle memorie di massa,

al cui interno i dati sono organizzati in file , contenitori di dati e istruzioni. Il File System consente agli utenti e

al software applicativo di operare sui dispositivi di memoria di massa senza conoscerne i dettagli tecnologici e

realizzativi. Il File System consente di: Creare un file o una directory, dargli un nome, collocarlo in un

opportuno spazio e accedervi in lettura e scrittura.

Le principali funzioni del FS riguardano:

1. Memorizzazione

Organizzazione gerarchica

Navigazione

Accesso

1 - Il FS si occupa di memorizzare i dati (file e directory) all’interno dei dispositivi di massa (compreso il nostro

HDD o SSD). Il FS definisce proprio le regole con cui scrivere i byte che compongono i nostri file sui dispositivi

di archiviazione. Questo fa sì che un dispositivo di archiviazione che è stato organizzato da un certo FS non sia

leggibile da altri FS non compatibili. Per poter, con un calcolatore, leggere un dispositivo di archiviazione, è

necessario che il sistema operativo di quel calcolatore abbia lo stesso FS. Per ogni file o cartella, il FS

memorizza o gestisce un insieme di proprietà:

  • il formato del file

Resto 1

Resto 0

Resto 1

Resto 0

Resto 1

Resto 0

Resto 0

Resto 1

In conclusione 149 = 10010101 2

  • le dimensioni (in multipli di byte)
  • la data e ora di creazione
  • la data e ora dell’ultima modifica
  • le autorizzazioni

2 - Il FS costruisce all’interno di un supporto di massa una struttura gerarchica. Per ogni memoria di massa

viene creata una cartella (directory) denominata radice (root). Viene costruita una struttura ad albero.

La radice può contenere file e/o cartelle che a loro volta possono contenere file e/o cartelle e così via...

3 - Ogni file o cartella sono identificati da un percorso (path). Percorso (path) : elenco dei diversi nodi del file

system da visitare per raggiungere il file + il nome del file/cartella. Il FS ci permette di spostarci da una

directory all’altra, di salire o di scendere nell’albero delle directory. L ink : componente del FS che consente di

fare riferimento ad un altro file o ad un’altra directory.

Il F.S. si occupa di controllare (e quindi permettere o negare) se possiamo leggere o scrivere un file. I

moderni S.O. hanno tutti la caratteristica di essere multi-utente, è possibile cioè, avere più persone che

utilizzano lo stesso computer come se fossero computer diversi, con diverse impostazioni, diverso sfondo,...

Il F.S. garantisce che un utente non sia in grado di leggere e scrivere i documenti di un altro utente garantendo

privacy e sicurezza.

MEMORIE DI MASSA

Le memorie di massa devono avere capacità di memorizzazione persistente. Le memorie di massa possono

essere:

f isse o supporti rimovibili Esistono diverse tipologie basate su diverse tecnologie:

Memorie

magnetiche, discorigido(HardDiskDrive,HDD) e i nastri ,

Dischi ottici CD, DVD, Blu-rayDisc(BD), Memorie flash

come le memory card ,

drive USB e le SSD.

I dischi rigidi (hard disk HDD) sono utilizzati come memoria di massa fissa all’interno del computer. Hanno

capacità di memoria di diverse centinaia di GB. Sono memoria ad accesso misto. I dischi ottici usano il laser e

sfruttano la riflessione della luce. I dati sono codificati su uno strato di alluminio come successione di pit e

land. Le memoria flash invece sono memoria ad accesso diretto, sono veloci ma costo alto, esistono in vari

formati e con vari nomi.

BASI DI DATI (DATABASE)

Una Base di Dati (Database, DB) è una collezione di dati strutturati immagazzinati in modo permanente su

disco, che permette di definire delle entità e delle relazioni.

È in grado di: -

garantire la conservazione affidabile dei dati

  • evitare la ridondanza (duplicazione dei dati)
  • evitare l’ inconsistenza (la presenza di due o più dati diversi tra loro e incompatibili per e

rappresentare la stessa informazione)

  • evitare accessi non autorizzati alle informazioni.

La gestione di un DB è solitamente affidata a un sistema di gestione di base di dati (Data Base Management

System, DBMS).

Il DBMS è un’applicazione software a cui le altre applicazioni si rivolgono per accedere ai DB.

Il DBMS permette di: Inserire, Aggiornare, Recuperare, Cancellare, Combinare tra loro i dati in un DB.

L’accesso ai dati gestiti da un DBMS avviene secondo varie modalità:

  • linguaggi testuali interattivi come SQL (Structured Query Language). L’uso di SQL è

l’approccio più utilizzato.

  • GUI (Graphical User Interface), che consentono all’utente di modificare i dati in forma non

testuale

  • Sfruttando altri tipi di linguaggi.

La struttura di un database può essere graficamente rappresentata in uno modello concettuale. Un modello

concettuale rappresenta il mondo reale in termini di:

Entità : classi di oggetti del mondo reale (persone, cose,... ) che hanno proprietà comuni.

Relazioni : legami tra entità (come si relazionano fra loro).

Attributi : proprietà di entità o relazioni.

Il modello concettuale più diffuso per i database è il Modello Entità-Relazione (Entity–Relationship Model,

ER Model).

ESEMPIO DI UN FILM

ENTITA’= FILM

RELAZIONE= TITOLO, ANNO DI NASCITA, DURATA

In forma tabellare , chiameremo la tabella FILM. Un database può contenere una o più tabelle. Una volta che i

miei dati sono in forma strutturata posso estrarre nuove informazioni, posso filtrare la tabella per ottenere

tutte le righe della tabella “film” in cui l’anno è il dopo il 2003 (esempio).

ENTITA’: è la rappresentazione strutturata di una classe di oggetti, in questo caso è tutta la tabella.

ATTRIBUTI: sono le colonne delle mia tabella (titolo, anno di uscita, durata).

RECORD O TUPLA: rappresenta una riga intera della tabella.

CAMPO: è una parte di record che corrisponde ad una colonna.

VALORE DELL’ATTRIBUTO: rappresenta il contenuto di un determinato campo associato ad un attributo.

TITOLO

ANNO DI USCITA

DURATA

Per i database non strutturati (video, audio) per inserirli nella mia tabella univocamente creo il path

(percorso).

Si usano i database perché aiutano a gestire meglio le informazioni e per poter eseguire le query delle

informazioni molto raffinate ed eseguire le informazioni di cui abbiamo bisogno.

Facciamo un altro esempio, definiamo adesso l’entità persona.

ENTITA’= PERSONA

RELAZIONE/ATTRIBUTI= NOME, COGNOME, NUMERO DI TELEFONO, EMAIL

La colonna o meglio l’attributo che identifica univocamente una e una sola riga prende il nome di CHIAVE

PRIMARIA (PRIMARY KEY, PK). Ogni entità può avere una e una sola chiave primaria. La chiave primaria viene

definita durante la fase di creazione dell’entità e deve sempre avere un valore.

Nel caso sopra citata, gli attributi nome e cognome non vanno bene come chiave primaria perché ci possono

essere dei casi duplicati. Il numero di telefono o l’indirizzo mail, possono andare bene se stiamo lavorando con

una piccola rubrica personale, ma non possiamo fare affidamento su questi valori in casi più complessi.

Pensiamo al caso in cui la tabella “Persone” faccia parte di una rubrica più grande, magari gli impiegati di una

grande azienda suddivisa in reparti in cui:

  • Il numero di telefono corrisponde al numero di ufficio con più persone
  • Email corrisponde ad un reparto con più persone

In tutti quei casi in cui è possibile identificare una “caratteristica” o “proprietà” davvero univoca per ogni

oggetto, parliamo di chiava primaria naturale. Ma esistono tantissimi casi in cui non è possibile identificare

una chiave primaria naturale.

In questi casi dell’esempio sono due le possibilità:

1 - ci affidiamo a chiavi naturali e imponiamo a priori che non è possibile inserire 2 record (righe) con quello

stesso valore di attributo (ad esempio l’indirizzo email);

2 - inventiamo una chiava primaria sicuramente univoca (esempio codice fiscale)

Se, la nostra entità non ha una chiave primaria naturale, è possibile crearne una “artificiale” (esempio un num.

Identificativo).

I database offrono la possibilità di gestire automaticamente le chiavi primarie in maniera “sicura” garantendo

l’univocità delle stesse.

BASI DI BATI E RELAZIONI

Perché dovremmo aggiungere attributi? Per poter aumentare le possibilità di estrarre informazioni utili.

NOME

COGNOME

NUMERO DI TELEFONO

EMAIL

ESEMPIO FILM:

LEZIONE 6

TECNOLOGIE E PROTOCOLLI DI RETE

Una rete di calcolatori è un insieme di calcolatori connessi tra loro, che si scambiano dati tramite protocolli di

comunicazione. I singoli elementi connessi dalla rete sono detti NODI.

Le reti possono essere classificate sulla base di:

1 - TOPOLOGIA ;

2 - ESTENSIONE ;

3 - MEZZO DI TRASMISSIONE.

1 - TOPOLOGIA : ne esistono diverse di reti cosi, possono essere completamente connessa, a stella, a bus.

Quella completamente connessa , ogni elaboratore è connesso direttamente agli altri elaboratori. Vantaggi:

semplicità, basso costo (per pochi nodi). Svantaggi: utilizzabile solo per pochi nodi.

ENTITA’

RELAZIONE

TITOLO

ANNO

DURATA

FILM

DIRIGE REGISTRI

NOME

ANNO

ESORDIO

PREMI

(1 , 1) (1 , N)

1:N

La topologia a stella invece i nodi sono tutti collegati a un nodo centrale detto HUB. E’ la più utilizzata, ed è

tipica delle reti domestiche, dove l’hub è il router. I dati attraverso l’Hub prima di arrivare a destinazione.

Possiamo dire che l’Hub è un ripetitore di una rete, reinvia il segnale in arrivo a tutti i nodi ai quali è collegato.

Vantaggi: stabilità (se un nodo non centrale si rompe non influenza gli altri nodi della rete), flessibilità (è

possibile aggiungere o togliere nodi senza disturbare la rete), si possono creare reti molto grandi. Svantaggi:

tutti i nodi dipendono dall’Hub quindi in caso di traffico elevato non è garantita la consegna dei dati in un

intervallo di tempo predeterminato, se l’hub si rompe tutta la rete non funziona.

Nella topologia a bus invece, tutti i nodi sono collegati tra loro per mezzo di un unico ramo condiviso, il

dorsale. I messaggi inviati da un elaboratore vengono ricevuti da tutti ma solo l’elaboratore destinatario

elaborerà il messaggio, gli altri elaboratori lo ignoreranno. Vantaggi: semplice, economica. Svantaggi: funziona

solo per piccole reti, la rete è lente se ci sono molte connessioni, e ci sono delle collisioni frequenti perché ci

possono essere delle sovrascrizioni dei dati.

2 - ESTENSIONE : è un’altro modo di classificare le reti. In ordine di estensione troviamo:

  • Near-field communication (NFC)

Body Area Network (BAN)

INTERNET

Definizione: RETE DI RETI, ossia rete che collega le reti di calcolatori

Un po’ di storia:

1957 : Viene fondata ARPA (Advanced Research Projects Agency)

1965 : Un computer al MIT viene interconnesso con un altro in California: nasce ARPANET.

1969 : Su ARPANET vengono interconnessi 4 nodi su linee a 50 kbps (50.000 bit al secondo).

1971 - 1979 : Vengono definiti i protocolli per le varie applicazioni.

1980 : Primo virus informatico blocca ARPANET.

1982 : Viene coniato il termine Internet ed ARPANET cambia nome.

1984 : Internet arriva in Italia

1987 : Internet conta 10.000 nodi collegati

1989 : Internet conta 100.000 nodi collegati

1989 : Primo articolo sul Web di Tim Berners Lee (considerato l’inventore del Web)

1991 : Viene consentito l’utilizzo commerciale della rete

1991 : Prima pagina Web di Tim Berners Lee (nasce l’HTML):

http://info.cern.ch/hypertext/WWW/TheProject.html

1994 : Viene fondato il W3C da Tim Berners Lee (consorzio che definisce gli standard Web)

1998 : Viene lanciato Google.

2000 : Nasce Napster, si diffondono virus.

2004 : Viene lanciato Facebook.

CONNESSIONE INTERNET E TIPOLOGIE DI CONNESSIONE

Un dispositivo è online quando è connesso ad una rete e offline quando non lo è. Nel linguaggio comune

questa rete è Internet. La connessione a Internet da parte di un privato, di un’impresa o di un ente si realizza

tramite un’azienda specializzata nella fornitura di connettività, detta Internet Service Provider ( ISP , “fornitore

di accesso a Internet”). Dietro versamento di un canone, l’ISP consente al cliente di collegare il proprio

calcolatore (o la propria rete LAN) alla rete dell’ISP, che è connessa a Internet. Un modem è un qualunque

dispositivo che effettua due funzioni:

  1. Mod ulazione : il modem riceve un flusso di bit e lo codifica sotto forma di segnali elettrici che trasmette

lungo la linea telefonica.

2) Dem odulazione : il modem decodifica i segnali elettrici che gli arrivano dalla linea telefonica e li traduce in

sequenze di bit.

Il modem è quasi sempre integrato in quello che viene comunemente chiamato router. Esistono diverse

tipologie di connessione tipo la DIAL-UP che è la connessione su linea telefonica in banda fonica, e la DSL che

è la connessione in banda larga.

MODELLO ISO/OSI

Partiamo dal concetto di COMMUTAZIONE , ovvero la modalità (logica) di trasmissione dei dati. Esistono due

tipi di reti in base alla commutazione:

1 - RETI A COMMUTAZIONE DI CIRCUITO : C’è il nodo A che vuole comunicare con il nodo B, si stabilisce un

collegamento (circuito) tra i due e il messaggio passa attraverso questo circuito (A-B) durante tutta la

comunicazione. Esempio il sistema telefonico.

2 - RETI A COMMUTAZIONE DI PACCHETTO : è la rete di internet. Il messaggio viene spezzato in pacchetti,

ognuno dei quali sarà instradato per proprio conto sulla rete. C’è il nodo A che vuole comunicare con il nodo

B. A invia un pacchetto che passo per P per poi arrivare a B. Possiamo anche trovare un altro pacchetto che fa

parte dello stesso messaggio ma sta volta parte da A, passo per F e Q e poi arriva a B. ogni pacchetto contiene

tutte le informazioni necessarie per ricostruire il messaggio. Esempio è il sistema postale.

Affinché la comunicazione fra più dispositivi possa avvenire in modo corretto è stata definita una serie di

protocolli di comunicazione. Come nella vita reale si stabiliscono delle convenzioni per il comportamento tra

gli individui, nel caso della comunicazione tra gli elaboratori un protocollo definisce l’ insieme di regole che

ogni dispositivo deve seguire per interagire con gli altri dispositivi. Un protocollo specifica:

  • A che velocità vengono trasmessi i pacchetti; ---
  • Come verificare la correttezza del pacchetto/messaggio;
  • Come segnalare che il messaggio è stato ricevuto;
  • Dove inviare il messaggio (addressing) ed attraverso quale percorso (routing)

Perché parliamo di protocolli al plurale? Perché realizzare un unico protocollo per tutte le comunicazioni

sarebbe stato davvero troppo complesso e controproducente. Per ridurre la complessità di progettazione i

protocolli sono organizzati in una serie di livelli ( Modello ISO/OSI ).

Ripassiamo i seguenti concetti:

Un modem è un qualunque dispositivo che effettua due funzioni:

Mod ulazione : il modem riceve un flusso di bit e lo codifica sotto forma di segnali elettrici che trasmette

lungo la linea telefonica.

L’OSI (Open Systems Interconnection) è uno

standard per le reti di calcolatori formalizzato

nel 1978 dal principale ente di

standardizzazione internazionale,

l’International Organization for

Standardization (ISO). È un insieme di

protocolli di comunicazione di rete suddiviso

in 7 livelli (noi vedremo solamente quelli più

comuni). Il primo livello (il più basso)

definisce il supporto fisico di trasmissione,

l’ultimo (quello più alto) definisce il

comportamento che devono avere le

applicazioni utilizzate dall’utente.