[Syllabus ] [Announcements] [Calendar/Lecture Notes] [Homeworks] [Resources] [Fun News]
Welcome to CS4250, an introduction to database management systems. Topics include:
Modeling, development, and implementation of database systems using storage structures, data definition languages, and data manipulation languages for the relational approach to database management. Database integrity and security problems. Historical development of database systems. 3 units. (Academic Catalog description.)
Prerequisite: CS 3100.
Announcements and Upcoming Events
| Date | Announcement or News |
|---|---|
| 24 March 2026 | If you want to connect to the campus VPN to work with PhpMyAdmin, instructions for CSU students on how to connect to the campus VPN (Virtual Private Network) are here: "OIT's Installing Global Protect VPN" article. Thank student GC for finding the link for us. |
| 18 Mar 2026 |
Here is one small chunk of the midterm
you will take on Friday during class time. |
| 6 March 2026 | O.C. caught a syntax error in today's slides. The corrected information is "CREATE VIEW viewname [(viewcolname,viewcolname...)] AS..." (A ] has been removed.) For more information, see IBM's View Columns documentation for Informix. |
| 4 March 2026 | "Top 10 Highest-Paid Tech Jobs in 2026", 2026 Jan 21, TechRepublic.com |
| 2 Mar 2026 |
For our in-class exercise work this week: Schema: Earthquake (qname, qdate, latitude, longitude, magnitude, fault) Damage(cityID, qname, cost, liveslost) Cities(cID, cname, latitude, longitude, population) [city names may not be unique] Questions (in SQL, and relational algebra where possible):
|
| 27 Feb 2026 |
One student wrote: "What is the max number of columns allowed in a table?" as their sample exam question. This question will not be on the exam, because I suspect the answer is dependent on which DBMS software you are using. But it is a good question. For example, Microsoft's SQL Server has a limit of 1,024 columns per table (30,000 columns if the table is using "sparse column sets"). Here is Microsoft's "Maximum capacity specifications for SQL Server" page. |
| 27 Feb 2026 |
Sample tables for classroom exercises: CREATE TABLE Books(title char(40), lastname CHAR(40), firstname CHAR(40), pubyear INTEGER, bookID INTEGER PRIMARY KEY) CREATE TABLE AwardWinners (bookID INTEGER, year INTEGER, award CHAR(60), authorage INTEGER, PRIMARY KEY (bookID, award, year)) CREATE TABLE Awards (awardname char(60), primary key (awardname)) (Note that, to fit on a PPT slide, foreign key key declarations were left out) |
| 20 February 2026 | More job market news: "Employers Project Salary Increases for Most New Graduates", insidehighered.com, 19 Feb 2026 |
| 18 February 2026 |
"These are the fastest-growing skills companies are hiring for, according to new report", cnbc.com, February 9, 2026.
Top tech jobs 2026: 5 of the fastest-growing tech, AI careers", mashable.com, February 7, 2026. |
| 30 January 2026 | Per today's discussion: Tim Berners-Lee's Wikipedia page -- designed and build world's first web browser, website... started the whole WWW shebang. Also, Google reports that the 2026 Winter Olympics start in Italy on February 6, 2026. |
| 28 January 2026 | Welcome to CS 4250! |
| Assignment | Points |
|---|---|
| Project Part 1 | 20 |
| Project Part 2 | 25 + 6 |
| Homework 1 | 30 |
| Project Part 3 | 20 |
| Homework 2 | 15 |
| SQL Mini-Quizzes | 10 pts each |
| Project Part 4 | 10 |
| Project Part 5 | 25 |
| Project Part 6 | 12 |
Books at the CSU Stanislaus Library
- Database Systems: The Complete Book by Garcia-Molina, Ullman and Widom, three extremely well-respected database researchers and professors at Stanford University.
- Database Management Systems by Raghu Ramakrishnan and Johannes Gherke, excellent, systems-oriented introduction to the field of database management.
- Database Tuning by Dennis Sasha and Philippe Bonet. A clear presentation of how database design decisions impact database performance. Also discusses IBM, Oracle and Microsoft systems and how design choices can impact them.
- Readings in Database Systems by M. Stonebraker. A collection of influential papers in DBMS research history.
- Computer Science & Information Systems from the CSU Stanislaus Library -- easiest link to reach the Safari TechBooks collection, where many books about SQL, etc, can be found. (You'll need your CSU Stanislaus student credentials to log in.)
The Ramakrishnan and Garcia-Molina/Ullman/Widom textbooks are both available at the university library.
DBMS Resources
- IBM's DB2, etc
- MySQL
- Oracle
- PostgreSQL
- Microsoft SQL Server
- SQLite
- 'cd' (Unix/Mac) or 'chdir' (Windows/ Command Prompt) your command line window into whatever folder you put the files you downloaded and unzipped, and type ./sqlite3 (Unix/Mac) or .\sqlite3 (Windows) and the SQLite command line tool should start up.
- I've put the start-up file of SQL commands here. I usually copy-and-paste the ch5-demo.sql file's contents into the sqlite3 command prompt. (There is an import command, but it has occasionally behaved oddly for me.)
- Basic instructions for the command line SQLite are here.
- SQLFiddle.com -- a web site that allows users to "fiddle around" with SQL.
- JDBC Tutorial, courtesy Jeff Ullman
- JDBC Tutorial, courtesy Oracle
- MySQL Tutorial - pure tutorial web site
- Phlonx's Third Normal Form Tutorial, with numerous illustrative diagrams
- XKCD on SQL
- "Hard drive teardown", EngineerGuy video
- Podcast: "Where the Internet Lives", 2020-2021. A Google-centric view into the insides of data centers, and interviews with assorted people who work at them. May give you insights into possible future careers.
- "Episode 485: Howard Chu on B+tree Data Structure in Depth", from the Software Engineering Radio podcast -- a one hour introduction to the most popular data structure in database systems
- For more information on ...
- ... the ARIES recovery algorithm, the paper to read is
"ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging", which someone already put online on the Stanford web site.
C. Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz. 1992. ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst. 17, 1 (March 1992), 94-162. https://doi.org/10.1145/128765.128770 - ... "optimistic locking techniques vs strict two-phase locking",
the paper to read is "Concurrency control performance modeling: alternatives and implications", which someone put online on the UCBerkeley web site.
Rakesh Agrawal, Michael J. Carey, and Miron Livny. 1987. Concurrency control performance modeling: alternatives and implications. ACM Trans. Database Syst. 12, 4 (Dec. 1987), 609-654. https://doi.org/10.1145/32204.32220 - I know of a nice introduction to ARIES written by Mike Franklin but, tragically, it was published in a book that we have no access to.
- ... the ARIES recovery algorithm, the paper to read is
"ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging", which someone already put online on the Stanford web site.
