Banche dati
This presentation is the property of its rightful owner.
Sponsored Links
1 / 22

Banche Dati PowerPoint PPT Presentation


  • 86 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Banche Dati

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Banche dati

Banche Dati

Corso di Fondamenti di Informatica

(9 CFU – 6 CFU per COM5 e SECI)

Prof. Roberto Pirrone

Anno Accademico 2004-2005


Gestione dei file

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


Organizzazione dei dati in un file

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


Campi record e 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


Accesso diretto ad un archivio su file

Accesso diretto ad un archivio su file


Data base management systems

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 systems1

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.


Accesso ad un archivio tramite dbms

Accesso ad un archivio tramite DBMS


Organizzazione dei dati in un dbms

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)


Modello gerarchico

Modello Gerarchico


Modello reticolare

Modello reticolare


Sistemi per la gestione delle basi di dati

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


Structured query language sql

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)


Estrazione di dati

Per estrarre nomi e stipendi ordinati per ID

SELECT NAME, PAYFROM Employee ORDER BY ID;

Estrazione di dati


Estrazione di dati1

Per estrarre nomi e stipendi ordinati per ID

SELECT NAME, PAYFROM Employee ORDER BY ID;

Estrazione di dati


Estrazione di dati2

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


Estrazione di dati3

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

Relazioni

Policy

  • La tabella Insurance è una relazione tra le tabelle Policy e Employee


Relazioni1

Relazioni

SELECT EMPLOYEE.NAME,INSURANCE.PLANTYPEFROM EMPLOYEE, INSURANCEWHERE ((EMPLOYEE.NAME = ‘Fred Takasano’)AND (INSURANCE.ID = EMPLOYEE.ID));

Policy

Fred Takasano A1 Fred Takasano B2


Diagrammi entit relazioni

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


Relazioni2

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.


Schema logico relazionale

Schema logico relazionale


  • Login