实验报告.docx

上传人:b****7 文档编号:9871425 上传时间:2023-02-07 格式:DOCX 页数:71 大小:1.36MB
下载 相关 举报
实验报告.docx_第1页
第1页 / 共71页
实验报告.docx_第2页
第2页 / 共71页
实验报告.docx_第3页
第3页 / 共71页
实验报告.docx_第4页
第4页 / 共71页
实验报告.docx_第5页
第5页 / 共71页
点击查看更多>>
下载资源
资源描述

实验报告.docx

《实验报告.docx》由会员分享,可在线阅读,更多相关《实验报告.docx(71页珍藏版)》请在冰豆网上搜索。

实验报告.docx

实验报告

实验__一__题目__数据库及基本表的建立

实验__二__题目__查询数据库

实验__三__题目__创建和使用视图、索引、存储过程

实验__四__题目__小型数据库规划设计_

 

实验平台:

1.计算机及操作系统:

PC机,Windows7;

2.数据库管理系统:

SQLsever2008;

 

计算机学院专业班学号:

姓名:

协作者:

________教师评定:

实验题目数据库及基本表的建立

一、实验目的

1、掌握SQLSERVER的查询分析器和企业管理器的使用;

2、掌握创建数据库和表的操作;

二、实验内容和要求

1、分别使用SQL语句、企业管理器(EnterpriseManager)创建数据库;

2、使用SQL语句、企业管理器(EnterpriseManager)创建数据库表;

三、实验主要仪器设备和材料

1.计算机及操作系统:

PC机,Windows7;

2.数据库管理系统:

SQLsever2008;

四、实验方法、步骤及结果测试

创建一个教学管理数据库SC,其描述的信息有:

学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创建:

student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student_course表(学生选课成绩表)、teacher_course表(教师上课课表)等。

1、创建数据库:

确定数据库名称;数据库用于学生管理,命名为SC

确定数据库的位置;要求:

数据文件和日志文件分别存储在E盘自己的目录下。

确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。

确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。

(1)、利用查询分析器(QueryAnalyzer),使用SQL语句指定参数创建数据库;

实现代码及截图:

SQL语句

CREATEDATABASESCONPRIMARY

(NAME=N'SC',

FILENAME=N'E:

\DBtest\SC.mdf',

SIZE=30720KB,

MAXSIZE=UNLIMITED,

FILEGROWTH=20%)

LOGON

(NAME=N'SC_log',

FILENAME=N'E:

\DBtest\SC_log.ldf',

SIZE=3072KB,

MAXSIZE=2048GB,

FILEGROWTH=1024KB)

GO

查询分析器执行情况:

SQL语句及执行结果截图显示

2、创建基本表

利用查询分析器,使用SQL语句方式创建方式将下面各表建立到教学管理数据库中。

(1)创建student表

字段名

代码

类型

约束

学号

s_no

char(8)

主键

姓名

sname

char(8)

非空

性别

sex

char

(2)

出生日期

sbirthday

Smalldatetime

学生所在院系编号

dno

char(6)

外键

专业代码

spno

char(8)

外键

班级编码

class_no

char(4)

 

(2)创建Course表

字段名

代码

类型

约束

课程编号

cno

char(10)

主键

课程名称

cname

char(20)

非空

专业代码

spno

char(8)

外键

课程类型编号

ctno

tinyint

理论学时

lecture

tinyint

实验学时

experiment

tinyint

开课学期

semester

tinyint

课程学分

credit

tinyint

(3)创建student_course表

字段名

代码

类型

约束

学号

s_no

char(8)

主键,与student表中s_no外键关联,级联删除

上课编号

tcid

smallint

主键

学生成绩

score

tinyint

(4)创建teacher表

字段名

代码

类型

约束

教师编号

t_no

char(8)

主键

教师姓名

t_name

char(8)

非空

性别

t_sex

char

(2)

出生日期

t_birthday

smalldatetime

教师所在院系编号

dno

char(6)

外键

职称

tech_title

char(10)

 

(5)创建系部表(department)

字段名

代码

类型

约束

院系编号

dno

char(6)

主键

院系名称

dept_name

char(20)

非空

院系负责人

header

char(8)

(6)创建专业信息表(speciality)

字段名

代码

类型

约束

专业代码

spno

char(8)

主键

院系编号

dno

char(6)

外键,非空

专业名称

spname

char(20)

非空

 

(7)创建teacher_course表

字段名

代码

类型

约束

上课编号

tcid

smallint

主键

教师编号

t_no

char(8)

外键

专业代码

spno

char(8)

外键

班级编码

class_no

char(4)

课程编号

cno

char(10)

非空,外键

学期

semester

Char(6)

学年

schoolyear

Char(10)

 

(8)创建班级表(class)

字段名

代码

类型

约束

专业代码

spno

char(8)

