Diskussion:Einführung in SQL

Aus Wikibooks
Wechseln zu: Navigation, Suche


Erstellen einer Datenbank[Bearbeiten]

Bevor mit SELECT, CREATE und UPDATE gearbeitet werden kann muss zuerst ein User und eine Datenbank angelegt werden.

Kurzeispiel: mysql-admin installieren, starten, als root einloggen, unter 'User-Administration' neuen Benutzer anlegen, unter 'Catalogs' unten links neues Schema hinzufügen, bei 'User-Administartion' unter 'Schema-Berechtigungen' erstelltes Schema und Benutzer wählen, alle 'Verfügbare Berechtigungen' markieren (Shift oder Ctrl hilft), auf 'Pfeil nach links' klicken.

Habe anschliessend mit mysql-query-browser als User getestet, es hat funktioniert. Sollte unbedingt irgendwo hinzugefügt werden, oder habe ich es nur übersehen? Vielleicht ein Kapitel 'Einrichten' unter 'Einleitung'? 62.167.87.154 23:05, 14. Jun. 2010 (CEST)

Das sollte unter Tabellenstruktur der Beispieldatenbank und unter Einführung in SQL: Downloads stehen, ist aber noch nicht angepasst. Vielleicht kannst du es dort ergänzen. -- Danke! Jürgen 23:32, 14. Jun. 2010 (CEST)
Juetho, ich glaube er meint das anders. Auf der Startseite steht eine Policy in der erklärt ist, dass es nicht um das Einrichten und Administrieren des Datenbankservers geht. Darauf zielt 62.167.87.154 ab. -- 87.162.107.236 23:54, 14. Jun. 2010 (CEST)

Nice to have[Bearbeiten]

Wikipedia hat einen Artikel zum Thema:
Normalisierung

Mir gefällt das Buch. Ich habe es wegen dem Vorschlag zum Buchkandidaten noch einmal überflogen. Ich vermisse noch eine Abgrenzung zu dem, was das Buch nicht leistet. Das Buch ist geeignet, sich in einer Datenbank zurechtzufinden, und die wichtigsten Bearbeitungen vornehmen zu können. Es ist nicht geeignet um eine komplexe Datenbank zu planen (höchstens eine ganz kleine einfache mit relativ wenigen Tabellen und Abhängikeiten), da der ganze Komplex der Normalisierung fehlt (zumindest mal die wichtigsten Sachen wie Atomare Daten, Doppelte Schlüsselwerte sind zu vermeiden, Einzelne Werte sind nur von einem Schlüssel abhängig). Es muss nicht unbedingt ausführlich darauf eingegangen werden, doch das Thema sollte zumindest mal angekratzt werden. Ein Artikel zum Thema Hilfsmittel wäre ganz schön. Gerade MoWeS könnte so weit beschrieben werden, wie man es auf einen USB-Stick installiert, und eine SQL-Datenbank für Eingaben aufruft, damit man die Beispiele gleich mal ausprobieren kann.

Beispiel für ein Datenbankmodell wie man es beispielsweise in Access wiederfindet.

Ein Abhängigkeitsmodell wie es Access anbietet, könne ganz hilfreich sein. Evtl. könnte auch ein Beispielcode für eine PHP-Abfrage (Verbinden, SQL-Abfrage, Werte abfragen, in Variablen eintragen) vorgeführt werden. Denn Programmierer sind ja die ersten, die sich mit dem Thema befassen werden. Alles nicht so weit, dass man in die Tiefen vordringt (da reichen dann auch Verweise auf andere Literatur) aber zumindest mal so weit, dass man eine Grundvorstellung hat, wie so was funktionieren kann. Solltest du einiges schon haben, und ich es nur überlesen haben, bitte ich vorsorglich mal um Entschuldigung. Es soll echt nur konstruktive Kritik sein. Nichtsdestotrotz hast du ein gelungenes Buch geschrieben, bei dem man auch versteht, was du vermitteln willst. Gruß -- mjchael 13:11, 22. Jul. 2010 (CEST)

Ich habe mir jetzt endlich die Zeit für deine Anmerkungen genommen.
  • MoWeS: Du hast recht; der Abschnitt, in dem es genannt wird, könnte entsprechend erweitert werden. Aber ich habe mich noch nie mit MySql in der Praxis befasst (und ich glaube auch nicht, dass das bei mir nochmal was wird). Deshalb müsste das jemand anderes machen.
  • Was dieses Buch nicht sein soll, steht doch schon auf der Startseite und wird an verschiedenen Stellen erwähnt. Hast du einen Vorschlag, wo und wie es ausführlicher dargestellt werden kann?
  • Ich gebe zu, dass die Normalisierung eigentlich ein wichtiger Punkt ist. Aber wenn man mal anfängt, über so ein Thema zu sprechen, ufert es schnell aus. Ich habe mich deshalb auf die beiden Sätze am Ende von (RDBMS) Beispielhafte Struktur und den Wikipedia-Link beschränkt.
  • Das Abhängigkeitsmodell wäre vermutlich nützlich. Ich habe aber keine Software, die so etwas erstellt; ersatzweise habe ich die Schematische Darstellung eingebaut.
