Oracle and SQL (CIS50)

Weekly Schedule

Schedule by weekInformation to cover
PowerPoint Presentations: Free PowerPoint viewer for 97,2000,2002 users
Note that the speaker notes are provided on a separate Word document for many of the presentations if you are having trouble accessing them! Please check the weekly schedule multiple times a week, I sometimes add things during the course of the week. Please keep copies of all work you submit until you receive your final grade at the end of the semester.
Unit #14 Finish up week! Please check back! I wanted to get things up for you by the end of July. If I missed something I will post it under unit #14. The next thing is the final.
The final is available, I am going to have you request it when you are ready. You can have it anytime and it is due on Aug 21st. I have had some requests, you can pass it in through the 22nd
Unit #13 Please read the notes and look at the PowerPoint presentations. Spend some time on these topics.
Introduction to procedures
Introduction to functions
Internal procedures
More on internal procedures and functions
Still more on procedures and functions
Introduction to triggers
More on triggers
Introduction to PL/SQL Procedures
      Separate speaker notes for Introduction to PL/SQL Procedures
Introduction to PL/SQL Functions
      Separate speaker notes for Introduction to PL/SQL Functions
More on Procedures - Internal Procedures
      Separate speaker notes for More on Procedures - Internal Procedures
Introduction to Triggers
      Separate speaker notes for Introduction to Triggers
More and Still More on Procedures and Functions
      Separate speaker notes for More and Still More on Procedures and Functions
More on Triggers
      Separate speaker notes for More on Triggers
A site to check out: Tutorials
Assignments:
Procedure, function, trigger assignment
Unit #12 Continue with cursors and then move on to the other things left to cover. Be sure to look at the notes on cursors and the PowerPoints. Also be sure you look at the information about records and tables. There is both a set of notes and a PowerPoint.
These are also posted last week:
Example 1 using cursors
Continuing example 1 using cursors
Another set of cursor examples
Covers: Cursors in PL/SQL, cursor example and continuation of first cursor example
      Separate speaker notes for Cursors in PL/SQL, cursor example and continuation of first cursor example
Covers: Another set of cursor exampes
      Separate speaker notes for Another set of cursor examples
I would also like you to look at the information on exceptions:
Introduction to exceptions
Exceptions in PL/SQL
      Separate speaker notes for Exceptions in PL/SQL
Question about storing multiple fields in a table (array)
More notes on table/arrays
Assignments:
I want you to write a program in Oracle that solves a problem you design. You must use multiple cursors. You also need to include two of the following: table, record, exception (your choice of which exception type). Extra credit if you use all three: table, record,exception. Please include a description of the problem you are solving.
Unit #11 Please try to get comfortable with cursors.
Assignments:
No new assignments. Catch up week!
Unit #10 We will continue looking at cursors this week.
(I plan to look at cursors first and then go back to record and table - that is the way I did it last year and it seemed to work well).
Record and table types
Introduction to cursors
PL/SQL User Defined Types - record and table
      Separate speaker notes for PL/SQL User Defined Types - record and table
Be sure to look at the handouts on cursors. Please note that there are Smartboard explanations on cursor examples and PowerPoint presentations.
Please read the following notes and watch the slide presentation.
Example 1 using cursors
Continuing example 1 using cursors
Another set of cursor examples
Covers: Cursors in PL/SQL, cursor example and continuation of first cursor example
      Separate speaker notes for Cursors in PL/SQL, cursor example and continuation of first cursor example
Covers: Another set of cursor exampes
      Separate speaker notes for Another set of cursor examples
Covers: Cursors in PL/SQL, cursor example and continuation of first cursor example
      Separate speaker notes for Cursors in PL/SQL, cursor example and continuation of first cursor example
I will continue with cursors so please continue to look at the notes and presentations on this topic.
Assignments:
Two assignments:
Script Assignment: I want you to submit the script with the overtime problem and the output so that I know you got things working.
There are three scripts with a .txt, save them and then bring up the Oracle editor and paste in the code and then rename with .sql. Then run createscript.sql or createscript1.sql and also run createtrans.sql in Oracle. Then write the PL/SQL program to read the files using cursors and write out the total hours worked by each employee. Then write a modification to the program that takes salaried workers and divides their salary by 52 and display and take hourly workers and multiply the hours they worked by the pay per hour. Then continuing with modifications, calculate hourly works pay if they make overtime. You should use a base of 40 hours and pay time and a half.
createscript.txt
createscript1.txt
createtrans.txt
scripts
Oracle Cursor Assignment Please note you do not need a cursor for #4 when you are creating tables. My mistake in the assignment.
Unit #9 I have family visiting for the week of July 16th so I am going to basically be on vacation. I will check my email but only periodically.
We will continue with PL/SQL this week. I started with the into PL/SQL and then went and looked at the if statements and loops. Then I went back and looked at the two intro sets of notes. Please make sure you have now covered the PL/SQL through loops.
Introduction to loops
Introduction to loops
      Separate speaker notes for Introduction to loops
