0% found this document useful (0 votes)
13 views5 pages

ThemePark Database

Uploaded by

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

ThemePark Database

Uploaded by

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

Themepark Database

BY ABDEL77 / WEDNESDAY, 26 APRIL 2017 / PUBLISHED IN DATABASES

/* Themepark.SQL */
/* Introduction to SQL */
/* Script file for MySQL DBMS */
/* This script file creates the following tables: */
/* THEMEPARK, EMPLOYEE, TICKET, ATTRACTION, HOURS */
/* and loads the default data rows */

DROP TABLE SALES_LINE;


DROP TABLE SALES;
DROP TABLE HOURS;
DROP TABLE ATTRACTION;
DROP TABLE TICKET;
DROP TABLE EMPLOYEE;
DROP TABLE THEMEPARK;

CREATE TABLE THEMEPARK (


PARK_CODE VARCHAR(10) PRIMARY KEY,
PARK_NAME VARCHAR(35) NOT NULL,
PARK_CITY VARCHAR(50) NOT NULL,
PARK_COUNTRY CHAR(2) NOT NULL);

CREATE TABLE EMPLOYEE (


EMP_NUM NUMERIC(4) PRIMARY KEY,
EMP_TITLE VARCHAR(4),
EMP_LNAME VARCHAR(15) NOT NULL,
EMP_FNAME VARCHAR(15) NOT NULL,
EMP_DOB DATE NOT NULL,
EMP_HIRE_DATE DATE,
EMP_AREA_CODE VARCHAR(4) NOT NULL,
EMP_PHONE VARCHAR(12) NOT NULL,
PARK_CODE VARCHAR(10),
INDEX (PARK_CODE),
CONSTRAINT FK_EMP_PARK FOREIGN KEY(PARK_CODE) REFERENCES
THEMEPARK(PARK_CODE));

CREATE TABLE TICKET (


TICKET_NO NUMERIC(10) PRIMARY KEY,
TICKET_PRICE NUMERIC(4,2) DEFAULT 00.00 NOT NULL,
TICKET_TYPE VARCHAR(10),
PARK_CODE VARCHAR(10),
INDEX (PARK_CODE),
CONSTRAINT FK_TICKET_PARK FOREIGN KEY(PARK_CODE) REFERENCES
THEMEPARK(PARK_CODE));

CREATE TABLE ATTRACTION (


ATTRACT_NO NUMERIC(10) PRIMARY KEY,
ATTRACT_NAME VARCHAR(35),
ATTRACT_AGE NUMERIC(3) DEFAULT 0 NOT NULL,
ATTRACT_CAPACITY NUMERIC(3) NOT NULL,
PARK_CODE VARCHAR(10),
INDEX (PARK_CODE),
CONSTRAINT FK_ATTRACT_PARK FOREIGN KEY(PARK_CODE) REFERENCES
THEMEPARK(PARK_CODE));

CREATE TABLE HOURS (


EMP_NUM NUMERIC(4),
ATTRACT_NO NUMERIC(10),
HOURS_PER_ATTRACT NUMERIC(2) NOT NULL,
HOUR_RATE NUMERIC(4,2) NOT NULL,
DATE_WORKED DATE NOT NULL,
INDEX (EMP_NUM),
INDEX (ATTRACT_NO),
CONSTRAINT PK_HOURS PRIMARY KEY(EMP_NUM, ATTRACT_NO,
DATE_WORKED),
CONSTRAINT FK_HOURS_EMP FOREIGN KEY (EMP_NUM) REFERENCES
EMPLOYEE(EMP_NUM),
CONSTRAINT FK_HOURS_ATTRACT FOREIGN KEY (ATTRACT_NO)
REFERENCES ATTRACTION(ATTRACT_NO));

CREATE TABLE SALES (


TRANSACTION_NO NUMERIC PRIMARY KEY,
PARK_CODE VARCHAR(10),
SALE_DATE DATE NOT NULL,
INDEX (PARK_CODE),
CONSTRAINT FK_SALES_PARK FOREIGN KEY(PARK_CODE) REFERENCES
THEMEPARK(PARK_CODE));

CREATE TABLE SALES_LINE (


TRANSACTION_NO NUMERIC,
LINE_NO NUMERIC(2,0) NOT NULL,
TICKET_NO NUMERIC(10) NOT NULL,
LINE_QTY NUMERIC(4) DEFAULT 0 NOT NULL,
LINE_PRICE NUMERIC(9,2) DEFAULT 0.00 NOT NULL,
INDEX (TRANSACTION_NO),
INDEX (TICKET_NO),
CONSTRAINT PK_SALES_LINE PRIMARY KEY (TRANSACTION_NO,LINE_NO),
CONSTRAINT FK_SALES_LINE_SALES FOREIGN KEY (TRANSACTION_NO)
REFERENCES SALES(TRANSACTION_NO) ON DELETE CASCADE,
CONSTRAINT FK_SALES_LINE_TICKET FOREIGN KEY (TICKET_NO)
REFERENCES TICKET(TICKET_NO));

