I'm about to take a challenge test so I don't have to take a Database Processing class. Even though I've worked with databases through out the last 5 years, I can't help but be nervous about the test. It's 50 questions and t开发者_JAVA技巧here's 2 parts: a true/false part and a part where I actually write SQL commands. It's non-platform specific.
What are the fundamental things I should know going into this test? What would you require new SQL Developers at your company to know how to do? What questions might be trick questions?
EDIT:
Like I said, it's non-platform specific but it is non-language specific in all ways. There will not be questions about how to connect in ASP.Net, PHP, or other languages.
The importance of Indexes and Primary Keys / Foreign Keys. Join Syntax and an understanding of the various types of Joins (including table aliasing). Data Type Selection (what column type to assign for an example of the input data set) would make sense. Sub Queries (esp correlated). Stored Procedures. Creation of variables. Aggregation functions and Grouping. Backup and Restoration practices.
That's a short list to start, I'm curious to see what other people reply with as well.
I thought of a few more. Temporary tables and Views are both good topics. Possibly Pivot Tables.
In my opinion :-) know:
Data Definition Language (DDL), What it is and what it does.
Data Manipulation Language (DML), What it is and what it does.
Possibly, Data Control Language (DCL), ditto.
What is database normalization.
Who is Edgar F. Codd. :-D
I agree with everything g.d.d.c. said. In addition:
Normalization and database design.
You need to understand set theory and why it is very bad on a database to use row-by-row processing. You need to understand what data integrity is and why it is important to enforce this in the database and not in the application! You might need to be at least a little familiar with what an ORM is and why you might use one.
An understanding of Boolean algebra is needed.
A Basic class would probably not require an understanding of performance tuning but I personally wouldn't hire a developer who didn't have a strong understanding of that.
In today's world you might also be able to answer some questions on NoSQL databases and when to use them vice a relational database.
If its a basic course then you should know everything under w3schools and very good with Normalization. (They love asking about normalizing and joins)
Know to prefer JOIN over polluting the WHERE clause with joining elements.
In addition to what g.d.d.c., JustBoo and HLGEM have said, a basic understanding of transactions, particularly rollback and commit. Also, TRUNCATE TABLE.
精彩评论