2010-08-19 10 views
5

Ich bin dabei, einen Challenge-Test zu machen, damit ich keine Datenbank-Processing-Klasse belegen muss. Obwohl ich in den letzten 5 Jahren mit Datenbanken gearbeitet habe, kann ich nicht anders, als nervös wegen des Tests zu sein. Es sind 50 Fragen und es gibt 2 Teile: einen wahren/falschen Teil und einen Teil, wo ich SQL-Befehle schreibe. Es ist nicht plattformspezifisch.Grundlegende SQL-Kenntnisse?

Was sind die grundlegenden Dinge, die ich wissen sollte, um in diesen Test zu gehen? Was würden Sie benötigen, um neue SQL-Entwickler in Ihrem Unternehmen zu kennen? Welche Fragen könnten Trickfragen sein?

EDIT:

Wie ich schon sagte, es ist nicht plattformspezifisch, aber es ist nicht sprachspezifisch in jeder Hinsicht. Es wird keine Fragen darüber geben, wie man sich in ASP.Net, PHP oder anderen Sprachen verbindet.

+0

Verbunden: http://StackOverflow.com/Questions/2054130/what-is-advanced-sql –

+0

mögliche Duplikate von [Fragen jeder gute Datenbank/SQL-Entwickler sollte in der Lage sein zu beantworten] (http://StackOverflow.com/questions/2119859/questions-every-good-database-sql-developer-sollte-fähig sein-zu-antworten) –

+0

Ist dieser Datenbank-Verarbeitungskurs an einer Universität oder Schule? Wenn es so ist, denke ich, dass die Fragen, die beim Test gestellt werden, möglicherweise nicht übereinstimmen: "Was würden Sie brauchen, um neue SQL-Entwickler in Ihrem Unternehmen zu wissen, wie es geht?" Sag es einfach. –

Antwort

3

Die Bedeutung von Indizes und Primärschlüssel/Fremdschlüssel. Join Syntax und ein Verständnis der verschiedenen Arten von Joins (einschließlich Tabellen-Aliasing). Die Auswahl des Datentyps (welcher Spaltentyp für ein Beispiel des Eingabedatensatzes zugewiesen werden soll) wäre sinnvoll. Unterabfragen (esp korreliert). Gespeicherte Prozeduren. Erstellung von Variablen Aggregationsfunktionen und Gruppierung Sicherungs- und Wiederherstellungspraktiken.

Das ist eine kurze Liste zu starten, ich bin neugierig zu sehen, was andere Leute auch antworten.

Ich dachte an ein paar mehr. Temporäre Tabellen und Ansichten sind beide gute Themen. Möglicherweise Pivot-Tabellen.

+2

Temporäre Tabellen und Pivot-Tabellen werden normalerweise in verschiedenen SQL-Varianten unterschiedlich implementiert. –

1

Wenn es ein Grundkurs ist, dann sollte man alles unter w3schools wissen und sehr gut mit Normalization. (Sie lieben es zu fragen über die Normalisierung und Joins)

2

Meiner Meinung nach :-) wissen:

  • Data Definition Language (DDL), Was es ist und was es tut.

  • Datenmanipulationssprache (DML), was es ist und was es tut.

  • Möglicherweise Data Control Language (DCL), dito.

  • Was ist Datenbanknormalisierung.

  • Wer ist Edgar F. Codd. : D

+0

+1 für den Namen löschen –

2

Ich stimme mit allem überein gd.d.c.c. sagte. Zusätzlich:

Normalisierung und Datenbankentwurf.

Sie müssen die Mengenlehre verstehen und verstehen, warum es in einer Datenbank sehr schlecht ist, die Zeilenverarbeitung zu verwenden. Sie müssen verstehen, was Datenintegrität ist und warum es wichtig ist, dies in der Datenbank und nicht in der Anwendung durchzusetzen! Sie müssen sich zumindest ein bisschen damit vertraut machen, was ein ORM ist und warum Sie es verwenden könnten.

Ein Verständnis der Booleschen Algebra ist erforderlich.

Eine Basic-Klasse würde wahrscheinlich kein Verständnis von Performance-Tuning erfordern, aber ich persönlich würde keinen Entwickler einstellen, der kein starkes Verständnis davon hat.

In der heutigen Welt können Sie vielleicht auch einige Fragen zu NoSQL-Datenbanken beantworten und wann sie eine relationale Datenbank verwenden.

1

Kennen Sie lieber JOIN über die WHERE-Klausel mit Verbindungselementen verschmutzen.

+0

Die JOIN-Klausel ist ANSI-Standard SQL, aber nicht alle SQL implementieren den ANSI-Standard. –

0

Zusätzlich zu dem, was g.d.dc.c., haben JustBoo und HLGEM gesagt, ein grundlegendes Verständnis von Transaktionen, insbesondere Rollback und Commit. Auch TRUNCATE TABLE.