PrerequisitesNo prerequisite knowledge required at all, typically your skills will include a working familiarity with the Windows 95 environment but no prior knowledge of SQL. The most successful students on this course are those who can type accurately and consistently, and can cope with 'syntax' as SQL is a syntactically fussy language. Typically students will have coded in some other language but it is not necessary to have done so to be successful on this course. The course is constructed with a view to being able to cope with students who may wish to move at a faster or slower pace than others.
Course Content
Introduction to Relational Databases
The need for an SQL standard; The ANSI standards; What is a database?; What is a relational database?; Components of a relational database; The database; Anatomy of a table; Primary and foreign keys; Joins; Components of SQL
Data Manipulation Language
Select operations; Distinct; Virtual columns; Column aliases; Functions; Restricting the rows returned; Multiple conditions; Ordering data; Inserting rows; Updating rows; Deleting rows; Joining tables; Cross, Natural, Inner, Outer, Full, Left and Right; Composite joins; Table aliases; Self joins
Data Definition Language
Data types; Column attributes; Create domain; Create table; Primary and foreign keys; Referential integrity; Assertions; Alter and drop tables; Defining simple views; Views with virtual columns; Restricted-column views; Joined-table views; Restricted-row views; View restrictions
Data Manipulation Language (Advanced)
Table aggregates; Group by and aggregates; The Having clause; Using Sub-queries with selects and inserts; Exists; Co-related Sub-queries
Data Control Language
Identifying users; Setting privileges; Grant and revoke; Schemas and the system catalog
Performance Issues
Table design; Creating and dropping indexes; Choosing columns to index; Tuning SQL; The
optimizer; Statistics
SQL in the Client/Server World
Stored procedures; Triggers; Transactions and locks; SQL and other languages; SQL 3; OQL
Recommended Follow-on Courses
Database Analysis and Design