课程设计报告题目:学生选课系统数据库的设计与实现课程名称:__ 数据库课程设计学院:__ 信息工程学院___________专业班级:__ 14计算机专(1)班 ______学号:__ 2014039060 _姓名:__ 史腾卫 _________指导老师:__ 阮丹丹___________2014–2015 第二学期目录一、课程设计时间 (2)二、课程设计地点 (2)三、课程设计目的 (2)四、课程设计任务及要求 (2)五、课程设计内容 (3)六、课程设计心得 (7)一、课程设计时间此次课程设计是从2015年3月30号开始,至2015年4月3号结束,为期一周。
二、课程设计地点实验楼S5-507机房三、课程设计目的目的:《数据库课程设计》实训教学的主要目的是结合实际案例,通过实验、实习,培养学生的对数据库软件的应用能力,熟练使用几种数据库开发技术的工具,比如SQL Server 2008。
让学生掌握数据库、数据表、信息、视图等相关概念,熟悉数据库的基本操作,学会使用SQL语句,能够动手设计出一个简单的数据库系统,并完成数据库的基本操作。
四、课程设计任务及要求任务:(1)熟悉SQL Server 2005安装配置及数据库的建立和管理。
(2)学会通过SQL语句创建与管理数据表。
(3)学生数据库软件的一些基本操作,增添、删除、查询、修改数据等。
(4)理解数据存储的过程,掌握存储过程的执行方法和存储过程的管理和维护。
(5)了解视图的概念,掌握创建视图、测试、加密视图的方法,掌握用视图管理数据的方法。
(6)理解存储过程概念、类型;掌握各种存储过程创建方法和查看、修改、删除存储过程方法。
五、课程设计内容5.1创建数据库数据库代码如下:USE masterGOIF EXISTS(SELECT *FROM sysdatabases WHERE NAME='学生选课系统')DROP DATABASE 学生选课系统CREATE DATABASE 学生选课系统GO数据库如图:图一创建数据库5.2创建数据表创建数据表的代码如下:USE 学生选课系统--创建数据表StudentCREATE TABLE Student(Sno char(8) not null primary key,--学号Sname varchar(12) not null,Sex char(2) not null default '男',Birth smalldatetime not null,Classno char(3) not null,Entrance_date smalldatetimenot null,Homeaddr varchar(40)not null,)create table Course(Cno char(3) not null primary key, --课程号Cname varchar(20) not null, --课程名称Total_perior smallint, --总学时Credit tinyint, --学分check (Total_perior>3 and Credit>0 and Credit<=6))create table SC(primary key(Sno,Cno),Sno char(8) not null foreign key references Student(Sno), --学号Cno char(3) not null foreign key references Course(Cno), --课程号Grade tinyint, --成绩check(Grade>=0 and Grade<=100))如图所示:图二创建数据表5.3添加和删除约束代码如下:DROP TABLE SCDROP TABLE StudentDROP TABLE Course--向Student表中增加身高列alter table Studentadd Stature numeric(4,2),constraint ck_Stature check(Stature<3.0)--向Student表中增加系别ALTER TABLE StudentADD Sdept char(8) not null--向Student表中增加身邮政编码alter table Studentadd Postcode char(6),constraint ck_ps check(Postcode like '[0-9][0-9][0-9][0-9][0-9][0-9]')--删除Student表中的身高列alter table Studentdrop ck_Staturealter table Studentdrop column Staturealter table Studentadd constraint ck_date check(Birth<Entrance_date)alter table SCadd constraint ck_grade default(0) for Grade5.4插入数据向数据表中插入数据插入数据代码如下:insertinto Studentvalues ('20110001','张虹','男','1992-09-11','051','2011-09-01','南京','计算机系','200413')insertinto Studentvalues ('20110002','林红','女','1991-08-11','051','2011-09-01','南京','计算机系','200413')insertinto Studentvalues ('20110003','林浩','男','1993-09-11','061','2011-09-01','上海','软件工程','200413')insertinto Studentvalues ('20110004','方波','男','1990-09-11','061','2011-09-01','武汉','通信工程','200413')insertinto Studentvalues ('20110005','李华','女','1988-09-11','052', '2011-09-01','重庆','通信工程','200413')insertinto Studentvalues ('20110105','刘小方','女','1992-09-11','052', '2011-09-01','南昌','软件工程','200413')insertinto Studentvalues ('20110103','宋江','男','1988-09-11','052', '2011-09-01','南昌','软件工程','200413')如图所示图三插入数据5.5查询表中数据select *from Student_20103322where Sname like '张%'如图所示:图四查询数据六、课程设计心得从这次试训中让我们更明白了一些知识,表是数据库最重要的一个数据对象,表的创建好坏直接关系到数据库的成败,表的内容是越具体越好,但是也不能太繁琐,以后在实际运用中使用多表,对表的规划和理解就会越深刻。
通过这次试训,让我深刻的了解到自己的不足,要想对进行数据库更深的学习,自己得要多看有关的课外书籍,并多做练习,不懂得要多问同学和请教老师,以解决自己遇到的难题,知道更多的知识。
实训不仅是让我们在实践中对理论知识的验证,也让我们知道我们多学的知识在社会上的运用,把所学知识和企业商业接轨。
这次实训,不仅让我们学到了许多有关数据库的知识,老师也给我们讲了很多社会现状和就业情况,让我们不同的角度了解这个专业的就业趋势。
让我们在今后的学习中更有动力的充实自己,曾加自己的知识面和锻炼自己各方面能力。