0% found this document useful (0 votes)
7 views

Assignment Databases System2 Oracle Definitive

Uploaded by

Luisendorf
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

Assignment Databases System2 Oracle Definitive

Uploaded by

Luisendorf
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 25

Luis de Leon Sastre s07001907

Assignment databases system2

1
Luis de Leon Sastre s07001907

INDEX
TASK1-------------------------------------------------------------------------------------------------------------
Diagram ------------------------------------------------------------------------------------

Constrains ----------------------------------------------------------------------------------

Asumptions---------------------------------------------------------------------------------

TASK2-------------------------------------------------------------------------------------------------------------

Diagram with all attributes --------------------------------------------------------------

Relationships-------------------------------------------------------------------------------

Domains-------------------------------------------------------------------------------------

TASK3--------------------------------------------------------------------------------------------------------------

Table Customer-----------------------------------------------------------------------------

Table Check_Order-------------------------------------------------------------------------

Table Vehicles-------------------------------------------------------------------------------

Table Chauffer-------------------------------------------------------------------------------

Table Driver_skill---------------------------------------------------------------------------

Table Address-------------------------------------------------------------------------------

Table Bill-------------------------------------------------------------------------------------

Table Vehicle_Type------------------------------------------------------------------------

TASK4--------------------------------------------------------------------------------------------------------------

Table Customer---------------------------------------------------------------------------
Table
Index
Insert

Table Check_Order-----------------------------------------------------------------------
Table
Index
Insert

Table Vehicles-----------------------------------------------------------------------------
Table

2
Luis de Leon Sastre s07001907

Index
Insert__________________________________________________________

Table Chaufferur----------------------------------------------------------------------------
Table
Index
Insert

Table Driver_Skill--------------------------------------------------------------------------
Table
Index
Insert

Table Vehicle_Type------------------------------------------------------------------------
Table
Insert

Table Address--------------------------------------------------------------------------------
Table
Insert

Table Bill--------------------------------------------------------------------------------------
Table
Insert

Table Check_order_has_vehicles-----------------------------------------------------------
Table
Index
Insert

Table Chaufferur_has_driver_skill---------------------------------------------------------
Table
Index
Insert

3
Luis de Leon Sastre s07001907

TASK 1
 Read the scenario and produce a conceptual data model consisting of an E-R
diagram, entity headings, constraints and any assumptions

Diagram:

4
Luis de Leon Sastre s07001907

5
Luis de Leon Sastre s07001907

Constrains:

The constraints are shown next:

• Valid_Age CHECK ((age>=18) and (age<=65)): the age of each chauffeur


is validated.

• Valid_email CHECK (email LIKE '_%@__%.__%') the constrain for the e-


mail of customers.

• Valid_deposit check ( deposit>=total_price*0.5) each customer must


pay 50% for the check_order.

Assumptions:

• One checkorder could have more than one vehicle linked.

• It assumed that the client must pay with credit card.

• One checkorder can have one or more vehicles and each vehicle must
have one chauffer.

• One checkorder must have link one bill to works.

• It assume that fix the price of per day.

• Each chauffer could have one or more driverskills .

6
Luis de Leon Sastre s07001907

TASK 2

 Using your conceptual data model, develop a relational schema consisting of


the definitions of the domains and relations.

Diagram with all attributes:-

7
Luis de Leon Sastre s07001907

Relationships:

1) Relation Check Order with Customer: 1=N

This relation is for 1 customer can have more than one check orders. But
whit logic, 2 customers can not have the same check order.
2) Relation Customer with Address: 1=1
This relation is for one customer to one address, each customer must
have one address for complete the check order.

3) Relation Bill check with Order: 1=1

This relation indicates that one customer have one check or more check
orders, but only have one bill for theirs orders.

4) Relation Check Order with Vehicles: N=N

This relation indicates that one determinate number of check orders can
have relation with a determinate number of vehicles, N vehicles to N
check orders.
This cardinality show another table for this relationship, this table is
Check Order has Vehicles.

5) Relation Vehicle with Type vehicle: 1=1

This relation indicates that one Vehicle only can be in one determinate
type of vehicles.

6) Relation Chauffer with driver skill: N=N

This relation indicates that n chauffers can have n driver skill and
various driver skill can be associated to determinates chauffers.
This cardinality show another table for this relationship, this table
is Driver Skill has chauffer.

7) Relation Chaufferur with Address: 1=1

This relation indicates that 1 chauffer has 1 address with his


respectives attributes.

8
Luis de Leon Sastre s07001907

Domains:

I have utilized the followings domains:

Domain: Postcode INTEGER(20);

