0% found this document useful (0 votes)
46 views13 pages

Assignment Description.: Language: Oracle SQL. Level: Advanced. Price: 100$

The document provides instructions for an Oracle SQL assignment involving creating tables, adding sample data, and writing queries. Students are asked to: 1) Create tables for a database including tables for Campuses, Positions, Members, Prices, FoodItems, Orders, and OrderLines. 2) Insert sample data into the tables. 3) Write 8 queries to return data from the tables. 4) Create a formatted report based on the Order and OrderLine tables.

Uploaded by

sadiya siddiqua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views13 pages

Assignment Description.: Language: Oracle SQL. Level: Advanced. Price: 100$

The document provides instructions for an Oracle SQL assignment involving creating tables, adding sample data, and writing queries. Students are asked to: 1) Create tables for a database including tables for Campuses, Positions, Members, Prices, FoodItems, Orders, and OrderLines. 2) Insert sample data into the tables. 3) Write 8 queries to return data from the tables. 4) Create a formatted report based on the Order and OrderLine tables.

Uploaded by

sadiya siddiqua
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

Assignment description.

Language: Oracle SQL.


Level: Advanced.
Price: 100$

Programming Assignment.
Assignment 3 - Oracle Database Creation

Overview
In this assignment you will build a sample database similar to the preferred solution
for Assignment 2. You will create the tables in Oracle, add sample data and create
several queries and a report.

Activities
Step 1.

Using Oracle, create the tables identified below in the following order:

DATABASE TABLES:

Campus (CampusID, CampusName, Street, City, State, Zip, Phone, CampusDiscount)

Position (PositionID, Position, YearlyMembershipFee)

Members (MemberID, LastName, FirstName, CampusAddress, CampusPhone,


CampusID, PositionID, ContractDuration)
FK CampusID --> Campus(CampusID)
PositionID --> Position(PositionID)

Prices (FoodItemTypeID, MealType, MealPrice)

FoodItems (FoodItemID, FoodItemName, FoodItemTypeID)


FK FoodItemTypeID --> Prices(FoodItemTypeID)

Orders (OrderID, MemberID, OrderDate)


FK MemberID --> Members(MemberID)

OrderLine (OrderID, FoodItemsID, Quantity)


FK OrderID --> Orders(OrderID)
FoodItemsID --> FoodItems(FoodItemID)

STRUCTURE NOTES:

 Use the proper naming convention for your constraints:


Example: Constraint TableName_FieldName_ConstraintID
(Campus_CampusID_PK)
 Set up the Primary Keys for each table with Constraints listed.
Note: The OrderLine Table has a composite Primary Key
 Add Your Foreign Keys for each table with your Constraints listed.
 Set up your Sequence for the Prices table ONLY. Remember to follow the proper
naming convention.
The Sequence will be used in the insert commands to add your auto numbering
into the Primary Key (FoodItemTypeID) fields. Name the Sequence
"Prices_FoodItemID_Seq"
 Make the Data Types for all the Primary Keys and their corresponding Foreign
Keys Varchar2(5).
 Make the Data Type for OrderDate Varchar2(25). (we won't worry about the
date format, way too complicated for what we are doing).
 Make the Data Types for the MealPrice and YearlyMembershipFee Decimal, 7
digits maximum with 2 digits to the right of the decimal place, so that we can
perform calculations on them.
 Make the Data Types for ContractDuration, and Quantity Integer with 3 digits
maximum for calculation purposes.
 Make the Data Type for CampusDiscount Decimal, 2 digits maximum with 2
digits to the right of the decimal place.

Step 2.

Use the Insert Into Command to add your data to each table. Add data to your primary
tables first and then to your secondary tables. Also, remember to use the sequence
code with your insert statement to add the auto number value to each primary key
field.

DATA TO BE INSERTED:

Campus:
'1','IUPUI','425 University Blvd.','Indianapolis', 'IN','46202', '317-274-4591',.08
'2','Indiana University','107 S. Indiana Ave.','Bloomington', 'IN','47405', '812-855-
4848',.07
'3','Purdue University','475 Stadium Mall Drive','West Lafayette', 'IN','47907', '765-
494-1776',.06

Position:
'1','Lecturer', 1050.50
'2','Associate Professor', 900.50
'3','Assistant Professor', 875.50
'4','Professor', 700.75
'5','Full Professor', 500.50

