CIS 331: Introduction to Database Systems

Lab: Monday 8:40 - 10:30, Wachman 200
Office hours: Monday, 14:00 - 15:00, Wachman 321; Friday, 14:30 - 16:30, Wachman 213
Course web site: http://knight.cis.temple.edu/~vasilis/Courses/CIS331

Useful links:





Lab 1

Topics:

  • Introduction to the Structured Query Language (aka SQL)
  • Oracle, Oracle's SQL*Plus

Lab presentation:

Before we start:
  • Create an account with Oracle Technology Network - http://otn.oracle.com
  • Create a SQL directory on the Z: drive (Z:\SQL). This will be the place to store your sql scripts, etc.
  • Create a shortcut to SQL*Plus on your desktop (an easy way to do this is to hold Control and drag the shortcut from the Start menu).
  • Right-click on the SQL*Plus icon on the desktop, click on Properties, and change the Start In property to "Z:\SQL\"

(Very, very basic) Introduction to SQL

SQL*Plus





Lab 2

Topics:

  • E-R Diagrams
  • Relational Algebra Operators

Lab presentation:

Recitation session. Example of a Library Database E-R diagram.




Lab 3

Topics:

  • E-R Diagrams
  • ER Studio CASE tool

Lab presentation:

Demonstration of ER Studio's capabilities. Reverse engineering of an existing Oracle database. Converting a sample E-R diagram into an ER Studio model: creating entites, specifing data types, creating relationships, generating DDL SQL scripts, generating tables in Oracle.



Lab 4

Topics:

  • SQL: CREATE & DROP TABLE, SELECT, ORDER BY
  • Set Operattions
  • Aggregate Functions, GROUP BY and HAVING
  • Nested Queries

Lab presentation:

students_create.sql
students_populate.sql
students_drop.sql

select.sql
aggregate.sql




Lab 5

Topics:

  • SQL: INSERT, UPDATE, DELETE, ALTER, VIEWS
  • Oracle: FORMAT ... COLUMN ... , USER_TABLES, USER_VIEWS, USER_OBJECTS

Lab presentation:

insert.sql
views.sql




Lab 6

Topics:

  • SQL
  • Oracle's SQL*Loader

Lab presentation:

SQL*Loader
More SQL examples before the Midterm




Lab 7

Topics:

  • OUTER JOINS

Lab presentation:

Outer joins
SQL*Plus Strings and Variables




Lab 8

Topics:

  • JDBC
  • ODBC

Lab presentation:

Introduction to Oracle JDBC
Oracle JDBC Driver Download Page
Oracle JDBC FAQ
Code example: JDBCTest.java

Oracle FAQ: Oracle ODBC Connectivity
Oracle ODBC Driver Download Page
Microsoft ODBC
Microsoft ODBC Driver for Oracle




Normalization Lecture

Topics:





Lab 9

Topics:

  • ER Modelling + Project Defintion
  • SQL

Lab presentation:

Project Description and Specification




Lab 10

Topics:

  • SQL

Lab presentation:

Common Errors when Writing SQL Code




Lab 11

Topics:

  • Indexes in Oracle
  • ODBC/JDBC in relation to the project (review)

Lab presentation:

Indexes in Oracle
Index discussion




Lab 12

Topics:

  • Transactions in Oracle

Lab presentation:

Transactions in Oracle




Lab 13

Topics:

  • PL/SQL

Lab presentation:

PL/SQL Primer




Data Mining Lecture

Topics:





Lab 14

Lab presentation:

Last lab -- project demonstrations.