La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Database Accesso Utenti diversi Programmi diversi Modelli di database

Presentazioni simili


Presentazione sul tema: "Database Accesso Utenti diversi Programmi diversi Modelli di database"— Transcript della presentazione:

1 Database Accesso Utenti diversi Programmi diversi Modelli di database
Ger, Ret, Rel, Obj DB Relazionale (1:1) … Definizione DBMS Grado di cardinalità e relazione Chiave Primaria e Secondaria Estrazione Selezione Proiezione Congiunzione Database Normalizzazione 1ª no megatabelle, 2ª ogni tabella una chiave primaria, 3ª chiave primaria e secondaria Linguaggi DDL, DML, QL Integrità Referenziale Livelli: Concettuale Logico Fisico Modelli di rappresentazione: E/R e UML

2 Le basi di dati

3 Parleremo di ….. Il modello relazionale: la selezione la proiezione
congiunzione Normalizzazione 1FN 2FN 3FN L’integrità referenziale I linguaggi per le basi di dati: DDL (Data Definition Language) DML (Data Manipulation Query Languages I 3 livelli Cos’è una base di dati? A cosa serve una base di dati ? Cosa deve garantire un database? Il DBMS I modelli per il database Il modello gerarchico Il modello reticolare Il modello relazionale I database orientati agli oggetti Il modello relazionale: concetti fondamentali requisiti fondamentali la chiave primaria la chiave esterna

4 Cos’è una base di dati (database)?
E’ un insieme di archivi di dati: organizzati mediante tabelle e relazioni (associazioni) gestiti sulle memorie di massa attraverso appositi software (DBMS)

5 Database Conti Correnti
In altre parole … Un database è un insieme dati, che possono essere usati da utenti diversi con programmi diversi. Versamenti Prelevamenti Database Conti Correnti

6 Cosa deve garantire un database?
Un database deve garantire di ritrovare facilmente le informazioni desiderate. Con: velocità, sicurezza.

7 Il DBMS (Data Base Management System)
Il DBMS è l’insieme dei programmi software in grado di garantire il funzionamento ottimale del database. Le informazioni conservate devono garantire: no ridondanza accesso multiplo integrità

8 I modelli per il database
Nello sviluppo della teoria dei database, dal 1960 in poi, sono emersi tipi diversi di modelli per le basi di dati: Gerarchico o ad albero (un padre enne figli), Reticolare (più padri ed enne figli), Relazionale (concetto matematico-1:1, 1:n, M:n) database orientati agli oggetti (immagini, suoni).

9 Il modello relazionale
Rappresenta il database come un insieme di tabelle e di associazioni (relazioni) Le relazioni possono essere di tipo: 1:1 (biunivoca) ad un elemento di A corrisponde un solo elemento di B (es: Alunni e Diplomi); 1:n (semplice) ad un elemento di A corrispondono più elementi di B (es: Alunni e Assenze); m:n (complessa) a più elementi di A corrispondono più elementi di B (Alunni e Docenti);

10 Il modello OODB (Object Oriented DataBase)
I database orientati agli oggetti sono stati introdotti per poter inserire: grafici, audio, video.

11 Il modello relazionale: concetti di Cardinalità e Relazione
Il numero delle righe (record o tuple o ennuple) indica il grado di cardinalità (nel nostro esempio 4); Il numero delle colonne (campi o attributi) indica l grado di relazione (nel nostro esempio 4). Riga 1 Riga 2 Riga 3 Riga 4 Colonna 1 Colonna 2 Colonna 3 Colonna 4

12 Chiave Esterna/secondaria
Il modello relazionale: concetti di chiave Primaria (Primary Key - PK) e chiave esterna/secondaria (Foreign Key - FK) La chiave primaria è l'insieme di uno o più attributi che identificano in modo univoco ogni riga della tabella; La chiave esterna è l'insieme di uno o più attributi che ci permettono di collegare tra loro le tabelle. Chiave Primaria Chiave Esterna/secondaria

13 Il modello relazionale: Selezione, Proiezione, Congiunzione
Selezione: crea una nuova entità/tabella costituita solo dalle righe di partenza che soddisfano a una determinata condizione.

14 Il modello relazionale: Selezione, Proiezione, Congiunzione
Proiezione: crea una nuova entità/tabella costituita solo dalle colonne che soddisfano una determinata condizione.

15 Il modello relazionale: Selezione, Proiezione, Congiunzione
Congiunzione: crea una nuova entità/tabella, partendo da due tabelle aventi uno o più attributi in comune, costituita dalle colonne e dalle righe delle due tabelle che soddisfano una determinata condizione.

16 Il modello relazionale: la normalizzazione
Nelle entità/tabelle occorre evitare la ripetizione o la ridondanza dei dati. Per evitare queste anomalie bisogna attenersi ai cosi detti processi di normalizzazione (N.B. non è una religione). La normalizzazione avviene a livelli crescenti a cui corrispondono diverse forme normali.

17 Il modello relazionale: la normalizzazione
1 FN: l’entità/tabella non deve contenere dati ridondanti (ripetitivi) – evitare le megatabelle; Esempio Matricola Cognome Nome Classe Sezione Data assenza Motivo Giustificata 1 AAA A 12/12/ NO 2 BBB 12/12 SI 14/12 15/12 3 CCC B 16/12 Nelle celle colorate sono presenti dati ridondanti

18 Chiave Primaria Assenze Chiave Primaria Alunni
Il modello relazionale: la normalizzazione 2 FN: (1 FN) + i dati dipendono dalla chiave primaria – ogni tabelle creata dovrebbe avere un campo che diventa chiave primaria; Numero Data assenza Motivo Giustifica 1 12/12/ AAA NO 2 12/12 SI 3 14/12 BBB 4 15/12 5 16/12 6 Matricola Cognome Nome Classe Sezione 1 AAA A 2 BBB 3 CCC B Chiave Primaria Assenze Chiave Primaria Alunni Dalla Megatabella abbiamo creato due tabelle

19 Chiave Primaria Assenze Chiave Primaria Alunni
Il modello relazionale: la normalizzazione 3 FN: (2 FN) + ogni campo, che può essere aggiunto, può diventare chiave secondaria/esterna – per creare le relazioni) Chiave Esterna Matricola Cognome Nome Classe Sezione 1 AAA A 2 BBB 3 Ccc B Chiave Primaria Assenze Chiave Primaria Alunni Numero Matricola Data assenza Motivo Giustifica 1 12/12/ AAA NO 2 12/12 SI 3 14/12 BBB 4 15/12 5 16/12 6