Domain: Driving license CHAR(3) ;

Domain: Bastidor number VARCHAR(20);

Domain: AGE: chauffer AGE: AGE

Domain: Contact phone: NUMBER(15);

9
Luis de Leon Sastre s07001907

Task 3

 Produce sample data for each table, indicating primary and foreign keys, for
each of your relations.

Table customer:
SQL> desc customers
Nombre ┐Nulo? Tipo
----------------- -------- ------------
ID_NUMBER NOT NULL NUMBER(8)
FIRST_NAME NOT NULL VARCHAR(15)
LAST_NAME NOT NULL VARCHAR(15)
CONTACT_PHONE NOT NULL NUMBER(9)
EMAIL VARCHAR(40)

SQL> select * from customers;

ID_NUMBER FIRST_NAME LAST_NAME CONTACT_PHONE EMAIL


---------- --------------- --------------- ------------- -------------
3 Mike Miyers 30 [email protected]
1 John Smith 10 [email protected]
2 Cesc Sanchez 20 [email protected]
4 Luis De Leon 40 [email protected]

PRIMARY KEY (id_number, Address_idAddress) ,


FOREIGN KEY (Address_idAddress )
REFERENCES Address (idAddress ));

Table check_order :

SQL> desc check_order


Name ┐ Null? Type
----------------- -------- ------------
ID_ORDER NOT NULL NUMBER(8)
TOTAL_BILL NOT NULL NUMBER(6,2)
DEPOSIT NOT NULL NUMBER(6,2)
DEPOSIT_DATE NOT NULL DATE
CREDITCARD_NUMBER NOT NULL NUMBER
BASTIDOR_NUMBER VARCHAR(20)
CUSTOMER_IDCUSTOMER NOT NULL NUMBER(8)
CUSTOMER_ADDRESS_IDADDRESS NOT NULL VARCHAR(20

10
Luis de Leon Sastre s07001907

ID_ORDER TOTAL_BILL DEPOSIT DEPOSIT_ CREDITCARD_NUMBER BASTIDOR_NUMBER


-------- ---------- ---------- -------- ----------------- ------------
1 120,65 61 10/10/07 4546445656 1234/QW879
2 178,65 90 10/01/08 4564564588 0022/TW859
3 155,65 75 11/01/08 5784564455 4545/YU456
4 4554,65 2229 12/01/08 1230012312 1231/RT569

PRIMARY KEY (ID_order, Customer_idCustomer,Customer_Address_idAddress),

FOREIGN KEY (Customer_idCustomer , Customer_Address_idAddress )


REFERENCES Customer (id_number , Address_idAddress );

Table vehicles:

Name ┐ Null? Type


----------------------------------------- -------- -------------
ID_VEHICLE NOT NULL NUMBER(8)
BASTIDOR_NUMBER NOT NULL VARCHAR(20)
CAR NOT NULL VARCHAR(20)
MODEL NOT NULL VARCHAR(20)
ENROLLMENT_YEAR NOT NULL NUMBER(4)
PRICE_FOR_HOUR NOT NULL NUMBER
TYPE VARCHAR(30)

ID_VEHICLE BASTIDOR_NUMBER CAR MODEL ENROLLMENT_YEAR PRICE_FOR_HOUR TYPE


---------- --------------- ----------- ----------- --------------- -------------- -----------
1 1234/QW879 mustang ford 1969 30 classic
2 0022/TW859 825i ROVER 1991 12 normal
3 4545/YU456 horse drawn carriages 1980 20 horse drawn
carriages
4 1231/RT569 Phantom rolls royce 2007 120 rolls Royce

PRIMARY KEY (idVehicles, Vehicle Type_idVehicle Type) ,

FOREIGN KEY (Vehicle Type_idVehicle Type )


REFERENCES Vehicle Type (idVehicle Type ));

11
Luis de Leon Sastre s07001907

Table chaufferur:

Nombre ┐ Nulo? Tipo


----------------- -------- -----------------------------------------------
ID_CHAUFFER NOT NULL NUMBER(8)
PIN NOT NULL NUMBER(8)
FIST_NAME NOT NULL VARCHAR(20)
LAST_NAME NOT NULL VARCHAR(20)
ADDRESS VARCHAR(50)
AGE NOT NULL NUMBER(2)
PHONE_NUMBER NOT NULL NUMBER(15)
DRIVER_SKILL_HAS_CHAUFFERUR_DRIVER_SKILL_ID_CHAUFFER NOT NULL NUMBER(15)
DRIVER_SKILL_HAS_CHAUFFERUR_CHAUFFERUR_IDCHAUFFERUR NOT NULL NUMBER(8)
DRIVER_SKILL_HAS_CHAUFFERUR_DRIVER_SKILL_ID_CHAUFFER1 NOT NULL NUMBER(8)

