IL MODELLO RELAZIONALE

Slides:



Advertisements
Presentazioni simili
Interrogazioni Semplici Le operazioni di interrogazione vengono specificate per mezzo dellistruzione select select ListaAttributi from ListaTabelle [where.
Advertisements

DB -Algebra Relazionale
DBMS (DataBase Management System)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
MODELLO RELAZIONALE La relazione su n insiemi A1, A2….,An è un sottoinsieme dell’ insieme di tutte le n-uple a1, a2,….,an che si possono costruire.
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Operazioni Relazionali
ESEMPI DI ARCHIVI DI DATI
Sistemi di Elaborazione delle Informazioni Modello Relazionale
L’uso dei database in azienda
1 I SISTEMI INFORMATIVI Luso dei DATABASE in azienda Giovedì, 22 aprile 2004Alessandro Capodaglio.
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Corso di Informatica (Basi di Dati)
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Basi di dati Università Degli Studi Parthenope di Napoli
Algebra Relazionale Linguaggio procedurale, cioè le operazioni vengono descritte attraverso la descrizione della sequenza di azioni da compiere per ottenere.
Duplicati Lalgebra relazionale non ammette duplicati, SQL li ammette. Quindi select Città from Persona where Cognome= Rossi estrae una lista di città in.
Proiezione Dati una relazione r(X) e un sottoinsieme Y di X, la proiezione di r su Y si indica con Y ( r ) o PROJ Y ( r ) ed è linsieme di tuple su Y ottenute.
Normalizzazione Le forme normali certificano che la base di dati soddisfa criteri di qualità che mirano ad evitare le ridondanze e i conseguenti effetti.
Modello Relazionale Proposto agli inizi degli anni ‘70 da Codd
INTRODUZIONE ALL’USO DI MICROSOFT ACCESS 2003
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Implementare un modello di dati
INFORMATICA Corso Base Modulo G: I DataBase  Access.
1)PROGETTAZIONE DI UN DATABASE
MODELLO LOGICO DEI DATI
Progettare un database
Introduzione a Oracle 9i
LE BASI DI DATI E IL LINGUAGGIO SQL.
Sistemi di Elaborazione delle Informazioni Mod.I.
DATABASE Introduzione
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
SEFOC – SETTORE FORMAZIONE CONTINUA DEL PERSONALE CORSO MYSQL AVANZATO ROBERTO PENNOLINO – CARMELO MASSIMO PRIOLO PALERMO – 07 | 06 | 2011.
Microsoft Access Query (II), filtri.
Modulo 5 - Database. Contenuti della lezione 5.1.1Concetti Fondamentali 5.1.2Organizzazione di un Database 5.1.3Relazioni 5.2.1Lavorare con i database.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Il Linguaggio SQL. Le interrogazioni in SQL (continua…) La parte di SQL dedicata alla formulazione di interrogazioni fa parte del DML. SQL esprime le.
SQL, esempi 30/10/2014Basi di dati SQL1. 30/10/2014Basi di dati SQL2 CREATE TABLE, esempi CREATE TABLE corsi( codice numeric NOT NULL PRIMARY KEY, titolo.
Il modello relazionale. Modello logico dei dati basato su concetti relazione e tabella Relazione: da teoria degli insiemi Tabella: rappresentazione grafica.
PROGETTAZIONE CONCETTUALE Nel nostro caso sono state individuate le seguenti entità: Libri Bibliotecario Clienti.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Basi di dati e Relazioni Uno schema di relazione R(X) è costituito da un simbolo (nome della relazione) R e da una serie di attributi X={A 1, A 2, …, A.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Join Proprietà Il join di r 1 e r 2 contiene un numero di tuple compreso fra zero e il prodotto di |r 1 | e |r 2 | se il join di r 1 e r 2 è completo allora.
Vincoli Interrelazionali Per i vincoli visti l’inserimento di un valore che li viola viene semplicemente impedito. In caso di vincoli di integrità referenziale,
Join Se ciascuna tupla di ciascun operando contribuisce ad almeno una tupla del risultato il join si dice completo. Se per alcune tuple non è verificata.
Vincoli interrelazionali
Modulo 5 Uso delle Basi di dati Paola Pupilli
Lezione 6 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Interrogazioni Le interrogazioni in SQL sono formulate in modo dichiarativo specificando cioè cosa si vuole ottenere e non come lo si vuole ottenere. L’interrogazione.
Eprogram informatica V anno.
Funzionalità del DBMS relazionale l Funzioni per –definizione della base di dati –inserimento / rimozione /aggiornamento di informazioni deve soddisfare.
NORMALIZZAZIONE ESERCIZI. INTRODUZIONE La modellazione E-R ci ha consentito di descrivere schemi relazionali Lo strumento base per la modellizzazione.
Operazioni Relazionali
ICT e Sistemi informativi Aziendali Materiale di supporto alla didattica.
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggi per basi di dati Linguaggi di definizione dei dati Utilizzati per definire gli schemi e le autorizzazioni per l’accesso Linguaggi di manipolazione.
Dai diagrammi ER alle basi di dati.. Entita  tabelle Persona Nome e cognome Codice fiscale Indirizzo completo Codice fiscaleNome e CognomeIndirizzo completo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
SQL Linguaggio per l’interrogazione di una base dati.
1 “ Le Basi di Dati ”. 2 Parte 5: Tabelle –Creazione di una tabella –Indici e chiavi primarie –Relazioni e integrità referenziale Basi di Dati Struttura.
Access Breve introduzione. Componenti E’ possibile utilizzare Access per gestire tutte le informazioni in un unico file. In un file di database di Access.
Il modello relazionale. Modello Relazionale 2 Dal modello concettuale a quello logico Una volta stabilita la rappresentazione concettuale della realtà.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
Il linguaggio SQL (Structured Query Language) è il linguaggio standard per creare, manipolare e interrogare database relazionali. SQL non è case-sensitive:
I DONEITÀ DI C ONOSCENZE E C OMPETENZE I NFORMATICHE ( A – D ) Un database è un insieme di record (registrazioni) e di file (archivi) organizzati per uno.
Basi di dati - 09Marco Maggini1 Forme normali forme normali  Le forme normali verificano la qualità di uno schema di una base di dati relazionale  Presenza.
Transcript della presentazione:

IL MODELLO RELAZIONALE Istituto Tecnico Commerciale Statale “G. Dell’Olio Bisceglie IL MODELLO RELAZIONALE Informatica gestionale – Indirizzo Mercurio

RELAZIONI marito moglie Giovanni Anna Luigi Elena A={Giovanni, Mario, Luigi, Andrea} 4 elementi B={Elena, Anna} 2 elementi Si può formare il prodotto cartesiano (8 coppie): AxB={ (Giovanni; Elena), (Giovanni; Anna), (Mario; Elena), (Mario; Anna), (Luigi; Elena), (Luigi; Anna), (Andrea; Elena), (Andrea; Anna) } La relazione “x è sposato con y” è uno dei possibili sottinsiemi del prodotto AxB marito moglie Giovanni Anna Luigi Elena Riga o N-upla o Tupla cardinalità grado

Dal modello ER (MODELLO CONCETTUALE) alle relazioni (MODELLO LOGICO)  Ogni entità diventa una relazione  Ogni associazione uno a molti comporta che si introduca una chiave esterna  Ogni associazione molti a molti diventa una nuova relazione REGOLE DI INTEGRITA’ REFERENZIALE FORNITORI ARTICOLI Non è possibile immettere un valore nel campo chiave esterna della tabella correlata che non esiste nella chiave primaria della tabella primaria. È possibile, comunque, immettere un valore Null nella chiave esterna, specificando che i record non sono correlati Non è possibile modificare un valore chiave primaria nella tabella primaria, se quel record dispone di record correlati Non è possibile eliminare un record da una tabella primaria, se esistono record corrispondenti in una tabella correlata è possibile specificare se si desidera utilizzare automaticamente le opzioni di aggiornamento a catena e di eliminazione a catena per i record correlati

Operazioni relazionali: SELEZIONE ARTICOLI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 La selezione genera una nuova relazione costituita solo dalle n-uple (le righe) che soddisfano una determinata condizione SELEZIONE DI ARTICOLI PER COLORE=“ROSSO”; codice descrizione colore Codfornitore C01 C35 Cartella A4 Agenda Rosso F01 SELECT * FROM ARTICOLI WHERE COLORE=“ROSSO”;

Operazioni relazionali: PROIEZIONE ARTICOLI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 La proiezione genera una nuova relazione estraendo solo alcune colonne codice descrizione C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda PROIEZIONE DI ARTICOLI SU CODICE, DESCRIZIONE; SELECT CODICE, DESCRIZIONE FROM ARTICOLI;

Operazioni relazionali: CONGIUNZIONE La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione INNER JOIN (join interno) si abbinano le sole righe con valori identici negli attributi comuni JOIN naturale se gli attributi hanno stesso nome, es codfornitore e codfornitore EQUI-JOIN se gli attributi hanno nomi diversi, es codfornitore e codice OUTER JOIN (join esterno) si abbinano tutte le righe anche se non sono presenti valori identici negli attributi comuni LEFT-JOIN se dalla tabella del verso 1 si prendono comunque tutte le righe RIGHT-JOIN se dalla tabella del verso MOLTI si prendono comunque tutte le righe FULL-JOIN se da entrambe le tabelle si prendono tutte le righe SELF JOIN Righe di una tabella vengono combinate con righe della stessa tabella

Operazioni relazionali: CONGIUNZIONE ARTICOLI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 INNER JOIN (join interno) FORNITORI codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione in cui ◙ compaiono gli attributi (le colonne) di entrambe le relazioni ◙ si abbinano le sole righe con valori identici negli attributi comuni JOIN naturale se gli attributi hanno stesso nome, es codfornitore e codfornitore EQUI-JOIN se gli attributi hanno nomi diversi, es codfornitore e codice

Operazioni relazionali: EQUI-JOIN ARTICOLI FORNITORI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito CONGIUNZIONE DI ARTICOLI SU CODFORNITORE E DI FORNITORI SU CODICE; ARTICOLI INNER JOIN FORNITORI codice descrizione colore Codfornitore nominativo C01 C15 C21 C08 Cartella A4 Penna biro Raccoglitore Cartella cuoio Rosso Blu Verde Marrone F01 F02 Alberto Mario Cicoria Fabio SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli INNER JOIN fornitori ON articoli.codfornitore=fornitori.codice;

Operazioni relazionali: CONGIUNZIONE ARTICOLI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 OUTER JOIN (join esterno) FORNITORI codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito La congiunzione combina 2 relazioni aventi un attributo in comune generando una nuova relazione in cui ◙ compaiono gli attributi (le colonne) di entrambe le relazioni ◙ si abbinano tutte le righe anche se non sono presenti valori identici negli attributi comuni LEFT-JOIN se dalla tabella del verso 1 si prendono comunque tutte le righe RIGHT-JOIN se dalla tabella del verso MOLTI si prendono comunque tutte le righe FULL-JOIN se da entrambe le tabelle si prendono tutte le righe

Operazioni relazionali: LEFT-JOIN ARTICOLI FORNITORI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito dalla tabella del verso 1 si prendono tutte le righe FORNITORI ARTICOLI ARTICOLI LEFT JOIN FORNITORI codice descrizione colore Codfornitore nominativo C01 C15 C21 C08 Cartella A4 Penna biro Raccoglitore Cartella cuoio Rosso Blu Verde Marrone F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli LEFT JOIN fornitori ON articoli.codfornitore=fornitori.codice;

Operazioni relazionali: RIGHT-JOIN ARTICOLI FORNITORI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito dalla tabella del verso Molti si prendono tutte le righe FORNITORI ARTICOLI ARTICOLI LEFT JOIN FORNITORI codice descrizione colore Codfornitore nominativo C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 Alberto Mario Cicoria Fabio SELECT articoli.codice, descrizione, colore, codfornitore, nominativo FROM articoli RIGHT JOIN fornitori ON articoli.codfornitore=fornitori.codice;

Operazioni relazionali: FULL-JOIN ARTICOLI FORNITORI codice descrizione colore Codfornitore C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 codice nominativo F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito Da entrambe le tabelle si prendono tutte le righe FORNITORI ARTICOLI ARTICOLI FULL JOIN FORNITORI codice descrizione colore Codfornitore nominativo C01 C15 C21 C08 C35 Cartella A4 Penna biro Raccoglitore Cartella cuoio Agenda Rosso Blu Verde Marrone F01 F02 F03 Alberto Mario Cicoria Fabio Marino Vito In ACCESS non lo si può ottenere con una query semplice

Operazioni relazionali: SELF-JOIN MEDICI codice ruolo cognome nome codprimario m1 assistente lovero anna m6 m2 marini valeria m3 luisi carlo m4 primario mancini bianca m7 m5 linuzzi luigi mondelli giovanni dirigente franci francesco Righe di una tabella vengono combinate con righe della stessa tabella SELECT medici.codice, medici.ruolo, medici.cognome, medici.nome, medici.codprimario, medici_1.cognome AS [cognome primario], medici_1.nome AS [nome primario] FROM medici LEFT JOIN medici AS medici_1 ON medici.codprimario = medici_1.codice; codice ruolo cognome nome codprimario cognome primario nome primario m1 assistente lovero anna m6 mondelli giovanni m2 marini valeria m3 luisi carlo m4 primario mancini bianca m7 franci francesco m5 linuzzi luigi dirigente

NORMALIZZAZIONE PRIMA FORMA NORMALE E’ il processo di trasformazione dei dati esistenti nella forma relazionale; tale processo si basa su diversi passaggi. una tabella non deve avere attributi che contengono una molteciplità di valori PRIMA FORMA NORMALE ordini abitazioni cliente ordine        36       11   54  89  205  25  143   civico piano        2       1   2   15 1 3  PRIMA FORMA NORMALE  ordine  cliente  11  36  54  89  25  205  143  piano  civico  1 2 1 15 3 http://groups.msn.com/ProgrammazioneVisualBasic-Net/programmazionedatabasepag2.msnw

NORMALIZZAZIONE SECONDA FORMA NORMALE Se una tabella ha una chiave primaria composta da più attributi, allora tutti gli attributi di una riga devono dipendere dall'intera chiave primaria SECONDA FORMA NORMALE opera artista Anno produzione Anno nascita La primavera Botticelli   1477  1445 L’adorazione dei Magi Botticelli  1476 La Vergine della melagrana 1487 1445 L’urlo Munch 1893 1863 opere opera artista Anno produzione La primavera Botticelli   1477 L’adorazione dei Magi Botticelli  1476 La Vergine della melagrana 1487 L’urlo Munch 1893 artista Anno nascita Botticelli   1445 Botticelli 1445 Munch 1863 http://groups.msn.com/ProgrammazioneVisualBasic-Net/programmazionedatabasepag2.msnw

NORMALIZZAZIONE TERZA FORMA NORMALE In una tabella nessun attributo deve dipendere da un altro attributo che non sia chiave primaria TERZA FORMA NORMALE filiali codfiliale indirizzo città CAP Num abitanti C01 Via Piave   Napoli 80100 1.212.387 C02 Via Milano  1.212.387 C03 Via Delfini Napoli Via Bolzano Bologna 40100 374.367 codfiliale indirizzo città C01 Via Piave   Napoli C02 Via Milano C03 Via Delfini Napoli Via Bolzano Bologna città CAP Num abitanti  Napoli 80100 1.212.387  1.212.387 Napoli Bologna 40100 374.367 http://groups.msn.com/ProgrammazioneVisualBasic-Net/programmazionedatabasepag2.msnw