Members:
'1','Ellen','Monk','009 Purnell', '812-123-1234', '2', '5', 12
'2','Joe','Brady','008 Statford Hall', '765-234-2345', '3', '2', 10
'3','Dave','Davidson','007 Purnell', '812-345-3456', '2', '3', 10
'4','Sebastian','Cole','210 Rutherford Hall', '765-234-2345', '3', '5', 10
'5','Michael','Doo','66C Peobody', '812-548-8956', '2', '1', 10
'6','Jerome','Clark','SL 220', '317-274-9766', '1', '1', 12
'7','Bob','House','ET 329', '317-278-9098', '1', '4', 10
'8','Bridget','Stanley','SI 234', '317-274-5678', '1', '1', 12
'9','Bradley','Wilson','334 Statford Hall', '765-258-2567', '3', '2', 10
Prices:Note - Remember that these Primary Key Values should be entered using the
Sequence (autonumber)
'1','Beer/Wine', 5.50
'2','Dessert', 2.75
'3','Dinner', 15.50
'4','Soft Drink', 2.50
'5','Lunch', 7.25

FoodItems:
'10001','Lager', '1'
'10002','Red Wine', '1'
'10003','White Wine', '1'
'10004','Coke', '4'
'10005','Coffee', '4'
'10006','Chicken a la King', '3'
'10007','Rib Steak', '3'
'10008','Fish and Chips', '3'
'10009','Veggie Delight', '3'
'10010','Chocolate Mousse', '2'
'10011','Carrot Cake', '2'
'10012','Fruit Cup', '2'
'10013','Fish and Chips', '5'
'10014','Angus Beef Burger', '5'
'10015','Cobb Salad', '5'

Orders:
'1', '9', 'March 5, 2005'
'2', '8', 'March 5, 2005'
'3', '7', 'March 5, 2005'
'4', '6', 'March 7, 2005'
'5', '5', 'March 7, 2005'
'6', '4', 'March 10, 2005'
'7', '3', 'March 11, 2005'
'8', '2', 'March 12, 2005'
'9', '1', 'March 13, 2005'

OrderLine:
'1','10001',1
'1','10006',1
'1','10012',1
'2','10004',2
'2','10013',1
'2','10014',1
'3','10005',1
'3','10011',1
'4','10005',2
'4','10004',2
'4','10006',1
'4','10007',1
'4','10010',2
'5','10003',1
'6','10002',2
'7','10005',2
'8','10005',1
'8','10011',1
'9','10001',1

Step 3.

Create the queries listed below:

NOTE: Before you begin to run Queries 1 - 8, Enter the following two commands at the
SQL Prompt:

Set Linesize 110


Set Pagesize 90

This will allow you to see most, if not all, of your data without it wrapping.

1. Select all records from each table


2. List all of your constraints in the database
3. List all of your table names in the database
4. List your sequence name in the database
select sequence_name
from user_sequences;
5. List the Columns and Datatypes of each table
6. Create a listing of all Faculty Members (First and Last), their Faculty Position
and the University that they are affiliated with (Name), along with their
Monthly_Dues (Calculated Field with a column alias). Sort the records in
descending order by University and then by Faculty's last name in ascending
order.
7. Create a listing that shows the various food items that the faculty club serves
(Name of the food item, type of food item and the price of the food item). Note:
List no alcoholic beverages. Sort the records in ascending order by price.
8. List the OrderID, Order Date, Faculty Member's Name, Campus Name, each
FoodItem that makes up a given order, the type of meal, cost of the meal,
quantity ordered and the total line total (calculated field and column alias). Sort
by Order IDs in descending order.

Step 4.

Create 1 formatted Report following the examples given in the SQL Book. The report
should be similar to the following in format:

Click the Link to view report format

View Requirements:

 You will have to create a view that contains your report data. View Name:
IFC_Report
 Sort your data in ascending order by the OrderID within your view.
 This view is similar in structure to Query 8 in Step 3.
 The grouping information within the report that does not repeat contains 5
fields concatenated together.
Include Fields: OrderID, OrderDate, FirstName, LastName and CampusName)
 The last field of the report (Totals) is a calculated field. This field takes into
