hi Beat,
Gesamteindruck ist etwas sehr ähm _datenbänklerisch_ :))
das verstehe ich nun überhaupt nicht. Bisher hängt nur eine einzige Tabelle an einer Anwendung, das ist die Tabelle mit den Mondphasen von 1700 - 2199, zu finden hier:
http://www.maa.clell.de/StarDate/moonphases.html
Die Seiten lassen sich sehr gut parsen, Script untenstehend :)
Viele Grüße,
Hotte
Datenbank für Mondphasen gefällig?
So etwa:
mysql> select count(julianday) from moon;
+------------------+
| count(julianday) |
+------------------+
| 24740 |
+------------------+
1 row in set (0.00 sec)
mysql> describe moon;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| julianday | int(11) | | PRI | 0 | |
| hour | int(11) | | | 0 | |
| minute | int(11) | | | 0 | |
| phase | varchar(100) | | | | |
+-----------+--------------+------+-----+---------+-------+
4 rows in set (0.03 sec)
# möglich sind die Jahre 1700 bis 2199
for(my $i = 1700; $i < 2200; $i++){
#print "$i\n";
#mirror("http://www.maa.clell.de/StarDate/moon$i.txt", "$dir/$i.txt");
my $doc = get "http://www.maa.clell.de/StarDate/moon$i.txt";
my @doc = split /\n/, $doc;
foreach my $line(@doc){
if( $line =~ /\./){
# parse words
my @words = split /\s+/, $line;
my $phase = "$words[1]";
$words[9] =~ /(\d+)h/;
my $hour = $1;
$words[10] =~ /(\d+)m/;
my $minute = $1;
my ($day,$month,$year) = split(/-/, $words[6]);
my $jd = julianday($day,$month,$year);
#print "$phase $hour $minute $jd\n";
$sth->execute($jd, $hour, $minute, $phase);
}
}
}