内容发布更新时间 : 2025/3/3 19:36:54星期一 下面是文章的全部内容请认真阅读。
实验内容:
实验一:数据库的操作
使用Management Studio和sql语句分别完成以下操作:
1.创建一个名为“SM”的数据库,数据文件初始大小为3MB,最大为50MB,数据库自动增长,增长方式按10%;
日志文件初始大小为2MB,数据大小不受限制,按1MB增长。 create database sm on (
name='smdata',
filename='e:\\smdata.mdf', size=3,
maxsize=50, filegrowth=10%) log on
(name='smlog',
filename='e:\\smlog.ldf', size=2,
maxsize=unlimited, filegrowth=1)
2.修改数据库“SM”,将数据文件名改成“sm_data”,初始大小改成5MB alter database sm modify file
( name='smdata', newname='sm_data', size=5)
3.分别查看数据库“SM”,该数据库中的文件和文件组。 execsp_helpfilesm
execsp_helpfilegroupsm 4.删除数据库“SM”。 drop database sm
实验二:创建表
1. 在数据库SM中创建学生表student,课程表course,选课表sc student(sid,sno,clno,sname,ssex,sage,sbir) 说明:sidint identity(1,1) 序号 sno为主关系键,为字符类型学号 clno字符类型,班级号 sname字符类型,并不为空
ssex字符类型,check的值的范围为男女 sbir日期类型出生日期
sage int;
usesm
create table student ( sidint identity(1,1),
sno char(10) constraint pk_st primary key, clno char(10),
sname varchar(20) not null,
ssex char(2) constraint ck_ssex check(ssex in('男','女')), sbirdatetime, sageint )
course(cno,cname,ccredits,ctno,cpno,ctime)
说明:cno字符类型,主关系键 cname字符类型,唯一键
ccredits学分,精确数值型,精确长度为2,小数位为1 ctno,cpno字符类型 ctime整型
create table course
(cno char(4) constraint pk_c primary key, cname varchar(20) constaintuk_cname unique, ccredit decimal(2,1), ctno char(2), cpno char(4), ctimetinyint )
sc(sno,cno,score)
说明:sno+cno为主键,并且sno是student的外部键,cno是course的外部键。 score精确数值型,精确长度为4,小数位为1
create table sc
( sno char(10) constraint fk_sno foreign key references student(sno), cno char(4) constriantfk_cno foreign key references course(cno), score decimal(4,1),
constraintpk_sc primary key(sno,cno) )
2.使用Management Studio对数据库SM中的表插入数据
实验三:表的维护
1.用sql语句修改表course的列属性,将cname的长度改为40,且不允许空 alter table course
drop constraint uk_cname alter table course
alter column cname char(40) not null
2.用sql语句向表student中增加列email,且要求输入的电子邮件地址必须包括\alter table student
add email varchar(20) constraint ck_email check(email like '%@%') 3.用sql语句删除表student中的列sbir alter table student drop column sbir
4.删除sname列上的约束。 alter table student
alter column sname varchar(20) null
5.删除表student drop table student
实验四:简单数据查询
在实验二的基础上,再在sm数据库中新建表teacher,包括如下数据项 teacher(tno,tname,age,sal,dno)
tno为教职工编号,tname姓名,age年龄,sal为月薪,dno为部门号
在student,course,sc,teacher四张表中进行下列查询
1,查询所有0002部门职工的信息; select * from teacher where dno='0002'
2,查询1984年和1985年出生的女生的信息; select * from student where year(sbir) in(1984,1985) and ssex='女'
3,查询0001部门、0002部门或0003部门的职工信息; select * from teacher where dno in('0001','0002','0003') 4,查询学号为03004的同学正在学习的课程; selectcno from sc where sno='03004' 5,查询不姓王或李的同学的信息。
select * from student where sname like '[^王李]%' 6,查询有多少名学生的物理课成绩不及格; select count(sno) fromsc,course
where sc.cno=course.cno and cname='物理' and score<60 7,求女学生的学生总数; select count(sno) from student
where ssex='女'