220 likes | 373 Views
Banche Dati. Corso di Fondamenti di Informatica (9 CFU – 6 CFU per COM5 e SECI) Prof. Roberto Pirrone Anno Accademico 2004-2005. Elementi di informazione tra loro correlati sono raccolti in file Gestore dei file
E N D
Banche Dati Corso di Fondamenti di Informatica (9 CFU – 6 CFU per COM5 e SECI) Prof. Roberto Pirrone Anno Accademico 2004-2005
Elementi di informazione tra loro correlati sono raccolti in file Gestore dei file Programma di sistema operativo che fornisce gli strumenti per l’accesso, lettura e scrittura dei file I file sono organizzati in direttori o cartelle (directory o folder) La formattazione costruisce la struttura di base del file system Gestione dei file • Compiti del gestore dei file • Creazione elementi nella directory • Lettura informazioni degli elementi • Aggiornamento • Eliminazione
Il byte (8 bit) è l’elemento più piccolo indirizzabile nella memoria. Contiene un carattere ASCII Per informazioni più complesse (es. nomi, indirizzi, etc.) i byte sono raccolti in campi (field) Campi contenenti informazioni correlate sono organizzati in record A loro volta, i record sono raccolti in un file dati o tabella Raccolte di file costituiscono una base di dati Organizzazione dei dati in un file
I campi contengono informazioni di tipo diverso (numeri, testo, date, …) Colonne della tabella Campi contenenti informazioni correlate sono organizzati in record Righe della tabella o del file dati Anche chiamata tupla (sestupla nel caso in figura) Un tupla è una istanza singola di una qualche informazione strutturata in campi Campi, record e file
Data Base Management Systems • I Data Base Management Systems (DBMS) garantiscono alle applicazioni/utenti che devono accedere ai dati: • Dati consistenti e non ridondanti • Uno stesso dato non è mai ripetuto più volte in un archivio e ciò lo rende consistente cioè non è possibile che assuma valori differenti in punti differenti dell’archivio stesso. • Privatezza dei dati • I vari utenti (o programmi) possono accedere ai dati solo se in possesso di adeguate credenziali di accesso che forniscono diritti anche parziali sulla manipolazione dei dati.
Data Base Management Systems • I Data Base Management Systems (DBMS) garantiscono alle applicazioni/utenti che devono accedere ai dati: • Integrità dei dati (tramite vincoli di consistenza) • Il valore di un dato può essere vincolato nel suo ambito di variazione ed il DBMS controlla che non violi tali vincoli. • Gestione dell’accesso concorrente ai dati • Quando due utenti (o programmi) vogliono accedere allo stesso dato, per es. in modifica, il DBMS sequenzializza tali accessi in modo da garantire a tutti la certezza sul valore del dato in ogni istante.
Organizzazione dei dati in un DBMS • I DBMS possiedono strutture per l’organizzazione dei dati che facilitano la ricerca e la presentazione delle informazioni • Organizzazione dei dati mediante livelli crescenti di astrazione • Livello fisico • Organizzazione fisica dei dati in file, distribuzione sui supporti di memoria e modalità di memorizzazione (sequenziale, accesso diretto, con indice) • Livello logico (relazionale, gerarchico, reticolare) • Organizzazione dei dati in termini della loro struttura e dei legami logici tra i vari tipi di dati definiti • Livello esterno • Vista/viste dei dati così come questi sono organizzati per la fruizione da parte di utenti o classi di utenti • Linguaggi di definizione e manipolazione dei dati (ad es. SQL)
Data Base Management System (DBMS) Basato sul modello concettuale di una tabella bidimensionale Modello relazionale per le basi di dati Prevede relazioni tra le tabelle contenenti i dati Una tabella raccoglie informazioni su una entità Entità IMPIEGATI di una azienda Un impiegato è una riga (tupla) della tabella I nomi dei campi individuano gli attributi della entità Chiave primaria: attributo o insieme di attributi che definiscono univocamente un record Sistemi per la gestione delle basi di dati Impiegato
Per estrarre tutti i dati relativi a Fred, record 149 SELECT *FROM Employee WHERE ID = 149; SELECT ID, NAME, AGE, PAYRATE, HOURS, PAYFROM EmployeeWHERE NAME = ‘Fred Takasano’; Structured Query Language (SQL)
Per estrarre nomi e stipendi ordinati per ID SELECT NAME, PAYFROM Employee ORDER BY ID; Estrazione di dati
Per estrarre nomi e stipendi ordinati per ID SELECT NAME, PAYFROM Employee ORDER BY ID; Estrazione di dati
Per estrarre nomi e stipendi per gli impiegati con più di 100 ore di lavoro SELECT NAME, HOURS, PAYFROM EmployeeWHERE HOURS > 100; Estrazione di dati
Per estrarre nomi e stipendi per gli impiegati con più di 100 ore di lavoro SELECT NAME, HOURS, PAYFROM EmployeeWHERE HOURS > 100; Estrazione di dati
Relazioni Policy • La tabella Insurance è una relazione tra le tabelle Policy e Employee
Relazioni SELECT EMPLOYEE.NAME,INSURANCE.PLANTYPEFROM EMPLOYEE, INSURANCEWHERE ((EMPLOYEE.NAME = ‘Fred Takasano’) AND (INSURANCE.ID = EMPLOYEE.ID)); Policy Fred Takasano A1 Fred Takasano B2
La relazione consente di connettere due entità diverse, senza duplicare i dati La chiave primaria della tabella Insurance è composta dall’insieme di due chiavi esterne ID da Employee PlanType da Policy Determinare il costo mensile dell’assicurazione di Fred Takasano SELECT EMPLOYEE.NAME,POLICY.MONTHLYCOSTFROM EMPLOYEE, INSURANCE, POLICYWHERE (((EMPLOYEE.NAME = ‘Fred Takasano’) AND (INSURANCE.ID = EMPLOYEE.ID)) AND (POLICY.PLANTYPE = INSURANCE.PLANTYPE)); Diagrammi entità-relazioni
Relazioni • 1:1 • Le due chiavi primarie (PK) delle tabelle si scambiano: si ha univocità del record in entrambe le tabelle • 1:N • La chiave primaria del lato 1 viene inserita come chiave esterna (FK) nel lato N, aggiungendo eventuali attributi della relazione: si ottiene una nuova chiave primaria dal lato N fatta dalla PK originale e dalla FK, quindi ogni record si riferisce ad una coppia di istanze delle due entità originarie. La relazione 1:1 è un caso particolare di 1:N e si può implementare anche così. • N:M • Si costruisce una tabella di appoggio che ha una PK costituita da due FK provenienti rispettivamente dal lato N e dal lato M; gli eventuali attributi della relazione si inseriscono in questa tabella di appoggio.