Was mir wirklich und ernsthaft noch fehlt, sind fertige Beispieldatenbanken. Deshalb hatte ich unter Wikibooks:Ich brauche Hilfe#zip-Dateien hochladen? nach Möglichkeiten dafür gesucht. Unter Wikibooks & Co. geht das offensichtlich nicht; ich glaube, ich werde doch eine "externe" Lösung bereitstellen - notfalls über meine eigene Homepage, die sonst nur noch historischen Wert hat.
Bitte lass mich wissen, was ich auch unter Berücksichtigung dieser Gründe ergänzen sollte. -- Jürgen 17:13, 20. Sep. 2010 (CEST)
Ich glaube, ich werde doch ein Kapitel Einführung in SQL: Normalisierung einbauen. In keinem anderen Wikibook wird das Thema überhaupt erwähnt, und der Wikipedia-Artikel ist teilweise ziemlich theoretisch formuliert. Also gehört es in dieses Buch. -- Jürgen 12:32, 19. Dez. 2010 (CET)

Abschnitte nicht druckbar[Bearbeiten]

Die Abschnitte Nützliche Erweiterungen, Unterabfragen und Tabellenstruktur der Beispieldatenbank werden nicht in einer pdf-Version gedruckt. Bei mir steht dort nur die Überschrift. Der gesamte Inhalt des Abschnittes fehlt aber. -- Bullet4myval 19:00, 15. Jan. 2011 (Signatur nachgetragen Jürgen 19:50, 15. Jan. 2011 (CET))

Oops, danke für den Hinweis. Ich hatte dort am Anfang des Textes das Ende zweier HTML-Befehle vergessen. Symbol OK.svg erledigt, ist jetzt korrigiert.
Es ist zz. leider nicht zu vermeiden, dass Teile beim Drucken ausgeblendet werden, siehe z.B. Klappboxen druckbar machen. Sobald das Buch endgültig fertig ist (ich bin bei der letzten Überarbeitung), werde ich eine eigene PDF-Version erstellen, bei der dieses Problem gelöst bzw. umgangen wird.
Beiträge auf Diskussionsseiten bitte mit 4 Tilden ~~~~ unterzeichnen; das macht den Zusammenhang der Beiträge deutlich.
Danke jedenfalls für deine Aufmerksamkeit. Bitte scheue dich nicht, auf weitere Fehler oder Probleme hinzuweisen. -- Gruß Jürgen 19:50, 15. Jan. 2011 (CET)

Spezielles zu MS-SQL[Bearbeiten]

Am 25. Jan. 2011 haben 80.139.81.186 und 80.139.52.6 ein paar Änderungen mit Code zu MS-SQL vorgenommen. Ich bin mir nicht sicher, welche dieser Änderungen angemessen sind oder rückgängig gemacht oder überarbeitet werden sollen.

  • TCL - Ablaufsteuerung
    Gegenüber dem vorhergehenden Firebird-Code unterscheidet sich dieser Code zu MS-SQL nur durch begin für den Start der Transaktion und die String-Verknüpfung innerhalb des SELECT-Befehls. Beides hat IMHO keinen wirklichen Informationswert und kann deshalb wieder gestrichen werden:
    • Dass eine Transaktion bei MS-SQL mit BEGIN begonnen wird, ist bereits im Abschnitt "Transaktionen" erwähnt.
    • Der Unterschied der String-Verknüpfung spielt in diesem Kapitel keine Rolle. Auf solche Unterschiede wird an vielen Stellen hingewiesen, und fast immer benutzt das Buch eine Version und nicht alle.
    • Die Firebird-Version zur Erstellung der Beispieldatenbank benutzt genau den genannten Code. Bei MS-SQL wird wegen des GO darauf verzichtet. Deshalb ist hier das Firebird-Beispiel nützlicher.
  • DML (2) - Daten speichern SELECT-Teil für MS-SQL (als Kommentar eingefügt)
    Dieser Code-Teil hat keinen zusätzlichen Informationsgehalt, sondern benutzt lediglich die String-Verknüpfung von MS-SQL. Dieser Unterschied spielt in diesem Kapitel keine Rolle. Darauf wird an vielen Stellen hingewiesen, und fast immer benutzt das Buch eine Version und nicht alle. Ergänzend: Wozu wird beim Anhängen einer Zahl RTRIM verwendet; das ist doch überflüssig?!
    Deshalb kann dieser Code-Teil wieder gestrichen werden.
  • DML (2) - Daten speichern Erstellung von Tabellen aus SELECT
    Dies halte ich für eine nützliche Zusatzinformation. Deshalb möchte ich diesen Hinweis unbedingt behalten. Vielleicht kann man es noch ergänzen, in welchen Situationen so etwas praktisch verwendet wird.

Wenn sich bis zum 05.02.2011 hier keine Diskussion ergibt, werde ich die Kapitel in dieser Form überarbeiten. -- Jürgen 17:33, 26. Jan. 2011 (CET)

In dieser Form erledigt. -- Jürgen 14:13, 19. Feb. 2011 (CET)