ViperBytes Geschrieben 1. März 2008 Teilen Geschrieben 1. März 2008 N'abend, ich habe eine kleine Einführung zu SQL geschrieben. ViperBytes.Blog Blog Archive SQL: Eine Einführung Sagt mir bitte eure Meinung hierzu. Wenn euch Fehler oder sonstige Mengel auffallen, ich bin immer offen für Kritik. Viele Grüße, Vincent W. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Moin, ... ich habe eine kleine Einführung zu SQL geschrieben. ... Sagt mir bitte eure Meinung hierzu. Na dann schreibe ich doch einfach etwas, das mir auf den ersten Seiten aufgefallen ist. Wenn euch Fehler oder sonstige Mengel auffallen, ich bin immer offen für Kritik. Hier ist schon Nummer 1: streiche "Mengel", setze "Mängel" 1.2, Ende erster Absatz: Jede Tabelle besitzt einEN Primärschlüssel, anhand dessen der Datensatz identifiziert werden kann. Ist das wirklich so? Sinnvoll wäre es sicher, aber welche Datenbank erzwingt das wirklich? 2.1.1, Seite 8 SELECT 'Name', 'E-Mail' FROM 'Kunden'; Das führt beim MS-SQL-Server definitiv zu einem Syntaxfehler und selbst wenn du Kunden nicht in Anführungszeichen setzt würde als Spalteninhalt immer der Konstante Text "Name" bzw. "E-Mail" ausgegeben. Steht das wirklich so im Standard? Seite 15 SELECT Spaltenliste FROM Tabelle LIMIT Anzahl; Ist Limit wirklich Standard? Ich kenne das offen gesagt nur von MySQL... Ich lasse mich gerne belehren. Überhaupt scheint mir das ganze eher MySQL zu sein als irgendein datenbankunabhängiges SQL. Ernsthaft vermisse ich allerdings das Kapitel "Abfragen über mehrere Tabellen".... Dein Bemühen in allen Ehren, aber wer soll mit diesem Tutorial etwas anfangen? Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ViperBytes Geschrieben 2. März 2008 Autor Teilen Geschrieben 2. März 2008 Danke. Das ist sehr gute Kritik. Aber was mache ich denn mit den Anführungszeichzen? Mysql hat so komische, MsAccess hat andere... was mache ich denn da? was sagt der standard? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Im Standard sind solche seltsamen Zeichen meines Wissens nach nicht vorgesehen. Mysql benötigt sie auch nicht, weiß der Himmel warum alle diese komischen Hochkommas drum rum machen. Wohl wider besseren Wissens und weil es eben die anderen auch tun. In der Doku sieht man sie jedenfalls nicht. Ich würd mich übrigends auf eine spezielle Datenbank beschränken, denn der Standard ist etwa so als ob man ein Auto mit den Eigenschaften 4 Räder, Lenkrad, Schaltung und Pedale beschreibt. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TheFinn Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Mysql benötigt sie auch nicht, weiß der Himmel warum alle diese komischen Hochkommas drum rum machen. Wohl wider besseren Wissens und weil es eben die anderen auch tun. Und leider auch, weil sich damit Spaltennamen erzwingen lassen, über die das DBMS sonst stolpern würde. Ich hatte kürzlich eine mysql-DB in den Fingern, deren Ersteller die glorreiche Idee hatte, eine Spalte jeder Tabelle 'Index' zu nennen (würg...) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Ah dafür ist das da. Sowas gibts unter Oracle auch, da kann man die Spaltennamen in " " stellen und dann alles reinschreiben was man will. Sonderzeichen, Leerzeichen etc. Es wird sogar zwischen Gross- und Kleinschreibung unterschieden. Für solche Leute sollte die sofortige Vierteilung veranlasst werden. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Und leider auch, weil sich damit Spaltennamen erzwingen lassen, über die das DBMS sonst stolpern würde. Ich hatte kürzlich eine mysql-DB in den Fingern, deren Ersteller die glorreiche Idee hatte, eine Spalte jeder Tabelle 'Index' zu nennen (würg...) Moin, der Klassiker ist es wahrscheinlich eine Spalte "Alter" zu nennen und zu vergessen, dass das ein reserviertes Wort ist... Auch "Name" oder "Text" kann (z.B. bei Access) sehr leicht zu Problemen führen, da es dann sehr oft Eigenschaften gleichen Namens in Formularen oder Berichten gibt. Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Es geht noch besser. In der Spalte ALTER steht nicht das Geburtsdatum sondern das aktuelle Alter in Jahren (natürlich als VARCHAR). Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Reinhold Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Es geht noch besser. In der Spalte ALTER steht nicht das Geburtsdatum sondern das aktuelle Alter in Jahren (natürlich als VARCHAR). Dim Jou, und konsequenterweise wird das im 10-Sekunden-Intervall per Cronjob aktualisiert... ROTFLBTC Reinhold Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 Jou, und konsequenterweise wird das im 10-Sekunden-Intervall per Cronjob aktualisiert Nicht ganz. Das ist die Frage die dann im Forum landet. Ob das mit einem Cronjob ginge und warum bei der Sortierung nach Alter die 9 vor 10 kommt. Da kriegt er dann die Antwort, dass es nicht geht und er Mist gebaut hat und ist beleidigt Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MartinSt Geschrieben 2. März 2008 Teilen Geschrieben 2. März 2008 <ironie> waaaas , es gibt auch noch andere Typen als VarChar :eek </ironie> Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 3. März 2008 Teilen Geschrieben 3. März 2008 ich finde den ansatz gut. aaaaaaber: das tutorial geht nur ein einziges mal darauf ein, dass CREATE DATABASE von DBMS zu DBMS unterschiedlich aufgebaut sein kann. ich würde, falls du das konsequent und standardkonform machen willst, auf den SQL-99 standard aufbauen. dieser deckt - wie schon angemerkt von einigen postern - alle reservierten SQL-wörter auf, die von den meisten DBMS implementiert sein müssen. ein DISTINCT setzen die meisten DBMS um die ich kenne, aber bei ALTER TABLE oder gar TRUNCATE TABLE ist das schon nichtmehr so. s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
allesweg Geschrieben 4. März 2008 Teilen Geschrieben 4. März 2008 Du hast US-amerikanisches Copyright beantragt? Erst sagst du, dass du nur standardkonformes SQL präsentieren willst und dann "Achting! BIGINT gehört nicht zum SQL Standard."? Negative Ausgaben sind positiv. Unter 2.5 werden keine Datensätze vermieden sondern nur nicht als Ergebnis der Abfrage angezeigt. Die Datensätze ansich existieren weiterhin. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ViperBytes Geschrieben 7. März 2008 Autor Teilen Geschrieben 7. März 2008 Danke danke! Das ist alles sehr gute Kritik. @allesweg: Was fürn "US-amerikanisches Copyright"??? >) Wo bekomme ich eine exakte Ausführung vom SQL-99-standard?? Bis jetzt habe ich einfach nach gutem Gewissen und anderen Tuts geschaut. Danke. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
TheFinn Geschrieben 7. März 2008 Teilen Geschrieben 7. März 2008 Wo bekomme ich eine exakte Ausführung vom SQL-99-standard?? Bis jetzt habe ich einfach nach gutem Gewissen und anderen Tuts geschaut. Das ist ein ISO- bzw. ANSI-Standard. Einfach mal auf ISO - International Organization for Standardization nach SQL suchen, dann siehst Du auch, was Du dafür ausgeben mußt... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Amstelchen Geschrieben 8. März 2008 Teilen Geschrieben 8. März 2008 schöne zusammenfassungen der SQL-92, SQL-99 und SQL-2003 standards sind nicht unbedingt nur über die offiziellen gremien zu erhalten eine schöne zusammenfassung im sinne deines tutorials ist z.b. SQL-Funktionen s'Amstel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
dr.dimitri Geschrieben 8. März 2008 Teilen Geschrieben 8. März 2008 @allesweg: Was fürn "US-amerikanisches Copyright"??? >) In deinem Tutorial steht überall © by ... Das ist us-amerikanisches Copyright. In Deutschland hast Du automatisch das Urheberrecht und musst nicht nochmals gesondert darauf hinweisen. Das © ist also relativ sinnfrei. Dim Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.