DBMS architettura client/server

Documenti analoghi
Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

Il linguaggio SQL: transazioni

Sistemi di Elaborazione dell Informazione

Sistemi informativi e basi di dati. Il modello relazionale. SQL come DCL Utilizzo di un DBMS Reale. Forme normali. Basi di dati direzionali

SQL Transazioni. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Basi di Dati. Esercitazione 1: Interrogazioni in SQL. K. Donno - Interrogazioni in SQL

Interrogazioni nidificate

Le transazioni. Update CC set saldo = saldo + 25 where ccnum = Update CC set saldo = saldo 25 where ccnum = 26488

Il sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.

CREATE VIEW. CREATE VIEW <nome_vista> AS (SELECT <lista_campi> FROM <lista_tabelle> WHERE <condizione>);

Prova Pratica di Informatica, Modulo Basi di dati Appello 23/07/2018

Unità D3. Sicurezza nelle basi di dati. Sicurezza e concorrenza nelle basi di dati. Controllo accesso. Protezione e integrità dati

Gestione delle transazioni. Basi di dati. Elena Baralis 2007 Politecnico di Torino 1 D B M G D B M G 2. Linguaggio SQL: costrutti avanzati

Interrogazioni nidificate

Basi di dati Il linguaggio SQL

Basi di dati Il linguaggio SQL

Prova Scritta di Basi di Dati

Connessione con MySQL

Basi di Dati CREAZIONE E POPOLAMENTO DI UNA BASE DI DATI

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Informatica per le Scienze Umane. Introduzione al corso: programma dettagliato

Corso di. Basi di Dati I. 9. Esercitazioni in SQL: Check, asserzioni, viste

2011 Politecnico di Torino 1

Informatica documentale Laurea in Scienze della Comunicazione Prova scritta del 25 giugno Cognome e nome: Matricola:

Basi di dati I 10 luglio 2017 Tempo a disposizione: un ora e 30 minuti.

ESERCITAZIONE: Fornitore-Fornisce-Articolo

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Corso di. Basi di Dati I. 10. Esercitazioni in SQL: Complementi

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati I 11 luglio 2019 Tempo a disposizione: un ora e 45 minuti. Cognome: Nome: Matricola:

Basi di Dati Corso di Laura in Informatica Umanistica

Basi di dati 8 settembre 2015 Esame Compito A Tempo a disposizione: due ore. Libri chiusi.

Informatica per le Scienze Umane. Introduzione al corso: programma

Il programma di oggi. Gli indici. Ottimizzazione. Metodi per la Gestione dei Dati (lezioni di laboratorio)

Basi di dati I 10 settembre 2019 Tempo a disposizione: un ora e 30 minuti. Possibili soluzioni. Cognome: Nome: Matricola:

A. Ferrari SQL. Structured Query Language

INFORMATICA GENERALE Prof. Alberto Postiglione. Scienze della Comunicazione Università di Salerno. Raggruppamento. Raggruppamento

Prova Scritta di Basi di Dati

Vincoli di integrità generici: check

Connessione con MySQL

A.s Programma di Informatica

Corso di Basi di Dati A.A. 2015/2016

SQL. SQL come Data Manipulation Language - Inserimento, cancellazione e aggiornamento di righe

Interrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor

SCHEMA ER. Tutti i dati del carrello acquisti sono memorizzati nel database e quindi può essere costruito con più query.

Prova Scritta di Basi di Dati

Domande utili alla preparazione dell orale di Informatica all Esame di Stato

Esercitazione seconda prova Esame di Stato Prova di Informatica Gestionale ITC Programmatori e Mercurio. Note introduttive

ESERCITAZIONE: AZIENDA

MS Access Un DBMS relazionale per Windows?

Basi di Dati e Sistemi Informativi A 1 A.A. 2009/ /09/10 -A Prof. Paolo Brunasti

Istituto Statale E.Torricelli Liceo Scientifico Tecnologico-Tecnico Industriale. Compiti Estivi Informatica

Risultato sotto forma di insieme

Prova Scritta di Basi di Dati

Capitolo 20. I Sistemi Informativi

Una metodologia di progettazione di applicazioni web centrate sui dati

Sistemi di Elaborazione delle Informazioni

3. Creare nella propria home directory un file nomescript contenente le definizioni delle 4 tabelle con opportuni comandi create table.

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

