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

Prog 4

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

Prog 4

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

BOOK DEALER DATABASE

The following tabels are maintained by a book dealer..

AUTHOR(author-id:int,name:string,city:string,country:string)

PUBLISHER(publisher-id:int,name:string,city:string,country:string)

CATALOG(book-id:int,title:string,author-id:int,publisher-id:int,category-id:int,price:int)

CATEGORY(category-id:int,description:string)

ORDER-DETAILS(order-no:int,book-id:int,quantity:int)

1)create the above tables by properly specifying the primary keys and the foreign keys..
2)enter atleast five tuples for each relation.
3)give the details of the author who have 2 or more books in the catalog and the price of the
books is greater than the average price of the books in the
catalog and the year of publication is after 2000.
4)find the author of the book which has maximum sales..
5)demonstrate how you increase the price of books published by a specific publisher by 10%.

TABLE CREATION:

1.AUTHOR TABLE

CREATE TABLE AUTHOR


(
AUTHOR_ID NUMERIC(5) PRIMARY KEY,
ANAME VARCHAR(10),
CITY VARCHAR(10),
COUNTRY VARCHAR(10)
);

2.PUBLISHER TABLE
CREATE TABLE PUBLISHER
(
PUBLISHER_ID NUMERIC(5) PRIMARY KEY,
PNAME VARCHAR(10),
PCITY VARCHAR(10),
PCOUNTRY VARCHAR(10)
);

3.CATEGORY TABLE
CREATE TABLE CATEGORY
(
CATEGORY_ID NUMERIC(5) PRIMARY KEY,
DESCRIPTION VARCHAR(10)
);

4.CATALOG TABLE

CREATE TABLE CATALOG


(
BOOK_ID NUMERIC(5) PRIMARY KEY,
TITLE VARCHAR(10),
AUTHOR_ID NUMERIC(5),
PUBLISHER_ID NUMERIC(5),
CATEGORY_ID NUMERIC(5),
YEAR NUMERIC(5),
PRICE NUMERIC(10),
FOREIGN KEY(AUTHOR_ID) REFERENCES AUTHOR(AUTHOR_ID),
FOREIGN KEY(PUBLISHER_ID) REFERENCES PUBLISHER(PUBLISHER_ID),
FOREIGN KEY(CATEGORY_ID) REFERENCES CATEGORY(CATEGORY_ID)
);

5.ORDER-DETAILS TABLE

CREATE TABLE ORDER_DET


(
ORDER_NO NUMERIC(5) PRIMARY KEY,
BOOK_ID NUMERIC(5),
QUANTITY NUMERIC(8),
FOREIGN KEY(BOOK_ID) REFERENCES CATALOG(BOOK_ID)
);
TABLE FILLING:

1.INSERT TO AUTHOR
Insert into author values(100,'Amar','Blore','India');
Insert into author values(200,'Ashish','alaska','USA');
Insert into author values(300,'Sanjith','california','USA');
Insert into author values(400,'Mohit','Birmingham','UK');
Insert into author values(500,'Laxmi','Delhi','India');

2.INSERT TO PUBLISHER
Insert into publisher values(11,'Wiely','New Delhi','India');
Insert into publisher values(22,'Pearson','California','USA');
Insert into publisher values(33,'Godse','Bangalore','India');
Insert into publisher values(44,'Folley','New York','USA');
Insert into publisher values(55,'tenenbm','Texas','USA');
3.INSERT TO CATEGORY

Insert into category values(1,'low price');


Insert into category values(2,'best sell');
Insert into category values(3,'Hardware');
Insert into category values(4,'Algorithms');
Insert into category values(5,'Internet');

4.INSERT TO CATALOG

insert into catalog values(111,'DSC',100,33,2,2000,185);


insert into catalog values(222,'Networks',200,44,4,2002,365);
insert into catalog values(333,'VB6',300,11,2,2000,300);
insert into catalog values(444,'Frontpge',400,44,5,2003,500);
insert into catalog values(555,'ADA',500,33,4,2001,195);

5.INSERT TO ORDER-DETAILS

insert into order_det values(112,111,10);


insert into order_det values(113,222,20);
insert into order_det values(114,333,50);
insert into order_det values(115,444,50);
insert into order_det values(116,555,8);

TABLE CONTENTS:

AUTHOR TABLE

Select * from author;