20 L’integrità referenziale
integrità referenziale (referential integrity): per ogni valore non nullo della chiave esterna, deve esistere un valore corrispondente della chiave primaria nella tabella associata. Per ogni matricola (chiave esterna) presente nella tabella delle assenze, non può non esistere la corrispondente matricola (chiave primaria) nella tabelle degli alunni.

21 I linguaggi (SQL) per le basi di dati
Definizione degli schemi: Data Definition Language, permette di creare la struttura delle entità/tabelle e le relazioni tra le stesse; manipolazione dei dati: Data Manipulation Language, permette di inserire, cancellare e modificare i dati nelle entità/tabelle; interrogazione delle informazioni (Query Language).

22 Modalità di rappresentazione: 1) Diagramma E/R (Entity Relationship)
Campi o Attributi Rettangolo = Entità Rombo = Relazione Tra parentesi il tipo di Associazione (1 ad N)

23 Modalità di rappresentazione: 2) Diagramma UML (Unified Modeling Language)
Entità Relazione (1 ad N) Campi o Attributi Kahoot

24 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
1) Livello Concettuale: rappresentare le Entità e le Relazioni con uno dei modelli conosciuti (E/R – UML) ALUNNI ID_ALUNNI (PK) COGNOME NOME CLASSE SEZIONE FOTO N ASSENZE ID_ALUNNI (FK) DATA MOTIVO GIUSTIFICATA (S, N) 1

