數(shù)據(jù)庫(kù)原理上機(jī)題目匯總

字號(hào):

某系統(tǒng)有如下數(shù)據(jù)庫(kù),其中存放了三個(gè)表:
    Project (PID, Pname, city, principal)
    注:工程(工程號(hào),工程名,所在城市,負(fù)責(zé)人)
    要求:工程號(hào)為主碼, 所有字段都不能為空
    Create table Project9527(PID varchar(8),Pname varchar(8) not null,city varchar(8) not null,principal varchar(8) not null,primary key (PID))
    Bank (BID,Bname,city)
    注:銀行(銀行號(hào),銀行名,所在城市)
    要求:銀行號(hào)為主碼, 銀行名,所有字段不為空。
    create table Bank9527(BID varchar(4),Bname varchar(8) unique not null,city varchar(8) not null,primary key (BID))
    Loan (PID, BID, money1, Bdate, RDate)
    注:貸款(工程號(hào),銀行號(hào),貸款金額, 貸款日期, 償還日期)
    要求:工程號(hào)和銀行號(hào)作為主碼,工程號(hào)為參照工程表的主碼的外碼,銀行號(hào)為參照銀行表的主碼的外碼, 所有字段不為空,償還日期必須遲于貸款日期或者為空。
    create table Loan9527(PID varchar(8) not null,BID varchar(4) not null,money1 int not null,Bdate datetime not null,
    Rdate datetime,primary key(PID,BID),foreign key(PID) references project9527(PID),foreign key (BID) references Bank9527(BID),check(Bdate  試用SQL語(yǔ)言完成下列功能:
    1.在數(shù)據(jù)庫(kù)中建立上述三個(gè)表,請(qǐng)使用英文表名和屬性名(滿足上述表的每個(gè)要求)。
    2.往表中插入數(shù)據(jù)
    工程(101,'地鐵','北京','劉陽(yáng)')
    (102,'教學(xué)樓','濟(jì)南','張虎')
    insert into project9527 values('101','地鐵','北京','劉陽(yáng)')
    insert into project9527 values('102','教學(xué)樓','濟(jì)南','張虎')
    銀行(201,'工商銀行','北京')
    (202,'農(nóng)業(yè)銀行', '濟(jì)南')
    (203,'建設(shè)銀行', '濟(jì)南')
    insert into Bank9527 values('201','工商銀行','北京')
    insert into Bank9527 values('202','農(nóng)業(yè)銀行', '濟(jì)南')
    insert into Bank9527 values('203','建設(shè)銀行', '濟(jì)南')
    貸款 (101,201,300000,2005-11-10,null)
    (101,202,3000000,2005-11-15, 2006-11-28)
    (102,202,200000,2006-10-15, null)
    (102,203,500000,2005-5-6, null)
    insert into Loan9527 values('101','201',300000,'2005-11-10',null)
    insert into Loan9527 values('101','202',3000000,'2005-11-15', '2006-11-28')
    insert into Loan9527 values('102','202',200000,'2006-10-15', null)
    insert into Loan9527 values('102','203',500000,'2005-5-6', null)
    3.SQL語(yǔ)句完成下列查詢:
    a)列出所有工程和銀行在同一城市的貸款記錄,包括工程名、銀行名、貸款金額、貸款日期。
    select project9527.PID ,Bank9527.BID, Bdate,money1 from project9527,Bank9527 ,Loan9527 where
    project9527.PID=Loan9527.PID and Bank9527.BID=Loan9527.BID and project9527.city=Bank9527.cityb)找出貸款記錄大于1次的工程名。
    select Pname,count(*) as 貸款記錄 from project9527,Loan9527 where project95