Esercitazioni con il catalogo SDSS, oggetti in Abell 2065


--
--   di seguito il prompt "mysql>" viene omesso per semplificare il taglia-e-incolla
--

-- Ci posizioniamo del database "opus2017"

use opus2017;

-- Creiamo la tabella per contenere gli oggetti SDSS di Abell 2065 e carichiamo il file CSV
-- Le coordinate centrali sono: RA = 230.68  Dec = +27.72
-- Il raggio usato per la selezione e' stato di 20 minuti d'arco


CREATE TABLE abell2065 (
  objid bigint NOT NULL,
  rad   double NOT NULL,
  decd  double NOT NULL,
  u     float DEFAULT NULL,
  g     float DEFAULT NULL,
  r     float DEFAULT NULL,
  i     float DEFAULT NULL,
  z     float DEFAULT NULL,
  redshift float DEFAULT NULL
);

-- Verificare il percorso dove si trova il file - verificare anche la corretta estensione (.csv)
-- Notare che la prima riga e' di commento e la seconda del file contiene i nomi delle colonne, quindi le saltiamo (IGNORE 2 LINES)
-- Importante: su Windows il separatore di cartella e' comunque /
-- Quindi ad es. (cambiare il nome della cartella con i dati se diverso!):

load data local infile 'c:/dati_opus/Abell2065.csv' into table abell2065 fields terminated by ',' LINES TERMINATED BY '\n' IGNORE 2 LINES;


-- Descrizione delle colonne:
-- objid = identificatore (numerico) univoco dell'oggetto
-- rad = Ascensione Retta (in frazione di gradi)
-- decd = Declinazione (in frazioni di gradi)
-- u, g, r, i, z = magnitudine dell'oggetto in questi filtri di colore
-- redshift = la distanza dell'oggetto in unita' di redshift


-- Facciamo delle query anche su questa tabella

-- I 3 oggetti piu' brillanti nel filtro r

select * from abell order by r asc limit 3;

-- Relazione magnitudine verso colore: i 3 oggetti piu' "blu" e quelli piu' "rossi"

select objid, r, u-r as colore from abell2065 order by colore asc limit 3; 
select objid, r, u-r as colore from abell2065 order by colore desc limit 3; 
select objid, r, g-r as colore from abell2065 order by colore desc limit 3; 

-- Vediamo se ci sono oggetti con valori di redshift "non validi", cioe' minori di 0

select count(*) from abell2065 where redshift < 0;

-- Ce ne sono 2; togliamoli dalla tabelle

delete from abell2065 where redshift < 0;

-- Continuare a piacere con altre query usando le altre magnitudini

-- Creiamo la tabella per contenere gli oggetti SDSS di una regione con raggio 120 minuti d'arco intorno ad Abell 2065
-- e carichiamo il file CSV


CREATE TABLE sloan2gradi (
  objid bigint NOT NULL,
  rad   double NOT NULL,
  decd  double NOT NULL,
  u     float DEFAULT NULL,
  g     float DEFAULT NULL,
  r     float DEFAULT NULL,
  i     float DEFAULT NULL,
  z     float DEFAULT NULL,
  redshift float DEFAULT NULL,
  specobjid bigint NOT NULL
);

load data local infile 'c:/dati_opus/ricercacono_Results.csv' into table sloan2gradi fields terminated by ',' LINES TERMINATED BY '\n' IGNORE 2 LINES;

-- Vediamo se ci sono oggetti con valori di redshift "non validi", cioe' minori di 0

select count(*) from sloan2gradi where redshift < 0;

-- Ce ne sono 182; mettiamoli a 0

update sloan2gradi set redshift=0 where redshift < 0;


-- Continuare con altre query per vedere il numero di oggetti in intervalli di magnitudine r e colore (g - r)