Zrezygnowałem z diagramu ER i od razu podaję stosowne zapytania 
W razie pytań pisz śmiało. SQL oczywiście napisany pod SQLite 

 Mam nadzieję, że referencje napisałem poprawnie w SQLite.
PS: szkoda, że SQLite nie ma typu danych enum. Jest obejście na to w postaci triggera, ale zawsze to obejście, a nie docelowe rozwiązanie.
Tak się zastanawiam czy nie  byłoby lepiej oprócz nazwy gwiazdy dodać jeszcze jedno pole z skrótem gwiazdozbioru. To się może przydać w przypadku selectów typu np.: pokaż obserwacje gwiazdek z gwiazdozbioru AND 
Można też rozbić nazwę zmiennę na jej faktyczną nazwę np. R i gwiazdozbiór w którym leży np. TRI. I tu właśnie mamy temat do przedyskutowania 
Oto moja propozycja relacji (tabelek) w bazie danych:
/*Visual or Photographic Observations */
CREATE  TABLE "main"."vphobservations" (
"id_obs" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , 
"id_czl" INTEGER NOT NULL, /* id of observer from table observers */
"star_name" VARCHAR NOT NULL , 
"jd" VARCHAR NOT NULL , 
"ut" DATETIME NOT NULL , 
"mag" FLOAT NOT NULL , 
"fainter" CHAR NOT NULL  DEFAULT 'n', /* n – no, y – yes */
"comp1" FLOAT NOT NULL , 
"comp2" FLOAT NOT NULL , 
"chart" VARCHAR, 
"comCode" CHAR, 
"notes" TEXT, 
"obsType" CHAR NOT NULL  DEFAULT 'v', /* v – visual, f – photographic */
FOREIGN KEY (id_czl) REFERENCES observers (id_man)
)
/*CCD or PEP Observations */
CREATE  TABLE "main"."ccdpepobservations" (
"id_obs" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , 
"id_czl" INTEGER NOT NULL, /* id of observer from table observers */
"star_name" VARCHAR NOT NULL , 
"jd" VARCHAR NOT NULL , 
"ut" DATETIME NOT NULL , 
"fainter" CHAR NOT NULL  DEFAULT 'n',  /* n - no, y - yes */
"mag_err" FLOAT NOT NULL , 
"mag_type" CHAR NOT NULL  DEFAULT 's', /* s-standard, d – differential */
"comCode" CHAR, 
"trans" CHAR NOT NULL  DEFAULT 'n', /* n – no, y – yes */
"filter" VARCHAR, 
"comp_label" VARCHAR NOT NULL , 
"comp_mag" FLOAT NOT NULL , 
"check_label" VARCHAR NOT NULL , 
"check_mag" FLOAT NOT NULL , 
"airmass" FLOAT NOT NULL , 
"group" INTEGER, 
"chart" VARCHAR NOT NULL , 
"notes" TEXT NOT NULL , 
"obsType" CHAR NOT NULL  DEFAULT 'c', /* c – ccd, p - pep*/
FOREIGN KEY (id_czl) REFERENCES observers (id_man)
)
/* Observers */
CREATE  TABLE "main"."observers" (
"id_man" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
"aavsoid" VARCHAR,  /* observer’s AAVSO code */
"name" VARCHAR NOT NULL , 
"surname" VARCHAR NOT NULL , 
"city"  NOT NULL,
"id_sc" INTEGER NOT NULL, /* id of telescope from table telescopes */
FOREIGN KEY (id_sc) REFERENCES telescopes (id_scope)
 )
/* Telescopes */
CREATE  TABLE "main"."telescopes" (
"id_scope" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL ,
"aperture" FLOAT NOT NULL,
"scopeType" CHAR NOT NULL  DEFAULT 'n'  /* n – newton, b – binoculars, r – refractor, m – maksutov, o - other */
)