Michelle Rowbotham: Fremdenverkehrsseite/HTML-SQL

Hallo,
ich möchte eine Fremdenverkehrsseite mit Hilfe von einer Datenbank erstellen, damit die Aktuallisierung auch für technisch nicht so fitte Leute möglich ist. Jetzt weiss ich nicht wo ich anfangen soll. Muss ich jetzt lernen mysql zu programmieren, oder wie funktionierts. Angeblich gehts auch mit Filemaker.
Ich habe übrigens keinen Zugriff auf den Server kann ich das ganze auch Offline testen? Wie verknüpfe ich HTML-Seiten mit der Datenbank?
Welche Literatur ist empfehlenswert (für Leute die nur wenig Programmierkenntnisse haben?)

Über ein paar Hilfestellungen würde ich mich freuen ...

:-)

Michelle

  1. Hallo,
    also ich kann dir leider auch nicht viel weiterhelfen (b.z.w. gar nicht) ich möchte mich der Frage eigentlich nur anschließen.
    Womit erstelle ich am sinnvollsten b.z.w. frage ich eine solche ab.
    ASP, MYSQL... ist das alles nur eine Frage des Servers? Unix, NT?
    Wie sieht die verträglichkeit mit den vielen Browsern aus. Die Datenbank sollt Client Plattform unabhängig sein. Und ich möchte eigentlich auch nicht 80-100 DM für nen NT Server im Moment zahlen.
    ALSO was tun. ASP scheint mir am einfachsten zu sein (da VB Kenntnisse und Access Kenntnisse) aber wie am sinnvollsten umsetzen.
    Vielleicht könnt ihr uns beiden ja weiterhelfen.
    Vielen Dank

    Ralph

    1. Hallo Ihr beiden,

      vielleicht kann ich euch ja weiterhelfen. Also paßt auf:

      MySQL ist keine Sprache sondern ein Datenbankserver. (download www.mysql.com)
      Ist mySQL auf dem Server eingerichtet (bieten viele Provider an) kann man mittels des Admin Tool vom Browser aus die Datenbank anlegen usw.

      So, fehlen noch die dynamischen Seiten.
      Die günstigste (weil frei) Variante ist es sicherlich PHP zu benutzen (www.php.net). Das funktioniert im Prinzip wie ASP, ist aber nicht den IIS gebunden. Außerdem ist die MySQL Unterstützung einfach klasse. In PHP kann man jetzt mit den entsprechenden Funktionen Datenbankabfragen machen (SQL Abfragen).

      Die Ergebnisse kann man dann weiterverarbeiten (ausgeben oder was weiß ich).

      Nach dem abarbeiten des Skriptes wird die Seite (also der erzeugte HTML Code) zum Browser geschickt. Fertig ist der ganze Lack.

      Literatur gibt's jede Menge (mal bei amazon suchen), bzw. die Dokumentationen bei den oben angegebenen Adressen lesen.

      Ich hoffe ich konnte was helfen

      Viele Grüße
      Claudia

  2. Muss ich jetzt lernen mysql zu programmieren, oder wie

    das soll jetzt nicht zynisch klingen: man sollte sich generell mit datenbanken beschäftigen, wenn man db-anwendungen produzieren will. zum ansteuern von mysql braucht man eh nur sql (+ einige erweiterungen). die beschäftigung mit der theorie (damit meine ich nicht nur das lesen von "access schnell erklärt" ;) ist so wichtig, weil du sonst in zwei monaten ALLES neu machen darfst. ohne planung wird die db nie konsistent und smart. btw ist das erlernen von sql != verstehen von datenbankdesign.

    mfg, ronny

  3. Hi,

    ich möchte eine Fremdenverkehrsseite mit Hilfe von einer Datenbank erstellen

    Warum?
    Du sprichst bereits im ersten Satz über den Weg, ohne das Ziel festzulegen.
    Die Formulierung "eine Datenbank" kann viele verschiedene Bedeutungen haben - aber sie legt einen großen Teil des Weges fest. Dies würde ich nicht tun, ohne das Ziel sehr genau beschrieben zu haben.

    damit die Aktuallisierung auch für technisch nicht so fitte Leute möglich ist.

    Dies aus der Verwendung einer Datenbank zu schließen halte ich für unzulässig.
    Die *Bedienbarkeit* einer Oberfläche hat mit der *darunter* verwendeten Technologie nahezu nichts zu tun.

    Jetzt weiss ich nicht wo ich anfangen soll.

    Immerhin hast Du das richtige Problembewußtsein.
    Genau *das* ist nämlich das Hauptproblem.
    Ich an Deiner Stelle würde mit einer Beschreibung anfangen, was das fertige System leisten soll.
    Ob Du das in Form allgemeiner Forderungen oder in Form von Beispielen machst, ist von sekundärer Bedeutung - aber es sollte so vollständig wie nur möglich sein.
    Sobald Du eine solche Beschreibung Deines Ziels hast, kann man aus dieser oftmals bestimmte Mindestanforderungen für den Weg, also die zu verwendenden Software-Bausteine usw. ableiten. Eventuell ist eine Anforderung dabei, welche die Verwendung einer "richtigen" Datenbank unabdingbar macht - eventuell sogar eine, für die MySQL nicht mehr ausreicht. Dies alles bereits jetzt zu "raten" halte ich für keine gute Idee.

    Muss ich jetzt lernen mysql zu programmieren, oder wie funktionierts. Angeblich gehts auch mit Filemaker.

    Der Knackpunkt an dieser "inpliziten" Frage ist das "gehts" - würdest Du das "s" genauer beschreiben, dann könnte man sie beantworten.

    Ich habe übrigens keinen Zugriff auf den Server kann ich das ganze auch Offline testen?

    Auch das ist wieder eine Diskussion über den Weg statt über das Ziel. Es kann sein, daß aus der Zielsetzung zwingend abgeleitet werden wird, daß Du bestimmte Voraussetzungen brauchst - und Zugriff auf "den Server" (welchen auch immer) könnte eine solche Voraussetzung sein.

    Wie verknüpfe ich HTML-Seiten mit der Datenbank?

    Dazu hat sich Claudia in http://www.teamone.de/selfaktuell/forum/messages/90684.html geäußert - ich rate aber davon ab, aus der Existenz *eines* Weges zu schließen, daß Dich genau dieser zu Deinem noch weitgehend unbekannten Ziel führen wird.

    Welche Literatur ist empfehlenswert (für Leute die nur wenig Programmierkenntnisse haben?)

    Wiederum: Fragen über den Weg machen erst dann so richtig Sinn, wenn das Ziel bekannt ist. Solange ich Dir keine Datenbank, keine Sprache etc. empfehlen kann, nützt Dir ein Link auf *deren* Dokumentation wenig.

    mfG - Michael

    1. Hallo,
      Ich versuche einmal mein Ziel genauer zu Definieren:
      Ich möchte einen Internetauftritt eines Landkreises realisieren. Neben den üblichen Tourismus seiten, Umwelt, Sport, Gemeinden, Sehenswürdigkeiten soll auch ein "virtuelles Rathhaus" integriert werden. (Onlineformulare, Verantwortliche und alles für was ein Rathhaus sonst so zuständig ist).
      Bis dahin ist ja alles kein Problem, das ginge ja auch mit statischen Seiten, das Problem ist, das die Ihre fertigen Seiten nachdem ich sie umgesetzt habe selbst pflegen wollen und keine HTML-Kenntnisse besitzen, das heißt ich stelle das mir so vor, das die Änderungen über eine einfache Eingabemaske gemacht werden können und dann nur die neue Datei auf den Server geladen wird. Zusätzlich wollen sie nicht nur Text sondern auch Bilder selbst ändern/aktuallisieren.
      Zusätzlich stelle ich mir vor, das zum Beispiel ein vorhandener Datensatz an Gaststätten integriert wird und der Benutzer dann zum Beispiel die PLZ eingibt und seine Daten dann ausgewertet werden und er alle Adressen mit der bestimmten PLZ bekommt.

      Zur Zeit arbeitet die Gemeinde mit Oracle und SQL.

      In wie weit kann ich jetzt meine "normalen" HTML-Seiten gestalten und ab wo kommt die Datenbank ins Spiel. Wie verknüpfe ich dann den Code der die Abfrage stellt mit dem HTML-Teil. Was muss auf dem Server installiert werden. Wie kann ich das ganze offline (ohne Server) testen?

      Ich hoffe, dass ich das Problem etwas besser dargestellt habe und freue mich über euere Hilfe.

      Gruss

      Michelle

      1. Hallo Michelle,

        In wie weit kann ich jetzt meine "normalen" HTML-Seiten gestalten und ab wo kommt die Datenbank ins Spiel.

        Üblicherweise werden HTML-Vorlagen mit Daten aus der Datenbank ergänzt.
        Wie Du das machst, hängt davon ab, welche Tools Du verwendest.
        ASP- und PHP-Dokumente sind mit script-code durchsetzt, welche z.B. die Datenbankabfragen durchführen und die Ergebnisse aufbereiten, um das ganze dann zum Browser  zu senden.
        Mit Perl schreibst Du ein Programm (Script), welches die Datenbank-Abfrage ausführt, und dann mit HTML-Formatierunegn ausgibt, wobei die Vorlage eine separate Datei sein kann oder auch direkt im Programm vorhanden ist.

        Wie verknüpfe ich dann den Code der die Abfrage stellt mit dem HTML-Teil.

        MIt CGI-Parametern. DU übergibst z.B. für jede spezifische Seite den Typ (Umwelt, Sport, Gemeinden, Sehenswürdigkeiten...) und eine eindeutige ID, mit der Du die Daten aus der Datenbank holen kannst.

        Was muss auf dem Server installiert werden.

        Die Datenbank, ein Webserver, die Scriptsprache (Interpreter oder was auch immer), Deine Scripts, zusätzliche Dateienen wie Images, Vorlagen, statische Seiten.
        Die Datenbank muß nicht zwangsläufig auf dem gleichen Server sein, sie kann auch beispielsweise auf einem von einer Firewall geschützen Rechner installiert werden, der dann nur vom Webserver und den Administrator-Arbeitsplätzen, nicht aber aus dem Internet, erreichbar ist.

        Wie kann ich das ganze offline (ohne Server) testen?

        Indem Du lokal eine vergleichbare Umgebung einrichtest. Also alles, was der öffentliche Server auch hat.

        Bei der Datenbank ist das meist so ein Problem. Wenn eben Oracle eingesetzt wird, dann solltest Du auch lokal Oracle verwenden.

        MIt Perl ist es zwar grundsätzlich möglich, einfach zwischen verschiedenen Datenbanken umzuschalten (DBI udn DBD-Module), in der Praxis ist das aber nur möglich, wenn Du keine Datenbank-spezifischen Eigenschaften ausnützt.
        Ansonsten kannst Du jede Beliebige Datenbank einsetzen.

        Wie das ganze mit PHP und ASP funktioniert, weiß ich nicht, da ich mich damit nicht beschäftige.

        Abschließend möchte ich noch sagen, daß das anscheinend ein ziemlicher Brocken ist, den Du da angehst. Ich hoffe nur die zahlen auch gut ;-)

        Grüße
        Klaus

      2. Hallo nochmal,

        ich versuche mich nochmal an einer Erklärung, allerdings wie Michael schon richtig sagte, es ist EIN Weg. Ich kann dir sagen, wie ich es machen würde, es gibt selbstverständlich noch andere Möglichkeiten. Das Prinzip ist im groben aber gleich.

        das heißt ich stelle das mir so vor, das die Änderungen über eine einfache Eingabemaske gemacht werden können und dann nur die neue Datei auf den Server geladen wird.

        man kann natürlich Dateien erzeugen und hochladen, aber IMHO:
        Du brauchst nichts weiter als eine Datei, die sich die aktuellen Daten (Texte zum Beispiel) aus der Datenbank holt.

        Zur Zeit arbeitet die Gemeinde mit Oracle und SQL.

        Nochmal grundsätzlich: SQL heißt structured query language und ist die Abfragesprache.

        In wie weit kann ich jetzt meine "normalen" HTML-Seiten gestalten und ab wo kommt die Datenbank ins Spiel.

        Du kannst zB Templates gestalten, die "Platzhalter" enthalten in welche dann dynamisch die entsprechenden Sachen reingeschrieben werden.

        Wie verknüpfe ich dann den Code der die Abfrage stellt mit dem HTML-Teil.

        Bei PHP ist es so, dass du den Code direkt in die HTML Datei schreibst (die dann *.php o.ä.heißt). Statische HTML Elemente bleiben wie sie sind.

        Wie kann ich das ganze offline (ohne Server) testen?

        gar nicht, du brauchst schon einen Server (es sind ja schließlich serverseitige Anwendungen, die du da schreiben willst).

        Ich kann hier nicht die ganze Technologie auseinander nehmen, lies erstmal ein paar bücher dazu, wenn du dich mit HTML auskennst und ein Konzept von Programmierung hast, wird es dir nicht schwerfallen, dich einzuarbeiten.

        Das klappt schon
        Viele Grüße
        Claudia

      3. Hi,

        Ich möchte einen Internetauftritt eines Landkreises realisieren.

        Woraus ich Seriosität und vor allem Zuverlässigkeit ableite.

        Neben den üblichen Tourismus seiten, Umwelt, Sport, Gemeinden, Sehenswürdigkeiten soll auch ein "virtuelles Rathhaus" integriert werden.
        (Onlineformulare, Verantwortliche und alles für was ein Rathhaus sonst so zuständig ist).

        Online-Behördengänge?
        Das wäre ein Projekt, mit dem ich mich sofort identifizieren könnte. (Technisch anspruchsvoll und nützlich für den Normalbürger.)

        Datenverlust ist also offensichtlich *nicht* tolerierbar - wenn der Anwender etwas irgendwo eintragen will, dann *muß* es funktionieren.
        Also ist eine "echte" Datenbank mit Transaktionskonzept wichtig - und Oracle wäre bei Deiner Größenordnung in der Tat das Produkt meiner Wahl gewesen. Gut, wenn die Betreiber sich damit schon auskennen.

        Bis dahin ist ja alles kein Problem, das ginge ja auch mit statischen Seiten,

        Je nachdem, ob "statisch" das ist, was Deine Anwender wollen (weiter unten erzählst Du von "Bilder austauschen", was ich nicht mehr als "statisch" empfinde).

        das Problem ist, das die Ihre fertigen Seiten nachdem ich sie umgesetzt habe selbst pflegen wollen und keine HTML-Kenntnisse besitzen,

        Das ist der wichtigste Punkt Deiner Fragestellung.
        1. Wollen Deine Anwender "nur" die Inhalte pflegen (*dann* wären sie mit einer Oracle-Maskenoberfläche, z. B. SQL*forms, gut bedient, welche sie ggf. auch bereits kennen) *oder*
        2. wollen sie auch das Aussehen der Dokumente ändern (Layout, "eigentlich" statische Texte usw.), *dann* geht die Aufgabenstellung in Richtung *Redaktionssystem*. (Und dieses *zusätzlich* zur Datenbank, nicht *statt* dieser.)

        das heißt ich stelle das mir so vor, das die Änderungen über eine einfache Eingabemaske gemacht werden können und dann nur die neue Datei auf den Server geladen wird.

        Gelegt? Da fehlt mir wieder die genaue Information, welcher Art die Änderungen sind.
        1. Geht es um Inhalte der Datenbank, die sich jederzeit (durch Eingriff einees Beamten über seine SQL*forms-Maske oder gar durch Eingabe eines Besuchers via Browser) ändern können? Dann werden sich solche Dokumente sinnvollerweise *nur* voll-dynamisch erzeugen lassen (CGI oder Vergleichbares).
        2. Oder geht es um Daten, die sich nur zu wenigen, genau bekannten Zeitpunkten ändern können (monatliche Eingabe etc.), so daß man als success event dieser Änderung einen Generatorlauf starten kann, welcher die betroffenen Seiten nun in der Tat einmalig neu berechnet und als Dateien abspeichert?
        Beide Modelle haben etwas für sich: Das erste ist flexibler, das zweite performanter bei der Abfrage und weniger last-intensiv auf dem Server.

        Zusätzlich wollen sie nicht nur Text sondern auch Bilder selbst ändern/aktuallisieren.

        Und das ohne HTML-Kenntnisse? Das ist, äh - tapfer. Denn ich finde, die elementaren Kenntnisse, um in einer vorgegebene HTML-Seite Text zu ändern, sind leichter zu erwerben als die Kenntnisse, eine Graphik in einem vernünftigen, webtauglichen Format zu erstellen und sinnvoll (!) in eine HTML-Seite einzubinden.
        (Die Wahrscheinlichkeit, daß Du ein Redaktionssystem haben willst, ist mit diesem Punkt etwas gestiegen ...)

        Zusätzlich stelle ich mir vor, das zum Beispiel ein vorhandener Datensatz an Gaststätten integriert wird und der Benutzer dann zum Beispiel die PLZ eingibt und seine Daten dann ausgewertet werden und er alle Adressen mit der bestimmten PLZ bekommt.

        Hm, das war ziemlich vage (was ist "integriert"? Von wem? Wer pflegt diese Daten?)
        Letzten Endes versuchst Du offenbar, eine Suchmaschine zu beschreiben - das wiederum ist ein separates Problem, das sich angesichts des Datenbestands in einer Datenbank jederzeit nachträglich lösen läßt (es nagelt zumindest keine anderen Entscheidungen zu). Dazu wären dann genaue Suchfunktionen und ein Rohentwurf des Benutzer-GUI notwendig, welche wiederum Auswirkungen auf das Tabellendesign der zu durchsuchenden Daten haben würden - und der Entwurf einer relationalen Datenbank erfordert *mehr* als rudimentäre SQL-Kenntnisse ...

        Zur Zeit arbeitet die Gemeinde mit Oracle und SQL.

        Heißt das, daß die Anwender Deines Systems selbst SQL(-DML) beherrschen (und Queries im Dialog eingeben, was man z. B. in SQL*forms in eingeschränkter Form auch kann, oder in SQL*Plus nahezu uneingschränkt?)
        Oder willst Du damit nur sagen, daß sie irgendwelche Anwendungen bedienen, welche ihrerseits SQL-statements an die Datenbank absetzen?
        Die Antwort auf diese Frage würde viel über die Kompetenz Deiner Anwender aussagen ...

        In wie weit kann ich jetzt meine "normalen" HTML-Seiten gestalten und ab wo kommt die Datenbank ins Spiel.
        Wie verknüpfe ich dann den Code der die Abfrage stellt mit dem HTML-Teil.

        Das hängt u. a. davon ab, wie sich diese Verknüpfung verhalten soll (statisch7dynamisch, siehe oben).
        Letzten Endes sieht es so aus, daß Du Programme brauchst, welche Abfragen (SQL) an die Datenbank stellen und die empfangenen Ergebnisse in HTML formatieren. Dazu müßtest Du sowohl SQL beherrschen als auch eine Dir genehme Anwendungssprache (bei Oracle ist einiges dabei, die Sprache könnte C oder C++ sein; genauso gut wäre Perl denkbar, wenn Du den passenden DBI-Modul dazu hast).

        Eine naheliegende Trennung zwischen Daten und Layout wäre dadurch denkbar, daß Du den zu generierenden HTML-Code nicht fest in diesen Programmen einbrennst, sondern ihn als Code-Schablonen in Dateien ablegst. Diese Dateien kann jemand nachträglich editieren, der zwar HTML verstehen muß, nicht aber Deine Programmiersprache(n).
        Das wiederum würde die Verwendung einer Sprache nahelegen, die sehr gut mit Zeichenkettenersetzungen klar kommt - und in dieser Hinsicht kenne ich nichts Besseres als Perl. (Jede andere Sprache, die regular expressions unterstützt, wäre eine taugliche Alternative.)
        Ich baue auf dieser Basis übrigens gerade selbst eine Suchmaschine, deren Aussehen der spätere Betreiber in einer solchen Schablonen-Datei vollständig selbst konfigurieren kann ...

        Was muss auf dem Server installiert werden.

        Im Prinzip:
        1. das RDMBS (also in Deinem Falle Oracle), inklusive eventueller Dialoganbindungen zur Pflege des Inhalts (SQL*forms und SQL*Plus hatte ich genannt, die sind dabei, darauf basierend wären dann ggf. eigene Anwendungen zu schreiben),
        2. der Webserver. über den die Besucher auf die Daten zugreifen,
        3. Compiler/Interpreter Deiner Anwendungssprache (sind möglicherweise beim Betriebssystem dabei; Perl ist PD und schnell installiert)
        Bei hinreichend hoher Last wäre es denkbar, Datenbank- und Webserver auf verschiedene Maschinen zu legen (Lastverteilung) und miteinander kommunizieren zu lassen; diese und vergleichbare Ideen sind der Grund, weshalb ich das UNIX-Prinzip, ein großes System nicht als Monolith zu gestalten, sondern aus vielen kleinen, flexiblen und stabilen Bausteinen flexiben (über shell-skripts) zusammenzustecken, so liebe.

        Wie kann ich das ganze offline (ohne Server) testen?

        Hm, das ist nicht so einfach. Den Webserver kriegst Du auf jeden PC drauf (etwas Anderes als Apache würde ich nicht guten Gewissens empfehlen können), aber der Datenbankzugriff ... hm.
        Es könnte sein, daß Du den Modul, welcher die SQL-query ausführt und das Ergebnis zurückliefert, doppelt bauen mußt (in einer Testumgebung müßte er dann aus einer Datei lesen oder fest eingebrannte Ergebnisse liefern). Das ist ein nicht unwichtiges, aber separat lösbares Problem.

        Ich hoffe, dass ich das Problem etwas besser dargestellt habe und freue mich über euere Hilfe.

        Ja, das war *viel* besser - und daß es viele neue Rückfragen ausgelöst hat, liegt in der Natur der Sache.
        Am Ende einer solchen Diskussion solltest Du eine Spezifikation des gesamten Projekts schreiben können - und in Deinem Falle dürfte die Seitenzahl nicht unter 50, vielleicht über 100 liegen ... (keine Panik jetzt - besser, die Fragen werden vorher gestellt und beantwortet als zu spät).

        mfG - Michael

  4. Also mein Ziel steht fest... der Weg dorthin nicht ganz.
    Mein Problem ist halt ich kenne kein MYSQL und ASP benötigt einen NT Server und die sind normalerweise SAU teuer.
    Also werde ich mir wohl mal MYSQL anschauen. Scheint ne günstigere Variante zu sein.
    Die Fragen sind halt ... wo sind die grenzen. In den Abfragen in der Datenmenge, in der Komfortabilität... oder wo.
    Vielleicht kennt auch jemand einen günstigen NT Server ..... man weiß ja nie.
    Also dann werde ich mal nach MYSQL ausschau halten.

    Rabe