Soluzione DDL ed Algebra Relazionale



Похожие документы
SQL e ACCESS. Modello relazionale PROBLEMA ENTITA STUDENTE

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Basi di Dati: Corso di laboratorio

Database per la gestione delle ferrovie dello stato. I treni gestiti sono identificati da un numero. Su ciascun treno sono specificate le classi per

Basi di Dati Corso di Laura in Informatica Umanistica

a.a. 2012/13 12 Novembre 2012 Preparazione al Test in itinere, Compito A 1. Modellare tramite uno schema entità- relazione la seguente base di dati:

SQL PER LA DEFINIZIONE DI BASI DI DATI

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

Esprimere in algebra (ottimizzata), calcolo relazionale la seguente query:

SQL: definizione schema

SQL. Linguaggio di interrogazione per basi di dati relazionali. Relazione = tabella con attributi (a 1, a 2,, a n ): Funzionalità principali di SQL:

Basi di dati e sistemi informativi I

Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.

SQL (STRUCTURED QUERY LANGUAGE)

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

Introduzione a MySQL

SQL. DDL e vincoli. Basi di Dati 1 Esercitazione 4. Matteo Picozzi {picozzi@elet.polimi.it}

SQL Laboratorio di Basi di Dati a.a. 2002/2003

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

1. Schema concettuale della base di dati Lo schema concettuale (o statico) è uno dei due schemi del progetto concettuale di un sistema informativo.

Basi di Dati prof. Letizia Tanca

SQL Sintassi Dei Comandi

SQL: concetti base SQL. Definizione dei dati in SQL. SQL: "storia"

ESAME di INFORMATICA e ARCHIVIAZIONE

Basi di Dati Relazionali

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Corso sul linguaggio SQL

SQL: Concetti Base -Prima Parte-

Il linguaggio SQL: DDL di base

Esame di Stato Istituto Tecnico Industriale Soluzione della Seconda Prova Indirizzo: INFORMATICA Tema: INFORMATICA Anno Scolastico:

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 9 SETTEMBRE 2015 Tempo: 2h30m

Basi di Dati. Laboratorio Ing. G. Laboccetta Dott.ssa. V. Policicchio. Corso di Laurea in Informatica. a.a

SQL (STRUCTURED QUERY LANGUAGE)

Giovanna Rosone 04/03/ /03/2010 SQL, Istruzioni per la modifica dello schema

I comandi del linguaggio DDL (Data Definition Language): CREATE E ALTER

Linguaggio SQL: fondamenti D B M G. Gestione delle tabelle

Definizione di domini

Domini elementari, 2. Basi di dati. Domini elementari, 4. Domini elementari, 3. Domini definiti dagli utenti. Domini elementari, 5

SQL -DDL. FONDISTA(Nome, Nazione, Età) GAREGGIA(NomeFondista, NomeGara, Piazzamento) GARA(Nome, Luogo, Nazione, Lunghezza)

UNIVERSITÀ DEGLI STUDI DI UDINE Facoltà di Medicina e Chirurgia CORSO DI LAUREA IN TECNICHE DI RADIOLOGIA MEDICA PER IMMAGINI E RADIOTERAPIA ESAME

INFORMATICA PER L IMPRESA (Docente Prof. Alfredo Garro) ESERCIZIO 3

Il linguaggio SQL: le basi. Versione elettronica: SQLa-basi.pdf

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Il linguaggio SQL: le basi

Storia. Corso di Basi di Dati Spaziali. Componente DDL. Funzionalità. Esempio. Creazione di schema. Linguaggi: SQL. Storia:

Basi di Dati 1 Prof. L. Tanca e F. A. Schreiber APPELLO DEL 21 LUGLIO 2015 Tempo: 2h30m

Lezione 8. Metadati, Viste e Trigger

OR true null false true true true true null true null null false true null false NOT

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2006/7. Il trattamento dei dati

Basi di Dati. S Q L Lezione 5

TRIGGER Regole Attive (Trigger) OLD_TABLE NEW_TABLE old new

M733 ESAME DI STATO DI ISTITUTO TECNICO COMMERCIALE CORSO DI ORDINAMENTO

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

Volumi di riferimento

Capitolo 4. Soluzione: Soluzione: Create domain STRING as character varying (256) default sconosciuto not null

Gestione delle tabelle

INDICI. Prevediamo di effettuare spesso interrogazioni simili alle seguenti:


Lezione del modulo 7 SQL e database del giorno 04/05/2006 tot. ore 3. Lo Standard SQL

