Esercitazioni con il catalogo di Messier
--
-- 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 di Messier e carichiamo il file CSV
CREATE TABLE messier (
M int NOT NULL,
Type char(2) DEFAULT '**',
Const char(3) DEFAULT '***',
Mag float DEFAULT NULL,
Ra float DEFAULT NULL,
Decl float DEFAULT NULL,
Dist char(20) DEFAULT NULL,
App_size char(20) DEFAULT 'unknown'
);
-- Verificare il percorso dove si trova il file - verificare anche la corretta estensione (.csv)
-- Notare che la prima riga del file contiene i nomi delle colonne, quindi la saltiamo (IGNORE 1 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/messier.csv' into table messier fields terminated by ',' LINES TERMINATED BY '\n' IGNORE 1 LINES;
-- Descrizione delle colonne:
-- M = Codice dell'oggetto, da 1 a 110
-- Type = tipo di oggetto:
-- OC -> Open Cluster
-- GC -> Globular Cluster
-- GX -> Galaxy
-- PN -> Planetary Nebula
-- BN -> Bright Nebula
-- DN -> Dark Nebula
-- *2 -> Double Star
-- *C -> Star Cloud
-- Const = Nome della costellazione in cui si trovano
-- Mag = Magnitudine visuale
-- RA = Ascensione Retta
-- Decl = Declinazione
-- Dist = Distanza (anni luce)
-- App_size = Dimensione apparente (minuti di arco)
-- Facciamo delle query anche su questa tabella
-- I 3 oggetti piu' brillanti
select * from messier order by mag asc limit 3;
-- Tutti gli oggetti di tipo Globular Cluster (Ammasso Globulare)
select * from messier where type='OC';
-- Tutti gli oggetti nella costellazione di Perseo
select * from messier where Const like 'per%';
-- Contiamo quante Galassie ci sono
select count(*) as Numero_galassie from messier where Type = 'GX';
-- Continuare a piacere con altre query