Sie sind auf Seite 1von 20

DATABASE APPLICATION TECHNOLOGIES

Student : Cecillia Jane Johnson

Student ID : 000908127

Course : University of Greenwich Bsc (Hons) Computing (3+0)

Course Code : COMP 1556

Course Coordinator : Dr Madeleine Togher

Tutor Name : Puan.Rosmah

Due Date : 17/04/2017

.
D1 Conceptual data model
D2 Logical Data Model

Member (memberID)

Orders (orderID, memberID, albumID, invoiceID)

Album (albumID, artistID )

Invoice (invoiceNO)

Catalogue(cataID)

Artist(artistID)

Song(songID, albumID , artistID)


D3 -Normalised

Member(memberID,Mname,DOB,ContactNum,address,joinDate,endDate,gender)

Order(orderID,memberID,albumID,price,,invoiceNO)

Invoice(invoiceID,datePurchased,purchasedMethod,totalPrice,)

Album(albumID,artistName,type,albumName,totalprice,CDcount,year)

OrderAlbum (orderID , albumID, orderQua

Song(songID,albumID,artistName,songName,songDuration)

Artist(artistName)
D5 : SQL code for creation and insertion
create table MEMBER
(memberID Number (2),
Mname VARCHAR2(40),
gender char(1),
address VARCHAR2(100),
DOB DATE,
contactNum NUMBER(11),
joinDate DATE,
endDate DATE)

drop table Album cascade constraints

create table Album


(albumID Number (4),
albumName VARCHAR2(40),
type VARCHAR2(50),
artistName VARCHAR2(40),
price DECIMAL(18,2),
CDcount NUMBER(4),
year DATE))

drop table Song cascade constraints

create table Song


(albumID NUMBER(4),
songID NUMBER(4),
songName VARCHAR2(30),
songduration NUMBER(4))
create table Artist
(artistName VARCHAR2(40))

drop table Orders cascade constraints

create table Orders


(orderID Number (6),
memberID NUMBER(2),
albumID NUMBER(4),
totalprice DECIMAL(18,2),
payMethod VARCHAR2(40),
dateOrder DATE )

create table OrderAlbum


(orderID NUMBER(6),
albumID NUMBER(4),
orderQua NUMBER(6))

drop table Invoice cascade constraints

create table Invoice


(orderID NUMBER(6),
invoiceNO NUMBER(6))

drop table CATALOGUE cascade constraints

create table Catalogue


(cataID Number (4),
memberID NUMBER(2),
title VARCHAR2(40),
month VARCHAR2(20) )

--adding pk and fk

ALTER TABLE MEMBER ADD CONSTRAINT pk_memberID_MEMBER PRIMARY


KEY(memberID)

ALTER TABLE Orders ADD CONSTRAINT pk_orderID_Orders PRIMARY KEY(orderID)

ALTER TABLE Album ADD CONSTRAINT pk_albumID_Album PRIMARY


KEY(albumID)

ALTER TABLE Artist ADD CONSTRAINT pk_artistName_Artist PRIMARY


KEY(artistName)

ALTER TABLE Catalogue ADD CONSTRAINT pk_cataID_Catalogue PRIMARY


KEY(cataID)

ALTER TABLE Invoice ADD CONSTRAINT pk_invoiceNO PRIMARY KEY (invoiceNO)

ALTER TABLE OrderAlbum ADD CONSTRAINT pk_OrderAlbum PRIMARY KEY


(orderID,albumID)

ALTER TABLE Song ADD CONSTRAINT pk_Song PRIMARY KEY (albumID,songID)

ALTER TABLE Orders ADD CONSTRAINT fk_memberID_Orders FOREIGN


KEY(memberID) REFERENCES MEMBER

ALTER TABLE Catalogue ADD CONSTRAINT fk_memberID_Catalogue FOREIGN


KEY(memberID) REFERENCES MEMBER

ALTER TABLE Orders ADD CONSTRAINT fk_albumID_Album FOREIGN