ID_CHAUFFER PIN FIST_NAME LAST_NAME ADDRESS PHONE_NUMBER


----------- --- --------- ------------ ------------------- -----------
45645644 1 Chris Manssell oxford street 25 1,1112E+10
45645000 2 Fancis Perron kesington street 78 5,6465E+11
32145688 3 Marc Bianchi Baker Street 1,2346E+11
14566661 4 Mike Cherington Abbey Road 58 7,8948E+10

PRIMARY KEY (idChaufferur,


Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer,
Driver_SKill_has_Chaufferur_Chaufferur_idChaufferur,
Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer1) ,

FOREIGN KEY (Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer,


Driver_SKill_has_Chaufferur_Chaufferur_idChaufferur ,
Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer1 )
REFERENCES Driver_SKill_has_Chaufferur (Driver_SKill_id_chauffer ,
Chaufferur_idChaufferur , Driver_SKill_id_chauffer1 ));

Table driver_skill:

Nombre ┐Nulo? Tipo


----------------- -------- ------------
ID_CHAUFFER NOT NULL NUMBER
FIRST_NAME NOT NULL VARCHAR(10)
DRIVING_LICENSE CHAR(3)
DURING_MECHANICAL CHAR(3)
CLASSIC_CARS CHAR(3)
HORSE_RIDE CHAR(3)
DURING_ROLLS_ROYC CHAR(3)

12
Luis de Leon Sastre s07001907

PIN VARCHAR(10)

ID_CHAUFFER PIN FIRST_NAME DRI DUR CLA HOR DUR

1 45645644 Chris YES NO YES NO NO


2 45645000 Francis YES YES YES NO NO
3 32145688 Marc YES NO YES NO NO
4 14566661 Mike YES NO YES YES YES

PRIMARY KEY (id_chauffer,


Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer,
Driver_SKill_has_Chaufferur_Chaufferur_idChaufferur) ,
FOREIGN KEY (Driver_SKill_has_Chaufferur_Driver_SKill_id_chauffer,
Driver_SKill_has_Chaufferur_Chaufferur_idChaufferur )
REFERENCES Driver_SKill_has_Chaufferur (Driver_SKill_id_chauffer ,
Chaufferur_idChaufferur ));

Table bill:

Name ┐ Null? Type


----------------- -------- ----------- ---------------------
ID_BILL NOT NULL NUMBER(4)
BILL_DATE DATE
TOTAL BILL NUMBER(8)

ID_BILL BILL_DAT ID_ORDER


--------- -------- ----------
1 11/10/07 1

PRIMARY KEY (idBill, Check_Order_ID_order, Check_Order_Customer_idCustomer,


Check_Order_Customer_Address_idAddress) ,
FOREIGN KEY (Check_Order_ID_order , Check_Order_Customer_idCustomer ,
Check_Order_Customer_Address_idAddress )
REFERENCES Check_Order (ID_order , Customer_idCustomer ,
Customer_Address_idAddress ));

Table Address:

13
Luis de Leon Sastre s07001907

Nombre Nulo? Tipo


------------------- -------- ---------
ID_ADDRESS NOT NULL NUMBER(15)
STREET NOT NULL VAR(20)
POSTCODE NUMBER(8)
CITY VARCHAR(20)
COUNTRY VARCHAR(20)

ID_ADDRES STREET POSTCODE CITY COUNTRY

1 rabon street 28047 Madrid Spain


2 yukon street 27228 Noja Spain
3 ciervo verde 53682 Munich Germany

PRIMARY KEY (idAddress, Customer_id_number) ,


FOREIGN KEY (Customer_id_number )
REFERENCES Customer (id_number ));

CREATE INDEX fk_Address_Customer ON Address (Customer_id_number ASC) ;

Table Type Vehicle:

Name Null? Type


------------------- --------- ---------

ID_VEHICLE_TYPE NOT NULL NUMBER(8)


TYPE NULL VARCHAR(45)
CHARACTERISTICS NULL VARCHAR(10)
VEHICLES_IDVEHICLES NOT NULL NUMBER(8)

Id_Vehicle_type Type Char vehicles_id_vehicles

1 Normal Family 1
2 Luxe Fuel 2
3 Pure Low 3
4 Luxe Sport 4

PRIMARY KEY (idVehicle Type) );

14
Luis de Leon Sastre s07001907

