數據庫課程設計 學生考勤_第1頁
數據庫課程設計 學生考勤_第2頁
數據庫課程設計 學生考勤_第3頁
數據庫課程設計 學生考勤_第4頁
數據庫課程設計 學生考勤_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、湖南文理學院數據庫原理與應用報告 專業(yè)班級: 電信12101班 學生姓名: 學生學號: 指導教師: 劉長青 設計時間: 2015.1.4-2015.1.10 目錄一、 需求分析1、 數據需求2、 數據流圖3、 數據字典二、 概念結構設計三、 邏輯結構設計四、 物理結構設計五、 數據庫的實施1、 創(chuàng)建數據庫2、 數據表的維護與創(chuàng)建3、 數據庫索引和視圖4、 查詢操作六、 數據庫觸發(fā)器的規(guī)劃和設計七、 數據庫的安全管理與維護八、結論學生考勤管理系統(tǒng)一、 需求分析為物電學院設計一個學生考勤管理系統(tǒng),該系統(tǒng)主要實現對學生基本信息、教師基本信息、學生考勤等的管理,學生考勤管理系統(tǒng)功能需求包括:學生基本信

2、息表,教師基本信息表,班級表,專業(yè)表,課程表,班主任表,請假信息表,上課出勤記錄表。1、 數據需求:(1) 學生基本信息表:學號,姓名,性別,班級,專業(yè),院系(2) 教師基本信息表:姓名,性別,編號(3) 班級表:班主任,名稱,編號(4) 專業(yè)表:專業(yè)名稱,編號(5) 課程表:課程號,課程名,課程性質(6) 班主任表:編號,姓名,性別(7) 請假信息表:編號,學號,原因,開始時間,結束時間,請假天數,申請請假時間,班主任審批狀態(tài),班主任審批時間(8) 上課出勤記錄表:編號,上課時間,學號2、 數據流圖:學生考勤學生信息課程教師請假信息表學號課程編號編號3、數據字典(1)數據項數據項:學號別名:

3、學生編號含義說明:唯一標識每個學生類型:字符型長度:9位取值范圍:000000000-999999999取值含義:前四位表示學年,第5,6,7位表示專業(yè)和班級,第8,9,表示學號(2)數據結構數據結構:學生含義說明:學生考勤管理系統(tǒng)子系統(tǒng)的主體結構數據,定義了一個學生的有關信息組成:學號、姓名、性別、班級、專業(yè)、電話號碼(3)數據流數據流名:請假信息表說明:學生請假信息及相關課程數據流來源:學生基本信息表,教師基本信息表、課程信息表數據流去向:請假學生、課程、組成:請假原因+學生學號+請假時間平均流量:500條/年高峰流量:50/天(4)數據存儲數據存儲:學生基本信息表說明:記錄學生的基本信息

4、寫文件的處理:新生入學報到后從學院新生登記表中獲取信息輸入流出數據流:為請假信息表提供學生基本信息組成:學號、姓名、性別、班級、專業(yè)、手機號碼、數據量:平均每年2000條存取方式:隨機存取二、概念結構設計E-R模型:學生學號姓名性別專業(yè)班級院系專業(yè)班級班主任屬于管理請假考勤課程授課教師假條課程號課程名課程性質姓名性別編號編號學號原因編號專業(yè)名稱編號名稱班主任編號姓名性別1屬于111nnnnnnmm電話電話電話三、邏輯結構設計1、學生表student字段名數據類型可否為空鍵引用備注stu_nochar(10)否主鍵學生學號stu_namevarchar(30)否學生姓名stu_sexchar(2

5、)否性別stu_classchar(13)否外鍵所屬班級stu_majorchar(30)否外鍵所屬專業(yè)Stu_tellvarchar(20)否電話號碼2、專業(yè)表major字段名數據類型可否為空鍵引用備注major_idnumber否主鍵專業(yè)編號major_namechar(20)否專業(yè)名稱3、教師表teacher字段名數據類型可否為空鍵引用備注tea_nochar(10)否主鍵任課老師編號tea_namechar(20)否任課老師姓名tea_sexchar(2)否性別tea_tellVarchar(20)否電話號碼4、班主任表classteacher字段名數據類型可否為空鍵引用備注class

6、tea_nochar(5)否主鍵任課老師編號classtea_namechar(20)否任課老師姓名classtea_sexchar(2)否性別classtea_majornumber否外鍵所屬專業(yè)classtea_tellVarchar(20)否電話號碼5、學生上課出勤記錄表kaoqin_record字段名數據類型可否為空鍵引用備注kaoqin_idchar(13)否主鍵上課出勤編號sk_timedate否上課時間stu_numberchar(10)否外鍵 學生學號stu_statuschar(10)否學生上課考勤狀態(tài)teacher_nochar(10)否外鍵教師編號course_

