2010-08-19 10 views
5

Mam zamiar podjąć test na wyzwanie, więc nie muszę brać klasy przetwarzania bazy danych. Mimo że pracowałem z bazami danych przez ostatnie 5 lat, nie mogę przestać denerwować się testem. To jest 50 pytań i jest 2 części: część prawdziwa/fałszywa i część, w której faktycznie piszę polecenia SQL. Nie jest to zależne od platformy.Podstawowa wiedza SQL?

Jakie są podstawowe rzeczy, które powinienem znać, wchodząc w ten test? Czego potrzebowałbyś nowych programistów SQL w Twojej firmie, aby wiedzieć, jak to zrobić? Jakie pytania mogą być podchwytliwe?

EDIT:

Tak jak mówiłem, to nie od platformy, ale to nie jest specyficzny język na wszystkie sposoby. Nie będzie pytań o sposób połączenia w ASP.Net, PHP lub innych językach.

+0

Powiązane: http://stackoverflow.com/questions/2054130/what-is-advanced-sql –

+0

możliwy duplikat [Pytania, które każdy dobry deweloper baz danych/SQL powinien być w stanie odpowiedzieć] (http://stackoverflow.com/questions/2119859/questions-every-good-database-sql-developer-should-be-to-answer) –

+0

Czy ta klasa przetwarzania baz danych działa na uniwersytecie lub w szkole? Jeśli tak, to myślę, że pytania zadawane w teście mogą się nie zgadzać: "Czego potrzebowałbyś nowych programistów SQL w swojej firmie, aby wiedzieć, jak to zrobić?" Tylko mówię. –

Odpowiedz

3

Znaczenie indeksów i kluczy podstawowych/kluczy obcych. Dołącz do składni i zrozumienia różnych typów połączeń (w tym aliasowania tabel). Wybór typu danych (jaki typ kolumny przypisać dla przykładu zestawu danych wejściowych) miałby sens. Zapytania podrzędne (esp korelowane). Przechowywane procedury. Tworzenie zmiennych. Funkcje agregacji i grupowanie. Praktyki tworzenia kopii zapasowych i przywracania.

To krótka lista do rozpoczęcia, jestem ciekawa, z jaką odpowiedzią również inni.

Pomyślałem o kilku innych. Tymczasowe tabele i widoki są dobrymi tematami. Prawdopodobnie tabele przestawne.

+2

Tabele tymczasowe i tabele przestawne mają różną implementację w różnych smakach SQL. –

1

Jeśli jest to kurs podstawowy, powinieneś wiedzieć wszystko pod w3schools i bardzo dobrze z normalizacją. (Kochają prośbą o normalizacji i przyłącza)

2

Moim zdaniem :-) wiedzieć:

  • Data Definition Language (DDL), Co to jest i co robi.

  • Język manipulacji danymi (DML), co to jest i co robi.

  • Prawdopodobnie, język sterowania danymi (DCL), tak samo.

  • Co to jest normalizacja bazy danych.

  • Kim jest Edgar F. Codd. :-D

+0

+1 dla upuszczenia nazwy –

2

Zgadzam się ze wszystkim g.d.d.c. powiedziany. Ponadto:

Projektowanie normalizacyjne i bazy danych.

Musisz zrozumieć teorię zbiorów i dlaczego w bazie danych jest bardzo źle używać przetwarzania wiersz po rzędzie. Musisz zrozumieć, czym jest integralność danych i dlaczego ważne jest egzekwowanie tego w bazie danych, a nie w aplikacji! Być może będziesz musiał przynajmniej trochę wiedzieć, czym jest ORM i dlaczego możesz go użyć.

Konieczna jest znajomość algebry Boole'a.

Klasa podstawowa prawdopodobnie nie wymagałaby zrozumienia dostrajania wydajności, ale ja osobiście nie wynająłbym programisty, który nie miałby do tego pełnego zrozumienia.

W dzisiejszym świecie możesz również być w stanie odpowiedzieć na kilka pytań na temat baz NoSQL i kiedy używać ich wice relacyjnej bazy danych.

1

Wiesz, jak preferować JOIN nad zanieczyszczeniem klauzuli WHERE z łączącymi się elementami.

+0

Klauzula JOIN jest standardowym językiem ANSI, ale nie wszystkie SQL implementują standard ANSI. –

0

Oprócz tego, co powiedzieli mi g.d.d.c., JustBoo i HLGEM, podstawowe zrozumienie transakcji, szczególnie wycofanie i zatwierdzenie. Również TRUNCATE TABLE.