Task 4
*
Create the tables and relations using the Oracle DBMS, making sure the appropriate
fields are defined as key, and that other data integrity rules are enforced. Create
appropriate indexes on each of the tables

-- -----------------------------------------------------
-- Table Customer
-- -----------------------------------------------------
Table:

CREATE TABLE Customer (


`id_number` NUMBER(8) NOT NULL ,
`First_Name` VARCHAR(15) NOT NULL ,
`Last_Name` VARCHAR(15) NOT NULL ,
`contact_phone` NUMBER(8) NOT NULL ,
`Email` VARCHAR(40) NULL ,
`Address_idAddress` NUMBER(8) NULL ,
PRIMARY KEY (`id_number`) ,
CONSTRAINT Valid_email CHECK (email LIKE '_%@__%.__%'),
FOREIGN KEY (`Address_idAddress` )
REFERENCES `Address` (`idAddress` ));

Index:

CREATE INDEX fk_Customer_Address ON `Customer` (`Address_idAddress` ASC) ;

Insert:

INSERT INTO `Customer` (id_number, First_Name, Last_Name, contact_phone,


Email, Address_idAddress) VALUES (3, 'Mike', 'Miyers', 30,
'[email protected]', 1);

INSERT INTO `Customer` (id_number, First_Name, Last_Name, contact_phone,


Email, Address_idAddress) VALUES (1, 'John', 'Smith', 10,
'[email protected]', 2);

INSERT INTO `Customer` (id_number, First_Name, Last_Name, contact_phone,


Email, Address_idAddress) VALUES (2, 'Cesc', 'Sanchez ', 20,
'[email protected]', 3);

INSERT INTO `Customer` (id_number, First_Name, Last_Name, contact_phone,


Email, Address_idAddress) VALUES (4, 'Luis', 'de leon', 40,
'[email protected]', 4);

15
Luis de Leon Sastre s07001907

-- -----------------------------------------------------
-- Table Check_Order
-- -----------------------------------------------------
Table:

CREATE TABLE `Check_Order` (


`ID_order` NUMBER(8) NOT NULL ,
`Deposit` NUMBER(8) NOT NULL ,
`Deposit_Date` DATE NOT NULL ,
`credit card _number` NUMBER(8) NOT NULL ,
`Bastidor_number` VARCHAR(45) NULL ,
`Customer_id_number` NUMBER(8) NULL ,
`Bill_idBill` NUMBER(8) NULL ,
`Chaufferur_idChaufferur` NUMBER(8) NULL ,

PRIMARY KEY (`ID_order`) ,

CONSTRAINT Valid_deposit check ( deposit>=total_price*0.5)


FOREIGN KEY (`Customer_id_number` )
REFERENCES `Customer` (`id_number` ),

FOREIGN KEY (`Bill_idBill` )


REFERENCES `Bill` (`idbill` ),

FOREIGN KEY (`ID_order` )


REFERENCES `Check_Order_has_Vehicles` (`Check_Order_ID_order` ),

FOREIGN KEY (`Chaufferur_idChaufferur` )


REFERENCES ` Chaufferur` (`idChaufferur` ));

Index:

CREATE INDEX fk_Check_Order_Customer ON ` Check_Order`


(`Customer_id_number` ASC) ;

CREATE INDEX fk_Check_Order_Bill ON `Check_Order` (`Bill_idBill` ASC) ;

CREATE INDEX fk_Check_Order_Check_Order_has_Vehicles ON `Check_Order`


(`ID_order` ASC) ;

CREATE INDEX fk_Check_Order_Chaufferur ON `Check_Order`


(`Chaufferur_idChaufferur` ASC) ;

Insert:

INSERT INTO `Check_Order` (ID_order, Deposit, Deposit_Date, credit card


_number, Bastidor_number, Customer_id_number, Bill_idBill,
Chaufferur_idChaufferur) VALUES (1, 120, 12, 4567885, '1234/QW879', 1, 1,
1);

INSERT INTO `Check_Order` (ID_order, Deposit, Deposit_Date, credit card


_number, Bastidor_number, Customer_id_number, Bill_idBill,
Chaufferur_idChaufferur) VALUES (2, 178, 0, 4567890, '0022/TW859', 2, 2,
3);
INSERT INTO `Check_Order` (ID_order, Deposit, Deposit_Date, credit card
_number, Bastidor_number, Customer_id_number, Bill_idBill,
Chaufferur_idChaufferur) VALUES (3, 155, 0, 4645645, '0022/TW859', 3, 3,
2);

16
Luis de Leon Sastre s07001907

