1. 程式人生 > >SQL課設之報刊訂閱管理

SQL課設之報刊訂閱管理

E-R圖:

 

 相關SQL程式碼如下:

CREATE TABLE Administrator(
    Gname varchar(50)PRIMARY KEY,
    Gnum varchar(50)
);
CREATE TABLE Department(
    Dnum int PRIMARY KEY,
    Dname varchar(50)
);
CREATE TABLE User(
    Uaccount varchar(50)PRIMARY KEY,
    Unum varchar(50)NOT NULL,
    Uname varchar
(50)NOT NULL, U_identity_number varchar(50)NOT NULL, U_contact_number varchar(50)NOT NULL, Uaddress varchar(100) NOT NULL, Dnum int, FOREIGN KEY(Dnum)REFERENCES Department(Dnum) ); CREATE TABLE Category( Cnum int PRIMARY KEY, Cname varchar(50) ); CREATE TABLE Paper_infor( Pnum
int PRIMARY KEY, Pname varchar(50)NOT NULL, Publishing varchar(100), Period int, Price int, PIntroduction varchar(200), Cnum int, FOREIGN KEY(Cnum)REFERENCES Category(Cnum) ); CREATE TABLE Order_form( Onum int PRIMARY KEY, Uaccount varchar(50), Pnum int, Ocnt int
, Ostart varchar(100), Oend varchar(100), FOREIGN KEY(Uaccount)REFERENCES User(Uaccount), FOREIGN KEY(Pnum)REFERENCES Paper_infor(Pnum) ); select * FROM User; insert into Administrator values('陶海雲','123456'); insert into Administrator values('陶寶','654321'); insert into Department values('人事部','1'); insert into Department values('運維部','2'); insert into Department values('開發部','3'); insert into Department values('產品部','4'); insert into User values('20162292','123123','陶一','3402211998','15526856768','安徽省','1'); insert into User values('20162200','321321','陶二','3402210921','15523213213','江蘇省','2'); insert into User values('20162233','111222','陶三','3402213213','18325387936','吉林省','3'); insert into User values('20162211','222111','陶四','2132132123','18209762703','上海市','4') insert into Category values('1','時事政治'); insert into Category values('2','財政金融'); insert into Category values('3','科技數碼'); insert into Category values('4','人文風情'); insert into Paper_infor values('1','經濟日報','經濟出版社','12','10','分析時代經濟形勢','1'); insert into Paper_infor values('2','人民日報','人民教育出版社','6','10','簡述政治政策看點','2'); insert into Paper_infor values('3','IT時代報','科學出版社','24','15','分享科技前沿','3'); insert into Paper_infor values('4','中文新報','商務印書館','12','8','領略文學藝術','4'); insert into Order_form values('1','20162292','1','6','2018-3-1','2018-9-1'); insert into Order_form values('2','20162200','2','9','2018-4-29','2017-7-15'); insert into Order_form values('3','20162233','3','3','2018-6-23','2018-10-22'); insert into Order_form values('4','20162211','4','2','2017-5-1','2018-11-23'); select Uname FROM User; select * FROM Paper_infor WHERE Price='10'; select COUNT(*) FROM User; select Onum,Uaccount,Pnum,Ocnt FROM Order_form WHERE Ocnt BETWEEN 5 AND 10; select Uaccount,Uname,Dnum FROM User WHERE Uname LIKE '陶%'; select Price,COUNT(*) FROM Paper_infor GROUP BY Price; select Order_form.Uaccount,User.Uname,Ocnt FROM Order_form,User WHERE Order_form.Uaccount=User.Uaccount; create view v1 as select Uaccount,Uname,Dnum FROM User WHERE Uname LIKE '陶%'; create trigger tri1 after insert on Order_form for each row updata Onum set Ocnt=Ocnt+1 where new.Onum=Order_form.Onum;