In class we will work on developing a simple PL/SQL program.
After loops, we will go back and look at the first few notes on Introduction to PL/SQL and More examples of inner/outer procedures. If time permits we will then look at Data Manipulation in PL/SQL: Data manipulation in PL/SQL - introduction
These topics will probably happen next week, but we might make it.
Data manipulation in PL/SQL - introduction
      Separate speaker notes on Data manipulation in PL/SQL - introduction
You should now have looked at the examples and presentations up to Record and table types and cursors.
Assignments:
IF and LOOP assignment
Unit #8 We will start looking at PL/SQL this week. Started to look at the first handout in this group. Start reading the introductory handout on PL/SQL and look at the PowerPoint presentation!
We will temporarily skip the second handout and go to the one on if statements and continue from there.
first page - we will come back to this later
You should also get started on the following:
Introduction to IF statements
More on PL/SQL IF statements
Also please look at the accompany presentations:
PL/SQL - Using IF statements
      Separate speaker notes for PL/SQL - Using IF statements
More on PL/SQL IF statements
      Separate speaker notes for More on PL/SQL IF statements
After loops, we will go back and look at the first few notes on Introduction to PL/SQL and More examples of inner/outer procedures. If time permits we will then look at Data Manipulation in PL/SQL: Data manipulation in PL/SQL - introduction
These topics will probably happen next week, but we might make it.
Data manipulation in PL/SQL - introduction
      Separate speaker notes on Data manipulation in PL/SQL - introduction
You should now have looked at the examples and presentations up to Record and table types and cursors.
Assignments:
First PL/SQL Quiz
Unit #7 Start looking at indexes this unit. Please look at notes and presentations.
Continuing the discussion on scripts, please read: Script for input data
Read the information on indexes, keys etc. We will start them this week.
Please read the following (again this will hopefully be started this week and will be completed next week):
Indexes in Oracle - An introduction
More on Primary and Foreign keys
Notes on key questions
More on views
Be sure you read about indexes, keys etc in your text as well. Also please look at the accompanying presentations:
Indexes in Oracle - An Introduction
      Separate speaker notes for Indexes in Oracle - An Introduction
Primary and Foreign constraints with a relational database
      Separate speaker notes to accompany primary and foreign constraints with a relational database
More on Primary and Foreign Keys also info from questions
      Separate speaker notes for More on Primary and Foreign Keys etc.
More on views
      Separate speaker notes for More on views
Please look at these handouts - they finish up the coverage of SQL.
Information on database objects
Script for input data
Assignments:
Oracle keys assignment
Unit #6 If you have problems with views, show me the code that you would enter. We had trouble with getting them to work correctly last semester if you are doing them on campus. Home seems to be fine.
Please look at the information on table maintenance and then move on to reports and views.
Table maintenance revisited (again)
Continuation of table maintenance revisited (again)
We are going to start these - may not make it through:
Introduction to views
Introduction to reports
These are the accompanying presentations:
Table maintenance revisited (again)
      Separate speaker notes for Table maintenance revisted (again)
Continuation of table maintenance revisited (again)
      Separate speaker notes for Continuation of table maintenance revisted (again)
Introduction to views
      Separate speaker notes for Introduction to views
Introduction to Reports
      Separate speaker notes for Introduction to reports
Assignments:
Views and reports
Unit #5 Keep reading along in the book - picking appropriate chapters to read or using it as a reference - you should make sure you have read the information on all of the topics we cover. If you read about a chapter a week you will be in good shape. If you decided to use the web references instead, make sure you are checking out topics there.
Please read the notes and handouts on Oracle Joins. We will start subroutines this week.
Please read the following information about subroutines:
Subqueries
More on subqueries
You should also look at the presentation on these topics especially the one that accompanies More on subqueries.
Subqueries
      Separate speaker notes for subqueries
More on Subqueries
      Separate speaker notes for More on subqueries
Zipped subqeries and order example from last week
This is an example that you might find helpful:
Examples Solution
Please start looking at input variables:
Using input variables
More on variables with Oracle's SQL*Plus
Using Input Variables
      Separate speaker notes for Using Input Variables
More on variables with Oracle's SQL*Plus
      Separate speaker notes for More on variables with Oracle's SQL*Plus
Assignments:
Quiz #3
Assignment (mostly on subqueries)
At school, I believe you can access the emp, dept, and salgrade tables by using the scott/tiger login. I am not sure they are available under your log in, please check and let me know. At home you should have them under thes scott tiget login.
Please use the create table ... as to make a copy with your name. Please do not change or modify the emp table under scott. Example of how to create a copy of the donor table so you do not mess up the data in the original table.
        SQL> create table testdonor as
          2  select * from donor;
        Table created.
        