KEY(albumID) REFERENCES Album
ALTER TABLE Album ADD CONSTRAINT fk_artistName_Album FOREIGN
KEY(artistName) REFERENCES Artist

ALTER TABLE Invoice ADD CONSTRAINT fk_orderID_Invoice FOREIGN KEY(orderID)


REFERENCES Orders

-- insert values into table

INSERT INTO Member VALUES (01,'Tara','F','8,King


Street,Georgetown,Penang','12-May-1994','0165436767','19-JUN-2016','19-JUN-
2017')

INSERT INTO Member VALUES (02,'JACK','M','88,Greenhall Street


Georgetown,Penang','9-JAN-1992','0111890712','20-APR-2016','20-APR-2017')

INSERT INTO Member VALUES (03,'LAVA','F','22,Queen Street


Georgetown,Penang','5-MAY-1994','0123427896','22-AUG-2016','20-AUG-2017')

INSERT INTO Member VALUES (04,'MELIA','F','812,Down Street


Georgetown,Penang','23-NOV-1990','0165489009','9-MAY-2016','9-MAY-2017')

INSERT INTO Member VALUES (05,'CHARLS','M','45,Bishop Street


,Georgetown,Penang','3-APR-1993','0198765678','28-MAR-2016','28-MAR-2017')

INSERT INTO Member VALUES (06,'SHINI','F','65,Church Street ,


Georgetown,Penang','18-AUG-1996','0176543457','9-SEP-2016','9-SEP-2017')

INSERT INTO Artist VALUES ('One Direction')

INSERT INTO Artist VALUES ('Rihanna')

INSERT INTO Artist VALUES ('Pitbull')

INSERT INTO Artist VALUES ('Taylor Swift')


INSERT INTO Artist VALUES ('STR')

INSERT INTO Artist VALUES ('Justin Timberlake')

--insert catalogue names

INSERT INTO Catalogue VALUES (2001,02,'ON BEAT','JAN')

INSERT INTO Catalogue VALUES (2002,05,'ROCK IT','FEB')

INSERT INTO Catalogue VALUES (2003,04,'ON BEAT','JAN')

INSERT INTO Catalogue VALUES (2004,01,'DIZZLE','MAR')

--Insert into album

INSERT INTO Album VALUES (3011,'One Direction','Pop Rock', 'Made in the A.M',
'10.99', '12-JULY-2015', '12')

INSERT INTO Album VALUES (3012,'One Direction','Pop', 'Four', '10.99', '17-NOV-


2014', '20')

INSERT INTO Album VALUES (3013,'Rihanna','Contemporary R&B', 'Anti', '10.99',


'28-JAN-2016', '7')

INSERT INTO Album VALUES (3014,'STR','R & B', 'Love Anthem', '10.99', '5-FEB-
2012', '10')

INSERT INTO Album VALUES (3015,'Taylor Swift','Pop music, Synth-pop, Dance-


pop', '1989', '10.99', '27-OCT-2014', '18')

INSERT INTO Album VALUES (3016,'Justin Timberlake','Disco,Soul,Pop', 'Trolls


Tittle', '12.99', '17-DEC-2016', '30')
INSERT INTO Album VALUES (3017,'Pitbull','Hip hop music, Latin music', 'Dale',
'12.99', '9-JAN-2016', '10')

--insert song into album

INSERT INTO Song VALUES (3011,1111,'Long way down', '5.12')

INSERT INTO Song VALUES (3012,2221,'No Control', '4.33')

INSERT INTO Song VALUES (3011,1112,'Steal My Girl', '3.37')

INSERT INTO Song VALUES (3012,2222,'Fireproof', '4.37')

INSERT INTO Song VALUES (3013,3331,'Unfaithful', '3.35')

INSERT INTO Song VALUES (3013,3332,'We Found Out Love', '4.43')

INSERT INTO Song VALUES (3014,4441,'Love in the Air', '6.12')

INSERT INTO Song VALUES (3014,4442,'Rain on Me', '5.55')

INSERT INTO Song VALUES (3015,5551,'Shake It Off', '5.14')

INSERT INTO Song VALUES (3015,5552,'Bad Blood', '4.14')

INSERT INTO Song VALUES (3015,5553,'Welcome to New York', '3.18')

INSERT INTO Song VALUES (3016,6661,'Cant Stop The Feeling', '2.51')

INSERT INTO Song VALUES (3016,6662,'Hair Up', '2.28')

INSERT INTO Song VALUES (3017,7771,'Chi Chi Bon Bon', '5.49')


INSERT INTO Song VALUES (3017,7772,'El Party', '3.04')

INSERT INTO Song VALUES (3017,7773,'El Taxi', '5.25')

INSERT INTO Invoice VALUES (00001,1001)

INSERT INTO Invoice VALUES (00002,1002)

INSERT INTO Invoice VALUES (00005,1003)

INSERT INTO Invoice VALUES (00004,1004)

INSERT INTO Invoice VALUES (00005,1005)

INSERT INTO OrderAlbum VALUES (00001,3014,'2')

INSERT INTO OrderAlbum VALUES (00002,3016,'1')

INSERT INTO OrderAlbum VALUES (00005,3012,'1')

INSERT INTO OrderAlbum VALUES (00004,3017,'1')

INSERT INTO OrderAlbum VALUES (00003,3015,'1')

--insert order
INSERT INTO Orders VALUES (00001,04,3014,'10.99','CARD','2-FEB-2017')

INSERT INTO Orders VALUES (00002,03,3016,'10.99','CASH','13-FEB-2017')

INSERT INTO Orders VALUES (00003,04,3017,'12.99','CASH','10-MAR-2017')


INSERT INTO Orders VALUES (00004,05,3017,'12.99','CASH','10-MAR-2017')

INSERT INTO Orders VALUES (00005,01,3015,'10.99','CArd','1-APR-2017')

Output of the tables

Member table

Orders Table
Artist table

Album Table

Catalogue table
Song Table

Invoice table

Order Album
SQL QUERIES and Output of A1,A2,A3,A4 and A5
A1
SELECT type, SUM(CDcount)
FROM ALBUM GROUP BY type;

Output :
A2
SELECT MEMBER.address, Orders.payMethod,(OrderAlbum.orderQua)as "Total
CD" ,Orders.totalprice
FROM MEMBER
INNER JOIN Orders
on MEMBER.memberID = Orders.memberID
INNER JOIN OrderAlbum
on Orders.orderID = OrderAlbum.orderID
Where Orders.memberID=&a AND (Orders.dateOrder='2-FEB-2017')

Output :
A3
SELECT Mname as "FULL NAME",address,endDate
FROM MEMBER
WHERE current_date >=endDATE;

Output :
A4
SELECT SUM(totalprice ) "AMOUNT_SPENT"
FROM Orders, MEMBER
WHERE Orders.memberID= MEMBER.memberID AND MEMBER.memberID =&a

Output :

Value is inserted here.


Result is shown.
A5
SELECT DISTINCT artistName ,albumName
FROM ALBUM
WHERE UPPER(ALBUM.artistName) LIKE UPPER('%One Direction%');

Output :

D6:
REFLECTION
My name is Cecillia Jane Johnson student of BSC Computing. In this semester, I was assigned to
analysis, design and build of a database structure and applications for Greenwich Music club. This is
an individual assignment .In this case, from the help from my lecturer Puan.Rosmah so I believe that
I have managed to finish my coursework with all the requirements asked from A1 to A5.My lecturer
helped me a lot in this coursework. She have given proper guidance and provide consultations from
time to time, which makes me, clear to continue my work. She also introduce and taught us how to
use MyOra application to complete this coursework. I also joined with my friends and did group
discussion. They also helped me in some parts.Although at first I find difficult to use MyOra and also
some code was showing errors and couldnt insert rows because it keep showing erroe for data type.
Then,I use internet to surf some of the part which I dont understand for example if the executed
statement shows any error I quickly check the solution online and fix the errors. Overall, I have done
this coursework in given time by completing all the requirements

Das könnte Ihnen auch gefallen