聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> BX121028俞佳星数据库原理实验二--2014-9

BX121028俞佳星数据库原理实验二--2014-9

时间:2014-12-17 22:17:34    下载该word文档

电子信息学院

实验报告书

课程名 数据库原理及应用

目: 实验 数据库及数据操作

实验类别 设计验证

级: BX1210

号: 121003531028

名: 俞佳星

1.实验目的

1 理解SQL语言概念和特点;

2)熟悉SQL2012功能;

3)掌握SQL数据类型及应用;

4)熟悉表的创建与管理;

2.实验要求

学习如何使用SQLSELECT语句的WHERE子句进行比较,BETWEENLIKE关键字的查询,使用ORDER BY子句对SELECT语句检索出来的数据进行排序,以及使用GROUP BYHAVING子句和函数进行分组汇总。

3.实验内容与步骤

1.创建数据库和修改数据库

1)创建一个teachingSystem数据库,该数据库的主数据文件逻辑名称为teachingSystem,物理文件名为teachingSystem.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为teachingSystem_log,物理文件名为teachingSystem_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB

CREATE DATABASE teachingSystem

ON PRIMARY --建立主数据文件

( NAME = 'teachingSystem', --逻辑文件名

FILENAME='D:\ teachingSystem.mdf', --物理文件路径和名字

SIZE=10240KB, --初始大小

MAXSIZE = UNLIMITED, --最大尺寸为无限大

FILEGROWTH = 10%) --增长速度为%

LOG ON

( NAME='teachingSystem_log', --建立日志文件

FILENAME='D:\teachingSystem_log.ldf', --物理文件路径和名字

SIZE=1024KB,

MAXSIZE = 5120KB,

FILEGROWTH = 1024KB

)

2)使用SSMS查看或修改数据库右击所要修改的数据库,从弹出的快捷菜单中选择“属性”选项可以分别在常规、文件、文件组、选项和权限对话框里根据要求来查看或修改数据库的相应设置。

(3)使用T-SQL语句将两个数据文件添加到teachingSystem数据库中。

ALTER DATABASE teachingSystem

ADD FILE --添加两个次数据文件

(NAME=teachingSystem1,

FILENAME='D:\ teachingSystem1.ndf', SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB),

(NAME=teachingSystem2,

FILENAME='D:\ teachingSystem2.ndf', SIZE = 3MB,

MAXSIZE = 10MB,

FILEGROWTH = 1MB)

GO

4)删除数据库在“对象资源管理器”窗口中,在目标数据库上单击鼠标右键,弹出快捷菜单,选择“删除”命令。

T-SQL语句删除数据库是:DROP DATABASE teachingSystem

2.创建数据库表和修改数据库表

