大數(shù)據(jù)庫課程設(shè)計(jì) 學(xué)生考勤
《大數(shù)據(jù)庫課程設(shè)計(jì) 學(xué)生考勤》由會(huì)員分享,可在線閱讀,更多相關(guān)《大數(shù)據(jù)庫課程設(shè)計(jì) 學(xué)生考勤(15頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、文檔 文理學(xué)院 數(shù)據(jù)庫原理與應(yīng)用報(bào)告 專業(yè)班級(jí):電信12101班 學(xué)生:學(xué)生學(xué)號(hào):指導(dǎo)教師:長(zhǎng)青 設(shè)計(jì)時(shí)間:2015.1.4-2015.1.10 目錄 一、 需求分析 1、 數(shù)據(jù)需求 2、 數(shù)據(jù)流圖 3、 數(shù)據(jù)字典 二、 概念結(jié)構(gòu)設(shè)計(jì) 三、 邏輯結(jié)構(gòu)設(shè)計(jì) 四、 物理結(jié)構(gòu)設(shè)計(jì) 五、 數(shù)據(jù)庫的實(shí)施 1、 創(chuàng)建數(shù)據(jù)庫 2、 數(shù)據(jù)表的維護(hù)與創(chuàng)建 3、 數(shù)據(jù)庫索引和視圖 4、 查詢操作 六、 數(shù)據(jù)庫觸發(fā)器的規(guī)劃和設(shè)計(jì) 七、 數(shù)據(jù)庫的安全管理與維護(hù) 八、結(jié)論
2、 學(xué)生考勤管理系統(tǒng) 一、 需求分析 為物電學(xué)院設(shè)計(jì)一個(gè)學(xué)生考勤管理系統(tǒng),該系統(tǒng)主要實(shí)現(xiàn)對(duì)學(xué)生根本信息、教師根本信息、學(xué)生考勤等的管理,學(xué)生考勤管理系統(tǒng)功能需求包括:學(xué)生根本信息表,教師根本信息表,班級(jí)表,專業(yè)表,課程表,班主任表,請(qǐng)假信息表,上課出勤記錄表。 1、 數(shù)據(jù)需求: (1) 學(xué)生根本信息表:學(xué)號(hào),,性別,班級(jí),專業(yè),院系 (2) 教師根本信息表:,性別,編號(hào) (3) 班級(jí)表:班主任,名稱,編號(hào) (4) 專業(yè)表:專業(yè)名稱,編號(hào) (5) 課程表:課程號(hào),課程名,課程性質(zhì) (6) 班主任表:編號(hào),,性別 (7) 請(qǐng)假信息表:編號(hào),學(xué)號(hào),原因,開始時(shí)間
3、,完畢時(shí)間,請(qǐng)假天數(shù),申請(qǐng)請(qǐng)假時(shí)間,班主任審批狀態(tài),班主任審批時(shí)間 (8) 上課出勤記錄表:編號(hào),上課時(shí)間,學(xué)號(hào) 2、 數(shù)據(jù)流圖: 學(xué)生考勤 學(xué)生信息 課程 教師 請(qǐng)假信息表 學(xué)號(hào) 課程編號(hào) 編號(hào) 3、數(shù)據(jù)字典 〔1〕數(shù)據(jù)項(xiàng) 數(shù)據(jù)項(xiàng):學(xué)號(hào) 別名:學(xué)生編號(hào) 含義說明:唯一標(biāo)識(shí)每個(gè)學(xué)生 類型:字符型 長(zhǎng)度:9位 取值圍:00000099 取值含義:前四位表示學(xué)年,第5,6,7位表示專業(yè)和班級(jí),第8,9,表示學(xué)號(hào) 〔2〕數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)結(jié)構(gòu):學(xué)生 含義說明:學(xué)生考勤管理系統(tǒng)子系統(tǒng)的主體結(jié)構(gòu)數(shù)據(jù),定義了一個(gè)學(xué)生的有關(guān)信息 組成:學(xué)號(hào)、、性別、班級(jí)
4、、專業(yè)、 〔3〕數(shù)據(jù)流 數(shù)據(jù)流名:請(qǐng)假信息表 說明:學(xué)生請(qǐng)假信息與相關(guān)課程 數(shù)據(jù)流來源:學(xué)生根本信息表,教師根本信息表、課程信息表 數(shù)據(jù)流去向:請(qǐng)假學(xué)生、課程、 組成:請(qǐng)假原因+學(xué)生學(xué)號(hào)+請(qǐng)假時(shí)間 平均流量:500條/年 頂峰流量:50/天 〔4〕數(shù)據(jù)存儲(chǔ) 數(shù)據(jù)存儲(chǔ):學(xué)生根本信息表 說明:記錄學(xué)生的根本信息 寫文件的處理:新生入學(xué)報(bào)到后從學(xué)院新生登記表中獲取信息輸入 流出數(shù)據(jù)流:為請(qǐng)假信息表提供學(xué)生根本信息 組成:學(xué)號(hào)、、性別、班級(jí)、專業(yè)、手機(jī)、 數(shù)據(jù)量:平均每年2000條 存取方式:隨機(jī)存取 二、概念結(jié)構(gòu)設(shè)計(jì) E-R模型: 學(xué)
5、生 學(xué)號(hào) 某某 性別 專業(yè) 班級(jí) 院系 專業(yè) 班級(jí) 班主任 屬于 管理 請(qǐng)假 考勤 課程 授課 教師 假條 課程號(hào) 課程名 課程性質(zhì) 某某 性別 編號(hào) 編號(hào) 學(xué)號(hào) …… 原因 編號(hào) 專業(yè)名稱 編號(hào) 名稱 班主任 編號(hào) 某某 性別 1 屬于 1 1 1 n n n n n n m m 三、邏輯結(jié)構(gòu)設(shè)計(jì) 1、學(xué)生表student 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 stu_no char(10) 否 主鍵 學(xué)生學(xué)號(hào) stu_name varchar(30
6、) 否 學(xué)生 stu_sex char(2) 否 性別 stu_class char(13) 否 外鍵 所屬班級(jí) stu_major char(30) 否 外鍵 所屬專業(yè) Stu_tell varchar(20) 否 2、專業(yè)表major 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 major_id number 否 主鍵 專業(yè)編號(hào) major_name char(20) 否 專業(yè)名稱 3、教師表teacher 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 tea_no char(10
7、) 否 主鍵 任課教師編號(hào) tea_name char(20) 否 任課教師 tea_sex char(2) 否 性別 tea_tell Varchar(20) 否 4、班主任表classteacher 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 classtea_no char(5) 否 主鍵 任課教師編號(hào) classtea_name char(20) 否 任課教師 classtea_sex char(2) 否 性別 classtea_major number 否 外鍵 所屬專業(yè) classt
8、ea_tell Varchar〔20〕 否 5、學(xué)生上課出勤記錄表kaoqin_record 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 kaoqin_id char(13) 否 主鍵 上課出勤編號(hào) sk_time date 否 上課時(shí)間 stu_number char(10) 否 外鍵 ?學(xué)生學(xué)號(hào) stu_status char(10) 否 學(xué)生上課考勤狀態(tài) teacher_no char(10) 否 外鍵 教師編號(hào) course_no char(13) 否 外鍵 課程編號(hào) 6、課程信息表course
9、字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 course_no char(13) 否 主鍵 課程編號(hào) course_name char(20) 否 課程名稱 course_xz char(4) 否 課程性質(zhì) 7、班級(jí)表classes 字段名 數(shù)據(jù)類型 可否為空 鍵引用 備注 class_no char(10) 否 主鍵 課程編號(hào) class_name char(20) 否 課程名稱 classtea_no char(5) 否 外鍵 課程性質(zhì) 8、請(qǐng)假信息表qingjia 字段名 數(shù)據(jù)類型
10、 可否為空 鍵引用 備注 id number 否 主鍵 請(qǐng)假代號(hào) class_id char(10) 否 外鍵 班級(jí)代號(hào) stu_no varchar2 (20) 否 外鍵 學(xué)生學(xué)號(hào) leave_reason varchar2 (200) 否 請(qǐng)假原因 start_time date 否 開始時(shí)間 end_time date 否 完畢時(shí)間 day_number number 否 請(qǐng)假天數(shù) qingjia_time date 否 申請(qǐng)請(qǐng)假時(shí)間 class_tea_id char(5) 否 外鍵
11、 class_tea_sp_status char(10) 否 班主任審批狀態(tài) class_tea_sp_time date 否 班主任審批時(shí)間 備注:status 表示審批狀態(tài):0為等待審批,1為同意請(qǐng)假,2為不同意請(qǐng)假。 四、物理結(jié)構(gòu)設(shè)計(jì) 確定數(shù)據(jù)庫的物理結(jié)構(gòu) 整個(gè)數(shù)據(jù)庫包括八個(gè)表,每個(gè)表都有不同的聯(lián)接關(guān)系,還有創(chuàng)建的視圖也將表聯(lián)系起來。 存取途徑:索引存取方法 〔1〕按學(xué)生所在班級(jí)建立索引,可提高查詢速度。 〔2〕查詢常用到的字段〔學(xué)生學(xué)號(hào)、學(xué)生、課程編號(hào)、教師〕,可創(chuàng)建索引。 五、數(shù)據(jù)庫的實(shí)施 1、 創(chuàng)建數(shù)據(jù)庫 C
12、REATEDATABASE [studentkaoqin] ONPRIMARY (NAME= N'studentkaoqin', FILENAME= N'E:\fsf\sql\studentkaoqin.mdf') (NAME= N'studentkaoqin_log', FILENAME= N'E:\fsf\sql\studentkaoqin_log.ldf') 2、 數(shù)據(jù)表的創(chuàng)建和維護(hù) (1) 表的創(chuàng)建 -- 專業(yè)表major createtable major ( major_id intnotnull, major_name char(10)notnu
13、ll, constraint pk_major primarykey(major_id) ) -- 教師表teacher createtable teacher ( tea_no char(10)notnull, tea_name char(20)notnull, tea_sex char(2)check(tea_sex='男'or tea_sex='女'), tea_tell varchar(20)notnull, constraint pk_teacher primarykey(tea_no) -- 班級(jí)表classes createtable c
14、lasses ( class_no char(10)primarykey, class_name char(20)notnull, ) ) -- 學(xué)生表student createtable student ( stu_no char(10)notnull, stu_name varchar(30)notnull, stu_sex char(2)check(stu_sex='男'or stu_sex='女'), stu_tell varchar(20)notnull, stu_class char(10)references classes(class_n
15、o), stu_major intreferences major(major_id), constraint pk_student primarykey(stu_no) ) -- 課程信息表course createtable course ( course_no char(13)primarykey, course_name char(20)notnull, course_xz char(4)notnull ) -- 學(xué)生上課出勤記錄表kaoqin_record createtable kaoqin_record ( kaoqin_id c
16、har(13)primarykeynotnull, sk_time datetimenotnull, stu_number char(10)references student(stu_no), stu_status char(10)notnull, teacher_no char(10)references teacher(tea_no), course_no char(13)references course(course_no) ) -- 請(qǐng)假信息表qingjia createtable qingjia ( id intprimarykey, c
17、lass_id char(10)references classes(class_no), stu_no char(10)references student(stu_no), leave_reason varchar(200)notnull, start_time datetimenotnull, end_time datetimenotnull, day_number intnotnull, qingjia_time datetimenotnull, class_tea_id char(5)references classteacher(classtea_no)
18、, class_tea_sp_status char(10), class_tea_sp_time datetime, ) -- 班主任表classteacher createtable classteacher ( classtea_no char(5)notnull, classtea_name char(20)notnull, classtea_sex char(2)check(classtea_sex='男'or classtea_sex='女' ) classtea_tell varchar(20)notnull, classtea_major
19、 intreferences major(major_id), constraint pk_classteacher primarykey(classtea_no) ) (2)添加約束 手機(jī)的限制 altertablestudent addconstraint ck_telphone1 check(Telphone like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') altertableclassteacher addconstraint ck_telphone2 check(Telphone l
20、ike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') altertableteacher addconstraint ck_telphone2 check(Telphone like'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]') (3)添加容 --1、學(xué)生表student 添加容 insertintostudentvalues('201210101',' 黃小明','男','2012101','1','') insertintostu
21、dentvalues('201210102',' 樂','男','2012101','1','') insertintostudentvalues('201220101',' 丹','男','2012201','2','') insertintostudentvalues('201220102',' 程冬冬','男','2012201','2','') insertintostudentvalues('201230101',' 胡雪露','男','2012301','3','') insertintostudentvalues('201230102',' 亮','男','2012301
22、','3','') --2、班主任表classteacher 添加容 insertintoclassteachervalues('01',' 敏','女','1','') insertintoclassteachervalues('02',' 圓圓','女','1','') insertintoclassteachervalues('03',' 峰','女','2','') insertintoclassteachervalues('04',' 胡學(xué)達(dá)','女','2','') --3、課程表course 添加容 insertintocoursevalues('01','
23、 單片機(jī)原理與應(yīng)用','考試') insertintocoursevalues('02',' 大學(xué)物理','考試') insertintocoursevalues('03',' 數(shù)據(jù)庫原理與應(yīng)用','考察') insertintocoursevalues('04',' 模擬電子技術(shù)','考試') insertintocoursevalues('05',' 高等數(shù)學(xué)','考試') insertintocoursevalues('06',' 大學(xué)英語','考試') insertintocoursevalues('07',' 大學(xué)體育','考察') --4、考勤記錄表kaoqin_
24、record 添加容 insertintokaoqin_recordvalues('01',' 2015/1/8 8:00','201210101','缺課','01','01') insertintokaoqin_recordvalues('02',' 2015/1/9 14:30','201220102','請(qǐng)假','06','02') insertintokaoqin_recordvalues('03',' 2015/1/9 14:30','201230101','缺課','04','05') insertintokaoqin_recordvalues('04',' 2015/1
25、/10 9:00','201230102','缺課','05','03') insertintokaoqin_recordvalues('05',' 2015/1/10 14:30','201210102','請(qǐng)假','05','03') insertintokaoqin_recordvalues('06',' 2015/1/11 7:00','201220101','缺課','02','06') --5、專業(yè)表major 添加容 insertintomajorvalues('1',' 電子信息') insertintomajorvalues('2',' 光電技術(shù)') inse
26、rtintomajorvalues('3',' 物理') --6、請(qǐng)假表qingjia 添加容 insertintoqingjiavalues('1','2012201','201220102','生病',' 2015/1/8 0:00', ' 2015/1/10 0:00','3','2015/1/7 0:00','01','1',' 2015/1/8 0:00',) insertintoqingjiavalues('2','2012101','201210102','考駕照',' 2015/1/10 0:00', ' 2015/1/11 0:00','1','2015/1/9 0
27、:00','02','1',' 2015/1/9 0:00',) insertintoqingjiavalues('3','2012201','201220101','兼職',' 2015/1/11 7:00', ' 2015/1/11 18:00','1','2015/1/10 0:00','04','2',' 2015/1/10 0:00',) --7、班級(jí)表classes 添加容 insertintoclassesvalues('2012101',' 電信') insertintoclassesvalues('2012201',' 光電') insertintoclasse
28、svalues('2012301',' 物理') --8、教師表teacher 添加容 insertintoteachervalues('01',' 大磊','男','') insertintoteachervalues('02',' 霞','男','') insertintoteachervalues('03',' 天','男','') insertintoteachervalues('04',' 雪艷','女','') insertintoteachervalues('05',' 濤','女','') insertintoteachervalues('06',' 龍','
29、男','') 3、 數(shù)據(jù)庫索引和視圖 (1) 創(chuàng)建索引 --為表student 和teacher 中的Telphone 字段創(chuàng)建一個(gè)唯一索引PK_telphone createuniqueindex unq_ stu_tell 1 ONstudent(stu_tell) createuniqueindex unq_ tea_tell 2 ONteacher(tea_tell) --為表course中的course_no字段創(chuàng)建升序的聚集索引 createclusteredindexclu_ course_no on student(course_no) (2) 創(chuàng)建視圖
30、 學(xué)生考勤視圖: CREATEVIEW [dbo].[考勤] AS SELECT dbo.student.stu_name AS 學(xué)生,dbo.kaoqin_record.stu_status AS 考勤狀態(tài), dbo.course.course_name AS 課程名, dbo.kaoqin_record.sk_time AS 上課時(shí)間, dbo.teacher.tea_name AS 教師, dbo.teacher.tea_tel AS 教師 FROM student,kaoqin_record, course,teacher 請(qǐng)假視圖: CREAT
31、EVIEW [dbo].[請(qǐng)假] AS SELECT dbo.classes.class_name AS 班級(jí), dbo.student.stu_name AS 學(xué)生, dbo.qingjia.leave_reason AS 請(qǐng)假原因, dbo.qingjia.day_number AS 請(qǐng)假天數(shù), dbo.classteacher.classtea_name AS 班主任, dbo.qingjia.class_tea_sp_status AS 審批狀態(tài) FROM dbo.classes, dbo.classteach
32、er , dbo.student , dbo.qingjia 4、查詢操作 〔1〕根本查詢 --1查詢student表中所有學(xué)生的全部信息 SELECT*from student (2) 條件查詢 --1、查詢電信班,男學(xué)生 select*from student where stu_sex='男'and stu_class='2012101' (3) 排序查詢 -- 查詢考試的課程并按降序排列 SELECT course_no,course_name,course_xz FROM course WHERE course_xz='考試' ORDERBY
33、course_no DESC (4) 篩選和分組查詢 --查詢請(qǐng)假天數(shù)小于2天的學(xué)生學(xué)號(hào) SELECT stu_no,day_number FROM qingjia GROUPBY stu_no,day_number HAVING day_number<2 (5) 聯(lián)結(jié)查詢 --查詢學(xué)生專業(yè) SELECTDISTINCT student.*,major.* FROM student,major WHERE student.stu_major=major.major_id (6) 嵌套查詢 --查詢電信專業(yè)的學(xué)生 SELECT stu_name
34、FROM student WHERE stu_major ='1' 六、數(shù)據(jù)庫觸發(fā)器的規(guī)劃和設(shè)計(jì) --為數(shù)據(jù)表qingjia創(chuàng)建一個(gè)觸發(fā)器qingjia_t1,實(shí)現(xiàn)在更新操作中禁止修改請(qǐng)假天數(shù) CREATETRIGGER qinjia_t1 on qingjia forupdate as ifupdate(day_number) begin print'請(qǐng)假天數(shù)不允許修改!' ROLLBACKTRANSACTION END 七、數(shù)據(jù)庫的安全管理與維護(hù) --創(chuàng)建stu_admin 登錄賬號(hào),密碼為'123',默認(rèn)數(shù)據(jù)庫為student_kaoqin createl
35、ogin stu_admin with password='123', default_database=student_kaoqin --在student_kaoqin數(shù)據(jù)庫中為登錄賬號(hào)stu_admin 創(chuàng)建用戶賬號(hào),并取名為U_1 createuser U_1 forlogin stu_admin --將kaoqin 的查詢權(quán)限授予用戶U_1 grantselecton kaoqin_record to U_1 八、 結(jié)論 兩個(gè)星期的時(shí)間非??炀瓦^去了,這兩個(gè)星期不敢說自己有多大的進(jìn)步,獲得了多少知識(shí),但起碼是了解了項(xiàng)目開發(fā)的局部過程。雖說上過
36、數(shù)據(jù)庫上過管理信息系統(tǒng)等相關(guān)的課程,但是沒有親身經(jīng)歷過相關(guān)的設(shè)計(jì)工作細(xì)節(jié)。這次實(shí)習(xí)證實(shí)提供了一個(gè)很好的機(jī)會(huì)。 通過這次課程設(shè)計(jì)發(fā)現(xiàn)這其中需要的很多知識(shí)我們沒有接觸過,去圖書館查資料的時(shí)候發(fā)現(xiàn)我們前邊所學(xué)到的僅僅是皮毛,還有很多需要我們掌握的東西我們根本不知道。同時(shí)也發(fā)現(xiàn)有很多已經(jīng)學(xué)過的東西我們沒有理解到位,不能靈活運(yùn)用于實(shí)際,不能很好的用來解決問題,這就需要我們不斷的大量的實(shí)踐,通過不斷的自學(xué),不斷地發(fā)現(xiàn)問題,思考問題,進(jìn)而解決問題。在這個(gè)過程中我們將深刻理解所學(xué)知識(shí),同時(shí)也可以學(xué)到不少很實(shí)用的東西。 總之,這次課程設(shè)計(jì)使我收獲很多、學(xué)會(huì)很多、比以往更有耐心很多。感學(xué)校與教師給我們這次課程設(shè)計(jì)的機(jī)會(huì),最真摯的感我們的長(zhǎng)青教師 ,在設(shè)計(jì)過程中,教師精心的輔導(dǎo)和不厭其煩地的態(tài)度才使得我們以順利的完成這次設(shè)計(jì),他那無私的奉獻(xiàn)的精神照耀著我們對(duì)學(xué)習(xí)的熱愛,同時(shí)也增加我們對(duì)知識(shí)的追求和欲望度。 15 / 15
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 外研版(一起)英語一年級(jí)上冊(cè)Module-5課件
- 外研版(一起)五上Module-10《Unit-1-You-should-tidy-your課件
- 認(rèn)識(shí)線段課件
- 患者病情評(píng)估培訓(xùn)完整
- 早產(chǎn)兒的護(hù)理教學(xué)
- 我們吃的食物安全嗎
- 鹽酸硫酸—浙教版九級(jí)科學(xué)上冊(cè)課件1
- 人工智能遺傳算法
- 硬質(zhì)景觀的細(xì)部處理龍湖
- 人教版小學(xué)二年級(jí)上冊(cè)數(shù)學(xué)8的乘法口訣
- 郵輪旅游世界郵輪產(chǎn)業(yè)經(jīng)濟(jì)的發(fā)展
- 如何繪制出高品質(zhì)的學(xué)科思維導(dǎo)圖
- 美國(guó)癲癇學(xué)會(huì)驚厥性癲癇持續(xù)狀態(tài)治療指南解讀
- 城市公共空間設(shè)計(jì)理論及方法課件
- (課件)正弦定理公開課