Anteprima
Vedrai una selezione di 5 pagine su 19
Big Data Pag. 1 Big Data Pag. 2
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Big Data Pag. 6
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Big Data Pag. 11
Anteprima di 5 pagg. su 19.
Scarica il documento per vederlo tutto.
Big Data Pag. 16
1 su 19
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

TIPI DI RELAZIONI

• Relazione matematicaà come nella teoria degli insiemi

• Relazione secondo il modello relazionale

• Relazione (relationship)à rappresenta una classe di fatti, nel modello Entity-Relationship;

tradotto anche con associazione e correlazione

TABELLE E RELAZIONI

In una tabella che rappresenta una relazione

• L’ordinamento tra le righe è irrilevante

• L’ordinamento tra le colonne è irrilevante

Una tabella rappresenta una relazione se:

• Le intestazioni delle colonne sono diverse tra loro

• I valori di ogni colonna sono fra loro omogenei

VANTAGGI DI UNA STRUTTURA BASATA SU VALORI:

• Indipendenza delle strutture fisiche che possono cambiare dinamicamente

• Si rappresenta solo ciò che è rilevante dal punto di vista dell’applicazione

• L’utente finale vede gli stessi dati dei programmatori

• I dati sono portabili più facilmente da un sistema ad un altro

• I puntatori sono direzionali

SCHEMA DI RELAZIONE

Un nome R con un insieme di attributi A1,…,An R(A1,…,An)

à

SCHEMA DI BASI DI DATI

Insieme di schemi di relazione R= {R1(x1),…,Rk(xk)}

à

INFORMAZIONE INCOMPLETA Soluzione:

nome Secondo cognome

nome -valore nullo (null)à denota l’assenza di un valore del dominio

Gabriel Giulio Grava Si devono imporre restrizioni sulla presenza di valori nulli.

Maria DE IACO

Dario Ferrari

TIPI DI VALORE NULLO: I DBMS non distinguono i tipi di

• Valore sconosciuto valore nullo

• Valore inesistente

• Valore senza informazione

VINCOLO DI INTEGRITÀ

Proprietà che deve essere soddisfatta dalle istanze che rappresentano informazioni corrette per

l’applicazione.

Un vincolo è una funzione booleana associa ad ogni istanza il valore vero o falso

à

Sono utilizzati per:

• Descrizione più accurata della realtà

• Contributo alla qualità dei dati

• Utili nella progettazione

• Dai DBMS nell’esecuzione delle interrogazioni

TIPI DI VINCOLI:

• INTRARELAZIONALI:

Vincoli su valori (o di dominio)

§ Vincoli di ennupla esprimono condizioni sui valori di ciascuna ennupla,

§ à

indipendentemente dalle altre

• INTERRELAZIONALI

CHIAVE DI UNA RELAZIONE

Insieme di attributi che identificano le ennuple di una relazione

• un insieme K di attributi è super chiave per r se r non contiene due ennuple distinte t1 e t2

con t1[K] = t2[K] (cioè̀

• K è chiave per r se è una super chiave minimale per r non contiene un’altra super

chiave)

Un’ennupla non può contenere ennuple distinte ma uguali

Ogni relazione ha come super chiave l’insieme degli attributi su cui è definita, ha quindi almeno

una chiave.

IMPORTANZA DELLE CHIVI

l’esistenza delle chiavi garantisce l’accessibilità a ciascun dato della base di dati

à le chiavi permettono di correlare i dati in relazioni diverseà il modello relazionale è basato su

à

valori.

In presenza di valori nulli, i valori della chiave non permettono:

• Di identificare le ennuple

• Di realizzare facilmente i riferimenti da altre relazioni

• LA PRESENZA DI VALORI NULLI NELLE CHIAVI DEVE ESSERE EVITATA (o almeno limitata)

CHIAVE PRIMARIA

chiave su cui non sono ammessi nulli

à indicato con sottolineatura

à

INTEGRITÀ REFERENZIALE