主键,与speciality表中spno外键关联,

班级编码

class_no

char(4)

主键,

班负责人

header

char(8)

 

3、查看各数据表之间的关系,生成数据库关系图。

生成数据库关系图截图显示

 

4、创建各表的实现代码及截图:

SQL语句

--创建student表

USE[SC]

GO

CREATETABLEstudent(

s_nochar(8)NOTNULL,

snamechar(8)NOTNULL,

sexchar

(2)NULL,

sbirthdaysmalldatetimeNULL,

dnochar(6)NULL,

spnochar(8)NULL,

class_nochar(4)NULL,

CONSTRAINTPK_studentPRIMARYKEYCLUSTERED(s_noASC)

GO

--创建Course表

USESC

GO

CREATETABLECourse(

cnochar(10)NOTNULL,

cnamechar(20)NOTNULL,

spnochar(8)NULL,

ctnotinyintNULL,

lecturetinyintNULL,

experimenttinyintNULL,

semestertinyintNULL,

credittinyintNULL,

CONSTRAINTPK_CoursePRIMARYKEYCLUSTERED(cnoASC)

GO

--创建student_course表

USESC

GO

CREATETABLEstudent_course(

s_nochar(8)NOTNULL,

tcidsmallintNOTNULL,

scoretinyintNULL,

CONSTRAINTPK_student_course

PRIMARYKEYCLUSTERED

(s_noASC,tcidASC)

GO

--创建teacher表

USESC

GO

CREATETABLEteacher(

t_nochar(8)NOTNULL,

t_namechar(8)NOTNULL,

t_sexchar

(2)NULL,

t_birthdaysmalldatetimeNULL,

dnochar(6)NULL,

tech_titlechar(10)NULL,

CONSTRAINTPK_teacher

PRIMARYKEYCLUSTERED(t_noASC)

GO

--创建department表

USESC

GO

CREATETABLEdepartment(

dnochar(6)NOTNULL,

dept_namechar(20)NOTNULL,

headerchar(8)NULL,

CONSTRAINTPK_department

PRIMARYKEYCLUSTERED(dnoASC)

GO

--创建speciality表

USESC

GO

CREATETABLEspeciality(

spnochar(8)NOTNULL,

dnochar(6)NOTNULL,

spnamechar(20)NOTNULL,

CONSTRAINTPK_speciality

PRIMARYKEYCLUSTERED

(spnoASC)

GO

--创建teacher_course表

USESC

GO

CREATETABLEteacher_course(

tcidsmallintNOTNULL,

t_nochar(8)NULL,

spnochar(8)NULL,

class_nochar(4)NULL,

cnochar(10)NOTNULL,

semesterchar(6)NULL,

schoolyearchar(10)NULL,

CONSTRAINTPK_teacher_course

PRIMARYKEYCLUSTERED

(tcidASC)

GO

--创建class表

USESC

GO

CREATETABLEclass(

spnochar(8)NOTNULL,

class_nochar(4)NOTNULL,

headerchar(8)NULL,

CONSTRAINTPK_class

PRIMARYKEYCLUSTERED

(spnoASC,class_noASC)

GO

--添加外键

USESC

GO

--为student表添加外键

ALTERTABLEstudent

ADDCONSTRAINTFK_student_department

FOREIGNKEY(dno)

REFERENCESdepartment(dno)

GO

ALTERTABLEstudent

ADDCONSTRAINTFK_student_speciality

FOREIGNKEY(spno)

REFERENCESspeciality(spno)

GO

--为Course表添加外键

ALTERTABLECourse

ADDCONSTRAINTFK_Course_speciality

FOREIGNKEY(spno)

REFERENCESspeciality(spno)

GO

--为student_course表添加外键

ALTERTABLEstudent_course

ADDCONSTRAINTFK_student_course_student

FOREIGNKEY(s_no)

REFERENCESstudent(s_no)

GO

--为teacher表添加外键

ALTERTABLEteacher

ADDCONSTRAINTFK_teacher_department

FOREIGNKEY(dno)

REFERENCESdepartment(dno)

GO

--为speciality表添加外键

ALTERTABLEspeciality

ADDCONSTRAINTFK_speciality_department

FOREIGNKEY(dno)

REFERENCESdepartment(dno)

GO

--为teacher_course表添加外键

ALTERTABLEteacher_course

ADDCONSTRAINTFK_teacher_course_teacher

FOREIGNKEY(t_no)

REFERENCESteacher(t_no)

GO

ALTERTABLEteacher_course

ADDCONSTRAINTFK_teacher_course_speciality

FOREIGNKEY(spno)

REFERENCESspeciality(spno)

GO

ALTERTABLEteacher_course

ADDCONSTRAINTFK_teacher_course_Course

FOREIGNKEY(cno)

REFERENCESCourse(cno)

GO

--为class表添加外键

ALTERTABLEclass

ADDCONSTRAINTFK_class_speciality

FOREIGNKEY(spno)

REFERENCESspeciality(spno)

GO

 

查询分析器执行情况:

SQL语句及执行结果截图显示

创建student表

创建Course表

创建student_course表

--创建teacher表

--创建department表

--创建speciality表

 

--创建teacher_course表

--创建class表

--添加外键

--为student表添加外键

 

--为Course表添加外键

 

--为student_course表添加外键

 

--为teacher表添加外键

--为speciality表添加外键

--为teacher_course表添加外键

 

--为class表添加外键

5、利用查询分析器修改上述各表。

(1)、用INSERT语句向各个表中插入数据录入5条记录。

录入时注意体会外键约束。

实现代码及截图:

查询分析器执行情况:

SQL语句及执行结果显示

--向department表插入记录

useSC

go

insertintodepartmentvalues

('510000','计算机','吴伟民');

insertintodepartmentvalues

('510002','轻工化工','余林');

insertintodepartmentvalues

('510003','信息工程','章国豪');

insertintodepartmentvalues

('510004','材料与能源','张海燕');

insertintodepartmentvalues

('510005','物理光电','胡义华');

 

--为teacher表插入数据

useSC

go

insertintoteachervalues('02002731','吴伟民','男','1956-02-05','510000','教授');

insertintoteachervalues('02002735','谢光强','男','1979-11-12','510000','讲师');

insertintoteachervalues('02003187','郭大昌','男','1946-08-12','510005','教授');

insertintoteachervalues('02004312','刘怡俊','男','1976-10-23','510000','讲师');

insertintoteachervalues('02005576','丁国方','男','1974-02-10','510000','讲师');

--为speciality表插入数据

useSC;

insertintospecialityvalues

('08005501','510000','计算机科学与技术');

insertintospecialityvalues

('08005502','510002','化学工业');

insertintospecialityvalues

('08005503','510003','通讯技术');

insertintospecialityvalues

('08005504','510004','制冷工程');

insertintospecialityvalues(

'08005505','5iality;

--为student表插入数据

useSC;

insertintostudentvalues

('31101032','李四','女','1990-03-08',

'510003','08005503','1001');

insertintostudentvalues

('31102234','张学究','男','1991-03-02',

'510005','08005505','1005');

insertintostudentvalues

('31103745','张三','女','1990-05-04',

'510002','08005502','1002');

insertintostudentvalues

('31104862','彭志伟','男','1990-01-12',

'510000','08005501','1001');

insertintostudentvalues

('31105808','黄大志','男','1990-11-12',

'510000','08005501','1002');

--为class表插入数据

useSC;

insertintoclassvalues('08005501','1001','彭志伟');

insertintoclassvalues('08005501','1002','黄大志');

insertintoclassvalues('08005502','1002','张三');

insertintoclassvalues('08005503','1001','李四');

insertintoclassvalues('08005504','1003','王五');

--为student_course表插入数据

useSC;

insertintostudent_coursevalues('31101032',1,78);

insertintostudent_coursevalues('31101032',103,83);

insertintostudent_coursevalues('31102234',1,81);

insertintostudent_coursevalues('31102234',105,46);

insertintostudent_coursevalues('31103745',1,54);

--为Course表插入数据

useSC;

insertintoCoursevalues

('1010105500','高等数学','08005505',1,160,0,1,5);

insertintoCoursevalues

('1010105501','数据结构','08005501',1,80,20,4,5);

insertintoCoursevalues

('1010105502','操作系统','08005501',1,80,16,5,4);

insertintoCoursevalues

('1010105504','计算机网络','08005501',1,70,18,6,4);

insertintoCoursevalues

('1010105505','C程序设计','08005501',1,120,40,1,4);

 

--为teacher_course表插入数据

useSC;

insertintoteacher_coursevalues

(1,'02002735','08005501','1002',

'1010105505','1','1');

insertintoteacher_coursevalues

(102,'02002731','08005501','1002'

'1010105501','4','2');

insertintoteacher_coursevalues

(103,'02003187','08005505','1001',

'1010105500','1','1');

insertintoteacher_coursevalues

(104,'02005576','08005501','1002',

'1010105502','5','3');

insertintoteacher_coursevalues

(105,'02004312','08005501','1002',

'1010105504','6','4');

实验结果截图显示(插入数据的表格)

--department表

 

--teacher表

 

--speciality表

 

--student表

 

--为class表插入数据

 

student_course表

 

--为Course表插入数据

 

--为teacher_course表插入数据

共8组(共8个表)

(2)、用UPDATE语句更改student表中数据;

实现代码:

--将student表中学号均改为由原值加上对应的出生年

useSC;

updatestudent

sets_no=s_no+YEAR(sbirthday);

 

student表更改前

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1