Basi di Dati. Esercitazione Algebra Relazionale e SQL. Ing. Paolo Cappellari. 15 maggio 2006

Linguaggio SQL. Structured Query Language

Si formulino le seguenti interrogazioni tramite il linguaggio SQL:

Preparazione. Introduzione a MySQL: costruzione di una base di dati e gestione degli accessi. Accesso all area condivisa. Avvio Server MySQL

Tool. Basi di Dati e Sistemi Informativi Prof. Marco Di Felice Dott.sa Sara Zuppiroli A.A

Esercitazione: Il DBMS MySQL

CAPITOLO 4 ESERCIZI SU SQL

Basi di Dati prof. Letizia Tanca lucidi ispirati al libro Atzeni-Ceri-Paraboschi-Torlone. SQL: il DDL

Basi di Da( MySQL & MySQL Workbench. Anna Monreale

σ data 15/12/2013 data 20/12/2014

Basi di dati SQL. Standardizzazione di SQL. Linguaggi di Interrogazione: SQL. Prof.Angela Bonifati

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. SQL - Tipi di dato. SQL - Tipi di dato numerici. SQL - Tipi di dato numerici

Corso di Informatica (Basi di Dati)

SQL - Tipi di dato Il linguaggio SQL

Corso di Basi di Dati A.A. 2013/2014

IL LINGUAGGIO SQL IDENTIFICATORI E TIPI DI DATI COMANDI E ISTRUZIONI

Anno 2013 Informatica ABACUS

Architettura di storage

Corso di Informatica Generale 1 IN1. Linguaggio SQL

SQL SQL. Definizione dei dati. Domini. Esistono 6 domini elementari:

Esercitazione 8 Mercoledì 21 gennaio 2015 (2 ore) DDL e progettazione

SQL. Storia e standard

Vincoli di Integrità Approccio dichiarativo alla loro implementazione

Verifica di Informatica. Cognome e Nome: Classe 5ª Ci, Data

DUE GRUPPI DI COMANDI

Schema della base di dati del Catalogo dei Dati della Pubblica Amministrazione Renzo Orsini

Impresa di raccolta e riciclaggio di materiali metallici e di rifiuti.

Транскрипт:

Soluzione DDL ed Algebra Relazionale Banca del Tempo a Istruzioni DDL (realizzate con Toad Data Modeler -- CREATE TABLES SECTION ------------------------------------------------- -- Table Zona CREATE TABLE Zona( Descrizione Varchar2(25 CHAR NOT NULL, Immagine Blob NOT NULL -- Add keys for table Zona ALTER TABLE Zona ADD CONSTRAINT PKDitta PRIMARY KEY (ID -- Table Socio CREATE TABLE Socio( Nome Varchar2(25 CHAR NOT NULL, Cognome Varchar2(25 CHAR NOT NULL, Via Varchar2(30 CHAR NOT NULL, NumeroCivico Varchar2(7 CHAR NOT NULL, Citta Varchar2(20 CHAR NOT NULL, RecapitoTelefonico Varchar2(10 CHAR, FKZona Integer NOT NULL -- Add keys for table Socio ALTER TABLE Socio ADD CONSTRAINT PKSocio PRIMARY KEY (ID -- Table Categoria CREATE TABLE Categoria( Descrizione Varchar2(30 CHAR NOT NULL -- Add keys for table Categoria ALTER TABLE Categoria ADD CONSTRAINT PKCategoria PRIMARY KEY (ID

-- Table Servizio CREATE TABLE Servizio( Data Date NOT NULL, NumeroOre Integer NOT NULL, FKPrestazione Integer NOT NULL, FKSocioOfferente Integer NOT NULL, FKSocioRicevente Integer NOT NULL -- Add keys for table Servizio ALTER TABLE Servizio ADD CONSTRAINT PKServizi PRIMARY KEY (ID -- Table Prestazione CREATE TABLE Prestazione( Descrizione Varchar2(30 CHAR NOT NULL, FKCategoria Integer NOT NULL -- Add keys for table Prestazione ALTER TABLE Prestazione ADD CONSTRAINT PKPrestazione PRIMARY KEY (ID -- Table Competenza CREATE TABLE Competenza( FKSocio Integer NOT NULL, FKPrestazione Integer NOT NULL -- Add keys for table Competenza ALTER TABLE Competenza ADD CONSTRAINT Key1 PRIMARY KEY (FKSocio,FKPrestazione -- CREATE SEQUENCES SECTION ------------------------------------------------- CREATE SEQUENCE SeqZona CREATE SEQUENCE SeqSocio CREATE SEQUENCE SeqServizio CREATE SEQUENCE SeqPrestazione

CREATE SEQUENCE SeqCategoria -- CREATE RELATIONSHIPS SECTION ------------------------------------------------- ALTER TABLE Prestazione ADD CONSTRAINT Categoria-Prestazione FOREIGN KEY (FKCategoria REFERENCES Categoria (ID ALTER TABLE Servizio ADD CONSTRAINT Prestazione-Servizio FOREIGN KEY (FKPrestazione REFERENCES Prestazione (ID ALTER TABLE Socio ADD CONSTRAINT Zona-Socio FOREIGN KEY (FKZona REFERENCES Zona (ID ALTER TABLE Servizio ADD CONSTRAINT Socio Offerente-Servizio FOREIGN KEY (FKSocioOfferente REFERENCES Socio (ID ALTER TABLE Servizio ADD CONSTRAINT Socio Ricevente-Servizio FOREIGN KEY (FKSocioRicevente REFERENCES Socio (ID ALTER TABLE Competenza ADD CONSTRAINT Socio-Competenza FOREIGN KEY (FKSocio REFERENCES Socio (ID ALTER TABLE Competenza ADD CONSTRAINT Prestazione-Competenza FOREIGN KEY (FKPrestazione REFERENCES Prestazione (ID -- CREATE TRIGGER SECTION ------------------------------------------------- -- trigger for sequence seqzona for column id in table zona --------- CREATE OR REPLACE TRIGGER t_seqzona BEFORE INSERT ON Zona FOR EACH ROW SELECT SeqZona.nextval INTO :new.id FROM DUAL; -- trigger for sequence seqsocio for column id in table socio --------- CREATE OR REPLACE TRIGGER t_seqsocio BEFORE INSERT ON Socio FOR EACH ROW SELECT SeqSocio.nextval INTO :new.id FROM DUAL;

-- trigger for sequence seqcategoria for column id in table categoria --------- CREATE OR REPLACE TRIGGER t_seqcategoria BEFORE INSERT ON Categoria FOR EACH ROW SELECT SeqCategoria.nextval INTO :new.id FROM DUAL; -- trigger for sequence seqservizio for column id in table servizio --------- CREATE OR REPLACE TRIGGER t_seqservizio BEFORE INSERT ON Servizio FOR EACH ROW SELECT SeqServizio.nextval INTO :new.id FROM DUAL; -- trigger for sequence seqprestazione for column id in table prestazione --------- CREATE OR REPLACE TRIGGER t_seqprestazione BEFORE INSERT ON Prestazione FOR EACH ROW SELECT SeqPrestazione.nextval INTO :new.id FROM DUAL;

b Interrogazioni in Algebra Relazionale: 1 per ogni zona, visualizzare la descrizione e la relativa immagine; π Descrizione, Im magine ( Zona 2 mostrare nome e cognome dei soci di Rovereto; π ( σ ( Socio Nome, Cognome Citta =" Rovereto " 3 visualizzare le informazioni relative alle prestazioni di tipo culinario; Scomponiamo l interrogazione in una serie di operazioni, che indicheremo con opportune sigle: A1 : = ρ ID Pr estazione, Descrizione Pr estazione ID, Descrizione( Pr estazione A2 : = σ ( Categoria Descrizion e=" Culinario" A3 : = A1 Categoria. ID= FKCategoria A2 A4 : = π ( A3 ID Pr estazione, Descrizione Pr estazione 4 nome e cognome dei soci che hanno erogato servizi nel mese di gennaio 2009; π ( Socio ( ( Data>= 01/ 01/ 2009 AND Data 31/ 01/ ( Servizio Nome, Cognome Socio. ID= FKSocioOfferetnte σ <= 2009

5 nome e cognome dei soci che hanno erogato servizi di tipo famiglia; Per ragioni di spazio, rappresentiamo l interrogazione con una struttura ad albero. π Nome,Cognome Socio. ID= FKSocioOfferente Pr estazione. ID = FK Pr estazione Socio Categoria. ID= FKCategoria Servizio σ Descrizion e = "Famiglia" Prestazione Categoria

6 nome e cognome dei soci che sono disponibili ad effettuare servizi di tipo sport. Per ragioni di spazio, rappresentiamo l interrogazione con una struttura ad albero. π Nome,Cognome Socio. ID= FKSocio Pr estazione. ID = FK Pr estazione Socio Categoria. ID= FKCategoria Competenza σ Descrizion e = "Sport" Prestazione Categoria