insert into Dipartimento(NomeDip, Città) values('produzione','torino') insert into ProdottiMilanesi (select codice, descrizione from Prodotto

Inserimento. Cancellazione. Modifica. INSERT INTO Persone VALUES ('Mario',25,52) INSERT INTO Persone(Nome, Eta, Reddito) VALUES('Pino',25,52)

Vincoli, procedure e regole attive in SQL. SQL: vincoli, trigger 1

Basi di dati I 8 luglio 2016 Esame Compito A Tempo a disposizione: un ora e trenta minuti.

DATABASE PER IL WEB. Programmazione Web 1

Esercitazione 2 SQL 1 (installazione MySQL)

Il linguaggio SQL: transazioni

Basi di Dati e Sistemi Informativi

Basi di dati I Esercizi proposti il 24 ottobre 2016

Basi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive

VIEW SQL CREATE VIEW. VIEW (Viste utente) Esempio. Esempio SQL. A. Ferrari 1. Avanzato. Viste utente

Laboratorio di Basi di Dati SQL avanzato

Basi di Dati. Concetti Avanzati

Interpretazione delle query nidificate

Metodi per la Gestione dei Dati (lezioni di laboratorio)

TURNI FARMACIE DISTRETTO N. 2 MESE DI GENNAIO 2015

Laboratorio di Basi di Dati

Universita di Milano Bicocca Corso di Basi di dati 1 in elearning C. Batini 6. SQL DDL 6.1 Data Description Language - 1

Prova Scritta di Basi di Dati

SQL per le applicazioni D B M G

A livello fisico, un istanza di base di dati Oracle è composta. Gubiani & Montanari Oracle Database 3

E possibile ordinare le righe del risultato di una interrogazione attraverso la clausola order by, a chiusura di una interrogazione.

MODULO 2. Query normali e parametriche Query di:

SQL /10/2016 Basi di dati - SQL 1

2011 Politecnico di Torino 1

SQL per le applicazioni D B M G

Corso di Basi di Dati

A. Ferrari introduzione alle basi di dati

Fondamenti di Teoria delle Basi di Dati

2011 Politecnico di Torino 1

Prof. Pagani corrado SISTEMI INFORMATIVI E DATABASE

Esercitazione 2 SQL 1 (installazione MySQL)

SQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)

Esame di Basi di Dati

Tipi numerici esatti Valori interi o con parte decimale di lunghezza prefissata

2011 Politecnico di Torino 1

FONDAMENTI DI INFORMATICA 1

Basi di Dati Prof. L. Tanca e F. A. Schreiber APPELLO DEL 6 MARZO 2015 Tempo: 2h30m

Transcript:

DBMS architettura client/server query DBMS utente risultato

Molti utenti! biblioteca bibliotecario DBMS bibliotecario bibliotecario bibliotecario

Parallelismo virtuale I vari utenti non si accorgono gli uni degli altri Ciascuno si interfaccia con il DBMS come se fosse il solo utente del sistema Le elaborazioni sono eseguite dal processore In molti sistemi il processore è unico! Il DBMS gestisce le varie interazioni eseguendo un parallelismo virtuale, ovvero eseguendo alcune istruzioni relative all interazione con il primo utente, alcune di interazione con il secondo e così via

Utenti e dati Titolo Autore In_prestito Kitchen B.Yoshimoto no INCONSISTENZA!!!! Inizia assegnazione libro a In utente prestito? Lo prendo in prestito Inizia assegnazione libro È in a utente prestito? Lo prendo in prestito Bibliotecario 1 Bibliotecario 2

Transazioni Transazione = unità elementare di lavoro La sua esecuzione termina o con un commit o con un rollback Questo codice viene eseguito come se fosse un istruzione sola Begin transaction <<codice>> End transaction O tutto O niente!! commit work Le modifiche vengono rese effettive sul DB rollback work Le modifiche vengono disfatte

Proprietà acide Proprietà della transazione Unità indivisibile di esecuzione A C I D atomicity consistency isolation durability l esecuzione deve soddisfare i vincoli di integrità l esecuzione è indipendente dalla contemporanea esecuzione di altre transazioni L effetto di una transazione conclusa non deve andare perso