• Informazioni in relazioni diverse sono correlate attraverso valori comuni

• In particolare, valori delle chiavi primarie

• Le correlazioni devono essere coerenti

VINCOLO INTEGRITÀ REFERENZIALE

Foreign keyà fra gli attributi X di una relazione R1 ed un’altra relazione R2 impone ai valori su X in R1 di

comparire come valori della chiave primaria di R2. 5

ACCESSO AI DATI

IMPORTAZIONE DEI DATI

Le sorgenti dati possono essere molteplici e il loro accesso dipende ovviamente da dove si trovano, come

sono accessibili ed in che forma sono archiviati i dati.

TIPOLOGIE DI SORGENTI:

• Database

• Internet/intranet (web services,..)

• Files (xsl, csv, txt,…)

ARCHITETTURA SISTEMA CLIENT-SERVER

Quando il server riceve una richiesta dal client, (attraverso il web-server), esegue una serie di elaborazioni

(application server) per preparare la risposta. Molte di queste elaborazioni prevedono accessi in lettura e

scrittura su più database.

I livelli web application e data possono essere sulla stessa macchina fisica o su diverse macchine.

server

client

CLIENT-SERVER NEI SISTEMI INFORMATIVI

à

Client presentazione dell’informazione Separazione funzionale dei dati

à

server gestione dei dati

à

SQL linguaggio ideale per separare gli ambienti

• Client: formula le richieste (interrogazioni/query), elabora risultati

• Server: esegue richieste (interrogazioni/query)

• Rete: trasferisce i comandi di attivazione (ex. Di procedure SQL) e i risultati

SQL è un linguaggio di interrogazione per database progettato per:

• Leggere

• Modificare

• Gestire dati memorizzati in un sistema basato sul modello relazionale

• Creare e modificare schemi di database

• Creare e gestire strumenti di controllo ed accesso ai dati

Linguaggi che si trovano all’interno di SQL:

• DDL (Data Definition Language)à consente di descrivere la struttura delle tabelle e di tutti gli

elementi di supporto (indici, vincoli, trigger, viste…). Viene utilizzato per realizzare lo schema

logico e lo schema fisico del database.

• DML (Data Manipulation Language)à esegue operazioni di inserimento, modifica e cancellazione

dati.

• DCL (Data Control Language)à limiti sui dati (permesso di accesso, vincoli di integrità)

• QL (Query Language)à interroga il database al fine di individuare i dati che corrispondono ai

parametri di ricerca dell’utente.

UTILIZZO DI SQL

L’utente utilizza un software, in genere fornito con il DBMS, in cui introdurre comandi SQL che vengono

agli inviati al DBMS.

L’interazione con il database è scritta in linguaggio SQL mentre il resto dell’applicazione è in comune

linguaggio di programmazione.

I comandi SQL possono poi essere collegati nel programma tramite due modalità:

• “ospitati” nel codice del software e inviati al DBMS all’occorrenza

• Memorizzati all’interno del DBMS e quindi richiamati dal programma

TIPI DI DATO:

• bigint (8 bytes) Contiene valori numerici interi da -4294967296 a 4294967294.

• binary(n) (lunghezza fissa) Contiene dati binari (1 byte) fino ad un massimo di 8000 dati.

• bit (1 bit) Rappresenta i flag (vero/falso o true/false o si/no). Non possono avere valori nulli

e non possono avere indici.

• char(n) (lunghezza fissa) Contiene caratteri ANSI (1 byte) fino ad un massimo di 8000

caratteri.

• datetime (8 bytes) Contiene date tra il 1/gen/1753 e il 31/dic/9999 (precisione al

trecentesimo di secondo).

• decimal(p, s) (da 2 bytes a 17 bytes) Contiene valori tra 10^38 - 1 e - 10^38 -1. Con p cifre

di precisione (massimo 28), e s cifre decimali dopo la virgola (scala).

