【正文】
參考文獻《數(shù)據(jù)庫系統(tǒng)教程》(第三版),施伯樂,丁寶康,汪衛(wèi)編著,高等教育出版社,2008年。在本次課程設(shè)計和過程中,由于時間不是很長,再加上要求獨立完成,系統(tǒng)功能可能不是很全面,程序中還存在很多缺陷,希望老師能給予批評和指導(dǎo)。Booking success! Wele to use the next!39。1234567890139。女39。15020119951006000739。15040319941020000639。已售39。,分組查詢統(tǒng)計每個公司的業(yè)務(wù)員人數(shù),要求顯示公司號,公司名,業(yè)務(wù)員員工人數(shù)USE 航空機票預(yù)售系統(tǒng)SELECT CAMPANY_NUMBER,COMPANY_NAME,COUNT(EmployeeNumber)FROM CAMPANY INNER JOIN Clerkon =group by CAMPANY_NUMBER,COMPANY_NAME。只能有一個公司,插入失?。。?!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 航空機票預(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),退票時間PASSAGER_ID VARCHAR(50),旅客身份證號TICKET_ID INT IDENTITY(1,1) NOT NULL,機票編號CONSTRAINT PK_退旅客機票 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,員工號FIGHT_NUMBER VARCHAR(50) NOT NULL,航班號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,公司編號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,取票時間BUY_TICKETS_TIME DATE NOT NULL,購買時間REAL_PAY VARCHAR(50) NOT NULL,實付款PASSAGER_ID VARCHAR(50) NOT NULL,旅客身份證號TICKET_ID int NOT NULL,機票編號CONSTRAINT PK_旅客機票 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ù)庫的物理設(shè)計CREATE TABLE FIGHT航班表(FIGHT_NUMBER VARCHAR(50) NOT NULL PRIMARY KEY,航班號FIGHT_DepartureCity VARCHAR(50) NOT NULL,出發(fā)城市FIGHT_DestinationCity VARCHAR(50) NOT NULL,抵達城市FIGHT_DepartureTime VARCHAR(50) NOT NULL,起飛時間FIGHT_ArrialTime VARCHAR(50) NOT NULL,抵達時間CAMPANY_NUMBER VARCHAR(50) NOT NULL,公司編號SEAT_COUNT VARCHAR(50) NOT NULL,座位總數(shù)CONSTRAINT FK_CAMPANY_NUMBER2 FOREIGN KEY(CAMPANY_NUMBER)references CAMPANY(CAMPANY_NUMBER),)。業(yè)務(wù)員工號→性別,業(yè)務(wù)員工號→公司編號。因為公司表中的非主屬性不存在部分依賴和傳遞依賴,所以公司表是3NF的。根據(jù)以上分析可以畫出系統(tǒng)ER圖,:旅客購買退票數(shù)量實付款購買時間折扣取票時間退票時間 M M賣票時間 N N機票屬于航班擁有屬于乘務(wù)人員公司售票員售票包含座位屬于收益金額 NN M 1 N 1 1 N N 1 N 1列名數(shù)據(jù)類型允許NULL值鍵描述PASSAGER_NAMEVarchar