SQL Server数据库设计与开发项目实训指导书信管130102Word文档格式.docx
《SQL Server数据库设计与开发项目实训指导书信管130102Word文档格式.docx》由会员分享,可在线阅读,更多相关《SQL Server数据库设计与开发项目实训指导书信管130102Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
软件:
Win7操作系统,MicrosoftSQLServer2005。
五、说明。
凡具备下列条件者,均以不及格论。
1.未能达到实训中规定的基本要求并及时上交实训作业(“学号姓名”文件夹=系统生成文件+实训报告)者,或实训作业系抄袭别人、或马虎潦草内容明显错误者。
2.旷课时间超过全部实训时间三分之一以上者。
3.实训中态度不端正,有违纪行为(如玩游戏),屡教不改者。
项目一:
设计数据库
实训任务
一、student数据库概念模型设计。
二、student数据库逻辑模型设计。
三、student数据库物理模型设计。
实训目的
熟练掌握数据库概念模型、逻辑模型与物理模型的设计方法。
实训要求
一、根据数据库开发流程,对student数据库进行概念模型、逻辑模型和物理模型的设计。
二、使用Visio画出E-R图,保存在个人工作文件夹“学号姓名”中。
三、在实训报告的“步骤”栏,使用文字+截图方式对操作步骤加以描述。
实训内容
1.实体及其属性的确定。
1)班级:
2)学生:
3)课程:
2.实体间联系的确定。
1)班级与学生之间联系的确定:
2)学生与课程之间联系的确定:
3.student数据库的E-R图。
二、数据库逻辑模型设计。
1.由E-R图转换为一组关系模式的原则:
1)一个实体转换为一个关系,实体名就是关系名,实体的属性就是关系的属性;
2)两个实体间的联系分为以下3种情况:
●一个1:
1联系可以转换为一个独立的关系,也可以与任意一端对应的关系合并;
n联系可以转换为一个独立的关系,也可以与n端对应的关系合并
●一个m:
n联系转换为一个关系
3)3个或3个以上实体间的联系转换为一个关系
4)具有相同主键的关系可以合并
2.根据E-R图向关系模式的转换原则,具体转换如下,形成数据库的逻辑模型:
1)班级(……);
2)学生(……);
3)课程(……);
4)成绩(……);
三、数据库物理模型设计。
1.班级关系———班级信息表class_info
序号
字段名
数据类型
字段宽度
字段约束
默认值
主键
外键
1
class_no
char
8
8位0~9字符
是
2
3
4
2.学生关系———学生信息表student_info
5
6
7
9
3.课程关系———课程信息表course_info
4.成绩表result_info
项目二:
创建数据库
一、使用T-SQL语句创建数据库student。
二、使用T-SQL语句修改数据库student。
一、熟练掌握使用T-SQL语句创建数据库的方法。
二、熟练掌握使用T-SQL语句修改数据库的方法。
一、在个人工作文件夹“学号姓名”文件夹中创建student数据库。
二、所有操作以T-SQL语句方式完成。
一、创建数据库student,主数据文件名为:
student_data;
主事务日志文件名为:
studnet_log。
文件初始大小、文件增长、最大容量自定(建议不要太大)。
命令如下:
二、修改数据库student。
1)为数据库"
student"
添加一个新的(辅)数据文件student2_data,文件初始大小、文件增长、最大容量自定。
2)为数据库"
添加一个新的事物日志文件student2_log。
命令如下:
3)改变(辅)数据文件student2_data的文件属性(初始大小、文件增长、最大容量)。
4)改变(辅)日志文件student2_log的文件属性(初始大小、文件增长、最大容量)。
5)删除(辅)数据文件student2_data。
6)删除(辅)日志文件student2_log。
项目三:
数据库表
一、使用T-SQL语句创建数据库表。
二、使用T-SQL语句修改数据库表结构。
三、使用T-SQL语句增改删表中记录。
一、熟练掌握使用T-SQL语句创建数据库表和修改表结构的方法。
二、熟练掌握使用T-SQL语句增改删表中数据的方法。
一、所有操作以T-SQL语句方式完成。
二、在实训报告的“步骤”栏,使用文字+截图方式对操作步骤加以描述。
一、新建表。
1)新建表class_info(class_nochar(8)primarykey,class_namechar(8),directorchar(6),professionchar(16))。
T-SQL语句如下:
2)新建表student_info(student_idchar(10)primarykey,student_namechar(10),student_sexchar
(2),born_datedatetime,class_nochar(8),tele_numberchar(12),ru_datedatetime,addressvarchar(50),commentvarchar(200))。
3)新建表course_info(course_nochar(5)primarykey,course_namechar(30),course_typechar(10),course_startchar
(1),course_timeint,course_scoretinyint)。
4)新建表result_info,(student_idchar(10),course_nochar(5)primarykey(student_id,course_no),resultdecimal(4,1))。
二、修改表。
1)为表student_info增加一个新字段"
political_statuschar(4)null"
。
语句如下:
2)同时为表student_info增加两个新字段"
ru_resultint"
和"
departmentchar(10)"
语句如下:
3)将student_info表的"
political_status"
字段修改为varchar(10)。
4)为表student删除一个字段"
5)同时删除表student_info的两个字段"
ru_result"
"
department"
语句如下:
三、表记录。
1)为表class_info增加一条新记录,该记录字段值为本班真实信息。
2)为表student_info增加一条新纪录,要求该记录前八个字段有值,字段值为本人真实信息,最后一个字段comment不输入。
3)为表course_info增加一条新记录,字段值自拟。
4)为表result_info增加一条新纪录,字段值自拟。
5)修改student_info表中刚刚增加的那条本人记录,将comment字段值改为“认真刻苦”。
6)删除result_info表中的那条成绩记录。
7)删除student_info表中那条本人信息记录。
8)删除course_info表中那条课程信息记录。
9)修改class_info表中那条本班记录,将字段信息修改为另一班。
项目四:
数据完整性
一、使用T-SQL语句修改表,为数据库表增加外键约束。
二、使用T-SQL语句修改表,为数据库表增加唯一约束。
三、使用T-SQL语句修改表,为数据库表增加检查约束。
四、使用T-SQL语句修改表,为数据库表增加默认约束。
熟练掌握使用T-SQL语句设定数据完整性的方法。
一、ForeignKey约束
1)修改表student_info,为class_no字段创建外键约束,要求student_info表的字段class_no参照class_info表的主键class_no。
2)修改表result_info,为student_id字段创建外键约束,要求result_info表的字段student_id参照student_info表的主键student_id。
3)修改表result_info,为course_no字段创建外键约束,要求result_info表的字段course_no参照course_info表的主键course_no。
二、Unique约束。
1)修改表class_info,为字段class_name创建唯一约束。
2)修改表course_info,为字段course_name创建唯一约束。
三、Check约束
1)修改表class_info,为class_no字段创建检查约束,要求class_no字段的值为8位0~9字符。
2)修改表student_info,为student_id字段创建检查约束,要求student_id字段的值为10位0~9字符。
3)修改表course_info,为course_no字段创建检查约束,要求course_no字段的值为5位0~9字符。
4)修改表result_info,为result字段创建检查约束,要求result字段的值大于等于0、小于等于100。
四、default约束。
1)修改表student_info,为字段student_name创建默认约束,默认值为‘无名’。
2)修改表result_info,为字段result创建默认约束,默认值为0。
3)修改表student_info,删除字段student_name的默认约束。
4)修改表result_info,删除字段result的默认约束。
五、录入数据。
1)为class_info表录入至少两条记录,包含信管两个班的信息。
2)为student_info表录入至少10条记录(每班至少5人)。
3)为course_info表录入至少5条记录。
4)为result_info表录入至少4位同学(每班至少2人)5门课成绩的记录。
项目五:
查询
熟练掌握使用T-SQL的SELECT语句查询所需数据的方法。
一、SELECT语句的基本应用。
1)在student_info表中查询本班同学的学号、姓名、性别、年龄、班号,并指定中文列名。
2)在student_info表中查询评价(comment)字段不为空的学生学号、姓名、评价。
3)在student_info表中查询家住咸阳的学生姓名和地址。
4)在student_info表中查询与自己同姓同学的学号、姓名、班号。
5)在student_info表中查询张、王、李、赵四姓同学的学号、姓名、班号,并按姓名升序排序。
6)在course_info表中查询学分(course_score)在3-4之间课程的所有字段信息(使用通配符*)。
二、分组统计查询。
1)在student_info表中查询各班的学生人数。
2)在student_info表中查询各班的男女生人数。
3)在result_info表中查询各同学选课的课程数、总成绩、平均成绩、最高分与最低分。
4)在result_info表中查询各门课选课的学生数、平均成绩、最高分与最低分。
三、多表查询。
1)连接student_info和class_info,查询出本班同学的学号,姓名,班级名。
2)联接student_info、result_info和course_info,查询出成绩大于等于90分同学的学号、姓名、课号、课名和成绩,并按成绩降序排序。
3)联接student_info、result_info、course_info和class_info。
查询所有同学的班名、学号、姓名、课号、课名和成绩。
四、子查询。
1)查询本人学号所在的班级名。
2)查询选修了'
XXXXX'
课号(具体课号选择自己result_info表中某课号)的学生姓名。
3)查询选修了'
课名(具体课名选择自己表中已有课名)的学生所有字段信息。
4)查询“信管130X”班(本班班名)同学的总分,并按总分降序排序。
项目六:
视图
一、使用T-SQL语句创建视图。
二、使用T-SQL语句修改视图。
三、使用T-SQL语句通过视图更新表中数据。
一、熟练掌握使用T-SQL语句创建、修改视图的方法。
二、熟练掌握使用T-SQL语句通过视图更新表中数据的方法。
一、创建视图。
1)创建基于student_info表的本班班级视图,显示班号为'
X'
的student_id,student_name,student_sex,class_no。
2)创建基于3个表的成绩视图,显示学生的student_id,student_name,course_no,course_name,result。
二、修改视图。
1)修改视图上例本班班级视图,给各列加上中文别名。
2)修改视图上例成绩视图,只筛选出90——100之间的成绩(包括90、100)。
三、通过视图更新数据。
1)增加记录:
通过上例本班班级视图增加一条记录('
X99'
'
悟空'
男'
)。
2)修改记录:
通过班级视图把刚刚增加那条记录的姓名修改为'
八戒'
3)删除记录:
通过班级视图删除刚刚增加并修改的那条记录。
项目七:
索引
一、使用T-SQL语句创建索引。
二、使用T-SQL语句删除索引。
熟练掌握使用T-SQL语句创建和删除索引。
一、创建非聚集索引。
1)为class_info表的class_name字段创建非聚集索引。
2)为student_info表的student_name字段创建非聚集索引。
3)为course_info表的course_name字段创建非聚集索引。
4)为result_info表的student_id字段创建非聚集索引。
5)为result_info表的course_no字段创建非聚集索引。
6)为result_info表的result字段创建非聚集索引。
二、删除索引。
1)删除result_info表student_id字段的非聚集索引。
2)删除result_info表course_no字段的非聚集索引。
项目八:
存储过程
一、使用T-SQL语句创建存储过程。
二、使用T-SQL语句修改存储过程。
熟练掌握使用T-SQL语句创建、修改、执行存储过程的方法。
一、创建并执行存储过程。
1)创建存储过程p_student_info,要求该存储过程能够查询出student_info表中所有学生的student_id、student_name、student_sex、class_no。
2)执行上例存储过程p_student_info。
二、修改并执行存储过程。
1)修改存储过程p_student_info,使其功能变为只查询'
班(注:
本班班号)的学生信息。
三、带参存储过程。
1)创建带参存储过程p_addclass,功能为通过参数向class_info表中增加一条记录。
2)执行带参存储过程p_addclass,通过参数向class_info表增加一条班级记录,参数值自拟。
附件
实训报告
二级学院
专业名称
班级
姓名
学号
2014年12月
项目名称:
日期:
20年月日至月日
任务名称
同组人员
设备与工具
目的
要求
步骤
总结
成绩
批阅人
时间