• float (8 bytes) Contiene numeri reali positivi da 2.23E-308 a 1.79E308 e negativi da -

2.23E-308 a - 1.79E308 (massimo 15 cifre di precisione).

• image Contiene fino a 2147483647 bytes di dati binari (è solitamente usato per le

immagini).

• int (4 bytes) Contiene valori numerici interi da -2147483648 a 2147483647.

• money (8 bytes) Contiene valori monetari da -922337203685477.5808 a

922337203685477.5807

• nchar(n) (lunghezza fissa) Contiene caratteri UNICODE (2 bytes) fino ad un massimo di

4000 caratteri.

• ntext (lunghezza variabile) Contiene caratteri UNICODE fino ad un massimo di

1073741823 caratteri.

• numeric(p, s) E’ equivalente al tipo ‘decimal(p, s)’

• nvarchar(n) (lunghezza variabile) Contiene caratteri UNICODE (2 bytes) fino ad un

massimo di 4000 caratteri.

• real (4 bytes) Contiene numeri reali positivi da 1.18E-38 a 3.40E38 e negativi da -1.18E-38

a -3.40E38 (massimo 7 cifre di precisione).

• smalldatetime (4 bytes) Contiene date tra il 1/gen/1753 e il 31/dic/9999 (precisione al

minuto).

• smallint (2 bytes) Contiene valori numerici interi da -32768 a 32767.

• smallmoney (4 bytes) Contiene valori monetari da - 214748.3648 a 214748.3647

• sql_variant Tipo che può contenere tipi di dati diversi (int, binary, char).

• text (lunghezza variabile) Contiene caratteri ANSI (1 byte) fino ad un massimo di

2147483647 caratteri.

• timestamp (8 bytes) È un contatore incrementale per colonna assegnato automaticamente

da SQL Server 7.

• tinyint (1 byte) Contiene valori numerici interi da 0 a 255.

• uniqueidentifier (16 bytes) E' un identificatore unico a livello globale E' generato

automaticamente da SQL Server.

• varbinary(n) (lunghezza variabile) Contiene dati binari (1 byte) fino ad un massimo di 8000

dati.

• varchar(n) (lunghezza variabile) Contiene caratteri ANSI (1 byte) fino ad un massimo di

8000 caratteri.

• xml è equivalente al tipo ‘ntext’.

OPERATORI (SQL Services):

• + Addizione

• - Sottrazione

• * Prodotto

• / Divisione

• % Modulo

• < Minore

• > Maggiore

• <= Minore o Uguale

• >= Maggiore o Uguale

• = Uguaglianza

• <> Disuguaglianza

• AND E logico

• OR O logico

• NOT Negazione DDL

à

Creazione database create database Cinema

CREAZIONE TABELLA

MODIFICA TABELLA

ELIMINAZIONE TABELLAà DROP TABLE <NomeTabella>

ànon è possibile eliminare una tabella a cui fa riferimento una Foreign Key. È prima necessario estinguere il

vincono di Foreign Key.

I VINCOLI

àI vincoli consentono di specificare controlli sui dati, al fine di assicurare la correttezza e consistenza

dell’informazione.

ài vincoli possono essere:

• INTERNI: specificano i controlli sulla singola tabella intesa come entità a se stante

• Di integrità referenziale: riguardano i rapporti tra una tabella e l’altra.

QL

SELECT

à istruzione utilizzata per estrarre informazioni dalla base di dati

EX.

SELECT (DISTINCT)

EX.

SELECT (JOIN)

EX.

LEFT Outer JOIN

UNIONE DI DUE TABELLE

DIFFERENZA

INTERSEZIONE

FUNZIONI DI AGGREGAZIONE

àSQL disponde di alcune modalità

Dettagli
Publisher
A.A. 2023-2024
19 pagine
SSD Scienze economiche e statistiche SECS-S/03 Statistica economica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher gravagab di informazioni apprese con la frequenza delle lezioni di Big Data e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università del Salento o del prof Serra Antonio.