consideration the following:
Line Item total with the Campus Discount and tax of 6% figured in.

Report Requirements:

 Make sure that you list the report title and headings as listed on the report.
 Make sure that you set your formatting for each column in your report.
Remember that there are different formats for Character and Number
Datatypes.
 Sums (totals) are calculated for each order grouping (info that does not repeat)
and for the entire report.
 Remember that the linesize, pagesize, amount of characters that you allot to
each field's format and the number of lines that you skip for your grouping will
all affect your report's outputted display.

In the final text file that you will submit, name your queries Query 1 through Query 8,
matching the criteria above. NOTE: Query 1 would be labeled Query1a, Query1b,
Query1c depending on the number of tables that you have in your database.

Hand In
Submit one Clean combined text file that has each query name, query command and
the output directly under the command in the order that they are listed in the
assignment above and the one error file in the Assignment 3 Dropbox.

Solution.
create_structure.sql

--------------------------------- STEP 1 ---------------------------------

CREATE TABLE Camp (


CampID varchar2(5),
CampName varchar2(100),
Street varchar2(100),
City varchar2(100),
State varchar2(100),
Zip varchar2(100),
Phone varchar2(100),
CampDiscount decimal (2,2)
);
ALTER TABLE Camp ADD
CONSTRAINT Camp_CampID_PK
PRIMARY KEY (CampID);

-- Position
CREATE TABLE Position1 (
Position1ID varchar2(5),
Position1 varchar2(100),
YearlyMembershipFee decimal (7,2)
);

ALTER TABLE Position1 ADD


CONSTRAINT Position1_Position1ID_PK
PRIMARY KEY (Position1ID);

CREATE TABLE Members1 (


Member1ID varchar2(5),
LastName varchar2(100),
FirstName varchar2(40),
CampAddress varchar2(40),
CampPhone varchar2(50),
CampID varchar2(5),
Position1ID varchar2(5),
ContractDuration INTEGER
);
ALTER TABLE Members1 ADD
CONSTRAINT Members1_Member1ID_PK
PRIMARY KEY (Member1ID);

ALTER TABLE Members1 ADD


CONSTRAINT Members1_CampID_FK
FOREIGN KEY (CampID)
REFERENCES Camp;

ALTER TABLE Members1 ADD


CONSTRAINT Members1_Position1ID_FK
FOREIGN KEY (Position1ID)
REFERENCES Position1;

CREATE SEQUENCE Price_FoodItemTypeID_SEQ


START WITH 1
INCREMENT BY 1
NOCACHE
NOCYCLE;

CREATE TABLE Prices1 (


FoodItemTypeID varchar2(5) ,
MealType varchar2(100),
MealPrice decimal(7,2)
);
ALTER TABLE Prices1 ADD
CONSTRAINT Prices1_FoodItemTypeID_PK
PRIMARY KEY (FoodItemTypeID);

CREATE TABLE Food1Items (


Food1ItemID varchar2(5),
Food1ItemName varchar2(100),
Food1ItemTypeID varchar2(5)
);

ALTER TABLE Food1Items ADD


CONSTRAINT Food1Items_Food1ItemID_PK
PRIMARY KEY (Food1ItemID);

ALTER TABLE Food1Items ADD


CONSTRAINT Food1Items_Food1ItemID_FK
FOREIGN KEY (Food1ItemTypeID)
REFERENCES Prices1;
CREATE TABLE Orders1 (
Order1ID varchar2(5),
MemberID varchar2(5),
OrderDate varchar2(25)
);

ALTER TABLE Orders1 ADD


CONSTRAINT Orders1_Order1ID_PK
PRIMARY KEY (Order1ID);

ALTER TABLE Orders1 ADD


CONSTRAINT Orders1_MemberID_FK
FOREIGN KEY (MemberID)
REFERENCES Members1;

CREATE TABLE OrderLine1 (


OrderID varchar2(5),
FoodItemsID varchar2(5),
Quantity INTEGER
);
ALTER TABLE OrderLine1 ADD
CONSTRAINT OrderLine1_ORDERFOODIDS_PK
PRIMARY KEY (OrderID, FoodItemsID);

ALTER TABLE OrderLine1 ADD


CONSTRAINT Orders1_OrderID_FK
FOREIGN KEY (OrderID)
REFERENCES Orders;