teaching数据库中,创建系部表(department),课程表(course),学生表(student)和教师表(teacher,教师开课表(teacher_course,学生选课表(student_teacher_course)。教务管理系统的数据模型:

系部表(系部编号,系部名称,系部领导,系部电话,系部地址),主键:系部编号。

课程表(课程编号,系部编号,课程名称),主键:课程编号;外键:系部编号。

学生表(学生编号, 系部编号,姓名, 性别,出生日期,地址,总分,民族,年级,学院,专业),主键: 学生编号,外键:系部编号。

教师表(教师编号,系部编号,教师姓名,职称),主键:教师编号,外键:系部编号。

教师开课表(教师编号,课程编号,学期),主键:教师编号,课程编号,外键分别是:教师编号,课程编号。

学生选课表(学生编号,课程编号,教师编号,学期,成绩),主键:学生编号, 课程编号,教师编号,外键:学生编号和课程编号,教师编号。

1创建数据库表

使用命令行方法:选择teachingSystem数据库,在“新建查询”窗口中输入下列SQL语句,每输入一条SQL命令,单击一下“执行”即可

/*创建6表结构*/

CREATE TABLE department(

dept_id char(6) not null,

dept_name char(20) null,

dept_head char(6) null,

dept_phone char(12) null,

dept_addr char(40) null,

CONSTRAINT PK_DEPARTMENT primary key nonclustered(dept_id)

)

GO

CREATE TABLE course(

course_id char(6) not null,

dept_id char(6) not null,

course_name char(20) null,

CONSTRAINT PK_COURSE primary key nonclustered(course_id)

)

GO

CREATE TABLE student(

stu_id char(6) not null,

dept_id char(6) not null,

name char(8) null,

sex char(2) null,

birthday datetime null,

address char(40) null,

totalscore int null,

nationality char(8) null,

grade char(2) null,

school char(20) null,

class char(16) null,

major char(30) null,

CONSTRAINT PK_STUDENT primary key nonclustered(stu_id)

)

GO

CREATE TABLE teacher(

teacher_id char(6) not null,

dept_id char(6) not null,

teacher_name char(8) null,

rank char(6) null,

CONSTRAINT PK_TEACHER primary key(teacher_id)

)

GO

CREATE TABLE teacher_course(

teacher_id char(6) not null,

course_id char(6) not null,

term_id char(2) null,

CONSTRAINT PK_TEACHER_COURSE primary key(teacher_id,course_id)

)

GO

CREATE TABLE student_teacher_course(

course_id char(6) not null,

stu_id char(6) not null,

teacher_id char(6) not null,

term char(2) null,

score int null,

CONSTRAINT PK_STUDENT_TEACHER_COURSE primary key(course_id,stu_id,teacher_id)

)

GO

/*修改6表结构,添加相应的外键*/

alter table course /*修改表结构,添加一个外键*/

add constraint FK_COURSE_DEPARTMENT foreign key (dept_id)

references department (dept_id)

go

alter table course

add constraint FK_COURSE_DEPARTMEN_DEPARTME foreign key (dept_id)

references department (dept_id)

go

alter table student

add constraint FK_STUDENT_DEPARTMEN_DEPARTME foreign key (dept_id)

references department (dept_id)

go

alter table student_teacher_course

add constraint FK_STUDENT__STUDENT_T_COURSE foreign key (course_id)

references course (course_id)

go

alter table student_teacher_course

add constraint FK_STUDENT__STUDENT_T_STUDENT foreign key (stu_id)

references student (stu_id)

go

alter table student_teacher_course

add constraint FK_STUDENT__STUDENT_T_TEACHER foreign key (teacher_id)

references teacher (teacher_id)

go

alter table teacher

add constraint FK_TEACHER_DEPARTMEN_DEPARTME foreign key (dept_id)

references department (dept_id)

go

alter table teacher_course

add constraint FK_TEACHER__TEACHER_C_TEACHER foreign key (teacher_id)

references teacher (teacher_id)

go

alter table teacher_course

add constraint FK_TEACHER__TEACHER_C_COURSE foreign key (course_id)

references course (course_id)

go

2)修改表:把表student_teacher_course term列删除,并将score的数据类型改为float。实验操作步骤;在“新建查询”窗口中输入下列SQL语句:

USE teachingSystem

ALTER TABLE student_teacher_course

DROP COLUMN term

GO

ALTER TABLE student_teacher_course

ALTER COLUMN score float

GO

3)删除表:使用SSMS删除表在“对象资源管理器”窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,展开“表”节点,右键要删除的表,选择“删除”命令或按下“DELETE”键。

使用T-SQL语句删除表

在数据库teachingSystem中建一个表Test1,然后删除。

USE teachingSystem

GO

DROP TABLE Test1

3.插入数据库记录和修改数据库记录

1)使用SSMST-SQL添加记录

给系部表(department),课程表(course),学生表(student)和教师表(teacher,教师开课表(teacher_course,学生选课表(student_teacher_course)添加适当的记录。添加记录中请注意先后的次序。先给无外键约束的表进行添加记录,然后再给有外键的表添加记录。否则无法添加。:

使用SSMS添加记录:在“对象资源管理器”窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,展开“表”节点,右键要插入纪录的表,选择“编辑前200行”命令,即可输入纪录值和修改记录。

4.结果分析与实验体会

通过这次试验,我们首次接触了数据库。我们对微软的SQLserver有了初步的了解。并且根据试验要求的提示,完成了对数据库的第一次操作。

在这次操作试验中我们对SQL语言概念和特点有了一定的认识和理解。SQL的语言并不复杂,通常都是见名知意,不过对于第一次接触SQLserver,脑子里还没有数据库概念的我们来说还是有一定的挑战。

同时,在这次实验中我们对SQL2012功能有了一定的认识。SQL不仅能用命令来对数据库进行操作,还能通过图形界面简单直观对其进行操作。

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服