Portal:SQL

This is a placeholder for Portal:Engineering and Technology --> School:Computer Science --> Topic:Computer Programming --> Topic:SQL

Greetings! Welcome to SQL, and prepare yourself to learn one of the most critical tools in the developer's arsenal. SQL (Structured Query Language) is no ordinary programming language. It has one purpose, and one purpose only--to manipulate data stored in a database. If you've completed the prerequisite courses, you'll know now that databases of one form or another drive a great deal of the software in the world. SQL enables us to use databases, whether we're browsing through the database ourselves, or programming a SQL statement into some other language for dynamic database manipulation. SQL transcends other languages--programs are rarely written in SQL, rather, SQL can be embedded in nearly any other language to give access to the data contained in the database.

Prerequisites
Learners interested in SQL should first enroll at School:Computer Science, Computer Programming and Databases.
 * Introduction to Databases
 * Introduction to Programming

Course Description
SQL is an acronym for Structured Query Language used for managing databases. This unit covers a variety of Database Management Systems including:
 * Microsoft SQL Server
 * MySQL
 * Oracle
 * PostgreSQL
 * SQLite
 * Object-relational databases

We begin with a generic treatment of SQL syntax and semantics as a prerequisite to the product-specific topics above.

Lessons

 * Introduction to SQL - Starting from nothing, you will learn to create a database, build tables, and insert and retrieve data.
 * SQL's Place in Software Architecture - Learn to tell the server what you want and how you want it.
 * Data Relationships - A review of relationships.
 * Fundamentals of Normalization - Using SQL to create a normalized database (and why this matters)
 * Order, Group, and Count - Getting your data to fall in line.
 * Search Strategies - Using "like" and full text searching (on platforms that support it)
 * Advanced Techniques for Complex Select Statements - Joining table on table, and doing useful things with data before it even reaches your application.
 * Using Temporary Tables - When Select no longer cuts it.
 * Transactions - Doing two or more statements in such a way that if any statement fails, they both fail.
 * SQL for Database Administration - Administering user accounts, viewing usage, and performing tasks like backups and merging, all using SQL.
 * The Future of SQL - Examines technologies such as Ruby on Rails and Pear::MDB2, which help developers achieve platform independence, as well as (in the case of Rails) eliminate much of the SQL from application code.

Enrolled
Please sign below if you are participating in this topic. Use 4 tildes (~) to sign.
 * CQ 00:41, 14 November 2006 (UTC)
 * Possible Instructor: AustinSmith 06:50, 1 December 2006 (UTC)
 * Cpraneeth 07:56, 28 February 2007 (UTC)
 * Slayter 00:45, 3 July 2007 (UTC)
 * buffyinfaith 15:24, 31 July 2007 (UTC)

Wikibook

 * Structured Query Language: The SQL standard, including lots of exercises.