【正文】
參考文獻(xiàn)《數(shù)據(jù)庫(kù)系統(tǒng)教程》(第三版),施伯樂,丁寶康,汪衛(wèi)編著,高等教育出版社,2008年。在本次課程設(shè)計(jì)和過(guò)程中,由于時(shí)間不是很長(zhǎng),再加上要求獨(dú)立完成,系統(tǒng)功能可能不是很全面,程序中還存在很多缺陷,希望老師能給予批評(píng)和指導(dǎo)。Booking success! Wele to use the next!39。1234567890139。女39。15020119951006000739。15040319941020000639。已售39。,分組查詢統(tǒng)計(jì)每個(gè)公司的業(yè)務(wù)員人數(shù),要求顯示公司號(hào),公司名,業(yè)務(wù)員員工人數(shù)USE 航空機(jī)票預(yù)售系統(tǒng)SELECT CAMPANY_NUMBER,COMPANY_NAME,COUNT(EmployeeNumber)FROM CAMPANY INNER JOIN Clerkon =group by CAMPANY_NUMBER,COMPANY_NAME。只能有一個(gè)公司,插入失敗?。?!39。,39。,39。,39。,39。), (39。,39。,39。), (39。,39。,39。), (39。,39。,39。)INSERT INTO SELL_TICKETS(SELL_TIME,TICKET_SUM,EmployeeNumber)VALUES(39。)SELECT * FROM BUY_TICKETSuse 航空機(jī)票預(yù)售系統(tǒng)INSERT INTO REFUND(REFUND_TIME,PASSAGER_ID)VALUES(39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。), (39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。,39。ALTER TABLE BUY_TICKETSADDCONSTRAINT CK_REAL_PAY CHECK(REAL_PAY=0)ALTER TABLE BUY_TICKETSADDCONSTRAINT CK_BUY_TICKETS_LEN CHECK(LEN(PASSAGER_ID)=18)CREATE TABLE REFUND退票表(REFUND_TIME VARCHAR(50),退票時(shí)間PASSAGER_ID VARCHAR(50),旅客身份證號(hào)TICKET_ID INT IDENTITY(1,1) NOT NULL,機(jī)票編號(hào)CONSTRAINT PK_退旅客機(jī)票 PRIMARY KEY(PASSAGER_ID,TICKET_ID),CONSTRAINT FK_REFUND_PASSAGER_ID FOREIGN KEY(PASSAGER_ID) references PASSAGER(PASSAGER_ID),CONSTRAINT FK_REFUND_TICKET_ID FOREIGN KEY(TICKET_ID) references TICKET(TICKET_ID),)。男39。女39。CREATE TABLE Crew乘務(wù)員表(EmployeeNumber VARCHAR(50) NOT NULL PRIMARY KEY,員工號(hào)FIGHT_NUMBER VARCHAR(50) NOT NULL,航班號(hào)CREW_NAME VARCHAR(50) NOT NULL,乘務(wù)員姓名CREW_SEX VARCHAR(50) NOT NULL,性別BirthOfDate DATE NOT NULL,出生日期CREW_TELEPHONE VARCHAR(50) NOT NULL,電話CAMPANY_NUMBER1 VARCHAR(50) NOT NULL,公司編號(hào)CONSTRAINT FK_Crew_CAMPANY_NUMBER FOREIGN KEY(CAMPANY_NUMBER1)references CAMPANY(CAMPANY_NUMBER),CONSTRAINT FK_Crew_FIGHT_NUMBER FOREIGN KEY(FIGHT_NUMBER)references FIGHT(FIGHT_NUMBER),)。)) ALTER TABLE CLERKADDCONSTRAINT CK_CLERK_LAN CHECK(LEN(CLERK_TELEPHONE)=11)CREATE TABLE BUY_TICKETS買票表(TICKET_COUNT VARCHAR(50) NOT NULL,數(shù)量DISCOUNT VARCHAR(50) NOT NULL,折扣GET_TICKETS_TIME DATE,取票時(shí)間BUY_TICKETS_TIME DATE NOT NULL,購(gòu)買時(shí)間REAL_PAY VARCHAR(50) NOT NULL,實(shí)付款PASSAGER_ID VARCHAR(50) NOT NULL,旅客身份證號(hào)TICKET_ID int NOT NULL,機(jī)票編號(hào)CONSTRAINT PK_旅客機(jī)票 PRIMARY KEY(PASSAGER_ID,TICKET_ID),CONSTRAINT FK_BUY_PASSAGER_ID FOREIGN KEY(PASSAGER_ID) references PASSAGER(PASSAGER_ID),CONSTRAINT FK_BUY_TICKET_ID FOREIGN KEY(TICKET_ID) references TICKET(TICKET_ID),)。ALTER TABLE CLERKADDCONSTRAINT ck_CLERK_SEX CHECK(CLERK_SEX in(39。,39。 第五章數(shù)據(jù)庫(kù)的物理設(shè)計(jì)CREATE TABLE FIGHT航班表(FIGHT_NUMBER VARCHAR(50) NOT NULL PRIMARY KEY,航班號(hào)FIGHT_DepartureCity VARCHAR(50) NOT NULL,出發(fā)城市FIGHT_DestinationCity VARCHAR(50) NOT NULL,抵達(dá)城市FIGHT_DepartureTime VARCHAR(50) NOT NULL,起飛時(shí)間FIGHT_ArrialTime VARCHAR(50) NOT NULL,抵達(dá)時(shí)間CAMPANY_NUMBER VARCHAR(50) NOT NULL,公司編號(hào)SEAT_COUNT VARCHAR(50) NOT NULL,座位總數(shù)CONSTRAINT FK_CAMPANY_NUMBER2 FOREIGN KEY(CAMPANY_NUMBER)references CAMPANY(CAMPANY_NUMBER),)。業(yè)務(wù)員工號(hào)→性別,業(yè)務(wù)員工號(hào)→公司編號(hào)。因?yàn)楣颈碇械姆侵鲗傩圆淮嬖诓糠忠蕾嚭蛡鬟f依賴,所以公司表是3NF的。根據(jù)以上分析可以畫出系統(tǒng)ER圖,:旅客購(gòu)買退票數(shù)量實(shí)付款購(gòu)買時(shí)間折扣取票時(shí)間退票時(shí)間 M M賣票時(shí)間 N N機(jī)票屬于航班擁有屬于乘務(wù)人員公司售票員售票包含座位屬于收益金額 NN M 1 N 1 1 N N 1 N 1列名數(shù)據(jù)類型允許NULL值鍵描述PASSAGER_NAMEVarchar