INSERT INTO `Check_Order` (ID_order, Deposit, Deposit_Date, credit card


_number, Bastidor_number, Customer_id_number, Bill_idBill,
Chaufferur_idChaufferur) VALUES (4, 4256, 0, 3242355, '1231/RT569', 4, 4,
4);

-- -----------------------------------------------------
-- Table Vehicles
-- -----------------------------------------------------
Table:

CREATE TABLE Vehicles` (


`idVehicles` NUMBER NOT NULL ,
`Bastidor_number` VARCHAR(20) NOT NULL ,
`Car` VARCHAR(20) NOT NULL ,
`Model` VARCHAR(20) NOT NULL ,
`Enrollment Year` NUMBER(4) NOT NULL ,
`Price_for_hour` NUMBER(6,2) NOT NULL ,
`Type` VARCHAR(30) NULL ,
`Vehicle_Type_idVehicle_Type` NUMBER NULL ,

PRIMARY KEY (`idVehicles`) ,


FOREIGN KEY (`idVehicles` )
REFERENCES `Check_Order_has_Vehicles` (`Vehicles_idVehicles` ),

FOREIGN KEY (`Vehicle_Type_idVehicle_Type` )


REFERENCES `Vehicle_Type` (`idVehicle_Type` ));

Index:

CREATE INDEX fk_Vehicles_Check_Order_has_Vehicles ON `Vehicles`


(`idVehicles` ASC) ;

CREATE INDEX fk_Vehicles_Vehicle Type ON `Vehicles`


(`Vehicle_Type_idVehicle_Type` ASC);

Insert:

INSERT INTO `Vehicles` (idVehicles, Bastidor_number, Car, Model, Enrollment


Year, Price_for_hour, Type, Vehicle_Type_idVehicle_Type) VALUES (1,
'121223', 'mustang', 'ford', 1969, 30, 'classic', 1);

INSERT INTO `Vehicles` (idVehicles, Bastidor_number, Car, Model, Enrollment


Year, Price_for_hour, Type, Vehicle_Type_idVehicle_Type) VALUES (2,
'1234/QW879', '825i', 'rover', 1991, 12, 'normal', 2);

INSERT INTO `Vehicles` (idVehicles, Bastidor_number, Car, Model, Enrollment


Year, Price_for_hour, Type, Vehicle_Type_idVehicle_Type) VALUES (3,
'0022/TW859', 'horse', 'drown carriages', 1980, 20, 'horse draw carriage',
3);

INSERT INTO `Vehicles` (idVehicles, Bastidor_number, Car, Model, Enrollment


Year, Price_for_hour, Type, Vehicle_Type_idVehicle_Type) VALUES (4,
'4545/YU456', 'Phantom', 'rolls royce', 2007, 120, 'rolls royce', 4);

17
Luis de Leon Sastre s07001907

-- -----------------------------------------------------
-- Table Chaufferur
-- -----------------------------------------------------
Table:

CREATE TABLE `Chaufferur` (


`idChaufferur` NUMBER(8) NOT NULL ,
`name` VARCHAR(20) NULL ,
`surname` VARCHAR(20) NULL ,
`pin` NUMBER(8) NULL ,
`address` VARCHAR(45) NULL ,
`contact_phone` NUMBER(15) NULL ,
`age` NUMBER(2) NULL ,
`address_idaddress` NUMBER(8) NULL ,
`vehicles_idvehicles` NUMBER(8) NULL ,
PRIMARY KEY (`idChaufferur`) ,

CONSTRAINT Valid_Age CHECK ((age>=18) and (age<=65)),

FOREIGN KEY (`address_idaddress` )


REFERENCES `Address` (`idAddress` ),

FOREIGN KEY (`idChaufferur` )


REFERENCES `Chaufferur_has_Driver_SKill` (`Chaufferur_idChaufferur` ),

FOREIGN KEY (`vehicles_idvehicles` )


REFERENCES `Vehicles` (`idVehicles` ));

Index:

CREATE INDEX fk_Chaufferur_Address ON `Chaufferur` (`address_idaddress`


ASC) ;

CREATE INDEX fk_Chaufferur_Chaufferur_has_Driver_SKill ON `Chaufferur`


(`idChaufferur` ASC) ;

CREATE INDEX fk_Chaufferur_Vehicles ON `Chaufferur` (`vehicles_idvehicles`


ASC) ;

Insert:

INSERT INTO `Chaufferur` (idChaufferur, name, surname, pin, address,


contact_phone, age, address_idaddress, vehicles_idvehicles) VALUES (1,
'chirs', 'manssell', 45645644, 'oxford street 25', '09786553', 25, 2, 2);

INSERT INTO `Chaufferur` (idChaufferur, name, surname, pin, address,


contact_phone, age, address_idaddress, vehicles_idvehicles) VALUES (2,
'frances', 'perron', 45645000, 'kesington street 78', '09789255', 20, 1,
1);

INSERT INTO `Chaufferur` (idChaufferur, name, surname, pin, address,


contact_phone, age, address_idaddress, vehicles_idvehicles) VALUES (3,
'marc', 'bianchi', 32145688, 'bake street 12', '09782244', 28, 3, 3);

INSERT INTO `Chaufferur` (idChaufferur, name, surname, pin, address,


contact_phone, age, address_idaddress, vehicles_idvehicles) VALUES (4,
'mike', 'cherington', 14566661, 'abbey road 58', '07946534', 30, 4, 4);

18
Luis de Leon Sastre s07001907

-- -----------------------------------------------------
-- Table driver_skill
-- -----------------------------------------------------
Table:

CREATE TABLE `driver_skill` (


`id_chauffer` NUMBER(8) NOT NULL ,
`first_name` VARCHAR(45) NOT NULL ,
`driving _license` VARCHAR(45) NULL ,
`during_mechannical` VARCHAR(45) NULL ,
`classic_cars` CHAR(3) NULL ,
`horse_driver` CHAR(3) NULL ,
`during_rollsroyce` CHAR(3) NULL ,
`pin` INT NULL ,
`Chaufferur_has_Driver_SKill_Chaufferur_idChaufferur` NUMBER(8) NULL ,
`Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer` NUMBER(8) NULL ,
`id_chaufferur` NUMBER(8) NOT NULL ,
PRIMARY KEY (`id_chauffer`) ,

FOREIGN KEY (Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer,


Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer )
REFERENCES `Chaufferur_has_Driver_SKill` ());

Index:

CREATE INDEX fk_driver_skill_Chaufferur_has_Driver_SKill ON `driver_skill`


() ;

Insert:

INSERT INTO `driver_skill` (id_chauffer, first_name, driving _license,


during_mechannical, classic_cars, horse_driver, during_rollsroyce, pin,
Chaufferur_has_Driver_SKill_Chaufferur_idChaufferur,
Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer, id_chaufferur) VALUES
(1, 'chris', 'yes', 'no', 'yes', 'no', 'no', 45645644, 1, 1, 1);

INSERT INTO `driver_skill` (id_chauffer, first_name, driving _license,


during_mechannical, classic_cars, horse_driver, during_rollsroyce, pin,
Chaufferur_has_Driver_SKill_Chaufferur_idChaufferur,
Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer, id_chaufferur) VALUES
(2, 'francis', 'yes', 'yes', 'yes', 'no', 'no', 45645000, 2, 2, 2);

INSERT INTO `driver_skill` (id_chauffer, first_name, driving _license,


during_mechannical, classic_cars, horse_driver, during_rollsroyce, pin,
Chaufferur_has_Driver_SKill_Chaufferur_idChaufferur,
Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer, id_chaufferur) VALUES
(3, 'marc', 'yes', 'no', 'yes', 'no', 'no', 32145688, 3, 3, 3);

INSERT INTO `driver_skill` (id_chauffer, first_name, driving _license,


during_mechannical, classic_cars, horse_driver, during_rollsroyce, pin,
Chaufferur_has_Driver_SKill_Chaufferur_idChaufferur,
Chaufferur_has_Driver_SKill_Driver_SKill_id_chauffer, id_chaufferur) VALUES
(4, 'mike', 'yes', 'yes', 'yes', 'yes', 'yes', 14566661, 4, 4, 4);

19
Luis de Leon Sastre s07001907

-- -----------------------------------------------------
-- Table Vehicle Type
-- -----------------------------------------------------
Table:

CREATE TABLE `Vehicle_Type` (


`idVehicle_Type` NUMBER(8) NOT NULL ,
`Type` VARCHAR(45) NULL ,
`Characterist` VARCHAR(10) NULL ,
PRIMARY KEY (`idVehicle_Type`) );

Insert:

INSERT INTO `Vehicle_Type` (idVehicle Type, Type, Characterist) VALUES (1,


'normal', 'familiy');
INSERT INTO `Vehicle_Type` (idVehicle Type, Type, Characterist) VALUES (2,
'luxe', 'fuel');
INSERT INTO `Vehicle_Type` (idVehicle Type, Type, Characterist) VALUES (3,
'pure', 'low');
INSERT INTO `Vehicle_Type` (idVehicle Type, Type, Characterist) VALUES (4,
'luxe', 'sport');

-- -----------------------------------------------------
-- Table Address
-- -----------------------------------------------------
Table:

CREATE TABLE `Address` (


`idAddress` NUMBER(8) NOT NULL ,
`Street` VARCHAR(20) NULL ,
`Postcode` NUMBER(20) NULL ,
`City` VARCHAR(20) NULL ,
`Country` VARCHAR(20) NULL ,
PRIMARY KEY (`idAddress`) );

Insert:

INSERT INTO `Address` (idAddress, Street, Postcode, City, Country) VALUES


(4, 'ocana', '28047', 'madrid', 'spain');

INSERT INTO `Address` (idAddress, Street, Postcode, City, Country) VALUES


(2, 'romber road', '28047', 'madrid', 'spain');

INSERT INTO `Address` (idAddress, Street, Postcode, City, Country) VALUES


(1, 'maqueda', '54678', 'murcia', 'spain');

INSERT INTO `Address` (idAddress, Street, Postcode, City, Country) VALUES


(3, 'cerilla', '45678', 'sevilla', 'spain');

20
Luis de Leon Sastre s07001907

-- -----------------------------------------------------
-- Table Bill
-- -----------------------------------------------------
Table:

CREATE TABLE `Bill` (


`idbill` NUMBER(8) NOT NULL ,
`bill_date` DATE NOT NULL ,
`total_bill` NUMBER(8) NULL ,
PRIMARY KEY (`idbill`) );

CREATE INDEX fk_Bill_Check_Order ON Bill (Check_Order_ID_order ASC,


Check_Order_Customer_idCustomer ASC, Check_Order_Customer_Address_idAddress
ASC) ;

Insert:

INSERT INTO `Bill` (idbill, bill_date, total_bill) VALUES (1, 0, 123);

INSERT INTO `Bill` (idbill, bill_date, total_bill) VALUES (2, 0, 23);

INSERT INTO `Bill` (idbill, bill_date, total_bill) VALUES (3, 0, 45);

INSERT INTO `Bill` (idbill, bill_date, total_bill) VALUES (4, 0, 345);

-- -----------------------------------------------------
-- Table Check_Order_has_Vehicles
-- -----------------------------------------------------
table:

CREATE TABLE `Check_Order_has_Vehicles` (


`Check_Order_ID_order` NUMBER(8) NOT NULL ,
`Vehicles_idVehicles` NUMBER(8) NOT NULL ,
PRIMARY KEY (`Check_Order_ID_order`, `Vehicles_idVehicles`) ,

FOREIGN KEY (`Check_Order_ID_order` )


REFERENCES `Check_Order` (`ID_order` ),

FOREIGN KEY (`Vehicles_idVehicles` )


REFERENCES `Vehicles` (`idVehicles` ));

Index:

CREATE INDEX fk_Check_Order_has_Vehicles_Check_Order ON


`Check_Order_has_Vehicles` (`Check_Order_ID_order` ASC) ;

CREATE INDEX fk_Check_Order_has_Vehicles_Vehicles ON


`Check_Order_has_Vehicles` (`Vehicles_idVehicles` ASC) ;

Insert:

INSERT INTO `Check_Order_has_Vehicles` (Check_Order_ID_order,


Vehicles_idVehicles) VALUES (1, 1);

21
Luis de Leon Sastre s07001907

INSERT INTO `Check_Order_has_Vehicles` (Check_Order_ID_order,


Vehicles_idVehicles) VALUES (2, 3);

INSERT INTO `Check_Order_has_Vehicles` (Check_Order_ID_order,


Vehicles_idVehicles) VALUES (3, 2);

INSERT INTO `Check_Order_has_Vehicles` (Check_Order_ID_order,


Vehicles_idVehicles) VALUES (4, 4);

-- -----------------------------------------------------
-- Table Chaufferur_has_Driver_SKill
-- -----------------------------------------------------
Table:

CREATE TABLE `Chaufferur_has_Driver_SKill` (


`Chaufferur_idChaufferur` NUMBER(8) NOT NULL ,
`Driver_SKill_id_chauffer` NUMBER(8) NOT NULL ,
PRIMARY KEY (`Chaufferur_idChaufferur`, `Driver_SKill_id_chauffer`) ,

FOREIGN KEY (`Chaufferur_idChaufferur` )


REFERENCES `Chaufferur` (`idChaufferur` ),

FOREIGN KEY (`Driver_SKill_id_chauffer` )


REFERENCES `` (Chaufferur_has_driver_skill));

Index:

CREATE INDEX fk_Chaufferur_has_Driver_SKill_Chaufferur ON


`Chaufferur_has_Driver_SKill` (`Chaufferur_idChaufferur` ASC) ;

CREATE INDEX fk_Chaufferur_has_Driver_SKill_Driver_SKill ON


`Chaufferur_has_Driver_SKill` (`Driver_SKill_id_chauffer` ASC);

Insert:

INSERT INTO `Chaufferur_has_Driver_SKill` (Chaufferur_idChaufferur,


Driver_SKill_id_chauffer) VALUES (1, 1);

INSERT INTO `Chaufferur_has_Driver_SKill` (Chaufferur_idChaufferur,


Driver_SKill_id_chauffer) VALUES (2, 2);

INSERT INTO `Chaufferur_has_Driver_SKill` (Chaufferur_idChaufferur,


Driver_SKill_id_chauffer) VALUES (3, 3);

INSERT INTO `Chaufferur_has_Driver_SKill` (Chaufferur_idChaufferur,


Driver_SKill_id_chauffer) VALUES (4, 4);

22
Luis de Leon Sastre s07001907

Task 5
Querys:

1 Seleccionar el estado de una reserve por el nombre o los apellidos

SELECT id_order “numer of order”, customer.first_name, customer.last_name,


check_order.total_bill “Total bill of check order” FROM customer,
check_order WHERE customer.id_number=check_order.customer_idcustomer and
customer.first_name like %s%;

2 Bill consulted by a name.

SELECT bill.idbill, customer.first_name, bill.billdate, bill.id_number


FROM bill, customer, check_order WHERE bill.id_number=check_order.id_order
and check_order.customer_id_number=customer.id_number and
customer.first_name=’Luis’;

3 Car list.

SELECT vehicles.idvehicles, vehicles.car,, vehicles.model,


vehicle_type.Type FROM vehicles, vechicle:type WHERE
Type_Vehicle.vehicles_idvehicles=Vehicles.id_Vehicle;

4 With task or without task.

SELECT customer.first_name, customer.last_name, check_order.total_bill


“With out Tax rates”, check_order.total_bill*0.14 “With tax rates” FROM
customer,check_order WHERE customer.id=check_order.customer_idcustomer;

5 Chauffer driver_skills.

SELECT chafferur.first_name, chaufferur.last_name, chaufferur.address FROM


chaufferur,driver_skill,driver_skill_has_chafferur WHERE
chaufferur.idchaufferur=driver_skill_has_chaufferur.chaufferur_idchaufferur
and
driver_skill_has_chafferur.driver_skill_id_chauffer=driver_skill.id_chauffe
r;

6 Customers count.

SELECT COUNT (chaufferur.first_name) FROM chaufferur WHERE chaufferur.ages


between 25 and 35;

23
Luis de Leon Sastre s07001907

7 Relationship customer and ardes.

SELECT customer.first_name, customer.last_Name, Address.*


FROM customer, Address WHERE (customer.IdAddress=Address.IdAddress) like
customer.first_name=’%b%’ order by asc;

SELECT * customer FROM customer WHERE customer.first_name in


(‘Mark’,’Luis’,’Francis’);

8 Customers who lives in Madrid.

SELECT * FROM chauffeur.first_name,chaufferur.last_name from chaufferur


WHERE chaufferur.iaddress in (select idaddress from address where postcode
LIKE ‘%28%’);

9 All models and car whom have like%an%.

SELECT c.name,c.surname,c.address, v.car, v.model FROM chaufferur c,


vehicles v WHERE c.vehicles_idvehicles=v.idvehicles and c.name like '%an%';

10 Customers with ardes.

SELECT * FROM customer, address WHERE


customer.address_idaddress=address.idaddress;

11 Chauffer age by asc.

SELECT Name FROM CHAUFFEUR ORDER BY AGE DESC;

12 All models and type_vehicle with characteristic sport


(subquery)

SELECT c.name,c.surname,c.address, v.car, v.model,p.characterist


FROM chaufferur c, vehicles v, vehicle_type p
WHERE c.vehicles_idvehicles=v.idvehicles and
v.vehicle_type_idvehicle_type=p.idvehicle_type and p.characterist in(SELECT
characterist FROM vehicle_type WHERE characterist='sport');

24
Luis de Leon Sastre s07001907

13 pins count of driver skill

SELECT COUNT(pin) FROM driver_skill WHERE pin BETWEEN 30000000 and


50000000;

14 customer who lives in determinate cities.

SELECT customer.First_name FROM customer, ADDRESS WHERE


Customer.address_IdAddress=Address.IdAddress AND Address.City IN
('Madrid','Sevilla','Liverpool');

25

You might also like