AUTHOR_ID ANAME CITY COUNTRY


---------- ---------- ---------- ----------
100 Amar Blore India
200 Ashish alaska USA
300 Sanjith California USA
400 Mohit Birmingham UK
500 Laxmi Delhi India

PUBLISHER TABLE

Select * from publisher;

PUBLISHER_ID PNAME PCITY PCOUNTRY


------------ ---------- ---------- ------------
11 Wiely New Delhi India
22 Pearson California USA
33 Godse Bangalore India
44 Folley New York USA
55 tenenbm Texas USA

CATEGORY TABLE

select * from category;

CATEGORY_ID DESCRIPTIO
------------ --------------
1 low price
2 best sell
3 Hardware
4 Algorithms
5 Internet

CATALOG TABLE

select * from catalog;

BOOK_ID TITLE AUTHOR_ID PUBLISHER_ID CATEGORY_ID YEAR PRICE


------- ------ ------- ----------- ----- ----- -----
111 DSC 100 33 2 2000 185
222 Networks 200 44 4 2002 365
333 VB6 300 11 2 2000 300
444 Frontpge 400 44 5 2003 500
555 ADA 500 33 4 2001 195

ORDER-DETAILS TABLE

select * from order_det;

ORDER_NO BOOK_ID QUANTITY


--------- ---------- ----------
112 111 10
113 222 20
114 333 50
115 444 50
116 555 8
QUERIES:

//give the details of the author who have 2 or more books in the catalog and the price of the
books is greater than the average price of the books in the
catalog and the year of publication is after 2000//

SOLUTION:
SELECT AUTHOR_ID,ANAME,CITY,COUNTRY
FROM AUTHOR
WHERE AUTHOR_ID IN(
SELECT A.AUTHOR_ID
FROM AUTHOR A,CATALOG C,ORDER_DET O
WHERE A.AUTHOR_ID=C.AUTHOR_ID AND C.BOOK_ID=O.BOOK_ID AND
QUANTITY>=2 AND YEAR>2000 AND PRICE>(
SELECT AVG(PRICE)
FROM CATALOG)
GROUP BY A.AUTHOR_ID);

AUTHOR_ID ANAME CITY COUNTRY


---------- ---------- ------- ----------
200 Ashish alaska USA
400 Mohit Birmingham UK

//find the author of the book which has maximum sales..

SOLUTION:
select * from catalog;

BOOK_ID TITLE AUTHOR_ID PUBLISHER_ID CATEGORY_ID YEAR PRICE


------- ------ ------- ----------- ----- ----- -----
111 DSC 100 33 2 2000 204
222 Networks 200 44 4 2002 365
333 VB6 300 11 2 2000 300
444 Frontpge 400 44 5 2003 500
555 ADA 500 33 4 2001 195

SELECT A.AUTHOR_ID,A.ANAME,C.TITLE,O.BOOK_ID,O.QUANTITY
FROM AUTHOR A,CATALOG C,ORDER_DET O
WHERE A.AUTHOR_ID=C.AUTHOR_ID AND C.BOOK_ID=O.BOOK_ID AND
O.QUANTITY=( SELECT MAX(QUANTITY)
FROM ORDER_DET);

AUTHOR_ID ANAME TITLE BOOK_ID QUANTITY


-------- ----- ------- --------- -------
300 Sanjith VB6 333 50
400 Mohit Frontpge 444 50
//demonstrate how you increase the price of books published by a specific publisher by
10%.

SOLUTION:
select * from catalog;

BOOK_ID TITLE AUTHOR_ID PUBLISHER_ID CATEGORY_ID YEAR PRICE


------- ------ ------- ----------- ----- ----- -----
111 DSC 100 33 2 2000 185
222 Networks 200 44 4 2002 365
333 VB6 300 11 2 2000 300
444 Frontpge 400 44 5 2003 500
555 ADA 500 33 4 2001 195

Update catalog set price=price*1.10 where publisher_id=33;

BOOK_ID TITLE AUTHOR_ID PUBLISHER_ID CATEGORY_ID YEAR PRICE


------- ------ ------- ----------- ----- ----- -----
111 DSC 100 33 2 2000 185
222 Networks 200 44 4 2002 365
333 VB6 300 11 2 2000 300
444 Frontpge 400 44 5 2003 500
555 ADA 500 33 4 2001 215

You might also like