/* CREATING AN INDEX ON EMP_LNAME IN THE EMPLOYEE TABLE */

CREATE INDEX EMP_LNAME_INDEX ON EMPLOYEE(EMP_LNAME(8));


/* Loading data rows */

/* ThemePark rows */
INSERT INTO THEMEPARK VALUES (‘FR1001′,’FairyLand’,’PARIS’,’FR’);
INSERT INTO THEMEPARK VALUES (‘NL1202′,’Efling’,’NOORD’,’NL’);
INSERT INTO THEMEPARK VALUES (‘SP4533′,’AdventurePort’,’BARCELONA’,’SP’);
INSERT INTO THEMEPARK VALUES (‘SW2323′,’Labyrinthe’,’LAUSANNE’,’SW’);
INSERT INTO THEMEPARK VALUES (‘UK2622′,’MiniLand’,’WINDSOR’,’UK’);
INSERT INTO THEMEPARK VALUES (‘UK3452′,’PleasureLand’,’STOKE’,’UK’);
INSERT INTO THEMEPARK VALUES
(‘ZA1342′,’GoldTown’,’JOHANNESBURG’,’ZA’);

/* Employee rows */
INSERT INTO EMPLOYEE VALUES (100,’Ms’,’Calderdale’,’Emma’,’1972-06-15′,’1992-
03-15′,’0181′,’324-9134′,’FR1001′);
INSERT INTO EMPLOYEE VALUES (101,’Ms’,’Ricardo’,’Marshel’,’1978-03-19′,’1996-
04-25′,’0181′,’324-4472′,’UK3452′);
INSERT INTO EMPLOYEE VALUES (102,’Mr’,’Arshad’,’Arif’,’1969-11-14′,’1990-12-
20′,’7253′,’675-8993′,’FR1001′);
INSERT INTO EMPLOYEE VALUES (103,’Ms’,’Roberts’,’Anne’,’1974-10-16′,’1994-08-
16′,’0181′,’898-3456′,’UK3452′);
INSERT INTO EMPLOYEE VALUES (104,’Mr’,’Denver’,’Enrica’,’1980-11-08′,’2001-10-
20′,’7253′,’504-4434′,’ZA1342′);
INSERT INTO EMPLOYEE VALUES (105,’Ms’,’Namowa’,’Mirrelle’,’1990-03-14′,’2006-
11-08′,’0181′,’890-3243′,’FR1001′);
INSERT INTO EMPLOYEE VALUES (106,’Mrs’,’Smith’,’Gemma’,’1968-02-12′,’1989-
01-05′,’0181′,’324-7845′,’ZA1342′);

/* Ticket rows */
INSERT INTO TICKET VALUES (11001,24.99,’Adult’, ‘SP4533′);
INSERT INTO TICKET VALUES (11002,14.99,’Child’, ‘SP4533′);
INSERT INTO TICKET VALUES (11003,10.99,’Senior’,’SP4533′);
INSERT INTO TICKET VALUES (13001,18.99,’Child’,’FR1001′);
INSERT INTO TICKET VALUES (13002,34.99,’Adult’,’FR1001′);
INSERT INTO TICKET VALUES (13003,20.99,’Senior’,’FR1001′);
INSERT INTO TICKET VALUES (67832,18.56,’Child’,’ZA1342′);
INSERT INTO TICKET VALUES (67833,28.67,’Adult’,’ZA1342′);
INSERT INTO TICKET VALUES (67855,12.12,’Senior’,’ZA1342′);
INSERT INTO TICKET VALUES (88567,22.50,’Child’,’UK3452′);
INSERT INTO TICKET VALUES (88568,42.10,’Adult’,’UK3452′);
INSERT INTO TICKET VALUES (89720,10.99,’Senior’,’UK3452′);

/* Attraction rows */

INSERT INTO ATTRACTION VALUES (10034,’ThunderCoaster’,11,34,’FR1001′);


INSERT INTO ATTRACTION VALUES (10056,’SpinningTeacups’,4,62,’FR1001′);
INSERT INTO ATTRACTION VALUES (10067,’FlightToStars’,11,24,’FR1001′);
INSERT INTO ATTRACTION VALUES (10078,’Ant-Trap’,23,30,’FR1001′);
INSERT INTO ATTRACTION VALUES (10098,’Carnival’,3,120,’FR1001′);
INSERT INTO ATTRACTION VALUES (20056,’3D-Lego_Show’,3,200,’UK3452′);
INSERT INTO ATTRACTION VALUES (30011,’BlackHole2′,12,34,’UK3452′);
INSERT INTO ATTRACTION VALUES (30012,’Pirates’,10,42,’UK3452′);
INSERT INTO ATTRACTION VALUES (30044,’UnderSeaWord’,4,80,’UK3452′);
INSERT INTO ATTRACTION VALUES (98764,’GoldRush’,5,80,’ZA1342′);
/* Attraction with no name */
INSERT INTO ATTRACTION VALUES (10082,NULL,10,40,’ZA1342′);

