软件2012(12)SQL Server数据库设计实验指导书
实验2 表的创建与操作
实验目的:
1. 掌握用SQL 语句创建表与表的修改修改 2. 掌握用菜单添加、修改表格数据 3. 掌握索引的建立与主键、外键建立
实验内容:
1.在student数据库中创建一个名为pupil的表,要求:(sno char(6) not null,sname char(10) not null,ssex char(2) not null, sage int, sdept char(20)),其中表中字段满足:sno设置为主键,sname字段设置惟一性约束;
2.将pupil表的ssex和birthday设置检查性约束,要求ssex只能为‘男’或‘女’,sdept字段设置默认约束,值为‘软件学院’
3.在student数据库中创建一个名为course的表(cno, cname, teacher)。 4.分别在student,sc,course创建三个表的主键 5.在学生表中,创建按年龄降序索引
6.创建一个学生选课表sc(sno char(6) not null,cno char(10) not null,grade real).将sc表创建外键约束,把sc表的sno和student表的sno关联起来,在这两个表之间创建一种制约关系。
7. 分别往student,sc,course三个表添加5条记录 8.查询年纪小于20的学生信息
9.查询成绩及格的选课信息的学生的学号 10.查询成绩及格的选课信息的学生的学号,姓名
第 5/11 页
5
实验3 数据的简单查询
实验目的:
1. 掌握SELECT 语句的基本语法 2. 掌握子查询及order by 子句用法
3. 掌握SELECT 语句的统计函数的作用和使用方法
实验内容:
1.针对student表查询所有学生的基本信息,并按出生日期升序排列。 2.针对student表查询女同学的信息和女同学的人数。 3.在student表中查询所有男同学的年龄。
4.在student表中,(1) 查询‘刘’姓学生的信息;(2) 查询polity为’团员’或’党员’的学生信息。
5.在sc表中,(1) 查询各门课程的选课人数; (2) 查询缺少成绩的学生的学号及课程号;(3) 查询每个学生选课选课数; 6.查询与‘刘成’同一个系的学生情况。
7.查询选修了课程名为‘MIS’的学生的学号和姓名
8.查询pubs数据库的Publishers表中居住在Boson或不住在Paris的出版商信息。
9.查询pubs数据库的salers表中saleID为s01,s05,s07的销售人员的信息。 10.查询pubs数据库的authors表中作者居住的城市和州。
11.在Northwind数据库的Products表中查询出价格在5-10元之间的产品信息。 12.在Northwind数据库的orders表中的数据,先按CustomerID的升序排列,
当CustomerID相同时再按照SaleID的降序排列。
注意:如果没有Northwind,pubs 示例数据库,自己会添加
6
软件2012(12)SQL Server数据库设计实验指导书
实验4 数据的高级查询
实验目的:
1. 掌握表中数据的查询方法及操作方法 2. 掌握连接查询与嵌套查询的方法
3. 掌握SELECT 语句的GROUP BY 和COMPUTE BY子句使用方法
实验内容:
1.在student数据库中,分别用等值连接与自然连接查询计算机系选课的学生的所有信息。
2.针对student、sc、course三张表所有选课学生的姓名、选修课程名及成绩 3.在student、sc、course三张表中,查出不及格学生的姓名。 4.查出数据库成绩80以上格学生的姓名。 5.统计男女同学人数。
6.查询比张三的所有成绩都高的学生的档案信息(嵌套查询)。
7.在Northwind数据库的Order Details表中,使用group by子句对所有订单按订单号汇总每类产品的数量信息。 注:引用表 [order details]
8.用UNION子句将Customers表中顾客ID、姓名及Salers表中销售人员的ID、姓名组合在一个结果集中。
9.在Northwind数据库的Products表中显示所有价格高于平均价格的产品。 10.将Products表中的数据按CategoryID进行分组,然后分别统计每一组产品的平均价格及总库存。
11.在Northwind数据库的Products表中,对所有价格大于5元且组平均价格大于15元的价格表目,列出所有的产品的类型、平均价格及总库存。
补充:在查询的基础上创建新表,例如:将查询结果保存到新表temp_orders。 SELECT * INTO temp_orders
FROM orders ORDER BY CustomerID,SaleID DESC
第 7/11 页
7
实验5 数据更新与视图的创建及使用
实验目的:
1. 插入数据、修改数据、删除数据
2. 通过企业管理器和Transact_SQL语句对视图的创建及调用 3. 掌握视图的修改与删除
4. 掌握用Insert,Update通过视图更新数据
实验内容:
1.向学生表,用insert语句向其中插入一条新的记录:(‘0007’,‘张三’,‘男’,20,’计算机系’)
2.利用update语句将编号为‘0004’的学生年龄改为23 3.在sc表中,利用update语句把英语成绩提高5% 4.删除年龄小于20的学生记录。 5.删除王军的的选课记录。
6.通过Transact_SQL语句创建一个视图,计算各门课程的平均分。 7.创建一个视图,显示‘高等数学’未过的学生的信息。 8.创建一个视图,查询的学号为99521学生的成绩。
9.在STUDENT 库中以student表为基础,建立计算机学院学生的视图(视图名为:V_计算机系学生)。在使用该视图时,将显示学生信息。 10.使用视图“V_计算机系学生”查询所有男同学的信息。
11.在Northwind库中创建了一个基于表employees的视图v_employees,然后通过该视图修改表employees中的记录。
12.利用上题(题7)视图v_employees删除表employees中姓名为张然的记录。
补充:视图常用_SQL语句
创建:create view 视图名 [with encryption] as select_statement
[with check option]
修改:利用 alter view 视图名 删除:利用 drop view 视图名
8

