BIOINFO3 - Lezione 31 TIPI DEI CAMPI Abbiamo concluso la lezione precedente scoprendo che in un database relazionale SQL ogni campo di una tabella può

Slides:



Advertisements
Presentazioni simili
BIT e BYTE il linguaggio del computer
Advertisements

Introduzione al linguaggio C++
Corso di Fondamenti di Programmazione canale E-O
LINGUAGGIO DI PROGRAMMAZIONE C
Informatica Generale Susanna Pelagatti
Introduzione al linguaggio C
DBMS (DataBase Management System)
SQL applicato a SQL Server
Selezione - approfondimento
I DATI I PRINCIPALI TIPI DI DATO UTILIZZATI IN PROGRAMMAZIONE
Fondamenti di Informatica CDL in Ingegneria Meccanica - A.A CDL in Ingegneria Meccanica - A.A Tipi di dati Ing. Simona Colucci.
Fondamenti di Informatica CDL in Ingegneria Gestionale - A.A Tipi di dati Ing. Simona Colucci.
Programmazione Procedurale in Linguaggio C++
Sistema di numerazione binario
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
File.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Variabili e tipi primitivi Anno Accademico 2009/2010.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Rappresentazione dellinformazione su calcolatore Anno Accademico 2009/2010.
Esercitazione 5 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Esercitazione 6 MySQL Laboratorio di Progettazione Web AA 2009/2010 Chiara Renso ISTI- CNR -
Corso di Informatica per Giurisprudenza
Ms. Access: corso pratico di utilizzo dello strumento
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
Dichiarazioni e tipi predefiniti nel linguaggio C
Fondamenti di Informatica A - Massimo Bertozzi TIPI DI DATO IN C++ What's in a name? That which we call a rose By any other name would smell as sweet.
I File.
Equivalenza di espressioni
Il Linguaggio C.
Espressioni condizionali
Usare rappresentazioni di lunghezza fissa porta ad avere valori non rappresentabili: Overflow indica un errore nella rappresentazione del risultato in.
SQL SQL (pronunciato anche come l’inglese sequel) è l’acronimo di Structured Query Language (linguaggio di interrogazione strutturato) E’ un linguaggio.
1 © 1999 Roberto Bisiani Rappresentazione delle informazioni n Occorre un codice n Legato alla tecnologia usata Robustezza Semplicita Economicita.
Analisi di Immagini e Dati Biologici
Introduzione alle basi di dati
Java base I: Sintassi e tipi di dati
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori (Reti Locali, Internet)
Educare al multimediale 1 – Verso il digitale 2 Presentazione a cura di Gino Roncaglia Prima parte: Informazione in formato digitale.
RAPPRESENTAZIONE DELL'INFORMAZIONE
STRUTTURA GENERALE DI UN ELABORATORE
CODIFICA Da flow-chart a C++.
Progettare un database
Che cos’è un sistema di numerazione?
Basi di Dati e Sistemi Informativi Il Linguaggio SQL Home page del corso:
PARSERIZZAZIONE DI FILE
BIOINFO3 - Lezione 081 create table est( gi int unsigned primary key auto_increment, acc char(8)not null, nome varchar(20), descrizione varchar(255),
BIOINFO3 - Lezione 361 RICERCA DI SIMILARITA TRA SEQUENZE Un altro problema comunissimo in bioinformatica è quello della ricerca di similarità tra sequenze.
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
Tipi di dati semplici in C (1/3)
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Access™ Le Tabelle Luca De Ponti Lucidi realizzati.
Capitolo 7 Tavole hash Algoritmi e Strutture Dati Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano.
ITCG “V. De Franchis” - PON FSE Modulo G/1 l’informatica”
La rappresentazione delle informazioni in un computer Seconda parte.
Rappresentazione dell’informazione nel calcolatore.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
IV D Mercurio DB Lezione 2
Microsoft Access Chiavi, struttura delle tabelle.
Politecnico di Milano Corso di Sistemi Informatici A.A. 2004/2005 Access™ Le Tabelle Luca De Ponti Lucidi realizzati.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Lezione 5 - SQL. Linguaggi per DB Per interagire con le basi di dati occorre un linguaggio Linguaggio SQL (Structured Query Language), linguaggio standardizzato.
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Rappresentazione dei numeri
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
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:
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
Transcript della presentazione:

BIOINFO3 - Lezione 31 TIPI DEI CAMPI Abbiamo concluso la lezione precedente scoprendo che in un database relazionale SQL ogni campo di una tabella può contenere solo valori di un tipo ben preciso, oppure il simbolo speciale NULL, se per quel record il campo non ha un valore definito. Ora cominceremo a vedere i tipi dei dati (i più utilizzati)

BIOINFO3 - Lezione 32 Bit e Byte Il funzionamento dei computer si basano sulla presenza assenza di segnale elettrico all`interno dei milioni di circuiti che lo compongono: in definitiva l`attivita` di un computer consiste essenzialmente nella continua rapidissima combinazione e propagazione di questi segnali al propio interno, sotto il controllo del clock. Tutti i dispositivi di memoria rispecchiano questo dualismo di segnale (presente/assente, acceso/spento, aperto/chiuso, on/off, 0/1): RAM microcelle carica/scarica ROM contatti elettrici presenti/assenti dischi elementi in grado di magnetizzarsi/smagnetizzarsi CD microelementi riflettenti/opachi

BIOINFO3 - Lezione 33 L`elemento minimo di memoria e` quindi sempre costituito da un`unita` binaria (cioe` un`unita` che si puo` trovare in solo in due possibili stati), e viene detto bit (Binary digiT). I due stati sono di solito rappresentati con le cifre 0 o 1. Per poter esprimere informazione piu` articolata si considerano gruppi di 8 bit, che formano un byte. Un byte puo` assumere tutti gli stati da a , per un totale di 256 combinazioni (2x2x2.. 8 volte=256). Il significato di ogni byte del file dipende dalla natura dei dati.. (es carattere di testo rappresentato con un byte in accordo con una tabella convenzionale detta ASCII)

BIOINFO3 - Lezione 34 NUMERI INTERI INT Permette di memorizzare un numero intero (in uno spazio di 4byte=32 bit) Con segno (+/-) Valori da – (-2 31 ) a ( ) Senza segno (si usa la parola chiave UNSIGNED) Valori da 0 a ( ) bit (0/1) byte (8 bit) bit del segno (0=+/1=-) 31 bit =1 2 32

BIOINFO3 - Lezione 35 NUMERI INTERI In MySQL esistono delle varianti dei numeri interi base che permettono di risparmiare spazio se i numeri interi da inserire in un campo di tipo int sono sempre piccoli o di riservare più spazio se i valori sono molto grandi. TINYINT utilizza solo 1 byte (=8 bit) Valori da –128 a 127 (da 0 a 255 se tinyint unsigned) SMALLINT utilizza 2 byte (=16 bit) ( a 32767, ) MEDIUMINT utilizza 3 byte ( a , ) BIGINT utilizza 8 byte ( a , )

BIOINFO3 - Lezione 36 NUMERI REALI Numeri reali in virgola mobile (notazione scientifica) FLOAT (non puo` essere unsigned) Numeri in virgola mobile a precisione semplice (4 byte) da – E+38 a – E-38 (negativi) 0 da E-38 a E+38 (positivi) DOUBLE PRECISION, REAL da – E+308 a – E-308 (-) 0 Da E-308 a E+308 (+)