/* hours rows */

INSERT INTO HOURS VALUES (100,10034,6,6.5,’2007-05-18′);


INSERT INTO HOURS VALUES (100,10034,6,6.5,’2007-05-20′);
INSERT INTO HOURS VALUES (101,10034,6,6.5,’2007-05-18′);
INSERT INTO HOURS VALUES (102,30012,3,5.99,’2007-05-23′);
INSERT INTO HOURS VALUES (102,30044,6,5.99,’2007-05-21′);
INSERT INTO HOURS VALUES (102,30044,3,5.99,’2007-05-22′);
INSERT INTO HOURS VALUES (104,30011,6,7.2,’2007-05-21′);
INSERT INTO HOURS VALUES (104,30012,6,7.2,’2007-05-22′);
INSERT INTO HOURS VALUES (105,10078,3,8.5,’2007-05-18′);
INSERT INTO HOURS VALUES (105,10098,3,8.5,’2007-05-18′);
INSERT INTO HOURS VALUES (105,10098,6,8.5,’2007-05-19′);

/* SALES rows */

INSERT INTO SALES VALUES (12781,’FR1001′,’2007-05-18′);


INSERT INTO SALES VALUES (12782,’FR1001′,’2007-05-18′);
INSERT INTO SALES VALUES (12783,’FR1001′,’2007-05-18′);
INSERT INTO SALES VALUES (12784,’FR1001′,’2007-05-18′);
INSERT INTO SALES VALUES (12785,’FR1001′,’2007-05-18′);
INSERT INTO SALES VALUES (12786,’FR1001′,’2007-05-18′);
INSERT INTO SALES VALUES (34534,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34535,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34536,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34537,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34538,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34539,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34540,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (34541,’UK3452′,’2007-05-18′);
INSERT INTO SALES VALUES (67589,’ZA1342′,’2007-05-18′);
INSERT INTO SALES VALUES (67590,’ZA1342′,’2007-05-18′);
INSERT INTO SALES VALUES (67591,’ZA1342′,’2007-05-18′);
INSERT INTO SALES VALUES (67592,’ZA1342′,’2007-05-18′);
INSERT INTO SALES VALUES (67593,’ZA1342′,’2007-05-18′);

/* SALES_LINE rows */

INSERT INTO SALES_LINE VALUES (12781,1,13002,2,69.98);


INSERT INTO SALES_LINE VALUES (12781,2,13001,1,14.99);
INSERT INTO SALES_LINE VALUES (12782,1,13002,2,69.98);
INSERT INTO SALES_LINE VALUES (12783,1,13003,2,41.98);
INSERT INTO SALES_LINE VALUES (12784,2,13001,1,14.99);
INSERT INTO SALES_LINE VALUES (12785,1,13001,1,14.99);
INSERT INTO SALES_LINE VALUES (12785,2,13002,1,34.99);
INSERT INTO SALES_LINE VALUES (12785,3,13002,4,139.96);
INSERT INTO SALES_LINE VALUES (34534,1,88568,4,168.40);
INSERT INTO SALES_LINE VALUES (34534,2,88567,1,22.50);
INSERT INTO SALES_LINE VALUES (34534,3,89720,2,21.98);
INSERT INTO SALES_LINE VALUES (34535,1,88568,2,84.20);
INSERT INTO SALES_LINE VALUES (34536,1,89720,2,21.98);
INSERT INTO SALES_LINE VALUES (34537,1,88568,2,84.20);
INSERT INTO SALES_LINE VALUES (34537,2,88567,1,22.50);
INSERT INTO SALES_LINE VALUES (34538,1,89720,2,21.98);
INSERT INTO SALES_LINE VALUES (34539,1,89720,2,21.98);
INSERT INTO SALES_LINE VALUES (34539,2,88568,2,84.20);
INSERT INTO SALES_LINE VALUES (34540,1,88568,4,168.40);
INSERT INTO SALES_LINE VALUES (34540,2,88567,1,22.50);
INSERT INTO SALES_LINE VALUES (34540,3,89720,2,21.98);
INSERT INTO SALES_LINE VALUES (34541,1,88568,2,84.20);
INSERT INTO SALES_LINE VALUES (67589,1,67833,2,57.34);
INSERT INTO SALES_LINE VALUES (67589,2,67832,2,37.12);
INSERT INTO SALES_LINE VALUES (67590,1,67833,2,57.34);
INSERT INTO SALES_LINE VALUES (67590,2,67832,2,37.12);
INSERT INTO SALES_LINE VALUES (67591,1,67832,1,18.56);
INSERT INTO SALES_LINE VALUES (67591,2,67855,1,12.12);
INSERT INTO SALES_LINE VALUES (67592,1,67833,4,114.68);
INSERT INTO SALES_LINE VALUES (67593,1,67833,2,57.34);
INSERT INTO SALES_LINE VALUES (67593,2,67832,2,37.12);

commit;

You might also like