ALTER TABLE OrderLine1 ADD


CONSTRAINT Orders1_Food1ItemsID_FK
FOREIGN KEY (FoodItemsID)
REFERENCES FoodItems(FoodItemID);

INSERT INTO Camp


VALUES ('1', 'IUPUI', '425 University Blvd.','Indianapolis', 'IN', '46202', '317-274-4591',.08 );
INSERT INTO Camp
VALUES ('2', 'Indiana University', '107 S. Indiana Ave.','Bloomington', 'IN', '47405', '812-855-4848',.07
);

INSERT INTO Camp


VALUES ('3', 'Purdue University', '475 Stadium Mall Drive','West Lafayette', 'IN', '47907', '765-494-
1776',.06 );

-- Position
INSERT INTO Position
VALUES ('1', 'Lecturer', 1050.50);

INSERT INTO Position


VALUES ('2', 'Associate Professor', 900.50);

INSERT INTO Position


VALUES ('3', 'Assistant Professor', 875.50);

INSERT INTO Position


VALUES ('4', 'Professor', 700.75);

INSERT INTO Position


VALUES ('5', 'Full Professor', 500.50);

-- Members
INSERT INTO Members
VALUES ('1', 'Ellen', 'Monk', '009 Purnell', '812-123-1234', '2', '5', 12);

INSERT INTO Members


VALUES ('2', 'Joe', 'Brady', '008 Statford Hall', '765-234-2345', '3', '2', 10);

VALUES ('3', 'Dave', 'Davidson', '007 Purnell', '812-345-3456', '2', '3', 10);

INSERT INTO Members


VALUES ('4', 'Sebastian', 'Cole', '210 Rutherford Hall', '765-234-2345', '3', '5', 10);

INSERT INTO Members


VALUES ('5', 'Michael', 'Doo', '66C Peobody', '812-548-8956', '2', '1', 10);

INSERT INTO Members


VALUES ('6', 'Jerome', 'Clark', 'SL 220', '317-274-9766', '1', '1', 12);
INSERT INTO Members
VALUES ('7', 'Bob', 'House', 'ET 329', '317-278-9098', '1', '4', 10);

INSERT INTO Members


VALUES ('8', 'Bridget', 'Stanley', 'SI 234', '317-274-5678', '1', '1', 12);

INSERT INTO Members


VALUES ('9', 'Bradley', 'Wilson', '334 Statford Hall', '765-258-2567', '3', '2', 10);

-- Prices
INSERT INTO Prices
VALUES (Prices_FoodItemTypeID_SEQ.NEXTVAL, 'Beer/Wine', 5.50);

INSERT INTO Prices


VALUES (Prices_FoodItemTypeID_SEQ.NEXTVAL, 'Dessert', 2.75);

INSERT INTO Prices


VALUES (Prices_FoodItemTypeID_SEQ.NEXTVAL, 'Dinner', 15.50);

INSERT INTO Prices


VALUES (Prices_FoodItemTypeID_SEQ.NEXTVAL, 'Soft Drink', 2.50);

INSERT INTO Prices


VALUES (Prices_FoodItemTypeID_SEQ.NEXTVAL, 'Lunch', 7.25);

-- FoodItems
INSERT INTO FoodItems
VALUES ('10001', 'Lager', '1');

INSERT INTO FoodItems


VALUES ('10002', 'Red Wine', '1');

INSERT INTO FoodItems


VALUES ('10003', 'White Wine', '1');

INSERT INTO FoodItems


VALUES ('10004', 'Coke', '4');

INSERT INTO FoodItems


VALUES ('10005', 'Coffee', '4');

INSERT INTO FoodItems


VALUES ('10006', 'Chicken a la King', '3');

INSERT INTO FoodItems


VALUES ('10007', 'Rib Steak', '3');

INSERT INTO FoodItems


VALUES ('10008', 'Fish and Chips', '3');

INSERT INTO FoodItems


VALUES ('10009', 'Veggie Delight', '3');

INSERT INTO FoodItems


VALUES ('10010', 'Chocolate Mousse', '2');

INSERT INTO FoodItems


VALUES ('10011', 'Carrot Cake', '2');

INSERT INTO FoodItems


VALUES ('10012', 'Fruit Cup', '2');

INSERT INTO FoodItems

You might also like