7、nochar(13)否外鍵課程編號6、課程信息表course字段名數據類型可否為空鍵引用備注course_nochar(13)否主鍵課程編號course_namechar(20)否課程名稱course_xzchar(4)否課程性質7、班級表classes字段名數據類型可否為空鍵引用備注class_nochar(10)否主鍵課程編號class_namechar(20)否課程名稱classtea_nochar(5)否外鍵課程性質8、請假信息表qingjia字段名數據類型可否為空鍵引用備注idnumber否主鍵請假代號class_idchar(10)否外鍵班級代號stu_novarchar2 (20

8、)否外鍵學生學號leave_reasonvarchar2 (200)否請假原因start_timedate否開始時間end_timedate否結束時間day_numbernumber否請假天數qingjia_timedate否申請請假時間class_tea_idchar(5)否外鍵class_tea_sp_statuschar(10)否班主任審批狀態(tài)class_tea_sp_timedate否班主任審批時間備注:status 表示審批狀態(tài):0為等待審批,1為同意請假,2為不同意請假。四、物理結構設計確定數據庫的物理結構整個數據庫包括八個表,每個表都有不同的聯接關系,還有創(chuàng)建的視圖也將表聯系起來

9、。 存取途徑:索引存取方法 (1)按學生所在班級建立索引,可提高查詢速度。 (2)查詢常用到的字段(學生學號、學生姓名、課程編號、教師姓名),可創(chuàng)建索引。五、數據庫的實施1、 創(chuàng)建數據庫CREATE DATABASE studentkaoqin ON PRIMARY ( NAME = N'studentkaoqin', FILENAME = N'E:fsfsqlstudentkaoqin.mdf' ) ( NAME = N'studentkaoqin_log', FILENAME = N'E:fsfsqlstudentkaoqin_log

10、.ldf')2、 數據表的創(chuàng)建和維護(1) 表的創(chuàng)建- 專業(yè)表major create table major(major_id int not null,major_name char(10) not null,constraint pk_major primary key (major_id)- 教師表teachercreate table teacher(tea_no char(10) not null,tea_name char(20) not null,tea_sex char(2) check (tea_sex='男' or tea_sex='女&#

11、39;), tea_tell varchar(20) not null,constraint pk_teacher primary key (tea_no)- 班級表classescreate table classes(class_no char(10) primary key,class_name char(20) not null,)- 學生表studentcreate table student(stu_no char(10) not null,stu_name varchar(30) not null,stu_sex char(2) check (stu_sex='男'

12、; or stu_sex='女'), stu_tell varchar(20) not null,stu_class char(10) references classes(class_no),stu_major int references major(major_id),constraint pk_student primary key(stu_no)- 課程信息表coursecreate table course(course_no char(13) primary key,course_name char(20) not null,course_xz char(4) n

13、ot null)- 學生上課出勤記錄表kaoqin_recordcreate table kaoqin_record(kaoqin_id char(13) primary key not null,sk_time datetime not null,stu_number char(10) references student(stu_no),stu_status char(10) not null,teacher_no char(10) references teacher(tea_no),course_no char(13) references course(course_no)- 請假信

14、息表qingjiacreate table qingjia(id int primary key,class_id char(10) references classes(class_no),stu_no char(10) references student(stu_no),leave_reason varchar(200) not null,start_time datetime not null,end_time datetime not null,day_number int not null,qingjia_time datetime not null,class_tea_id ch

15、ar(5) references classteacher(classtea_no),class_tea_sp_status char(10),class_tea_sp_time datetime,)- 班主任表classteachercreate table classteacher( classtea_no char(5) not null,classtea_name char(20) not null,classtea_sex char(2) check (classtea_sex='男' or classtea_sex='女' )classtea_tel

16、l varchar(20) not null,classtea_major int references major(major_id),constraint pk_classteacher primary key (classtea_no)(2)添加約束手機號碼的限制alter table studentadd constraint ck_telphone1check(Telphone like '0-90-90-90-90-90-90-90-90-90-90-9')alter table classteacheradd constraint ck_telphone2 che

17、ck(Telphone like '0-90-90-90-90-90-90-90-90-90-90-9')alter table teacheradd constraint ck_telphone2 check(Telphone like '0-90-90-90-90-90-90-90-90-90-90-9')(3)添加內容-1、學生表student 添加內容insert into student values('201210101', ' 黃小明','男','2012101','1'

18、;,'#39;)insert into student values('201210102', ' 張樂', '男','2012101','1','#39;)insert into student values('201220101', ' 劉丹', '男','2012201','2','#39;)insert into student va

19、lues('201220102', ' 程冬冬','男','2012201','2','19829742194')insert into student values('201230101', ' 胡雪露','男','2012301','3','#39;)insert into student values('201230102', ' 張亮', '

20、男','2012301','3','#39;) -2、班主任表classteacher 添加內容insert into classteacher values('01', ' 劉敏', '女', '1','12882492124')insert into classteacher values('02', ' 劉圓圓','女', '1','12421412444')

21、insert into classteacher values('03', ' 劉峰', '女', '2','21325252255')insert into classteacher values('04', ' 胡學達','女', '2','#39;)-3、課程表course 添加內容insert into course values('01', ' 單片機原理及應用', '考

22、試')insert into course values('02', ' 大學物理', '考試')insert into course values('03', ' 數據庫原理及應用', '考察')insert into course values('04', ' 模擬電子技術', '考試')insert into course values('05', ' 高等數學', '考試')insert

23、into course values('06', ' 大學英語', '考試')insert into course values('07', ' 大學體育', '考察')-4、考勤記錄表kaoqin_record 添加內容insert into kaoqin_record values('01', ' 2015/1/8 8:00', '201210101', '缺課', '01' ,'01')insert

24、 into kaoqin_record values('02', ' 2015/1/9 14:30', '201220102', '請假', '06' ,'02')insert into kaoqin_record values('03', ' 2015/1/9 14:30', '201230101', '缺課', '04' ,'05')insert into kaoqin_record values(&

25、#39;04', ' 2015/1/10 9:00', '201230102', '缺課', '05' ,'03')insert into kaoqin_record values('05', ' 2015/1/10 14:30', '201210102', '請假', '05' ,'03')insert into kaoqin_record values('06', ' 2015/1/1

26、1 7:00', '201220101', '缺課', '02' ,'06')-5、專業(yè)表major 添加內容insert into major values('1', ' 電子信息')insert into major values('2', ' 光電技術')insert into major values('3', ' 物理')-6、請假表qingjia 添加內容insert into qingjia values('

27、;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',)insert into qingjia values('2', '2012101', '201210102', '考駕照',

28、' 2015/1/10 0:00', ' 2015/1/11 0:00', '1','2015/1/9 0:00', '02' ,'1',' 2015/1/9 0:00',)insert into qingjia values('3', '2012201', '201220101', '兼職', ' 2015/1/11 7:00', ' 2015/1/11 18:00', '1&#

29、39;,'2015/1/10 0:00', '04' ,'2',' 2015/1/10 0:00',)-7、班級表classes 添加內容insert into classes values('2012101', ' 電信')insert into classes values('2012201', ' 光電')insert into classes values('2012301', ' 物理')-8、教師表teacher 添加內容i

30、nsert into teacher values('01', ' 劉大磊', '男', '#39;)insert into teacher values('02', ' 趙霞', '男', '#39;)insert into teacher values('03', ' 張?zhí)?#39;, '男', '#39;)insert into teacher values(

31、'04', ' 張雪艷', '女', '#39;)insert into teacher values('05', ' 劉濤', '女', '#39;)insert into teacher values('06', ' 陳龍', '男', '#39;)3、 數據庫索引和視圖(1) 創(chuàng)建索引-為表student 和teacher 中的Telphone 字段創(chuàng)

32、建一個唯一索引PK_telphonecreate unique index unq_ stu_tell 1 ON student(stu_tell)create unique index unq_ tea_tell 2 ON teacher(tea_tell)-為表course中的course_no字段創(chuàng)建升序的聚集索引create clustered index clu_ course_no on student(course_no)(2) 創(chuàng)建視圖學生考勤視圖:CREATE VIEW dbo.考勤ASSELECT dbo.student.stu_name AS 學生姓名,dbo.kaoqi

33、n_record.stu_status AS 考勤狀態(tài), dbo.course.course_name AS 課程名, dbo.kaoqin_record.sk_time AS 上課時間, dbo.teacher.tea_name AS 教師姓名, dbo.teacher.tea_tel AS 教師電話FROM student,kaoqin_record, course,teacher 請假視圖:CREATE VIEW dbo.請假ASSELECT dbo.classes.class_name AS 班級, dbo.student.stu_name AS 學生, dbo.qingjia.lea

34、ve_reason AS 請假原因, dbo.qingjia.day_number AS 請假天數, dbo.classteacher.classtea_name AS 班主任, dbo.qingjia.class_tea_sp_status AS 審批狀態(tài)FROM dbo.classes, dbo.classteacher , dbo.student , dbo.qingjia4、查詢操作(1)基本查詢-1查詢student表中所有學生的全部信息SELECT * from student(2) 條件查詢-1、查詢電信班,男學生 select * from student where stu_sex='男' and stu_class='2012101'(3) 排序查詢- 查詢考試的課程并按降序排列SELECT course_no,course_name,course_xz FROM courseWHERE course_xz='考試'ORDER BY course_no DESC(4) 篩選和分組查詢-查詢請假天數小于2天的學生學號SELECT stu_no,day_number FROM qingjiaGROUP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論