Slideshare.net (beta)

 
Post to TwitterPost to Twitter
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

Introduzione al SQL e ai database

From napo, 2 years ago

Semplice introduzione ai DBMS e al linguaggio SQL (con attenzione more

1992 views  |  1 comment  |  0 favorites  |  15 downloads  |  1 embed (Stats)
 

Categories

Add Category
 
 
 
 

Groups / Events

 

 
Embed
options

More Info

This slideshow is Public
Total Views: 1992
on Slideshare: 1981
from embeds: 11

Slideshow transcript

Slide 1: Database – base di dati DBMS DATABASE MANAGEMENT SYSTEM Sistema di gestione di base di dati contenitori che immagazzinano grandi ● quantità di dati i dati sono fruibili tramite un sistema ● di gestione

Slide 2: Caratteristiche Grandi quantità ● Condivisione ● Persistenza ● Affidabilità ● Controllo sugli accessi (DBA) ●

Slide 3: RDBMS modello RELAZIONE dei database RELAZIONE (o tabella) Indirizzi CAMPO (a attributi della relazione) |Cognome |Nome |Indirizzo |Telefono | RECORD (valori) |Pallino |Pinco |Via Biglie 1|0222,222222 | .======================================================. |Indirizzi | |------------------------------------------------------| |Cognome |Nome |Indirizzo |Telefono | |---------------|----------|------------|--------------| |Pallino |Pinco |Via Biglie 1|0222,222222 | |Tizi |Tizio |Via Tazi 5 |0555,555555 | |Cai |Caio |Via Caini 1 |0888,888888 | |Semproni |Sempronio |Via Sempi 7 |0999,999999 | `======================================================'

Slide 4: Relazioni collegate .============================================. |Articoli | |--------------------------------------------| |Codice|Descrizione |Fornitore1|Fornitore2| |------|---------------|----------|----------| |vite30|Vite 3 mm | 123| 126| |vite40|Vite 4 mm | 126| 127| |dado30|Dado 3 mm | 122| 123| |dado40|Dado 4 mm | 126| 127| |rond50|Rondella 5 mm | 123| 126| `============================================' .==============================================. |Movimenti | |----------------------------------------------| |Codice|Data |Carico|Scarico|CodFor|CodCli| |------|----------|------|-------|------|------| |vite40|01/01/1999| 1200| | 124| | |vite30|01/01/1999| | 800| | 825| |vite30|02/01/1999| | 1000| | 954| |rond50|03/01/1999| | 500| | 954| `=============================================='

Slide 5: Unioni – Intersezioni ­ Differenze Teoria degli insiemi .----------------------------------------------------------. |CODICE|DATA |CARICO|SCARICO|... |DESCRIZIONE |... | |------|----------|------|-------|----|---------------|----| |vite40|01/01/1999| 1200| |... |Vite 4 mm |... | |vite30|01/01/1999| | 800|... |Vite 3 mm |... | |vite30|02/01/1999| | 1000|... |Vite 3 mm |... | |vite30|03/01/1999| 2000| |... |Vite 3 mm |... | |rond50|03/01/1999| | 500|... |Rondella 5 mm |... | `==========================================================' Esempio di unione fra Articoli e Movimenti attraverso il campo Codice

Slide 6: Vincoli sui campi Insieme dei valori ammissibili ● NULL, NOT NULL, INT, .... – Valori univoci ● CHIAVE PRIMARIA – Relazione con altri valori  ● stessa tabella  – esterni –

Slide 7: SQL Structured Query Language linguaggio di gestione per basi di dati relazionali Convenzioni sul linguaggio: Comandi scritti maiuscolo ● non fa differenza se non per i valori dei campi della tabella Nomi degli oggetti (tabelle, campi ...) sono composti solo da ● lettere, numeri e underscore (“_”) Primo carattere del nome deve essere una lettera o ● underscore La fine di una istruzione e' data dal punto e virgola o ● riga vuota

Slide 8: 6 azioni – 6 comandi AZIONE COMANDO Creare tabelle CREATE TABLE Eliminare tabelle DROP TABLE Inserire record INSERT  Interrogare record SELECT Modificare record UPDATE Cancellare record DELETE

Slide 9: Tipi di dati Stringhe di caratteri VARCHAR (dimensioni) TEXT I valori vanno dichiarati fra virgolette (Es: 'Nome') dimensioni => numero di caratteri utilizzabili nella stringhe Valori numerici INT FLOAT interi e numeri con virgola mobile Date DATE TIME TIMESTAMP I valori vanno dichiarati fra virgolette o apici

Slide 10: Tabella ­ sintassi Creare CREATE TABLE nome_tabella ( nome_colonna1 TIPO_COLONNA1 VINCOLI_COLONNA1, nome_colonna2 TIPO_COLONNA2 VINCOLI_COLONNA2, .... nome_colonnan TIPO_COLONNA_n VINCOLI_COLONNA_n ); Cancellare DROP TABLE nome_tabella;

Slide 11: Tabella ­ esempio CREATE TABLE indirizzi ( id serial PRIMARY KEY, nome varchar(40) NOT NULL, cognome varchar(40) NOT NULL, indirizzo varchar(40) DEFAULT 'sconosciuto', telefono varchar(40) NOT NULL, id_comune int references (ammcom.id), data_nascita date ); DROP TABLE indirizzi;

Slide 12: Inserire ­ sintassi INSERT INTO nome_tabella ( colonna_1, colonna_2, ... colonna_ n ) VALUES ( valore_1, valore_2, ... valore_n );

Slide 13: Inserire ­ esempio INSERT INTO Indirizzi ( nome, cognome, indirizzo, telefono, compleanno ) VALUES ( 'Gigi', 'Marzullo', 'Via Teulada 66 Roma', '06 1234567', '1915/03/26' );

Slide 14: Cancellare Sintassi DELETE FROM nome_tabella [WHERE condizione] Esempio DELETE FROM indirizzi; Mancando una condizione (WHERE) il comando SVUOTA LA TABELLA

Slide 15: Operatori di condizione ... WHERE campo OPERATORE valore Operatori di confronto > maggiore di < minore di = uguale a != diverso da Esempio delete con condizione DELETE FROM indirizzi WHERE nome = 'Gigi';

Slide 16: Modifica ­ sintassi UPDATE nome_tabella SET colonna_1 = nuovo_valore_1, colonna_2 = nuovo_valore_2, ... colonna_n = nuovo_valore_n [WHERE condizione]

Slide 17: Modifica ­ esempio UPDATE indirizzi SET nome='Gigino' WHERE cognome='Marzullo';

Slide 18: Interrogare ­ sintassi SELECT campo1,campo2,...,campoN FROM nome_tabella [[WHERE condizione [ORDER BY campoN]];

Slide 19: Interrogare ­ esempi SELECT * FROM indirizzi; SELECT nome, cognome FROM indirizzi; SELECT * FROM indirizzi WHERE data_nascita >= '1986/03/01'; SELECT nome, cognome FROM indirizzi WHERE data_nascita >= '1986/03/01' ORDER BY nome;

Slide 20: Operatori logici AND, OR, NOT, ... Esempio con SELECT SELECT nome, cognome FROM indirizzi WHERE data_nascita >= '1986/03/01' AND data_nascita <='1986/04/30' Esempio con DELETE DELETE FROM indirizzi WHERE nome = 'Gigi' OR nome='Silvio'

Slide 21: Query (select) di unione fra 2 tabelle S SELECT indirizzi.nome, ammcom.descrizion E FROM indirizzi, ammcom L WHERE indirizzi.id_comune = ammcom.id E C id T id descrizion id_comune n geometry cognome o nome m nome e . descrizion indirizzi amm_com i n join d i

Slide 22: Extra Funzioni sono chiamate tramite il comando SELECT Esempio sintassi per SUM() SELECT SUM(expression ) FROM tables WHERE predicates; Molti DBMS permettono di creare nuovi funzioni attraverso un linguaggio specifico (SQL Procedural Language) spesso estendibile Es: Postgresql offre pgSQL estendibile con R Trigger le funzioni possono essere associate ad eventi