Unit #4 Remember I am putting up two units a week at the beginning so you can work on them at a pace that works for you, there are 15 units in all so you can plan how to fit things into your summer schedule.
Be sure to look at this presentation:
Relational database notes and examples Goes with notes Introduction to multiple tables (relational) - joins - uses donor, donations and drive tables
Be sure you read about using JOIN in your textbook or online and also look at the handout: Oracle Join
Multiple tables using join
Note that you should start to look at subroutines. Check the first set of notes and the first presentation.
Assignments:
Quiz #2
layout a design and send it in for check off only.
Unit #3 If you have the text, I want you to use it as reference - read from the text or from an online resource the material we are covering in class. I go through the course in the order that it was given at Oracle so I am not totally in sync with the book. Information on what we have looked at is in the first 6 chapters. Be sure you do some checking on handling dates either in the text or online.
Check with me if you want to set up a time to meet. We are going to start the week by looking at the theory of relational databases. Please read information about third normal form and relational databases. I have put a variety of links to sources on the Web on the site under links and links to my site are listed below.
Please read the handout on definitions: Normalization definitions
Please read the two examples - the first two postings under notes.
Also view the slide presentation on normalization information about relational databases:
Normalization - information on third normal form
      Separate speaker notes for normalization presentation
Relational database information - information on 1 to 1, 1 to M, and M to M
      Separate speaker notes for relational database information
Other examples can be found at my web site under Notes and handouts - Normalization and Relational Database (scroll down to the bottom of the notes and handouts screen to find them).
We are going to start looking at relating tables, we will continue this next week:
Introduction to multiple tables (relational) - joins
Relational database examples
Relational database notes and examples Goes with notes Introduction to multiple tables (relational) - joins - uses donor, donations and drive tables
      Separate speaker notes for relational database presentation
Relational database examples - order system
      Separate speaker notes for relational database examples - order system
Student system relational database example
      Separate speaker notes for student system relational database example
Be sure to read about joins in your text book, we will look at them next week.
Assignments:
Oil database to design
Implement the oil design See the Smartboard notes for the Fall semester which go over design ideas. I am looking for a very basic structure of three tables for this implementation (customer, house type, delivery (delivery should have a two part key - even though we are not putting in keys right now)).
Unit #2 I need you to take a look at this handout (there is an accompanying PowerPoint). We will not spend a lot of time on this in class, but it goes into some editing techniques you can use.
Working with SQL
These are the notes that you should look at now.
More on maintaining an SQL table
SQL functions
More SQL functions
Group SQL functions
I may go further, so do check back.
You should also look at the accompanying PowerPoint presentations:
More on maintaining an SQL table
      Separate speaker notes for More on maintaining an SQL table
SQL functions - part 1 character
      Separate speaker notes for SQL functions - part 1 characters
SQL functions - part 2 numeric & date
      Separate speaker notes for SQL functions - part 2 numeric & date
More SQL functions (includes DECODE, ways to edit SQL code and nested functions)
      Separate speaker notes for more SQL functions
Group functions
      Separate speaker notes for group functions
Assignments:
Oracle create, maintain and query assignment
Oracle quiz I am interested in having you play computer - I do not want you to use the computer to get the results. You can check your results if you want to, but please do it on your own.
Unit #1 There are 15 units of work during the summer course to match the work done during the Fall or Spring semester. So, during the summer, there are some weeks where you need to do two units of work. I strongly recommend, that you do the extra units at the beginning to give yourself some flexibility. Please check back often, I may add things during the week. If you need help, check my on campus schedule on the home page of this site or contact me via email. Please use the email address I sent you with information about the course.
I recommend the text in the syl, but it is not required. There is enough material on the web and in my notes that I decided to make the book a recommendation. Please note that many students have found it useful to have a copy of the text. Read chapter #1 in the text if you have it The topic is database concepts. You should read and explore the topics that are being covered in class.
You should take this time to get a copy of Oracle if you are working on a computer outside the labs. You can use 8, 8i, 9i or 10g. In our labs we have 9i and 10g. 10g is in K101 and the main lab in the middle of K, 9i is in the other K labs. Note that the host is orcl10g on the machines running 10g.
You need to download Oracle if you plan to use it at home.
Downloading I have also posted information about downloading at the site. This is the version that I downloaded when I downloaded version 10g: Oracle Database 10g Release 2 (10.2.0.1.0) for Microsoft Windows.
Be very careful when you install, Oracle leaves a lot of footprints that makes reinstalling very difficult.
You will be given a username/password for using Oracle at BCC. The default Oracle username and password is scott/tiger.
These are the notes that we are covering this week:
Introduction to SQL in Oracle
Create a table in SQL
SQL Conditions
These are the accompanying presentations:
Presentations:
Introduction to SQL in Oracle
      Separate speaker notes for Introduction to SQL in Oracle
Create a table in SQL
      Separate speaker notes for Create a table in SQL
SQL Conditions
      Separate speaker notes for SQL Conditions
Assignments:
Oracle assignment on introductory material (html)
Oracle assignment on introductory material (doc)
Comment on doing the assignment: You should take the commands you do in SQL and the results and paste them into a word document. It should be similiar to the way I prepared the notes. You then send me the word document.
Note, I will post the second unit mid week.


Google
WWW www.pgrocer.net

Send e-mail to Mrs. Grocer:
pgrocer@bristol.mass.edu

Back to the Top
Return to home page