Courses/CS 122/Winter 2009
From CSWiki
Contents |
[edit] General Information
[edit] About This Course
CS122 - Introduction to Relational Databases and SQL is an introductory database course that focuses on the most popular and widely used database -- the relational database. This course will also introduce you to some beginning programming elements through the use of the Structured Query Language, SQL, which we use to answer questions related to our database.
[edit] Deadlines
- Add Deadline: 01/20
- Drop Deadline (No Record): 01/12
- Drop Deadline (Withdrawal): 02/19
- Drop Deadline (Emergency Withdrawal): 03/12
[edit] Class Notes
[edit] Important Documents
- Syllabus
- Movie Archive Database Scripts
- Movie Archive Database Description
- Movie Archive Database Relationship Diagram
- Toy Store Database Scripts
- Toy Store Database Description
- Toy Store Database Relationship Diagram
- Course Grade Sheet
[edit] Important Software
[edit] Lab Assignments
- 10 Questions from Movie Archive Database
- 3 Points/Question
- Upload assignments via CSNS
- Due at end of laboratory session, Thursday at 6:00 PM
[edit] Homework
- 5 Questions from Movie Archive Database
- 3 Points/Question
- Upload homework via CSNS
- Due the following Monday at 11:59 PM
[edit] Weekly Schedule
- Week 1. Introduction.
- 01/06: Lecture Notes
- 01/08: Lab Assignment #0
- Week 2. Single-Table Selections.
- 01/13: Lecture Notes
- 01/15: Lab Assignment #1
- Week 3. Joins.
- 01/20: Lecture Notes
- 01/22: Lab Assignment #2
- Week 4. Functions.
- 01/27: Lecture Notes
- 01/29: Lab Assignment #3
- Week 5. Set Functions.
- 02/03: Lecture Notes
- 02/05: Lab Assignment #4
- Week 6. Midterm Review and Midterm.
- 02/10: Midterm Review
- 02/12: Midterm
- Week 7. Subqueries and Set Operations.
- 02/17: Lecture Notes
- 02/19: Lab Assignment #5
- Week 8. Data Manipulation Language (DML).
- 02/24: Lecture Notes
- 02/26: Lab Assignment #6
- Week 9. Data Definition Language (DDL).
- 03/03: Lecture Notes
- 03/05: Lab Assignment #7
- Week 10. Advanced Topics.
- Week 11. Final Examination.
[edit] Resources
[edit] Books
- The Relational Model for Database Management, Version 2
A 1990 book by Edgar F. Codd, the inventor of the relational database model. You may find particularly interesting pages 12-13 and chapter 23; since this is an SQL class, check out what Dr. Codd thought about SQL at that time. NOTE: To read this book, you must be either on a school computer or have an Association for Computing Machinery account (it costs roughly $60 last time I checked to be a student member and to have access to their digital library).
[edit] Journal Articles
- SEQUEL: A Structured English Query Language
The original 1974 paper where the relational database query language, SEQUEL (Structured English Query Language, now known as SQL), was introduced. A basic summary of this paper goes like this: "Listen, this ALPHA language and even our own older language that we called SQUARE is just too difficult for someone not entitled "Professor" to understand. We need a new language for people who aren't so mathematical and we've borrowed some elements from structured programming to build a new language called SEQUEL that makes extracting data from a relational database so easy even a caveman can do it."
- Relational Database: A Practical Foundation for Productivity
Edgar F. Codd's Turing Award acceptance lecture. A nice summary on the history of the relational database model (you may notice that he uses the more general term "data model" rather than "database model"). Dr. Codd received the Turing Award (ACM's most prestigious technical award, named after Alan Turing) in 1981.
[edit] ACM and IEEE Membership
- As students in computer science, you should all know, and know early in your young academic careers, that computer science is a research-oriented field. You should also know about the two largest publishers of computer science literature and research, the ACM (Association for Computing Machinery) and the IEEE (Institute of Electrical and Electronics Engineers). Both organizations provide yearly student membership at discount prices; not to mention that being a member for several years also looks good on your resume -- especially if you become a member of multiple IEEE computer-related societies (the IEEE is not just for engineers).
- I would like to encourage you guys to become members of the ACM and IEEE, and subscribe to their digital libraries and look around to get interested in something as early as possible. There is just so much interesting stuff in computer science and our school can only teach a very small portion of it! To truly appreciate all the wonders of computer science, you really do have to branch out on your own and explore the entire world for yourself!
- There are also ACM and IEEE CSULA student chapters (clubs) that you may also join. Sometimes, these and other clubs such as NSBE (National Society of Black Engineers) get together to have bowling and gaming nights, and, in general, have a lot of fun. When wandering around the halls of the A building, once in a while just look out for any ACM or IEEE flyers posted on the bulletin boards to see when and where the next meetings are and join in, make some new friends, and contribute!