25 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
2) Livello Logico: descrivere la natura (Formato e Dimensione) dei Campi Tabella ALUNNI NOME CAMPO FORMATO DIMENSIONE CHIAVE NOTE MATRICOLA NUMERICO 5 PRIMARIA COGNOME CARATTERE 15 NOME CLASSE 1 SEZIONE 3 FOTO Oggetto OLE

26 Formato dei dati ACCESS SQL-ACCESS COMMENTO Testo CHAR(…)
Indicare la lunghezza del campo Memo MEMO Per campi molto lunghi (oltre 255) Data DATE/TIME  Data e ora (in vari formati) Valuta MONEY o CURRENCY  Euro, Dollaro, Sterlina, ecc… Contatore COUNTER Si autoincrementa Si/no BIT: 0 = NO, -1 = SI Vero o falso Byte BYTE Valori numerici piccoli Intero SMALLINT Valori numerici medi Intero lungo INT o INTEGER Numeri naturali Precisione singola SINGLE Valori reali Precisione doppia DOUBLE Oggetto OLE IMAGE - LONGBINARY Per inserire Immagini (oggetti OLE)

27 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
3) Livello Fisico: Creazione (Create) della tabella CREATE TABLE ALUNNI ( MATRICOLA COUNTER NOT NULL, COGNOME CHAR (15), NOME CHAR (15), CLASSE INTEGER, SEZIONE CHAR (3), FOTO LONGBINARY, PRIMARY KEY (MATRICOLA) )

28 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
Utilizzando il comando CREATE, visto precedentemente, creare la tabella riguardante i Fornitori, con i seguenti campi: ID_FORNITORE CONTATORE DENOMINAZIONE CARATTERE DA 25 INDIRIZZO CARATTERE DA 20 CAP CARATTERE DA 5 COMUNE CARATTERE DA 20 PROVINCIA CARATTERE DA 2 PARTITA_IVA CARATTERE DA 11 N.B. ID_FORNITORE CHIAVE PRIMARIA con valori Non Nulli

29 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
Utilizzando il comando CREATE, visto precedentemente, creare la tabella riguardante i Clienti, con i seguenti campi: ID_CLIENTE CONTATORE COGNOME CARATTERE DA 15 NOME CARATTERE DA 15 INDIRIZZO CARATTERE DA 20 CAP CARATTERE DA 5 COMUNE CARATTERE DA 20 PROVINCIA CARATTERE DA 2 CODICE_FISCALE CARATTERE DA 16 N.B. ID_CLIENTE CHIAVE PRIMARIA con valori Non Nulli

30 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
Utilizzando il comando CREATE, visto precedentemente, creare la tabella riguardante la Merce, con i seguenti campi: ID_MERCE CONTATORE DESCRIZIONE CARATTERE 25 QUANTITA’ NUMERICA PREZZO VALUTA DATA DATA ALIQUOTA_IVA N.B. ID_MERCE CHIAVE PRIMARIA con valori Non Nulli

31 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
Utilizzando il comando CREATE, visto precedentemente, creare la tabella riguardante i Libri, con i seguenti campi: ID_LIBRO CONTATORE TITOLO CARATTERE 25 GENERE CARATTERE 25 FOTO COPERTINA PREZZO VALUTA AUTORE CARATTERE 25 ANNO_PUBBLICAZIONE CARATTERE 4 N.B. ID_LIBRO CHIAVE PRIMARIA con valori Non Nulli

32 Livelli per rappresentare i data base: 1) Concettuale – 2) Logico – 3) Fisico
Utilizzando il comando CREATE, visto precedentemente, creare la tabella riguardante la Rubrica, con i seguenti campi: ID_RUBRICA CONTATORE TITOLO* CARATTERE 10 COGNOME CARATTERE 15 NOME CARATTERE 15 TELEFONO CARATTERE 12 N.B. ID_RUBRICA CHIAVE PRIMARIA con valori Non Nulli * SIGNOR, SIGNORA, DOTTORE, ECC…

33 Fine Fase 2: le clausole (comandi) del linguaggio QL


Scaricare ppt "Database Accesso Utenti diversi Programmi diversi Modelli di database"

Presentazioni simili


Annunci Google