BIOINFO3 - Lezione 37 NUMERI REALI Numeri reali in virgola fissa (uso tipico) DECIMAL decimal(n,d) Se i numeri da utilizzare hanno sempre lo stesso formato (lo stesso numero di cifre decimali) si utilizza decimal Ad esempio se si dovessero memorizzare dei prezzi in euro potremo utilizzare decimal(8,2) Se i numeri sono invece estremamente eterogenei e comunque in notazione scientifica si usa float (o double precision) n cifre complessive d cifre decimali 59.21

BIOINFO3 - Lezione 38 STRINGHE DI CARATTERI Anche in questo caso esistono due possibilità, a seconda che i dati siano sempre della stessa lunghezza, oppure abbiano lunghezza variabile CHAR char(n) Nel caso i dati siano sequenze di caratteri alfanumerici (lettere, numeri, punteggiatura, simboli), tutte della stessa lunghezza n, si utilizza char(n), dove n è compreso tra 1 e 255. (ogni n un bytes) Ad esempio, se in una colonna volessimo memorizzare solo dei codici fiscali utilizzeremo char(16) Se i dati sono più corti abbiamo uno spreco di spazio n caratteri complessivi 66LCNNNCB637L51E

BIOINFO3 - Lezione 39 STRINGHE DI CARATTERI Se la lunghezza delle stringhe di caratteri è variabile si usa VARCHAR varchar(n) In questo caso il sistema utilizza un byte supplementare per memorizzare la lunghezza l effettiva del dato. La lunghezza effettiva del dato dovrà essere sempre minore o uguale ad n. Ed n in ogni caso non può superare 255. Se volessimo, ad esempio, memorizzare dei nomi (che sono tipicamente di varie lunghezze) potremo usare varchar(20) Ovviamente allutente non viene mostrato il primo byte, che viene utilizzato solo dal sistema per trattare il dato vero e proprio l caratteri ( n) l al massimo n caratteri ( 255) 6ALOCIN

