欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng)

      時間:2019-05-12 20:39:23下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng)》。

      第一篇:數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng)

      源代碼:

      CREATE DATABASE JWGL

      /*建立教務(wù)管理系統(tǒng)*/ ON

      (NAME = JWGL_Data,F(xiàn)ILENAME = 'e:sql_dataJwgl_Data.mdf', SIZE = 20, MAXSIZE = 500, FILEGROWTH = 25%)LOG ON

      (NAME = JWGL_LOG,F(xiàn)ILENAME = 'e:sql_dataJwgl_Log.ldf', SIZE = 10, MAXSIZE = 100, FILEGROWTH = 1%);

      CREATE TABLE Student

      /*建立學(xué)生表*/(Sno CHAR(8)PRIMARY KEY NOT NULL, Sname VARCHAR(10)NOT NULL,Sex CHAR(2)CHECK(Sex IN('男','女'))NOT NULL,Age TINYINT CHECK(Age BETWEEN 15 AND 30)NOT NULL, Phonenumber CHAR(12)UNIQUE, Sdept VARCHAR(20)NOT NULL,);

      CREATE TABLE Course

      /*建立課程表*/(Cno CHAR(10)PRIMARY KEY NOT NULL, Cname VARCHAR(20)UNIQUE NOT NULL,Total_perior TINYINT CHECK(Total_perior BETWEEN 32 AND 108),/*總學(xué)時*/ Week_perior TINYINT CHECK(Week_perior BETWEEN 2 AND 7),/*周學(xué)時*/ Credit TINYINT CHECK(Credit BETWEEN 1 AND 7)NOT NULL,/*學(xué)分*/ Pcno CHAR(10)/*先修課*/);

      CREATE TABLE SC

      /*建立學(xué)生選課表*/(Sno CHAR(8)NOT NULL, Cno CHAR(10)NOT NULL,Grade TINYINT CHECK(Grade BETWEEN 1 AND 100), PRIMARY KEY(Sno,Cno),F(xiàn)OREIGN KEY(Sno)REFERENCES Student(Sno), FOREIGN KEY(Cno)REFERENCES Course(Cno));

      DROP TABLE Student

      /*刪除學(xué)生表*/ DROP TABLE Course

      /*刪除課程表*/ DROP TABLE SC

      /*刪除學(xué)生選課表*/

      INSERT

      /*向?qū)W生表中插入數(shù)據(jù)*/ INTO Student

      VALUES('04111020','張倩','女',19,'***','計算機');INSERT

      INTO Student

      VALUES('04111021','張花','女',20,'***','信息');INSERT

      INTO Student

      VALUES('04111022','李強','男',20,'***','英語');INSERT

      INTO Student

      VALUES('04111023','王若','女',19,'***','計算機');INSERT

      INTO Student

      VALUES('04111024','小淼','男',20,'***','信息');INSERT

      INTO Student

      VALUES('04111025','李新','男',20,'***','英語');INSERT INTO Student

      VALUES('04111026','劉浮','男',19,'***','信息');INSERT

      INTO Student

      VALUES('04111027','二毛','男',20,'***','英語');INSERT

      INTO Student

      VALUES('04111028','朱琪','女',19,'***','計算機');INSERT

      INTO Student

      VALUES('04111029','小馬','男',20,'***1','信息');INSERT

      INTO Student

      VALUES('04111030','吳欣','女',20,'***','英語')

      INSERT

      /*向課程表中插入數(shù)據(jù)*/ INTO Course

      SELECT '0011','數(shù)據(jù)結(jié)構(gòu)','64','2','3','c語言'

      UNION SELECT '0012','數(shù)據(jù)庫','64','2','3','離散數(shù)學(xué)' UNION SELECT '0013','信息管理','64','2','3','計算機基礎(chǔ)' UNION SELECT '0014','專業(yè)英語','64','2','4','基礎(chǔ)英語' UNION SELECT '0015','電氣學(xué)','64','2','4','電子科技'

      INSERT

      /*向?qū)W生選課表中插入數(shù)據(jù)*/ INTO SC

      SELECT '04111020','0011','90' UNION SELECT '04111020','0012','87' UNION SELECT '04111022','0012','85' UNION SELECT '04111022','0015','76' UNION SELECT '04111023','0014','69' UNION SELECT '04111024','0013','90' UNION SELECT '04111025','0011','92' UNION SELECT '04111026','0011','83' UNION SELECT '04111027','0012','87' UNION SELECT '04111027','0013','79' UNION SELECT '04111028','0011','88' UNION SELECT '04111028','0014','85' UNION SELECT '04111029','0012','97' UNION SELECT '04111030','0013','69' UNION SELECT '04111028','0015','88'

      CREATE TABLE Student_temp

      /*建立 Student_temp空表*/(Sno CHAR(8)PRIMARY KEY NOT NULL, Sname VARCHAR(10)NOT NULL,Sex CHAR(2)CHECK(Sex IN('男','女'))NOT NULL,Age TINYINT CHECK(Age BETWEEN 15 AND 30)NOT NULL, Phonenumber CHAR(12)UNIQUE, Sdept VARCHAR(20)NOT NULL,);

      INSERT INTO

      Student_temp

      /*在Student_temp表中保存計算機系所有學(xué)生的情況*/ SELECT * FROM Student

      WHERE Sdept = '計算機';

      ALTER TABLE Student ADD Address CHAR(20);

      /*向Student表中插入地址列*/

      DELETE FROM SC

      /*刪除計算機系學(xué)生的選課記錄*/ WHERE Sno IN(SELECT Sno FROM Student

      WHERE Sdept ='計算機');

      UPDATE Student

      /*將每個學(xué)生的年齡增加1歲*/ SET Age=Age+1;UPDATE

      SC SET Grade=0 WHERE Sno IN(SELECT Sno FROM Student

      WHERE Sdept = '計算機');

      SELECT Sno,Sname,Sdept

      /*查詢學(xué)生表中所有學(xué)生的學(xué)號、姓名、所在系*/ FROM Student;

      SELECT *

      /*查詢學(xué)生表中的所有信息*/ FROM Student;

      SELECT Sname,2013-Age AS Birthday

      /*查詢學(xué)生表中所有學(xué)生的出生年份,用2013-Age的值作為Birthday的列值*/ FROM Student;

      SELECT *

      /*查詢課程表中的所有信息*/ FROM Course;

      SELECT *

      /*查詢學(xué)生選課表中的所有信息*/ FROM SC;

      SELECT DISTINCT Sno

      /*查詢所有選了課程的學(xué)生的學(xué)號*/ FROM SC;

      SELECT Sno,Sname

      /*查詢計算機系所有學(xué)生的學(xué)號和姓名*/ FROM Student

      WHERE Sdept ='計算機';

      SELECT Sno

      /*查詢考試成績在80分以上的學(xué)生學(xué)號*/ FROM SC

      WHERE Grade >=80;

      SELECT Sname,Sdept,Age /*查詢年齡在20-23歲的學(xué)生姓名、所在系和年齡*/ FROM Student

      WHERE Age >=20 AND Age <=23;

      SELECT Sname,Sdept,Age,Sex /*查詢計算機和英語系的學(xué)生姓名、年齡和性別*/ FROM Student

      WHERE Sdept IN('計算機','英語');

      SELECT Sname,Sdept,Age,Sex /*查詢不是計算機和英語系的學(xué)生姓名、年齡和性別*/ FROM Student

      WHERE Sdept NOT IN('計算機','英語');

      SELECT *

      /*查詢信息系所有學(xué)生的情況*/ FROM Student

      WHERE Sdept LIKE '信息';

      SELECT *

      /*查詢姓張的學(xué)生所有信息*/ FROM

      Student

      WHERE Sname LIKE '張%';

      SELECT

      Cno,Credit

      /* 查詢'數(shù)據(jù)結(jié)構(gòu)'課程的課程號和學(xué)分*/ FROM Course

      WHERE Cname LIKE '數(shù)據(jù)結(jié)構(gòu)';

      SELECT Sno,Cno

      /*查詢沒有考試成績的課程后和學(xué)分*/ FROM SC

      WHERE Grade IS NULL;

      SELECT *

      /*查詢?nèi)w學(xué)生的信息,查詢結(jié)果按所在系的升序排列,同一系中的學(xué)生按年齡降序排列*/ FROM Student

      ORDER BY Sdept ,Age DESC;

      SELECT AVG(Grade)AS '平均成績'

      /*查詢選修'0014'號課程的學(xué)生的平均分*/ FROM SC

      WHERE Cno ='0014';

      SELECT MIN(DISTINCT Grade)AS '最低分' /*查詢成績表中的最低分*/ FROM SC;

      SELECT COUNT(*)AS'總?cè)藬?shù)'

      /*統(tǒng)計學(xué)生總?cè)藬?shù)*/ FROM Student;

      SELECT COUNT(DISTINCT Sno)/*統(tǒng)計選修了課程的學(xué)生人數(shù)*/ FROM SC;

      SELECT Cno ,COUNT(Sno)/*查詢每門課程的課程號及選課人數(shù)*/ FROM SC GROUP BY Cno;

      SELECT Student.*,SC.*

      /*查詢每個學(xué)生及其選修課的情況*/ FROM Student ,SC

      WHERE Student.Sno=SC.Sno;

      SELECT Student.Sno,Sname,Grade

      /*查詢選修了'數(shù)據(jù)庫'課程并且成績在85分以上的學(xué)生的學(xué)號和姓名*/

      FROM Student ,Course,SC

      WHERE Student.Sno = SC.Sno AND SC.Cno

      = Course.Cno AND Cname = '數(shù)據(jù)庫'AND Grade>85;

      SELECT Sno,Sname

      /*查詢和王若在同一個系學(xué)習(xí)的學(xué)生的學(xué)號和姓名*/ FROM Student

      WHERE Sdept =

      (SELECT Sdept

      FROM Student

      SELECT Sname ,Age

      /*查詢其他系中比英語系某一學(xué)生年齡小的學(xué)生是姓名和年齡*/ FROM Student

      WHERE Sdept <>'英語'

      AND AGE

      FROM Student

      WHERE Sdept ='英語');

      SELECT Sname /*查詢選修了0014號課程的學(xué)生的姓名*/ FROM Student

      WHERE EXISTS

      (SELECT * FROM SC

      WHERE Sno =Student.Sno AND Cno='0014');

      SELECT Cno FROM Course

      UNION ALL

      /*ALL表示合并兩個查詢輸出的全部記錄,沒有ALL表示結(jié)果中不包含重復(fù)行*/ SELECT Cno FROM SC ORDER BY Cno;

      CREATE PROCEDURE Student_Course

      /*在學(xué)生-課程數(shù)據(jù)庫中創(chuàng)建存儲過程,查看和'小馬'有關(guān)的基本信息及選修課程*/ AS

      SELECT Student.Sno,Sname,Cname,Grade

      FROM Student,Course,SC

      WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Sno AND Sname='王若' IF EXISTS(SELECT name FROM sysobjects

      WHERE name='Student_Course' AND type='P')

      DROP PROCEDURE Student_Course;WHERE Sname = '王若');EXECUTE Student_Course;/*查看存儲的信息*/

      SELECT Sno

      /*查詢選修'0012'或'0015'號課程的所以學(xué)生的學(xué)號*/ FROM SC

      WHERE Cno='0012' UNION SELECT Sno FROM SC

      WHERE Cno='0015';

      CREATE UNIQUE INDEX Stusno ON Student(sno);/*建立索引*/ CREATE UNIQUE INDEX Coucon ON Course(Cno);

      CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Grade DESC);

      drop index Stusno ON Student/*刪除索引*/ drop index Coucon ON Course drop index SCno ON SC

      CREATE VIEW C_Student

      /*建立計算機系學(xué)生的視圖,進行修改和插入操作時只能對計算機系的學(xué)生操作*/ AS

      SELECT Sno,Sname,Sex,Age FROM Student WHERE Sdept='計算機' WITH CHECK OPTION

      CREATE VIEW Student_Course_0013(Sno,Sname,Sex,Age,Grade)/*建立選擇0013號課程并且成績在80分以上的學(xué)生視圖*/ AS

      SELECT Student.Sno,Sname,Sex,Age,Grade FROM Student,SC

      WHERE Student.Sno=SC.Sno AND Grade>=80 AND Cno='0013'

      CREATE VIEW Student_Birth(Sno,Sname,Sbirth)/*建立反應(yīng)學(xué)生出生年份的視圖*/ AS

      SELECT Sno,Sname,2013-Age FROM Student

      CREATE PROCEDURE student_count/*創(chuàng)建一個存儲過程,返回選修某門課程的學(xué)生人數(shù)*/ @CourseName VARCHAR(20), @StudentSum INT OUTPUT AS SELECT @StudentSum=COUNT(*)FROM Course ,SC

      WHERE Course.Cno=SC.Cno AND Cname =@CourseName;

      drop procedure student_count;/*

      DELCARE @StudentSum INT;

      EXECUTE student_count '專業(yè)英語',@StudentSum output;SELECT 'the result is:',@Student_Sum;*/

      CREATE PROCEDURE student_course1 /*通過參數(shù)@StudentName將指定學(xué)生的姓名傳遞給存儲過程*/

      @StudentName VARCHAR(10)AS

      SELECT Student.Sno,Sname,Cname,Grade

      FROM Student,Course,SC

      WHERE Student.Sno=SC.Sno AND Course.Cno=SC.Cno

      AND Sname=@StudentName;

      EXECUTE

      student_course1 '小馬';/*調(diào)用存儲過程*/

      /*刪除視圖*/

      DROP VIEW C_Student;

      DROP VIEW Student_Course_0013;DROP VIEW Student_Birth;

      CREATE TRIGGER student_change/*創(chuàng)建觸發(fā)器,當(dāng)學(xué)生表中的記錄被更新時,顯示表中的所有記錄*/

      ON Student AFTER INSERT,UPDATE,DELETE AS

      SELECT * FROM Student;

      CREATE TRIGGER sc_insert3 ON SC

      /*在SC表上創(chuàng)建觸發(fā)器,當(dāng)向SC表中添加學(xué)生的選課記錄時,檢查學(xué)生的學(xué)號是否存在。若不存在,不能插入改條記錄*/ AFTER INSERT AS

      IF(SELECT COUNT(*)FROM Student ,inserted WHERE Student.Sno=inserted.Sno)=0 BEGIN

      PRINT'學(xué)號不存在,不能插入記錄' ROLLBACK TRANSACTION END;

      INSERT INTO SC

      VALUES('04111098','0015',73)

      ALTER TABLE SC

      /*刪除觸發(fā)器*/

      DISABLE TRIGGER sc_insert2

      第二篇:數(shù)據(jù)庫課程設(shè)計 計算機教務(wù)管理系統(tǒng)

      中北大學(xué)

      數(shù)據(jù)庫課程設(shè)計

      說 明 書

      學(xué) 院、系: 專

      業(yè): 學(xué) 生 姓 名: 設(shè) 計 題 目:

      李翰超

      軟件學(xué)院 軟件工程

      學(xué) 號: 1221010619

      計算機等級考試教務(wù)管理系統(tǒng)

      起 迄 日 期: 2014年5月26日-2014年6月20日 指 導(dǎo) 教 師:

      2012 年 6月 21 日.引言

      隨著全國計算機等級考試的全面推廣,我市學(xué)生每年參加兩次全國計算機等級考試,考試管理工作量相當(dāng)大。但是靠人工的方式管理等級考試相關(guān)的信息,這種管理方式存在著許多缺點,如:工作效率低、統(tǒng)計容易出錯,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。所以開發(fā)一個計算機等級考試成績管理系統(tǒng)是非常必要的。2.需求分析

      計算機等級考試分為若干種類:如:計算機一級VB、C語言;計算機二級VB、C語言、C++;計算機三級數(shù)據(jù)庫、網(wǎng)絡(luò)技術(shù);計算機四級數(shù)據(jù)庫工程師、網(wǎng)絡(luò)工程師。對于每個種類,考試分為筆試和機試.計算機等級考試工作過程如下:每個考生在報名時,登記姓名、性別、報考種類、學(xué)校、身份證號、個人照片等??荚囖k公室根據(jù)考生報考的種類,以及所在的考區(qū)來安排考場,編排準(zhǔn)考證號碼,打印準(zhǔn)考證??忌鷧⒓涌荚嚭?,登記每個考生每項的成績,并計算出每個考生筆試和機試的成績是否都>=60分。對機試和筆試都>=60分的考生,按所在考區(qū)打印通過證書,同一考區(qū)按準(zhǔn)考證號碼順序打印出通過證書,分發(fā)給考生;計算機四級只要筆試成績>=60則通過;打印成績表供考試辦公室留存、備查。

      開發(fā)計算機等級考試成績管理系統(tǒng),有計算機輔助實現(xiàn)上述過程,代替人工操作,節(jié)省人力、時間,提高工作效率。

      2.1 處理對象(1)用戶帳號密碼管理 對考點代碼,考點名稱進行管理 用戶與密碼進行管理(2)報名管理功能模塊

      報各庫錄入(姓名不能不空,之間不能有空格)增加、刪除、修改、瀏覽(3)準(zhǔn)考證管理模塊

      準(zhǔn)考證生成規(guī)則:xxx+yy+zz+kk 其中XXX為考點代碼;YY為語言代碼,XX為考場號,KK為座位號(4)考務(wù)管理功能模塊

      考生信息查詢、瀏覽 成績管理模塊

      成績數(shù)據(jù)錄入、接收

      成績合成(總成績=筆試成績*0.6+上機成績*0.4),按大于或等于60合格

      2.2數(shù)據(jù)字典:

      考生信息表(考生主鍵(主鍵),姓名,性別,出生年份,民族,身份證號,聯(lián)系地址,聯(lián)系電話,備注)

      準(zhǔn)考證表(準(zhǔn)考證號主鍵,準(zhǔn)考證號)

      成績表(成績表主鍵,筆試成績,上機成績,總成績)

      級別語言代碼表(級別語言代碼主鍵,級別語言代碼,級別,語言)考生考點信息表(考生考點主鍵,考點代碼,考點名稱,)用戶帳號管理(用戶帳號主鍵,用戶名,密碼)

      信息操作表(考生主鍵(主鍵),準(zhǔn)考證號主鍵, 級別語言代碼主鍵,考生考點主鍵,用戶帳號主鍵)

      3.E-R圖

      4.關(guān)系模型

      考生信息表(考生主鍵(主鍵),姓名,性別,出生年份,民族,身份證號,聯(lián)系地址,聯(lián)系電話,備注)

      準(zhǔn)考證表(準(zhǔn)考證號主鍵,準(zhǔn)考證號)

      成績表(成績表主鍵,筆試成績,上機成績,總成績)

      級別語言代碼表(級別語言代碼主鍵,級別語言代碼,級別,語言)

      考生考點信息表(考生考點主鍵,考點代碼,考點名稱,)用戶帳號管理(用戶帳號主鍵,用戶名,密碼)

      信息操作表(考生主鍵(主鍵),準(zhǔn)考證號主鍵, 級別語言代碼主鍵,考生考點主鍵,用戶帳號主鍵)

      其模式定義:

      見附件:模式定義。

      5.物理設(shè)計

      本數(shù)據(jù)庫共有5張表組成,其中t_manage表為管理表,而其他4張表:t_grade,t_information,t_level,t_regist都為基本表,當(dāng)要查詢所需要的信息時,就用連接查詢將管理表和基本表連接在一起,從而看到想看到信息。

      6.數(shù)據(jù)庫實施

      create table t_grade(grade number primary key, write number, shangji number, totalgrade number);alter table t_grade add constraint write check(write<=40 and write>=0);alter table t_grade add constraint shangji check(shangji<=60 and

      shangji>=0);alter table t_grade add constraint totalgrade check

      (totalgrade=write+shangji);

      insert into t_grade values(001,40,50,90);insert into t_grade values(002,30,50,80);insert into t_grade values(003,20,60,80);insert into t_grade values(004,25,50,75);insert into t_grade values(005,30,40,70);create table t_information(information number, sname varchar2(20)not null, gender varchar2(2)check(gender='n' or gender='v'), birth number, nation varchar2(20)not null, idnumber char(18), address varchar2(20)not null, phone number not null, note varchar2(20),primary key(information));alter table t_information add constraint birth check(birth<=20020101 and

      birth>=19200101);

      insert into t_information values

      (006,'ling','n',19950302,'han','***014','shanxi','0101111',null);insert into t_information values

      (007,'wang','n',19950607,'han','***014','shanxi','0101241',null);insert into t_information values

      (008,'john','n',19950504,'german','***014','german','010234511' ,'forgien');insert into t_information values

      (009,'liu','v',19930407,'han','***014','shanxi','010123511',nul l);insert into t_information values

      (010,'yuan','n',19910408,'han','***014','shanxi','0101211',null);create table t_level(leve number primary key, codes number not null, language varchar2(15)not null);insert into t_level values(015,01,'chinese');insert into t_level values(016,01,'chinese');insert into t_level values(017,02,'chinese');insert into t_level values(018,01,'english');insert into t_level values(019,01,'chinese');

      create table t_regist(regist number, place varchar2(14), registnumber varchar2(9), primary key(regist));

      insert into t_regist values(020,10101,'14010101');insert into t_regist values(021,10201,'14010102');insert into t_regist values(022,11101,'14010103');insert into t_regist values(023,12101,'14010104');insert into t_regist values(024,15103,'14010105');create table t_user(use number, username varchar2(14)not null, code varchar2(20)not null, primary key(use));

      insert into t_user values(025,'ling','asasn');insert into t_user values(026,'wang','asasn');insert into t_user values(027,'john','sdrhy');insert into t_user values(028,'liu','eryery');insert into t_user values(029,'yuan','hjlmyu');

      create table t_manage(information number, grade number, leve number, use number, regist number, foreign key(grade)references t_grade(grade), foreign key(information)references t_information(information), foreign key(leve)references t_level(leve), foreign key(regist)references t_regist(regist), foreign key(use)references t_user(use));

      insert into t_manage values(006,001,015,025,020);5

      insert into t_manage values(007,002,016,026,021);insert into t_manage values(008,003,017,027,022);insert into t_manage values(009,004,018,028,023);insert into t_manage values(010,005,019,029,024);

      7.系統(tǒng)調(diào)試

      通過sql語句對其進行調(diào)試,以測試其正確性,如圖1,2,3,4,5

      圖 1 6

      圖 2

      圖 3 7

      圖 4 用自然連接查詢:

      圖 5

      8.心得體會

      本次課程設(shè)計主要設(shè)計一個計算機管理系統(tǒng),我的大體思路就是將基本信息錄入到基本表當(dāng)中,并保證沒有重復(fù)屬性,然后設(shè)計一個管理表,讓其它基本表參照這個管理表,這個管理表當(dāng)中只有各表主鍵,需要查看信息時,就將兩表連接。。

      這次課設(shè)我覺得有兩個難點,一個是表間的參照,另一個是約束條件的設(shè)置,尤其是約束條件一定要充分考慮到,還有當(dāng)有那種范圍值的約束時要在建表后要用alter修改,而不是在定義時直接約束。

      最后一點是關(guān)于主鍵的問題,主鍵最好別用學(xué)號什么的,最好應(yīng)該用連續(xù)的、無意義的數(shù)字,create sequence之后,每加一個元組就用一次nextval,這樣可以讓電腦自動排號。

      第三篇:數(shù)據(jù)庫課程設(shè)計 圖書管理系統(tǒng)(精選)

      課 程 設(shè) 計

      軟件工程與數(shù)據(jù)庫 課程設(shè)計 任務(wù)書

      學(xué)院名稱:

      數(shù)學(xué)與計算機學(xué)院

      課程代碼:_6014419_ 專

      業(yè):

      級:

      一、設(shè)計題目

      圖書管理系統(tǒng)

      二、主要內(nèi)容

      一個簡單的圖書管理系統(tǒng)包括圖書館內(nèi)書籍的信息、學(xué)校在校學(xué)生的信息以及學(xué)生的借閱信息。此系統(tǒng)功能分為面向?qū)W生和面向管理員兩部分,其中學(xué)生可以進行借閱、續(xù)借、歸還和查詢書籍等操作,管理員可以完成書籍和學(xué)生的增加,刪除和修改以及對學(xué)生,借閱、續(xù)借、歸還的確認。如:

      圖書室有各種圖書一萬多冊。

      每種圖書都有書名、書號(ISBN)、一名或多名作者(譯者)、出版社、定價和內(nèi)容簡介。

      借書證記錄有借閱者的姓名、所在單位、職業(yè)等。

      憑借書證借書,每次最多能借8本書。借書期限最長為30天。實現(xiàn)新進圖書的數(shù)據(jù)錄入。

      實現(xiàn)對所有購進圖書的分類查詢和分類統(tǒng)計。能夠按書名、作者等分類查詢現(xiàn)有圖書的數(shù)量。

      記錄借閱者的個人資料和所借圖書的書名、書號數(shù)據(jù)等。

      三、具體要求

      1、完成系統(tǒng)的需求分析

      通過需求分析確定系統(tǒng)需要處理的數(shù)據(jù)的需求,要求使用數(shù)據(jù)庫的輔助設(shè)計工具(PowerDesigner等),建立業(yè)務(wù)處理模型。

      課 程 設(shè) 計

      2、完成系統(tǒng)概念結(jié)構(gòu)設(shè)計 概念數(shù)據(jù)模型(CDM)用于完成數(shù)據(jù)庫的設(shè)計,與人和數(shù)據(jù)庫平臺和具體數(shù)據(jù)存儲結(jié)構(gòu)和工具無關(guān)。首先選擇局部應(yīng)用畫出分E-R圖,最終形成系統(tǒng)的E-R圖

      3、完成系統(tǒng)邏輯結(jié)構(gòu)設(shè)計

      按照E-R圖轉(zhuǎn)換成關(guān)系模式的規(guī)則,將CDM轉(zhuǎn)換成邏輯數(shù)據(jù)模型,并為每個關(guān)系模式設(shè)計主鍵、外鍵。分析關(guān)系模式中的依賴關(guān)系,對關(guān)系模式規(guī)范化處理

      4、完成系統(tǒng)物理結(jié)構(gòu)設(shè)計

      為每個關(guān)系分配存儲長度,建立數(shù)據(jù)庫的索引和視圖,定義關(guān)系中的主碼和外碼,寫出關(guān)系創(chuàng)建和查詢的SQL語句。

      5、編碼 選擇你自己熟悉的開發(fā)工具完成一個DBS系統(tǒng)的編碼工作。源代碼格式規(guī)范,注釋不少于三分之一

      四、主要技術(shù)路線提示

      1.仔細閱讀設(shè)計指導(dǎo)書內(nèi)容,認真掌握任務(wù)要求?2.需求分析? 3.概念結(jié)構(gòu)設(shè)計? 4.邏輯結(jié)構(gòu)設(shè)計?5.物理結(jié)構(gòu)設(shè)計?6.編碼.2.后臺推薦采用SQL server或Oracle;前臺開發(fā)環(huán)境不限制??刹捎肁DO,ODBC,OLE DB或JDBC連接數(shù)據(jù)庫,并調(diào)用系統(tǒng)存儲過程、自定義存儲過程、函數(shù)等。

      五、進度安排

      第1周: 數(shù)據(jù)庫系統(tǒng)概念模型、數(shù)據(jù)模型設(shè)計,創(chuàng)建數(shù)據(jù)庫以及相關(guān)對象; 第2周: 前臺程序開發(fā),撰寫報告,接受檢查。

      六、完成后應(yīng)上交的材料

      1. 源程序一份(包含數(shù)據(jù)庫)

      2. 課程設(shè)計報告一份

      七、推薦參考資料

      1.王珊.數(shù)據(jù)庫系統(tǒng)概論(第四版).高等教育出版社 2.閃四清.數(shù)據(jù)庫系統(tǒng)原理與應(yīng)用教程.清華大學(xué)出版社

      課 程 設(shè) 計

      3.周龍驤.數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)技術(shù).中國地質(zhì)大學(xué)出版社 4.張海藩.軟件工程概論.清華大學(xué)出版社 5.陳明 編著.實用軟件工程基礎(chǔ).清華大學(xué)出版社

      6.成先海.數(shù)據(jù)庫基礎(chǔ)與應(yīng)用-SQL SERVER2000.機械工業(yè)出版社出版

      指導(dǎo)教師 簽名日期 年 月 日 系 主 任 審核日期 年 月 日

      第四篇:數(shù)據(jù)庫課程設(shè)計學(xué)籍管理系統(tǒng)

      學(xué)籍管理系統(tǒng)

      本次數(shù)據(jù)庫課程設(shè)計是以Access數(shù)據(jù)庫作為后臺以VB作為前臺的應(yīng)用型設(shè)計課程。

      綜合我們所學(xué)的兩大課程創(chuàng)建應(yīng)用型的數(shù)據(jù)庫系統(tǒng),大大的提高了我們學(xué)生的動手能力,作到了理論與實踐相結(jié)合。一.題目說明:

      學(xué)生學(xué)藉管理系統(tǒng)是典型的學(xué)藉管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。

      本系統(tǒng)主要完成對學(xué)生情況和學(xué)生成績的管理,包括數(shù)據(jù)庫中表的添加、刪除等。系統(tǒng)還可以完成對各類信息的瀏覽、添加、刪除、等功能。

      系統(tǒng)的核心是數(shù)據(jù)庫中各個表聯(lián)系,每一個表的修改都將聯(lián)動的影響其它的表,當(dāng)完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中即有單條件查詢和多條件查詢,也有精確查詢和模糊查詢,系統(tǒng)不僅有靜態(tài)的條件查詢,也有動態(tài)生成的條件查詢,其目的都是為了方便用戶使用。系統(tǒng)有完整的用戶添加、刪除和密碼修改功能,并具備報表打印功能。關(guān)鍵字:窗體、數(shù)據(jù)庫、vb6.0、access2000。

      學(xué)生學(xué)籍管理系統(tǒng)被廣泛應(yīng)用于各類學(xué)校的學(xué)生學(xué)籍管理工作中,要求其具有實用性強、使用方便、效率高和安全可靠等特點。本管理系統(tǒng)正是圍繞以上幾個方面進行開發(fā)的,在開發(fā)過程中充分考慮到本系統(tǒng)的應(yīng)用特點,并進行了大量的檢驗,證明其的確達到了設(shè)計的要求,是一個已具備了實際應(yīng)用能力的軟件。本文主要論述學(xué)生學(xué)籍管理系統(tǒng)的開發(fā)過程,在涉及到VB及Access中的部分知識以舉例的方式進行講解 二.總體設(shè)計:

      我的總體設(shè)計如下:

      (1).利用Access建立數(shù)據(jù)庫,并在該數(shù)據(jù)庫下創(chuàng)建五張表格,分別是學(xué)生表、課程表、選課表、學(xué)生選課表以及口令表。

      (2)利用VB來建立界面并對它進行設(shè)計和修改,大體框架如下: FORM1 用于首界面

      FORM2 用于登陸此系統(tǒng)的登錄界面

      FORM3 是主窗體,在這上面建立相應(yīng)的菜單 如:文件——退出、添加用戶(FORM4)數(shù)據(jù)信息——管理使用(FORM5)

      基本操作——學(xué)生操作、選課操作、課程操作(FORM6、FORM7、FORM8)(3)對以上的界面進行設(shè)計以及對所要操作的部件進行編程。

      三.常用控件的說明: 所有的Windows應(yīng)用程序窗口或?qū)υ捒颍际怯芍T如文本框、列表框、命令按扭、滾動條、命令菜單等組成的。VB通過控件工具箱提供了它們與用戶進行交

      互的可視化部件,即控件。程序開發(fā)人員只需要通過簡單的操作,在窗體上安排所需要的控件,完成應(yīng)用程序的用戶界面設(shè)計即可。序號

      名稱

      功能 Label標(biāo)簽

      用于說明 Textbox文本框

      用于文本輸入或顯示 3 Frame框架

      用于組合控件 Commandbutton命令按扭

      單擊執(zhí)行命令 5 Timer計時期

      用于定時 Data數(shù)據(jù)控件

      用于訪問數(shù)據(jù)庫

      三.詳細說明:

      1.數(shù)據(jù)庫的建立與設(shè)計:

      數(shù)據(jù)庫是有結(jié)構(gòu)的數(shù)據(jù)集合,它與一般的數(shù)據(jù)文件不同,(其中的數(shù)據(jù)是無結(jié)構(gòu)的)是一串文字或數(shù)字流。數(shù)據(jù)庫中的數(shù)據(jù)可以是文字、圖象、聲音等。

      Access數(shù)據(jù)庫由六種對象組成,它們是表、查詢、窗體、報表、宏和模塊。

      (1).表(Table)——表是數(shù)據(jù)庫的基本對象,是創(chuàng)建其他5種對象的基礎(chǔ)。表由記錄組成,記錄由字段組成,表用來存貯數(shù)據(jù)庫的數(shù)據(jù),故又稱數(shù)據(jù)表。

      (2).查詢(Query)——查詢可以按索引快速查找到需要的記錄,按要求篩選記錄并能連接若干個表的字段組成新表。

      (3).窗體(Form)——窗體提供了一種方便的瀏覽、輸入及更改數(shù)據(jù)的窗口。還可以創(chuàng)建子窗體顯示相關(guān)聯(lián)的表的內(nèi)容。窗體也稱表單。

      (4).報表(Report)——報表的功能是將數(shù)據(jù)庫中的數(shù)據(jù)分類匯總,然后打印出來,以便分析。

      (5).宏(Macro)——宏相當(dāng)于DOS中的批處理,用來自動執(zhí)行一系列操作。Access列出了一些常用的操作供用戶選擇,使用起來十分方便。

      (6).模塊(Module)——模塊的功能與宏類似,但它定義的操作比宏更精細和復(fù)雜,用戶可以根據(jù)自己的需要編寫程序。模塊使用Visual Basic編程。

      我們利用Access來建立數(shù)據(jù)庫,我們的庫中有五張表格,其分別是學(xué)生表、課程表、選課表、學(xué)生選課表以及口令表。

      我們就以學(xué)生表為例做一個簡單的說明:

      我們使用設(shè)計器來創(chuàng)建表的,我的這張表有七個字段,每個字段的名稱分別是:學(xué)號、班級、姓名、性別、出生年月、民族、地址、電話號碼,每個字段有七個數(shù)據(jù)。我并對其字段的屬性進行了重新的修改,以做到不浪費其空間。

      我具體的實施步驟是:啟動數(shù)據(jù)庫管理器——建立數(shù)據(jù)庫——建立數(shù)據(jù)表結(jié)構(gòu)——輸入記錄。

      最終產(chǎn)生了這樣的一個數(shù)據(jù)庫:(如下)

      2.VB界面的建立設(shè)計以及程序的編寫說明:

      VB 是在Windows操作平臺下,用于開發(fā)和創(chuàng)建具有圖形用戶界面的應(yīng)用程序的強有力工具之一。VB為開發(fā)Windows應(yīng)用程序不僅提供了全新的相對簡單的方式,而且也引進了新的程序設(shè)計方法——面向?qū)ο蟮脑O(shè)計方法(00P)。從傳統(tǒng)的面向過程的程序設(shè)計,轉(zhuǎn)移到更先進的面向?qū)ο蟮某绦蛟O(shè)計,無論是對老的程序員,還是初學(xué)者,都是一個挑戰(zhàn)。而學(xué)習(xí)VB,則是掌握這一新的程序設(shè)計方法的一條捷徑。

      (1).界面的設(shè)計和程序的編寫:

      設(shè)計一個像這樣的友好的界面,我考慮到它的顏色的配制,界面的大小,界面所載的內(nèi)容的多少等,在后臺我用定時器給其限定時間讓它在一定的時間后自動跳到下一個界面。

      這個界面是系統(tǒng)的主界面,用戶可以在通過系統(tǒng)登錄后直接到我們的主界面上來進行相應(yīng)的操作,我的主界面采用的是一張?zhí)K州市職業(yè)大學(xué)的圖片,在這個圖片的上面有三個菜單,分別是文件、數(shù)據(jù)信息和基本操作。在各自的下面還有與之相對應(yīng)的子菜單,文件下有退出和添加用戶,數(shù)據(jù)信息下有管理使用,基本操作下有學(xué)生操作、選課操作和課程操作。我利用FORMn.SHOW命令連接到相對應(yīng)的界面上。

      我們的界面有好幾張我就對其中的一張進行詳細的分析:

      這是一張學(xué)生選課瀏覽表的界面,這也是對應(yīng)我的主界面菜單中的數(shù)據(jù)信息下的管理使用子菜單的一張界面,在這張界面中包含了8個LABEL標(biāo)簽控件、7個 TEXTBOX文本框控件、6個COMMANDBUTTON命令按扭控件、1個FRAME框架控件和1個DATA部件。我利用DATA部件將界面與 ACCESS數(shù)據(jù)庫相連接,具體的操作是利用DATABASENAME與數(shù)據(jù)庫連接,在RECORDSOURCE中找到與之對應(yīng)的表,再用 DATASOURCE、DATAFIELD與個文本框內(nèi)容對應(yīng),從而實現(xiàn)界面與數(shù)據(jù)庫的連接。下面是程序的編寫過程:

      顯示前一個數(shù)據(jù): COMMAND1:

      Private Sub Command1_Click()If Data1.Recordset.RecordCount = 0 Then MsgBox “沒有記錄” Else If Data1.Recordset.BOF Then Data1.Recordset.MoveFirst MsgBox “這是第一條記錄!” Else Data1.Recordset.MovePrevious If Data1.Recordset.BOF = True Then

      Data1.Recordset.MoveFirst MsgBox “這是第一條記錄!” End If End If End If End Sub 顯示第一個數(shù)據(jù): COMMAND2:

      Private Sub Command2_Click()If Data1.Recordset.RecordCount = 0 Then MsgBox “沒有記錄” Else Data1.Recordset.MoveFirst End If End Sub 顯示最后一個數(shù)據(jù): COMMAND4:

      Private Sub Command4_Click()If Data1.Recordset.RecordCount = 0 Then MsgBox “沒有記錄” Else Data1.Recordset.MoveLast End If End Sub 顯示后一個數(shù)據(jù): COMMAND3:

      Private Sub Command3_Click()If Data1.Recordset.RecordCount = 0 Then MsgBox “沒有記錄” Else If Data1.Recordset.EOF Then Data1.Recordset.MoveLast MsgBox “這是最后一條記錄!” Else Data1.Recordset.MoveNext If Data1.Recordset.EOF = True Then Data1.Recordset.MoveLast MsgBox “這是最后一條記錄!” End If End If End If End Sub 添加一個數(shù)據(jù):COMMAND6 Private Sub command6_Click()If Command6.Caption = “添加” Then

      Command1.Enabled = 0 Command2.Enabled = 0 Command3.Enabled = 0 Command4.Enabled = 0 Command6.Caption = “確定” Command5.Caption = “放棄” If Data1.Recordset.RecordCount > 0 Then Data1.Recordset.MoveLast End If Data1.Recordset.AddNew Text1.SetFocus Else Command1.Enabled =-1 Command2.Enabled =-1 Command3.Enabled =-1 Command4.Enabled =-1 Command6.Caption = “添加” Command5.Caption = “刪除” Text2.Enabled = 0 Text5.Enabled = 0 Text3.Enabled = 0 Text4.Enabled = 0 Text6.Enabled = 0 Text7.Enabled = 0 Data1.Recordset.Update Command1.SetFocus End If End Sub 刪除一個記錄:COMMAND5 Private Sub Command5_Click()If Command5.Caption = “放棄” Then Command4.Enabled =-1 Command5.Enabled =-1 Command6.Enabled =-1 Command3.Enabled =-1 Command1.Caption = “添加” Command2.Caption = “刪除” Text2.Enabled = 0 Text5.Enabled = 0 Text6.Enabled = 0 Text7.Enabled = 0 Text1.Enabled = 0

      Else If Data1.Recordset.RecordCount = 0 Then MsgBox “沒有記錄”, 32, “注意” Exit Sub Else str1 = MsgBox(“刪除該記錄嗎?”, 17, “刪除”)If str1 = 1 Then Data1.Recordset.Delete Data1.Refresh If Data1.Recordset.RecordCount = 0 Then MsgBox “記錄數(shù)為零” Data1.Recordset.AddNew End If End If End If End If End Sub

      四、在此過程中遇到的問題以及解決方法: 在開始編寫程序的時候總是有一些出錯,在查找有關(guān)書籍和向老師詢問后得出了結(jié)果。在將界面與數(shù)據(jù)庫相連接的時候,不知道用哪種方法,在老師的幫助下我學(xué)會了兩種方法:1.DATA、2.ADODC。我最終使用DATA這種方法。

      五、心得體會:

      在這次的設(shè)計過程中,我學(xué)到的不僅是知識,我還認識到許多事情。這次設(shè)計使我的編程水平提高了一大步,使我充分的認識到合作的可貴。由于這次設(shè)計涉及到數(shù)據(jù)庫,我的學(xué)到了不少編程工具與數(shù)據(jù)庫連接的知識,對數(shù)據(jù)庫的操作有了進一步的了解。這次設(shè)計對我的綜合能力是一次很好的鍛煉,但是我必須承認自己的能力和知識還很膚淺。所以今后我的學(xué)習(xí)道路還是很漫長的。最后,在這里我要衷心的感謝我們的指導(dǎo)老師牛麗、程淵,謝謝她的悉心指導(dǎo)和熱心幫助。由于我水平有限,加之時間短暫,故學(xué)籍管理系統(tǒng)中還有許多不足之處,請老師批評指正,我會在以后的制作中不斷改進,不斷完善。

      第五篇:酒店管理系統(tǒng) (數(shù)據(jù)庫課程設(shè)計)

      數(shù)據(jù)庫 酒店管理系統(tǒng) 課程設(shè)計(基于 SQL server 2000)

      實現(xiàn)過程

      1.1 通過查詢分析器實現(xiàn)建立數(shù)據(jù)庫、數(shù)據(jù)表

      ------------------------------創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表---(1)創(chuàng)建酒店管理系統(tǒng)數(shù)據(jù)庫

      CREATE DATABASE 酒店管理系統(tǒng)(2)創(chuàng)建客房信息表

      CREATE TABLE 客房

      (客房編號 CHAR(8)PRIMARY KEY,客房類型 CHAR(8)NOT NULL,價格 SMALLMONEY NOT NULL,床位數(shù) INT NOT NULL,使用狀態(tài) CHAR(8)NOT NULL)

      INSERT INTO 客房 VALUES('101','一',100,1,'在使用')INSERT INTO 客房 VALUES('102','二',200,2,'在使用')INSERT INTO 客房 VALUES('103','二',200,1,'在使用')INSERT INTO 客房 VALUES('104','三',300,2,'在使用')INSERT INTO 客房 VALUES('105','三',300,1,'未使用')

      (3)創(chuàng)建客戶信息表

      CREATE TABLE 客戶

      (客戶編號 CHAR(8)PRIMARY KEY, 客戶名稱 CHAR(10)NOT NULL,身份證號 CHAR(18)NOT NULL,聯(lián)系地址 CHAR(25),聯(lián)系電話 CHAR(10))INSERT INTO 客戶 VALUES('1001','王一',12234,'江西','3245354')INSERT INTO 客戶 VALUES('1002','張三',34234,'江西','2442442')INSERT INTO 客戶 VALUES('1003','李四',56465,'江西','5654645')INSERT INTO 客戶 VALUES('1004','王錢',65435,'江西','5676577')INSERT INTO 客戶 VALUES('1005','孫志',11464,'江西','4234343')

      (4)創(chuàng)建入住登記表

      CREATE TABLE 入住登記

      (客房編號 CHAR(8)FOREIGN KEY REFERENCES 客房(客房編號),客戶編號 CHAR(8)FOREIGN KEY REFERENCES 客戶(客戶編號),預(yù)定日期 DATETIME,預(yù)定數(shù)量 INT, PRIMARY KEY(客房編號,客戶編號))

      INSERT INTO 入住登記 VALUES('101','1001',2010-10-10,1)INSERT INTO 入住登記 VALUES('102','1002',2010-12-10,1)INSERT INTO 入住登記 VALUES('103','1003',2010-12-26,1)INSERT INTO 入住登記 VALUES('104','1004',2010-12-9,1)--------創(chuàng)建查詢視圖---------1.2系統(tǒng)功能相應(yīng)的查詢視圖:

      (1)客戶信息查詢視圖

      CREATE VIEW 客戶信息查詢

      AS SELECT * FROM 客戶

      (2)客房信息查詢

      CREATE VIEW 客房信息查詢

      AS SELECT

      * FROM 客房

      (3)入住信息查詢

      CREATE VIEW 入住登記信息查詢 AS SELECT

      * FROM 入住登記

      (4)入住信息查詢

      CREATE VIEW 入住信息查詢

      AS SELECT入住登記.客房編號,客戶名稱,入住登記.客戶編號,客房.客房類型,價格,使用狀態(tài)

      FROM 客房,客戶,入住登記

      WHERE 客房.客房編號=入住登記.客房編號 AND 入住登記.客戶編號=客戶.客戶編號

      ---------------建立索引-----------------------1.3建立索引及數(shù)據(jù)入庫

      1.建立客房編號,價格,客戶編號,客戶名稱的索引 創(chuàng)建客房表索引:

      CREATE UNIQUE INDEX UKF ON 客房(客房編號,價格)

      創(chuàng)建客戶表索引:

      CREATE UNIQUE INDEX UKH ON 客戶(客戶編號,客戶名稱)

      創(chuàng)建入住表索引:

      CREATE UNIQUE INDEX URZ ON 入住登記(客戶編號,客房編號)2.數(shù)據(jù)入庫

      方法一 酒店管理系統(tǒng)包括客房信息表,客戶信息表,入住登記信息表。采用Excel中錄入數(shù)據(jù),然后使用SQL Server 2000數(shù)據(jù)導(dǎo)入、導(dǎo)出功能直接將數(shù)據(jù)導(dǎo)入到相應(yīng)的基本表。

      方法二 在查詢分析器中插入相關(guān)數(shù)據(jù),用SQL語句插入。

      ----------創(chuàng)建存儲過程----------------------1.4建立存儲過程

      1.4.1客房信息存儲過程

      插入客房信息存儲過程:

      CREATE PROCEDURE 插入客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS INSERT INTO 客房 VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)

      修改客房信息存儲過程:

      CREATE PROCEDURE 修改客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS UPDATE 客房

      SET 客房類型=@KFL,價格=@JG,床位數(shù)=@CWS,使用狀態(tài)=@SYZT WHERE 客房編號=@KFB 刪除客房信息存儲過程:

      CREATE PROCEDURE 刪除客房信息(@KFB CHAR(8))AS DELETE FROM 客房 WHERE 客房編號=@KFB

      1.4.2客戶信息存儲過程

      插入客戶信息

      CREATE PROCEDURE 插入客戶信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS INSERT INTO 客戶 VALUES(@KHB,@KFM,@SFZ,@LXDZ,@LXDH)修改客戶信息

      CREATE PROCEDURE 修改客戶信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS UPDATE 客戶

      SET 客戶名稱=@KFM,身份證號=@SFZ,聯(lián)系地址=@LXDZ,聯(lián)系電話=@LXDH WHERE 客戶編號=@KHB

      刪除客戶信息

      CREATE PROCEDURE 刪除客戶信息(@KHB CHAR(8))AS DELETE FROM 客戶

      WHERE 客戶編號=@KHB

      EXEC 刪除客戶信息 @KHB='10009'

      3.4.3創(chuàng)建入住信息存儲過程 插入入住信息

      CREATE PROCEDURE 插入入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS INSERT INTO 入住登記 VALUES(@KFB,@KHB,@YDRQ,@YDSL)

      修改入住信息

      CREATE PROCEDURE 修改入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS UPDATE 入住登記

      SET 客房編號=@KFB,預(yù)定日期=@YDRQ ,預(yù)定數(shù)量=@YDSL WHERE 客戶編號=@KHB

      刪除入住信息

      CREATE PROCEDURE 刪除入住信息(@KHB CHAR(8))AS DELETE

      FROM 入住登記

      WHERE 客戶編號=@KHB

      1.5查詢存儲過程的創(chuàng)建

      客房編號查詢

      CREATE PROCEDURE 客房編號查詢(@KFB CHAR(8), @KFL CHAR(8)OUTPUT, @JG SMALLMONEY OUTPUT, @CWS INT OUTPUT, @SYZT CHAR(8)OUTPUT)AS SELECT @KFL=客房類型,@JG=價格,@CWS=床位數(shù),@SYZT=使用狀態(tài) FROM 客房

      WHERE 客房編號=@KFB

      客戶編號查詢

      CREATE PROCEDURE 客戶編號查詢(@KHB CHAR(8), @KFM CHAR(10)OUTPUT , @SFZ CHAR(18)OUTPUT, @LXDZ CHAR(25)OUTPUT, @LXDH CHAR(10)OUTPUT)AS SELECT @KFM=客戶名稱,@SFZ=身份證號,@LXDZ=聯(lián)系地址,@LXDH=聯(lián)系電話 FROM 客戶

      WHERE 客戶編號=@KHB

      入住客戶編號查詢

      CREATE PROCEDURE 入住客戶編號查詢(@KFB CHAR(8)OUTPUT, @KHB CHAR(8), @YDRQ DATETIME OUTPUT, @YDSL INT OUTPUT)AS SELECT @KFB=客房編號,@YDRQ=預(yù)定日期,@YDSL=預(yù)定數(shù)量 FROM 入住登記

      WHERE 客戶編號=@KHB

      --------建立觸發(fā)器--------------1.6、建立觸發(fā)器保證數(shù)據(jù)的一致性

      客房使用狀態(tài)的控制

      CREATE TRIGGER 控制觸發(fā)器

      ON 入住登記 FOR INSERT AS

      UPDATE 客房

      SET 使用狀態(tài)='使用中' WHERE 客房編號=ANY(SELECT 客房編號 FROM INSERTED)

      控制入住信息刪除的觸發(fā)器

      CREATE TRIGGER 入住刪除觸發(fā)器

      ON 入住登記 FOR DELETE AS BEGIN DELETE FROM 客戶 WHERE 客戶編號=ANY(SELECT 客戶編號 FROM DELETED)

      UPDATE 客房

      SET 使用狀態(tài)='未使用' WHERE 客房編號=ANY(SELECT 客房編號 FROM DELETED)END 客戶信息刪除的控制

      CREATE TRIGGER 客戶刪除觸發(fā)器

      ON 客戶

      FOR DELETE AS BEGIN DELETE FROM 入住

      WHERE 客戶編號=ANY(SELECT 客戶編號 FROM DELETED)

      UPDATE 客房

      SET 使用狀態(tài)='未使用' WHERE 客房編號=ANY(SELECT 客房編號 FROM DELETED)END

      客房刪除觸發(fā)器

      CREATE TRIGGER 客房刪除觸發(fā)器

      ON 客房

      FOR DELETE AS

      DELETE FROM 入住

      WHERE 客戶編號=ANY(SELECT 客戶編號 FROM DELETED)

      酒店管理系統(tǒng)數(shù)據(jù)庫腳本

      ------------------------數(shù)據(jù)庫初始化------set nocount on set dateformat mdy go

      use master

      go if exists(select * from sysdatabases where name='酒店管理系統(tǒng)')

      /*刪除在master中已存*/ /*在的名為酒店管理系統(tǒng)的數(shù)據(jù)庫*/ drop database 酒店管理系統(tǒng) go--------------------------酒店管理系統(tǒng)的建立-create database 酒店管理系統(tǒng) on primary /*設(shè)定系統(tǒng)主文件*/(name='酒店管理系統(tǒng)_data', filename='d:酒店管理系統(tǒng).mdf', size=10, maxsize=50, filegrowth=5)

      log on

      /*創(chuàng)建事務(wù)日志文件*/(name='酒店管理系統(tǒng)_log', filename='d:酒店管理系統(tǒng).ldf', size=5, maxsize=25, filegrowth=5)go

      ---------(注:刪除查詢分析器中的以上代碼后,運行以下代碼)-----------------建立信息表----------use 酒店管理系統(tǒng)

      if exists(select * from sysobjects where name='客戶')drop table 客戶 go print 'drop table 客戶' print 'create table 客戶' go /*客戶信息表*/ CREATE TABLE 客戶

      /*創(chuàng)建客戶信息表*/(客戶編號 CHAR(8)PRIMARY KEY, 客戶名稱 CHAR(10)NOT NULL, 身份證號 CHAR(18)NOT NULL, 聯(lián)系地址 CHAR(25), 聯(lián)系電話 CHAR(10))go--------------------------插入客戶數(shù)據(jù)-----------------------INSERT INTO 客戶 VALUES('1001','王一',12234,'江西','3245354')INSERT INTO 客戶 VALUES('1002','張三',34234,'江西','2442442')INSERT INTO 客戶 VALUES('1003','李四',56465,'江西','5654645')INSERT INTO 客戶 VALUES('1004','王錢',65435,'江西','5676577')INSERT INTO 客戶 VALUES('1005','孫志',11464,'江西','4234343')if exists(select * from sysobjects where name='客房')drop table 客房 go print 'drop table 客房' print 'create table 客房' go /*客房信息表*/ CREATE TABLE 客房

      /*創(chuàng)建客房信息表*/(客房編號 CHAR(8)PRIMARY KEY, 客房類型 CHAR(8)NOT NULL, 價格 SMALLMONEY NOT NULL, 床位數(shù) INT NOT NULL, 使用狀態(tài) CHAR(8)NOT NULL)go-----------------------插入客房數(shù)據(jù)----------------------INSERT INTO 客房 VALUES('101','一',100,1,'使用中')INSERT INTO 客房 VALUES('102','二',200,2,'使用中')INSERT INTO 客房 VALUES('103','二',200,1,'使用中')INSERT INTO 客房 VALUES('104','三',300,2,'使用中')INSERT INTO 客房 VALUES('105','三',300,1,'使用中')if exists(select * from sysobjects where name='入住登記')drop table 入住登記 go print 'drop table 入住登記' print 'create table 入住登記' go /*入住登記信息表*/ CREATE TABLE 入住登記

      /*創(chuàng)建入住登記信息表*/(客房編號 CHAR(8)FOREIGN KEY REFERENCES 客房(客房編號),客戶編號 CHAR(8)FOREIGN KEY REFERENCES 客戶(客戶編號),預(yù)定日期 DATETIME,預(yù)定數(shù)量 INT, PRIMARY KEY(客房編號,客戶編號))go

      ---------------插入入住登記信息數(shù)據(jù)----------------------INSERT INTO 入住登記 VALUES('101','1001',2010-10-10,1)INSERT INTO 入住登記 VALUES('102','1002',2010-12-10,1)INSERT INTO 入住登記 VALUES('103','1003',2010-12-26,1)INSERT INTO 入住登記 VALUES('104','1004',2010-12-9,1)go

      -----建立索引-------------------

      CREATE UNIQUE INDEX UKF ON 客房(客房編號,價格)go CREATE UNIQUE INDEX UKH ON 客戶(客戶編號,客戶名稱)go CREATE UNIQUE INDEX URZ ON 入住登記(客戶編號,客房編號)go

      ----建立觸發(fā)器-------------------------建立控制觸發(fā)器(保證在客房使用狀態(tài)的一致性)------if exists(select * from sysobjects where name='控制觸發(fā)器')drop trigger 控制觸發(fā)器 GO CREATE TRIGGER 控制觸發(fā)器

      ON 入住登記 FOR INSERT AS

      UPDATE 客房

      SET 使用狀態(tài)='使用中' WHERE 客房編號=ANY(SELECT 客房編號 FROM INSERTED)go

      --------建立入住刪除觸發(fā)器(保證信息刪除的一致性)----------if exists(select * from sysobjects where name='入住刪除觸發(fā)器')drop trigger 入住刪除觸發(fā)器 GO CREATE TRIGGER 入住刪除觸發(fā)器

      ON 入住登記 FOR DELETE AS BEGIN DELETE FROM 客戶

      WHERE 客戶編號=ANY(SELECT 客戶編號 FROM DELETED)

      UPDATE 客房

      SET 使用狀態(tài)='未使用' WHERE 客房編號=ANY(SELECT 客房編號 FROM DELETED)END go-------建立客房刪除觸發(fā)器(保證刪除的一致性)---------if exists(select * from sysobjects where name='客房刪除觸發(fā)器')drop trigger 客房刪除觸發(fā)器 GO CREATE TRIGGER 客房刪除觸發(fā)器

      ON 客房

      FOR DELETE AS

      DELETE FROM 入住

      WHERE 客戶編號=ANY(SELECT 客戶編號 FROM DELETED)go---------創(chuàng)建查詢視圖----------------

      CREATE VIEW 入住信息查詢

      AS SELECT 入住登記.客房編號,客戶名稱,入住登記.客戶編號,客房.客房類型,價格,使用狀態(tài)

      FROM 客房,客戶,入住登記

      WHERE 客房.客房編號=入住登記.客房編號 AND 入住登記.客戶編號=客戶.客戶編號 go

      ---------建立存儲過程------------------------------客房信息插入存儲過程--------------------------CREATE PROCEDURE 插入客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS INSERT INTO 客房 VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)GO

      --------------------客房信息修改的存儲過程---------------------CREATE PROCEDURE 修改客房信息(@KFB CHAR(8), @KFL CHAR(8), @JG SMALLMONEY, @CWS INT, @SYZT CHAR(8))AS UPDATE 客房

      SET 客房類型=@KFL,價格=@JG,床位數(shù)=@CWS,使用狀態(tài)=@SYZT WHERE 客房編號=@KFB go--------------------客房信息刪除的存儲過程---------------------CREATE PROCEDURE 刪除客房信息(@KFB CHAR(8))AS DELETE FROM 客房 WHERE 客房編號=@KFB GO--------------------客戶信息插入的存儲過程---------------------CREATE PROCEDURE 插入客戶信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS INSERT INTO 客戶 VALUES(@KHB,@KFM,@SFZ,@LXDZ,@LXDH)go--------------------客戶信息修改的存儲過程---------------------CREATE PROCEDURE 修改客戶信息(@KHB CHAR(8), @KFM CHAR(10), @SFZ CHAR(18), @LXDZ CHAR(25), @LXDH CHAR(10))AS UPDATE 客戶

      SET 客戶名稱=@KFM,身份證號=@SFZ,聯(lián)系地址=@LXDZ,聯(lián)系電話=@LXDH WHERE 客戶編號=@KHB GO--------------------客戶信息刪除的存儲過程---------------------CREATE PROCEDURE 刪除客戶信息(@KHB CHAR(8))AS DELETE FROM 客戶

      WHERE 客戶編號=@KHB go--------------------入住信息插入的存儲過程---------------------CREATE PROCEDURE 插入入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS INSERT INTO 入住登記 VALUES(@KFB,@KHB,@YDRQ,@YDSL)go--------------------入住信息修改的存儲過程---------------------CREATE PROCEDURE 修改入住信息(@KFB CHAR(8), @KHB CHAR(8), @YDRQ DATETIME, @YDSL INT)AS UPDATE 入住登記

      SET 客房編號=@KFB,預(yù)定日期=@YDRQ ,預(yù)定數(shù)量=@YDSL WHERE 客戶編號=@KHB go--------------------入住信息刪除的存儲過程---------------------CREATE PROCEDURE 刪除入住信息(@KHB CHAR(8))AS DELETE

      FROM 入住登記

      WHERE 客戶編號=@KHB go--------------------客房編號查詢的存儲過程-----------------------if exists(select * from sysobjects where name='客房編號查詢')drop procedure 客房編號查詢 GO CREATE PROCEDURE 客房編號查詢(@KFB CHAR(8))AS SELECT 客房類型,價格,床位數(shù),使用狀態(tài) FROM 客房

      WHERE 客房編號=@KFB go--------------------客戶編號查詢的存儲過程-----------------------if exists(select * from sysobjects where name='客戶編號查詢')drop procedure 客戶編號查詢 GO CREATE PROCEDURE 客戶編號查詢(@KHB CHAR(8))AS SELECT 客戶編號,客戶名稱,身份證號,聯(lián)系地址,聯(lián)系電話 FROM 客戶

      WHERE 客戶編號=@KHB go--------------------入住信息查詢的存儲過程-----------------------if exists(select * from sysobjects where name='入住客戶編號查詢')drop procedure 入住客戶編號查詢 GO CREATE PROCEDURE 入住客戶編號查詢(@KHB CHAR(8))AS SELECT 客戶編號,客房編號,預(yù)定日期,預(yù)定數(shù)量 FROM 入住登記

      WHERE 客戶編號=@KHB

      下載數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng)word格式文檔
      下載數(shù)據(jù)庫課程設(shè)計之教務(wù)管理系統(tǒng).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實,本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        C++課程設(shè)計(教務(wù)管理系統(tǒng))

        #include using namespace std; #include #include #include #include #include #include"01.h" class University; void menu(University uni);//菜單函數(shù)聲明class Stude......

        數(shù)據(jù)庫程序設(shè)計---教務(wù)輔助管理系統(tǒng)

        數(shù)據(jù)庫設(shè)計實例 教務(wù)管理系統(tǒng) 數(shù)據(jù)庫實驗七 數(shù)據(jù)庫設(shè)計 題目要求: 設(shè)計一個教務(wù)管理系統(tǒng)。要求管理包括:學(xué)生的檔案,學(xué)生選課的情況,學(xué)生每學(xué)期的綜合測評,教師檔案,教師工作量等......

        數(shù)據(jù)庫實習(xí)報告-教務(wù)管理系統(tǒng).

        數(shù)據(jù)庫系統(tǒng)課程設(shè)計 學(xué)生姓名: 班 學(xué) 號: 指導(dǎo)教師: 教務(wù)管理系統(tǒng) 1、需求分析 1. 1 信息要求: 教務(wù)管理系統(tǒng)涉及的實體有: ●教師——工作證號、姓名、職稱、電話等; ●學(xué)......

        教務(wù)管理系統(tǒng) 數(shù)據(jù)庫實例設(shè)計

        第17章 數(shù)據(jù)庫系統(tǒng)設(shè)計實例 本章以一個考務(wù)管理系統(tǒng)的設(shè)計過程為例,介紹在VB 6.0+SQL Server 2000環(huán)境中開發(fā)數(shù)據(jù)庫系統(tǒng)的一般方法。 17.1 系統(tǒng)概述 17.1.1 系統(tǒng)功能 本系統(tǒng)......

        教務(wù)系統(tǒng)數(shù)據(jù)庫總結(jié)報告

        教務(wù)系統(tǒng)數(shù)據(jù)庫總結(jié)報告 常州信息學(xué)院 網(wǎng)絡(luò)095 在信息時代的今天,數(shù)據(jù)成為傳遞信息的重要載體,而隨著信息的不斷增加,數(shù)據(jù)也變得相當(dāng)繁瑣。因此數(shù)據(jù)庫的出現(xiàn),正是為數(shù)據(jù)的處理提......

        數(shù)據(jù)庫課程設(shè)計——庫存銷售管理系統(tǒng)

        數(shù)據(jù)庫課程設(shè)計實驗報告 姓名:黃世增 班級:計算機1403 學(xué)號:14116403051.實驗名稱 使用Visual Basic 6.0和SQL Server 2014開發(fā)庫存銷售管理系統(tǒng) 2.實驗?zāi)康?使用Visual B......

        c++課程設(shè)計:教務(wù)管理系統(tǒng)源代碼

        #include #include using namespace std; class Person { public: Person(string n):name(n){} virtual void show(){} ~Person(){} protected: string name; }; class......

        數(shù)據(jù)庫課程設(shè)計工資管理系統(tǒng).

        數(shù)據(jù)庫課程設(shè)計報告 工資管理系統(tǒng) 組員:廖翔, 劉小芳, 強江波, 張晶晶,馮兆強,夏沖 組長 :劉小芳 需求分析員 :張晶晶 程序員 :廖翔 , 劉小芳 , 強將波 測試員 :馮兆強 界面......