Esempio Begin transaction <<cerca libro>> if (trovato and in_prestito=no) <<assegna sì a in_prestito>> commit else <<segnala problema>> rollback End transaction Utente 1: arriva prima, inizia la transazione Utente 2: arriva dopo, attende la fine della transazione dell utente 1

DB e Web Browser Web DBMS Esempi poste, banche, negozi virtuali, motori di ricerca, banche dati aziendali, riviste on-line

Punti comuni l utente dichiara la propria identità (login e password) l utente esegue delle operazioni: estrazione di informazioni (es. contenuto del conto corrente) modifica di dati (es. emissione di un bonifico) l utente lavora in // con molti altri utenti i dati dell utente sono riservati e devono essere persistenti l interfaccia è costituita da un browser web i dati sono conservati inun DB

Caso particolare Motori di Ricerca Altavista Yahoo Google Ask.com Lycos Virgilio Gestiscono informazioni sui siti web Sono accessibili via web Ricerca di siti Aggiornamento del DB DB

Ricerca di siti Query Restituiscimi le pagine che contengono riferimenti a film di fantascienza Non importa a quale nazione appartenga il sito Posso indicare criteri ancora più specifici

Aggiornamento del DB Deep search Categorie Directory standard Uso di spider che seguono i Link, elaborazione automatica Manca un vero motore di ricerca siti suddivisi per categorie I dati sono estratti ed inseriti nel DB da esseri umani

InterBase 6.0 DBMS distribuito da Borland, utilizzato fra gli altri da Boeing, Hewlett-packard, AT&T, Compaq, Harvard University, NASA, NEC, UK Treasury, Scaricabile presso http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download#interclient

Pagina di download Scaricare questo file

Interfaccia: IBConsole L idea base è che un utente può agganciarsi a dei server, ognuno dei quali può gestire uno o più DB. I server, in generale, sono accessibili via internet Ogni utente ha assegnato un login e una password. Gli utenti vengono accreditati ad accedere a un server da un utente speciale: l amministratore

Creazione di un DB Nome del DB Path + nome file Lasciare i valori di default

ISQL Comandi SQL Risultato delle query

Query composte select prodotti.nome, prodotti.n_rep from fornitori join prodotti on (fornitori.p_iva=prodotti.fornitore) where prodotti.n_rep = any ( select LavoraIn.n_rep from LavoraIn join persone on (LavoraIn.persona=persone.codice) where persone.nome = 'Luigi Neri ) any ( -query- ) all ( -query- )

Script SQL Non è facile scrivere query SQL Spesso dato un DB, esiste un certo numero di interrogazioni standard che gli utenti hanno interesse ad effettuare È possibile scrivere dei programmi SQL in file, formato solo testo, e richiamarne l esecuzione quando c è bisogno Tali programmi si chiamano script SQL

Funzioni Aggregate e Group By select max(tesserino) from bagnanti Mostra il codice dell ultimo iscritto Mostra nome e cognome dell ultimo iscritto select nome, cognome from bagnanti where tesserino = any(select max(tesserino) from bagnanti); select qualifica, count(*) from istruttori group by qualifica Per ogni qualifica, dimmi quanti istruttori hanno quella qualifica

Group by val1 val2 ad ogni gruppo viene applicata una stessa funzione tabella attributo val3

Esempio Per ogni autore conta quante opere ha scritto select nome, cognome, count(*) from libri group by nome, cognome Andrea Rossi alberi Andrea Verdi poesie Andrea Verdi calunnia Rosa Bianchi poesie Andrea Rossi 1 Andrea Verdi 2 Rosa Bianchi 1 Elena Bianchi 1 Elena Bianchi fiori

Domini Finora abbiamo visto l uso di domini semplice, varchar(n) integer e float sono degli esempi Il progettista può definire domini ad hoc, come ad esempio il dominio giorni della settimana o il dominio numero di matricola tramite il comando create domain

Definizione di domini createdomain nomedominio as Tipo check condizione createdomain giornisettimana as varchar(10) check (value in ( lunedi, martedi, mercoledi, giovedi, venerdi, sabato, domenica ))

Esempio createdomain giornisettimana as varchar(10) check (value in ( lunedi, martedi, mercoledi, giovedi, venerdi, sabato, domenica )) createdomain orario as integer check (value > 9 and value < 20) createtable turni ( giorno giornisettimana, ora orario, )