BASI DI DATI (DU) - anno 2000 - 2001 (I semestre)

432/00
A.A. 2000/01
UNIVERSITA' DEGLI STUDI DI TRIESTE
_____________________________________________________________________
CORSO DI DIPLOMA
PROGRAMMA DEL CORSO DI
DOCENTE
INGEGNERIA
BASI DI DATI
Prof. Maurizio Fermeglia
BASI DI DATI (DU) - anno 2000 - 2001 (I semestre)
prof. Maurizio Fermeglia
Introduzione e generalità (10 ore)
Presentazione del corso. Importanza delle basi dati e dei loro servizi di gestione nel mondo
dell’informatica. I sistemi di gestione di basi di dati: sviluppi storici e prospettive future. Breve
panoramica sui sistemi operativi e sugli strumenti di sviluppo disponibili a seconda della
piattaforma hw-sw. Il concetto di downsizing. Il sistema informativo visto dalla parte di uno
sviluppatore di data base: l’importanza delle reti di elaboratori. Le architetture di rete: il time
sharing, il resource sharing ed il client -server. Vantaggi e svantaggi del client-server. Il Middleware
e le architetture di rete a multi componenti. DNA e .NET. Il concetto di motore SQL e di linguaggio
SQL. Architetture di rete pari a pari ed architetture di rete a server dedicato. Ruolo del sistema
operativo nelle diverse architetture.
I Sistemi operativi Microsoft Windows (8 ore)
Ruolo del sistema operativo nelle diverse architetture. Sistemi operativi multiuser, multitasking e
multithreading. Differenza tra il concetto di multitasking cooperativo e preempitivo. I sistemi
operativi MS-Windows: introduzione, panoramica e concetti generali applicabili a tutti i sistemi
della famiglia Windows. Sistemi di comunicazione tra applicazioni: OLE, COM - DCOM ed Active
X COM+. L’architettura WOSA ed il concetto di driver ODBC, estensione ad OLE-db. Standard di
programmazione in ambiente Windows.
Il sistema operativo Windows NT: architettura di sistema: hal, kernel, user. L’architettura dell’I/O.
Le dll fondamentali (win32 e win32s). Servizi ed applicazioni. Threads e code di messaggi.
Descrizione della shell di Windows NT versione 2000. Attivazione di servizi. Monitoraggio del
server.
Il file system di Windows NT, di Windows 9x e del MS-DOS: differenze e particolarità.
Installazione di Windows NT, ruolo dei server in Windows NT, concetto di dominio e di security
agent. Gestione della sicurezza. Assegnazione della security in NTFS ed in FAT. Architettura di rete
di Windows NT. Servizi di rete di Windows NT.
Struttura di data base, relazioni e SQL (20 ore)
Struttura di un data base: dati, hw e sw, utenti di data base. Descrizione di un sistema di gestione di
data base (data base management system - DBMS). Benefici nell’uso di un data base. Indipendenza
dei dati. Architetture di data base: data base basati su sistemi di files, data base gerarchici, data base
reticolari, data base relazionali. Struttura dei Data Base Relazionali. Le regole di Codd per la
definizione formale di un data base relazionale. Chiavi primarie. Relazioni. Chiavi esterne (foreing).
Relazioni padre/figlio. Valori NULL. Intergità referenziale. Cenni sull’algebra relazionale.
Il ruolo del linguaggio SQL, caratteristiche e benefici. Storia del linguaggio SQL. Panoramica sui
principali produttori di motori SQL per varie piattaforme.
Il linguaggio SQL ANSI 1.0 e le sue estensioni. Le basi (variabili, costanti, funzioni, convenzioni,
differenze tre i motori, classi di comandi).
Il concetto di Query ed il comando Select. Descrizione introduttiva del programma MS Access 97.
Descrizione del front end per MS-SQL server 6.5 e dei tool di sviluppo Visual Interdev.
Il comando Select: query monotabelle (campi calcolati, criteri di selezione, valori null, Union
Query, ordinamento..). Il comando SQL Select: esempi sotto Access e SQL server.
Il comando Select: query multitabelle. Il comando SQL Select: esempi sotto Access e SQL server.
Il comando Select: il concetto di query di sommario. Esempi vari in ambiente MS-Access e SQL
Server.
Il comando Select: il concetto di sotto query. Modifica di data base: il comando Insert: caso di
modifica di una singola riga e di utilizzo di una sottoquery.
Comando SQL Insert, delete ed update.
SQL ed integrità. Viste. Controllo degli accessi.
Utlizzo di SQL in via programmatica: programmazione in ambiente Access ed in ambiente Visual
Basic. La tecnica di programmazione ‘embedded’ statica e dinamica.Descrizione dei driver ODBC
in ambiente Windows. Descrizione delle chiamate principali alle API ODBC. Utilizzo del motore
SQL da linguaggi di programmazione via DAO, ODBC, RDO, ADO, COM.
Progetto di Data Base (6 ore)
Ciclo di vita dei sistemi informativi. Metodologie di progettazione. Entità e relazioni. Strategie di
progetto delle basi di dati. Relazioni uno a uno, uno a molti e molti a molti. Normalizzazione. Le
regole fondamentali per lo sviluppo di un data base e per la sua implementazione in ambiente client
server. Metodi di progettazione di Data base: struttura delle tabelle e delle query. Alcuni esempi
tipici.
Data Base relazionali: tecnologia ed architettura distribuita (6 ore)
Tecniche di accesso ai dati: Metodi di accesso ai dati basati sulle tecniche di programmazione object
oriented: OLE DB ed ADO. Data base attivi: trigger e business rules, stores procedures.
Struttura di SQL server. Tabelle di SQL server. Struttura di client SQL e concetti di
programmazione sotto SQL.
Consistenza dei motori SQL: caso monoutenza. Concetto di transazione: Commit e Rollback.
Transaction log.
La transazione nel caso multiutenza. Tecniche di Locking. Data base distribuiti: il 2 phase committ.
OLTP ed OLAP. Replicazione di dataq bse. Datawarehouse e data mining.
Esercitazioni e descrizione di prodotti commerciali
Windows 98 e l’ambiente di rete. Windows NT 4.0 e 20000. Protocolli di comunicazione. Driver
ODBC.
Descrizione di MS Access 2000 e di MS Query. Descrizione del motore MS SQL Server 7.0. MS
Visual Interdev e MS Visual Basic.
Prof. Maurizio fermeglia