BIOINFO3 - Lezione 310 STRINGHE DI CARATTERI Nel caso si debbano memorizzare stringhe di caratteri più lunghe di 255 (è il tipico caso delle sequenze biologiche!) si usa TEXT E equivalente a varchar però usa 2 byte (anziché 1) per memorizzare la lunghezza effettiva del dato. l caratteri ( n) l 2 byte ? Quanti caratteri possono stare al massimo in un campo text? In 2 byte ci sono 16 bit, quindi al massimo , cioè Per stringhe ancora più lunghe si usa LONGTEXT Utilizza 4 byte per memorizzare la lunghezza effettiva del dato

BIOINFO3 - Lezione 311 ENUM E` un tipo di stringa il cui valore e` scelto a partire da una lista di valori consentiti esplicitamente definiti durante la crazione della tabella. enum (uno,due,tre); Se viene inserita una stringa non contenuta nell`enum, viene inserita una stringa vuota. Questa puo` essere distinta da una stringa vuota perche` la stringa ha il valore numerico 0. ValoreIndice NULL 0 uno1 due2

BIOINFO3 - Lezione 312 DATA E ORA E possibile memorizzare una data DATE Formati permessi: YYYY-MM-DD, YY-MM-DD, YYMMDD Ad esempio E possibile memorizzare unora TIME Formati permessi: HH:MM:SS, HHMMSS HHMM Ad esempio 10:45:37

BIOINFO3 - Lezione 313 LA PROGETTAZIONE DI UN DATABASE Si possono individuare almeno tre fasi sucessive SCHEMA CONCETTUALE DEI DATI SCHEMA LOGICO DEI DATI SCHEMA FISICO DEI DATI Aspetto del mondo reale da modellare ANALISI: Individuare le entità e le loro relazioni Entità e relazioni Tabelle Implementazione fisica (file, indice, programmi di gestione DB) CI PENSA IL DBMS!

BIOINFO3 - Lezione 314 SCHEMA ESTERNO Parallelamente allo schema concettuale dei dati in genere è richiesta anche la progettazione di uno schema esterno. Lo schema esterno rappresenta linsieme degli strumenti (il più user-friendly possibile, cioè utilizzabili, ad esempio attraverso interfacce grafiche, anche da chi non conosce SQL) che lutente finale avrà a disposizione per interagire con il DB (effettuare ricerche, inserimenti, modifiche o cancellazioni dei dati) Gli strumenti potrebbero ad esempio essere delle pagine web (es. Pubmed), con form per inserire (o selezionare) dei criteri di ricerca

BIOINFO3 - Lezione 315 LA PROGETTAZIONE DELLE TABELLE Individuate le entità da rappresentare si cercano di individuare le loro relazioni e gli attributi di ciascuna, cioè i vari aspetti da considerare. Relazione 1:molti Ad una sequenza di DNA possono corrispondere molti elementi regolatori Relazione 1:1 Ad un sito di legame per fattori di trascrizione corrisponde un record di TRANSFAC Esempio. La regolazione della trascrizione del DNA. Potremmo considerare come entità: sequenze di DNA, geni, elementi regolatori, siti di legame per fattori di trascrizione Un possibile schema delle relazioni tra le entità potrebbe essere

BIOINFO3 - Lezione 316 IDENTIFICAZIONE DEI CAMPI La TABELLA sequenze-DNA potrebbe ad esempio avere campi: id (una stringa di caratteri) sequenza (stringa di almeno caratteri, ma meno del cromosoma più lungo e sicuramente meno di 3G) descrizione (stringa di caratteri, meno di 255) TABELLA elementi-regolatori: id (una stringa di caratteri) sequenza-dna (lid di una sequenza-DNA) posizione-iniziale (numero, molto grande) posizione-finale (numero, molto grande) TABELLA siti-legame: id (una stringa di caratteri) elemento-regolatorio (lid di un elemento-regolatorio) posizione-iniziale (numero) posizione-finale (numero, molto grande) codice-TRANSFAC (stringa caratteri)

BIOINFO3 - Lezione 317 ESEMPIO CONCRETO Per chiarirsi le idee pensiamo ad una sequenza di DNA che chiamiamo Sc-chr1. Avremo un record della tabella sequenze-DNA avente il campo id contenente Sc-chr1; il campo sequenza conterrà lintera sequenza e la descrizione ad esempio cromosoma 1 del Lievito. Nella sequenza Sc-chr1 supponiamo di avere individuato due elementi regolatori: er1 e er2 rispettivamente nei tratti di sequenza e Nellelemento er1 supponiamo di avere individuato tre siti di legame slA, slB e slC nelle posizioni rispettivamente 1-8, e idsequenzadescrizione Sc-chr1ACTAGCTGCT....Cromosoma 1 del Lievito idsequenza-DNAposizione-inizialeposizione- finale er1Sc-chr er2Sc-chr idelemento-regolatorioposizione-inizialeposizione- finalecodice-TRANSFAC slAer118 slBer11920 slCer16580

BIOINFO3 - Lezione 318 CREAZIONE DI UNA TABELLA Una volta effettuata lanalisi (creato uno schema concettuale dei dati, individuate le entità e i loro attributi) e progettato (su carta) lo schema logico dei dati si può chiedere al DBMS la costruzione fisica del database. Si usa il comando CREATE TABLE per creare ciascuna tabella create table (, …………… ) Dove ::=

BIOINFO3 - Lezione 319 UN ESEMPIO Creare la tabella sequenze-DNA per memorizzare e gestire sequenze di DNA create table sequenze-DNA( id varchar(20) primary key, sequenza longtext, descrizione varchar(255) ) Si può notare la definizione del campo id come chiave della tabella. Potrebbe succedere anche che come chiave sia necessario scegliere una combinazione di due o più campi, ma noi non affronteremo largomento.

BIOINFO3 - Lezione 320 ALTRO ESEMPIO Progettare il comando di creazione di una tabella esami. Per ogni esame si avrà un codice numerico che lo identifica, una materia, una data, unora, unaula e il piano dellaula. Provate voi ora!

BIOINFO3 - Lezione 321 ALTRO ESEMPIO Progettare il comando di creazione di una tabella esami. Per ogni esame si avrà un codice numerico che lo identifica, una materia, una data, unora, unaula e il piano dellaula. create table esami( id int unsigned primary key, materia varchar(50), datae date, ora time, aula char(1), piano char(1) ) N.B. Uso datae perché data è una parola riservata di MySQL

BIOINFO3 - Lezione 322 RIEPILOGO Tipi dei campi: numeri interi e reali, stringhe, date e ore Progettazione di un database: schema concettuale, schema logico e schema fisico Lo schema esterno Progettazione tabelle Creazione di una tabella: comando CREATE