Download Database - Progettazione Logica

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts
no text concepts found
Transcript
UdA
Database
Progettazione Fisica
GIORGIO PORCU
www.thegiorgio.it
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
1A
Database
Progettazione Fisica
Sommario
Progettazione Fisica
Database e Tabella
DBMS
DBMS, Funzioni e Linguaggi
DBMS: interfaccia grafica
DBMS: linguaggio SQL
DBMS e SQL
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
•
•
•
•
•
•
•
2
Database
Progettazione Fisica
• Consiste nel realizzare fisicamente il database
progettato con Schema Logico Relazionale,
utilizzando un software DBMS su computer.
• Il database utilizza come concetti fondamentali:





Tabella
Chiave Primaria (PK, Primary Key)
Chiave Esterna (FK, Foreign Key)
Record
Integrità referenziale
3
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
Progettazione Fisica
Database
Progettazione Fisica
Database
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
• Database
Insieme costituito da:
 Schema (Tabelle in relazione tra loro)
 Dati inseriti (Record)
identificato da un Nome
Scuola
C1
=
C2
C1
C3
C2
C1
C3
C2
327150
Rossi
C4
Mario
C4
C3
C4
+
Anna
Milano
Bianchi
03/04/1971
4
Database
Progettazione Fisica
Tabella
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
• Tabella
Struttura contenente:
 Colonne o Campi
 Righe o Record
identificata da un Nome
Persona
CodiceFiscale
Cognome Nome Città
RSSMRO97D11C441R
Rossi
Mario
Roma
RSSMRO98Y17C332L
Rossi
Mario
Milano
BNCLRA96A61B333C
Bianchi
Laura
Firenze
5
Database
Progettazione Fisica
• DBMS
Acronimo di DataBase Management System.
Software per la gestione dei Database.
Può eseguire una serie di funzioni o operazioni di
gestione.
I più diffusi DBMS sono:
 Microsoft Access (Uso personale, a pagamento)
 MySQL (Uso personale, Web, gratuito)
 Oracle (Uso aziendale/commerciale, a pagamento)
tutti e tre di tipo relazionale (RDBMS).
6
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
DBMS
Database
Progettazione Fisica
DBMS, Funzioni e Linguaggi
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
• Funzioni tipiche dei DBMS
 Creazione Schema e Dati
 Modifica Schema e Dati
 Cancellazione Schema e Dati
 Inserimento Dati
 Interrogazione Dati
 Impostazione criteri di accesso e sicurezza
L’utente del DBMS può utilizzare tali funzioni:
 Con interfaccia grafica
 Utilizzando un linguaggio detto SQL
7
Database
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
Progettazione Fisica
DBMS:
Interfaccia grafica
8
Database
Progettazione Fisica
Access: Creare un Database
• Creare un Database vuoto in MS Access 2000-2003
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
 Seleziona File > Nuovo > Database vuoto…
 Salva il database con un Nome
9
Database
Progettazione Fisica
• Creare una Tabella in MS Access 2000-2003 con
procedura grafica
 Apri la Finestra Database
 Seleziona Tabelle > Crea una tabella in visualizzazione
Struttura
 Inserisci riga per riga i nomi dei Campi e i relativi Tipi
di Dato
 Imposta la Chiave Primaria
 Salva la tabella con un Nome
10
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
Access: Creare una Tabella
Database
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
Progettazione Fisica
DBMS:
Linguaggio SQL
11
Database
Progettazione Fisica
• SQL
Acronimo di Structured Query Language.
Linguaggio standard utilizzato dai RDBMS per gestire
i database.
Prevede tre principali tipologie di comandi:
 DDL: Data Definition Language
 DML: Data Manipulation Language
 QL: Query Language
L’esecuzione di un generico comando in SQL è detta (in
maniera un po’ impropria) Query
12
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
DBMS e SQL
Database
Progettazione Fisica
Comandi SQL
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
• DDL (Data Definition Language)
Consentono di creare e modificare la struttura
(Tabelle e Relazioni) del DB
• DML (Data Manipulation Language)
Gestiscono inserimento e modifica dei dati nella
struttura del DB
• QL (Query Language)
Permettono di eseguire interrogazioni sui dati
13
Database
Progettazione Fisica
• Creare una Tabella in MS Access 2000-2003 in
linguaggio SQL
 Apri la Finestra Database
 Seleziona Query > Crea una Query in visualizzazione
Struttura
 Passa a Visualizzazione SQL
 Inserisci la Query in SQL utilizzando il comando create
table
 Salva la Query con un Nome
 Esegui la Query
14
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
SQL DDL: Creare una Tabella
Database
Progettazione Fisica
• Crea una nuova tabella con N campi senza chiavi
esterne:
create table nometabella
(
nomecampo1 tipodidato1 [not null] [primary key],
nomecampo2 tipodidato2 [not null],
a
…
nomecampoN tipodidatoN [not null]
[ primary key(nomecampoPK1, …)]
)
b
Chiave
primaria
Le sintassi a e b sono equivalenti.
La b è obbligatoria solo se la chiave primaria è
costituita da più di un campo.
15
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
SQL DDL: create table (PK)
Database
Progettazione Fisica
Esempio 1 SQL DDL: create table
Persona
Cognome Nome
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
IDPersona
create table Persona
(
IDPersona counter,
Cognome char(30),
Nome char(30),
primary key(IDPersona)
)
16
Database
Progettazione Fisica
• Crea una nuova tabella con N campi e una o più
chiavi esterne:
create table nometabella
(
nomecampo1 tipodidato1 [not null] [primary key],
nomecampo2 tipodidato2 [not null],
a
…
Chiave
b
nomecampoN tipodidatoN [not null]
primaria
[ primary key(nomecampoPK1)]
[foreign key(nomecampoFK1) references
Chiave
nomealtratabella(nomePK)]
);
esterna
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
SQL DDL: create table (PK + FK)
Database
Progettazione Fisica
Esempio 2 SQL DDL: create table
Persona
Cognome
Nome
IDCittà
IDCittà
Denominazione
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015
IDPersona
Città
create table Persona
create table Città
(
(
IDPersona counter,
IDCittà counter,
Cognome char(30),
Denominazione char(30),
Nome char(30),
primary key(IDCittà)
IDCittà int,
)
1
primary key(IDPersona),
foreign key(IDCittà) references Città(IDCittà)
)
2
18