1、学号、姓名、学期、注册学期、学院。可以更好的了解学生每个学期的报到情况。火车票优待信息:学号、姓名、籍贯、乘车区间、学期、购票时间。可以了解每个学生利用学生证优惠购买火车票的情况及寒暑假去向等。2、根据需求分析建立二维表及ER图如下:表1.1学生基本信息表属性学号姓名性别班级专业学制民族出生籍贯类型与大小Char(10)Char(8)Char(2)Char(6)Char(4)datetimevarchar (20)备注Primary keyNot nullDefault男表1.2学生证的管理的相关信息表入学时间发证时间有效期至Datetime表1.3学生的注册信息表学院注册时间学期表1.4火车
2、票优待信息表乘车区间购票时间varChar(20)Varchar(20)Primarykey3、实验过程/*建库*/create database 学生证管理系统on ( name=学生证管理系统_data, filename=d:学生证管理系统.mdf, size=10, maxsize=20, filegrowth=5)log on( name=学生证管理系统_log,学生证管理系统data.ldf size=5, maxsize=15, filegrowth=5 /*建表*/create table s_inf /*学生信息*/( 学号 char(10)primary key, 姓名 c
3、har(8)not null, 性别 char(2), 班级 char(8), 专业 char(8), 学制 char(6), 民族 char(4), 出生 datetime, 籍贯 varchar(20)not nullcreate table s_time /*学生证管理的相关信息*/ 姓名 char(8), 入学时间 datetime not null, 发证时间 datetime, 有效期至 datetime not nullcreate table s_dept /*学生注册信息*/ 学期 char(4), 注册时间 datetime not null, 学院 char(10)not
4、 nullcreate table s_train/*火车票优待信息*/( 学号 char(10)not null, 籍贯 varchar(20)primary key, 乘车区间 varchar(20)not null, 购票时间 datetime/*表内容*/insert into s_inf values(1021112601,张彬男10211126电子商务四年汉1991/10/1江西省上饶市1021112602张三女1992/12/4江西省九江市1021112701王五10211127国际教育1994/5/26江西省宜春市1021112702李四1992/4/12江西省赣州市10211
5、12801陈志10211128嵌入式1993/5/12江西省新余市insert into s_time values(2010/09/012010/10/072014/07/012010/09/02insert into s_dept values(一2010/09/11软件学院insert into s_train values(南昌至上饶2011/02/03南昌至九江2011/02/01南昌至宜春南昌至赣州2011/02/05南昌至新余2011/02/04/*创建视图*/create view 学生信息(学号,姓名,性别,班级,学院,出生,籍贯,学期,入学时间,发证时间,有效期至,注册时间
6、)as select s_inf.学号,s_inf.姓名,性别,班级,学院,出生,籍贯,s_dept.学期,入学时间,发证时间,有效期至,注册时间from s_inf,s_time,s_deptwhere s_inf.学号=s_time.学号 and s_time.学号=s_dept.学号drop view 学生信息/*录入学生信息的存储过程*/create procedure insert_s_inf( 学号 char(10), 姓名 char(8), 性别 char(2), 班级 char(8), 专业 char(10), 学制 char(6), 民族 char(4), 出生 dateti
7、me, 籍贯 varchar(40)as insert into s_inf values(学号,姓名,性别,班级,专业,学制,民族,出生,籍贯 )create procedure insert_s_time 入学时间 datetime, 发证时间 datetime, 有效期至 datetimeinsert into s_time values(学号,姓名,入学时间,发证时间,有效期至)create procedure insert_s_dept 学期 char(4), 注册时间 datetime, 学院 char(10)insert into s_dept values(学号,姓名,学期,注
8、册时间,学院)create procedure insert_s_train 籍贯 varchar(20), 乘车区间 varchar(20), 购票时间 datetimeasinsert into s_train values(学号,姓名,籍贯,乘车区间,学期,购票时间)exec insert_s_inf 1021112603张山1982/6/15江西省抚州市exec insert_s_timeexec insert_s_deptexec insert_s_train南昌至抚州/*创建索引*/create unique index 学生 on s_inf(学号,姓名)create index
9、 学生证有效期 on s_time(学号,姓名,有效期至)create index 注册记录 on s_dept(学号,姓名,学院)create index 火车票 on s_train(学号,姓名,乘车区间)exec sp_helpindex s_train/*查看索引*/*按学号查询*/create procedure s_no( 学号 char(10)select * from s_infwhere 学号=学号select *from s_timeselect *from s_deptselect *from s_trainexec s_no 学号=/*按班级号*/create proc
10、edure c_no 班级 char(8)select * from 学生信息where 班级=班级exec c_no 班级=drop procedure c_no/*按学号修改*/create procedure sno_xiugai 学号 char(10), 出生 datetimeupdate s_infset 学号=学号,姓名=姓名,性别=性别,班级=班级,专业=专业,学制=学制,民族=民族,出生=出生update s_timeset 学号=学号,姓名=姓名update s_deptupdate s_traindrop procedure sno_xiugaiexec sno_xiuga
11、i 陈志博1991/5/12select * from s_timeselect * from s_deptselect * from s_train/*按学号删除*/create procedure sno_deleted学号 char(10)delete from s_infcreate trigger sno_delete1on s_inffor deletedelete from s_timewhere 学号=(select 学号 from deleted)create trigger sno_delete2on s_inf delete from s_deptcreate trigg
12、er sno_delete3delete from s_trainexec sno_deleted where(学号=四、实验总结程序的实现功能不够全面,代码少,功能也不多。由于能力与时间的限制,没有设计出一个系统界面,这是我认为最大的缺陷!其次,学生证上的信息不多,起初我只创建三张表,而且属性少,所以不知道怎么去把这些表联系起来,头脑没有一个完整的想法。后来我反复的拿着学生证看了又看,然后再重新开始做这个课程设计。再次,在创建存储过程跟触发器的时候,由于需要连接每个二维表,由于一些细节问题出错了,系统总是报错,后来在看书和同学的指点下,完成了设计的要求。五、实验心得设计过程中,对整个系统的的设计有许多的体会,也发现了自己的许多不足,但最后都解决了。因此,通过这次课程设计,对书上的知识有了更深入的理解,而且对数据库系统有了更深刻的认识,考虑问题的方面也更全面,于此同时,在很大程度上提升了自己的动手能力。因此我越来越觉得,要掌握好一门语言,加强上机操作是非常有必要的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1