Skip to content

SQL-Cache Mystery Cache

This cache has been archived.

MeisterAnselm: wie gesagt...

Danke an alle, die sich die Mühe gemacht haben, dieses "Rätsel" zu lösen. Ich hoffe, es hat Spaß gemacht.

[navy][b]MeisterAnselm[/b][/navy]

More
Hidden : 9/3/2008
Difficulty:
3 out of 5
Terrain:
1.5 out of 5

Size: Size:   regular (regular)

Join now to view geocache location details. It's free!

Watch

How Geocaching Works

Please note Use of geocaching.com services is subject to the terms and conditions in our disclaimer.

Geocache Description:

Finde die Endkoordinaten aus dem SQL-Skript heraus!

Mit diesem Cachelisting möchte ich der Cacher-Gemeinde einmal eine andere Variante der Verklausulierung einer Cacheaufgabe anbieten, die aber eigentlich gar keine Verschlüsselung ist. Die benötigten Angaben und Aufgaben befinden sich versteckt in einem Skript in der Datenbankabfragesprache SQL (Structured Query Language).

Ich wollte ein nicht zu kompliziertes, lauffähiges Skript anbieten, das dennoch die Bedingung erfüllt, von jedem klar denkenden Menschen verstanden zu werden, auch wenn er diese Abfragesprache nicht beherrscht. Natürlich weiß ich, dass man es auch anders machen kann und bitte die Fachleute daher von entsprechenden Vorschlägen abzusehen.

Das Skript ist unter MySQL 5.1 getestet und läuft. Manche anderen SQL-Versionen werden ggf. kleine Anpassungen verlangen. Man kann es sonst einfach kopieren und laufen lassen. Wer das möchte, sollte sich allerdings vorher noch die drei fehlenden Angaben beschaffen und z. B. per UPDATE (oder direkt ) eintragen, nur dann gibt es die errechneten Zielkoordinaten aus.

Wer gerade keinen SQL-Server laufen hat , kann die Koordinaten auch mit dem Taschenrechner ermitteln. Man muss diese Abfragesprache hierfür nicht beherrschen. Wenn man etwas Englisch kann, oder eventuell ein Online- oder Papierwörterbuch zu Rate zieht, hat man es etwas leichter.

Bevor man in eine Datenbank Daten eingeben kann, muss man erst mal welche haben. Besorgt Euch dafür aus dem Internet folgende Informationen:
  1. In welchem Jahr starb die Person, die als erste die Theorie relationaler Datenbanken formuliert hat? (Verwendet als "theoretiker_jahr")
  2. Was ist ein BLOB? Bitte die Anzahl der Buchstaben aller Worte ermitteln, die den Begriff darstellen. (Verwendet als "blob_letters")
  3. In welchem Jahr hat dieser Theoretiker den begehrtesten Preis in der Informatik erhalten? (Verwendet als "theoretiker_preis")
Hier das Skript:

#Dieses Skript dient als Huelle fuer die#
#Loesung des SQL-Caches GC1FPG7#
#von MeisterAnselm. August 2008#

#Datenbank anlegen und anmelden#

CREATE DATABASE IF NOT EXISTS sql_cache;
USE sql_cache;

#Tabellen anlegen#

CREATE TABLE IF NOT EXISTS t_Gefundene_Daten
(CacheNr CHAR(7),
theoretiker_jahr INTEGER,
blob_letters INTEGER,
theoretiker_preis INTEGER);

CREATE TABLE IF NOT EXISTS t_Vorhandene_Daten
(CacheNr CHAR(7),
Objekt CHAR(11),
Start_N CHAR(12),
Start_E CHAR(13)
);

#Gefundene und gegebene Daten eingeben#

INSERT INTO t_Vorhandene_daten (CacheNr, Objekt, Start_N, Start_E)
VALUES ('GC1FPG7','gelbe_Tonne', 'N 53° 54.395','E 009° 05.397');

#Richtung Startpunkt fahren, indem man real folgendes tut :-) #

SELECT Start_N, Start_E
FROM t_Vorhandene_Daten;

INSERT INTO t_Gefundene_Daten (CacheNr,theoretiker_jahr, blob_letters, theoretiker_preis)
#hier muessen natuerlich die ermittelten Daten eingesetzt werden!!#
VALUES ('GC1FPG7', xxxx, yyyy, zzzz);

#Endkoordinaten anzeigen lassen#

SELECT
t_Vorhandene_daten.CacheNr,
MID(t_Vorhandene_Daten.Objekt,9,1) AS Nord_Sued,
((t_Gefundene_Daten.blob_letters)*3)+2 AS Breitengrad,
(t_Gefundene_Daten.theoretiker_jahr/37,473) AS BreitenMinSek,
MID(t_Vorhandene_Daten.Objekt,5,1) AS Ost_West,
ROUND((t_Gefundene_Daten.theoretiker_preis)/220) AS Laengengrad,
((t_Gefundene_Daten.theoretiker_jahr - t_Gefundene_Daten.theoretiker_preis)/2.4735) AS LaengenMinSek
FROM t_Vorhandene_Daten JOIN t_Gefundene_Daten
ON t_Vorhandene_daten.CacheNr = t_Gefundene_daten.CacheNr
WHERE t_Gefundene_Daten.theoretiker_jahr >0
AND t_Gefundene_Daten.theoretiker_preis >0
AND t_Gefundene_Daten.blob_letters < 20
GROUP BY t_Gefundene_daten.CacheNr;
# -- Ende Skript -- #

Die Positionsdaten der Gelben Tonne (Start_N und Start_E) dienen nur der Orientierung, weil ja jeder Cache eine Position haben muss, und sie werden z. Zt. nicht zur Berechnung benötigt. Wer sich dem Cache aus nordwestlicher Richtung nähert, kommt wahrscheinlich daran vorüber.

Jetzt kann man den Server wieder runterfahren, den von der Mausbedienung zerschlissenen Ärmel wieder hochkrempeln, und muss anschließend nur noch die Cachedose hochfahren . Vorsicht, am Final sind Hunde erlaubt (mit den üblichen Begleiterscheinungen).

Als Besonderheit (ist es denn eine?) liegt eine eingeschweißte, vergrößerte Nachbildung meines persönlichen Geocoins darin. Nur wer sich ins Logbuch eingetragen hat, darf ihn danach discovern. Darum bitte nur die Nummer abschreiben und das Bild im Cache lassen!!!

Du kannst Dein Ergebnis hier überprüfen: GeoChecker.com.

Die Dose BITTE unbedingt wieder so platzieren, wie sie es (hoffentlich) noch war. Damit sie nicht zu sehen ist und man trotzdem noch rankommt. - Danke.


Happy Hunting!

MeisterAnselm

Counter

Additional Hints (No hints available.)