CSCI 52 - Introduction to SQL

Description

Survey of SQL (Structured Query Language). Includes database models, database design, table and view definition, transaction and data manipulation, queries and reports, data integrity, stored procedures, triggers, recovery and security. Hands-on experience using a popular SQL database.

Prerequisites

Completion of CSCI 10 with a grade of "C" or better.

Course Outcomes

Lecture Objectives:
1. Design a database consisting of two or more tables from a written description of requirements. The design should include appropriately-named entities and attributes and appropriate data types.
2. Express a database design in an Entity Relationship Diagram using industry-recognized symbologies.
3. Enforce data integrity by utilizing any or all of the following constraints: primary key, foreign key, not null, unique, and check.
4. Analyze a query for potential optimizations and re-express the query in a more optimal form.
5. Analyze the schema of an un-normalized database and transform it into equivalent 1st, 2nd, and 3rd Normal Forms.
6. Identify many-to-many relationships between tables in a database design and transform them into equivalent one-to-many relationships using resolution tables.
7. Analyze tables to determine where indexes would increase the efficiency of queries. Apply indexes to the appropriate tables and fields. Test the hypothesis by measuring the increase or decrease in efficiency.

Laboratory Objectives:
1. Construct valid SQL commands to create tables corresponding to a written description or ERD.
2. Construct valid SQL commands to insert, modify, and delete data into/from the tables.
3. Construct valid SQL commands to populate tables from tab-delimited and comma-separated external data files.
4. Based on written descriptions of the data to be selected and the format and ordering of the output, construct valid SQL commands to select data from one or more tables using joins, nested subqueries, functions, and/or operators where necessary.
5. Construct valid SQL commands to create and use views of multiple tables.
6. Construct valid SQL commands to create and use stored procedures and functions.

Faculty

Barry Brown (classroom)

Availability

This course is offered during Spring and Fall semesters in a traditional classroom setting.