广工数据库实验报告Word文件下载.docx

上传人:b****8 文档编号:22533774 上传时间:2023-02-04 格式:DOCX 页数:38 大小:926.03KB
下载 相关 举报
广工数据库实验报告Word文件下载.docx_第1页
第1页 / 共38页
广工数据库实验报告Word文件下载.docx_第2页
第2页 / 共38页
广工数据库实验报告Word文件下载.docx_第3页
第3页 / 共38页
广工数据库实验报告Word文件下载.docx_第4页
第4页 / 共38页
广工数据库实验报告Word文件下载.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

广工数据库实验报告Word文件下载.docx

《广工数据库实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《广工数据库实验报告Word文件下载.docx(38页珍藏版)》请在冰豆网上搜索。

广工数据库实验报告Word文件下载.docx

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

确定数据库的增长;

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

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

实现代码及截图:

SQL语句及执行结果显示

CREATEDATABASESC

ON(NAME=SC_DAT,

FILENAME='

E:

\SC.mdf'

SIZE=30MB,

FILEGROWTH=20%)

LOGON(

NAME=SC_LOG,

\SC.ldf'

SIZE=2MB,

FILEGROWTH=1MB

2、创建基本表

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

(1)创建student表

字段名

代码

类型

约束

学号

s_no

char(8)

主键

姓名

sname

非空

性别

sex

char

(2)

出生日期

sbirthday

Smalldatetime

学生所在院系编号

dno

char(6)

外键

专业代码

spno

外键

班级编码

class_no

char(4)

(2)创建Course表

课程编号

cno

char(10)

课程名称

cname

char(20)

课程类型编号

ctno

tinyint

理论学时

lecture

实验学时

experiment

开课学期

semester

课程学分

credit

(3)创建student_course表

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

上课编号

tcid

smallint

学生成绩

score

(4)创建teacher表

教师编号

t_no

教师姓名

t_name

t_sex

t_birthday

smalldatetime

教师所在院系编号

职称

tech_title

(5)创建系部表(department)

院系编号

院系名称

dept_name

院系负责人

header

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

外键,非空

专业名称

spname

(7)创建teacher_course表

非空,外键

学期

Char(6)

学年

schoolyear

Char(10)

(8)创建班级表(class)

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

主键,

班负责人

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

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

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

SQL语句

createtableDEPARTMENT

(dnochar(6)primarykey,

dept_namechar(20)notnull,

headerchar(8));

createtablespeciality

(spnochar(8)primarykey,

dnochar(6)notnull,

spnamechar(20)notnull,

foreignkey(dno)referencesdepartment(dno)

);

createtableSTUDENT

(s_nochar(8)primarykey,

snamechar(8)notnull,

sexchar

(2),

dnochar(6),

spnochar(8),

class_nochar(4),

sbirthdaySmalldatetime,

foreignkey(spno)referencesspeciality(spno),

foreignkey(dno)referencesdepartment(dno)

createtableCourse

(cnochar(10)primarykey,

cnamechar(20)notnull,

spnochar(8),

ctnotinyint,

lecturetinyint,

experimenttinyint,

semestertinyint,

credittinyint,

foreignkey(spno)referencesspeciality(spno));

createtablestudent_COURSE

(s_nochar(8),

tcidsmallint,

scoretinyint,

primarykey(s_no,tcid),

foreignkey(s_no)referencesstudent(s_no)ondeletecascade);

createtableTEACHER

(t_nochar(8)primarykey,

t_namechar(8)notnull,

t_sexchar

(2),

t_birthdaysmalldatetime,

tech_titlechar(10),

foreignkey(dno)referencesdepartment(dno));

createtableTEACHER_COURSE

(tcidsmallintprimarykey,

t_nochar(8),

cnochar(10)notnull,

semesterchar(6),

schoolyearchar(10),

foreignkey(t_no)referencesteacher(t_no),

foreignkey(spno)referencesspeciality(spno),

foreignkey(cno)referencesCourse(cno));

createtableclass

(spnochar(8),

class_nochar(4),

headerchar(8),

primarykey(spno,class_no),

foreignkey(spno)referencesspeciality(spno)

查询分析器执行情况:

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

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

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

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

USESC

GO

INSERTINTODEPARTMENTVALUES('

01'

'

计算机学院'

张三'

02'

机电工程学院'

李四'

03'

外国语学院'

王武'

04'

自动化学院'

魏唯'

05'

应用数学学院'

李刚'

INSERTINTOTEACHERVALUES('

js01'

张杰'

男'

1980-05-25'

NULL)

js02'

孙羊'

女'

1985-08-15'

js03'

韩寒'

1987-08-15'

js04'

胡玲'

1985-07-01'

js05'

房名'

1988-11-11'

INSERTINTOSPECIALITYVALUES('

zy01'

计算机科学与技术'

zy02'

包装工程'

zy03'

网络工程'

zy04'

车辆工程'

zy05'

日语专业'

zy06'

电力专业'

zy07'

离散数学'

INSERTINTOSTUDENTVALUES('

xh01'

黄明'

1991-05-01'

0902'

xh02'

王翰'

1992-07-11'

xh03'

李南'

1991-04-01'

0901'

xh04'

柏琳'

1992-04-15'

xh05'

邓丽玲'

1993-03-25'

xh06'

飞月'

1991-01-03'

0905'

xh07'

韩青'

1994-03-11'

xh08'

石头'

1989-08-25'

INSERTINTOCOURSEVALUES('

kc01'

数据库'

NULL,NULL,NULL,NULL,NULL)

kc02'

高等数学'

kc03'

C++编程'

kc04'

专业英语'

kc05'

工程绘图'

kc06'

日语基础'

kc07'

电力系统'

kc08'

INSERTINTOCLASSVALUES('

孙俪'

玛丽'

王红'

1003'

邓军'

张雪军'

0804'

张威'

0904'

华伟'

INSERTINTOTEACHER_COURSEVALUES(01,'

NULL,NULL)

INSERTINTOTEACHER_COURSEVALUES(02,'

INSERTINTOTEACHER_COURSEVALUES(03,'

INSERTINTOTEACHER_COURSEVALUES(04,'

INSERTINTOTEACHER_COURSEVALUES(05,'

INSERTINTOSTUDENT_COURSEVALUES('

3,NULL)

7,NULL)

8,NULL)

2,NULL)

5,NULL)

6,NULL)

4,NULL)

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

共8组(共8个表)

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

实现代码:

student表更改前的内容截图显示查询分析

UPDATESTUDENTSETclass_no='

WHEREs_no='

student表更改后的内容截图显示

执行前

执行后

(3)、用DELETE语句删除student表中数据;

事先插入了一条记录如右图所示

删除记录代码:

DELETEFROMSTUDENTWHEREs_no='

xh09'

五、实验中出现的问题及解决方案

问题:

1.开始创建表的过程中,没注意创建表的先后顺序,导致创建表失败。

解决方案:

先创建那些不需要外键依赖的表,然后再创建含有外键的表。

3.插入数据时,当有错误发生时,改正SQL语句后,再次插入会出现重复插入的错误。

一个,一个表的插入,而不是把所有的表一起插入即可,这样可以减少插入的错误。

4.创建数据库时,以为是创建模式,导致失败!

写创建数据库的SQL语句,而不是创建模式的语句。

六、思考题

1、说明数据库中的表和数据文件的关系。

答:

每个数据库有且仅有一个主数据文件,它是用于存储数据表,索引,视图,存储过程等数据库对象和数据,它的扩展名为.mdf.

2、数据库中的日志文件能否单独修改?

不能,因为日志文件记录了对数据库所做的所有修改,若单独修改了,当恢复数据库时就会出现错误,无法把数据库恢复到原样了。

计算机学院计科专业5班学号:

__________教师评定:

实验题目二、设计数据完整性

1、掌握使用约束实现数据完整性的方法;

2、掌握使用触发器实现数据完整性的方法;

1、设置主键约束、设置唯一约束、设置外键约束、设置检查约束、设置默认值约束;

2、使用企业管理器创建触发器、使用SQL语音创建触发器;

(一)、使用约束实现数据的完整性(针对实验一中的所建的基本表)

1、定义:

student表、course表、student_course表、teacher表、department表、speciality表、teacher_course表、class表的主键。

写出相应的SQL语句。

student表

createtablestudent

(s_nochar(8)primarykey,

snamechar(8)notnull,

sexchar

(2),

dnochar(6),

spnochar(8),

class_nochar(4),

sbirthdaySmalldatetime,

foreignkey(spno)referencesspeciality(spno),

foreignkey(dno)referencesdepartment(dno)

);

course表

(cnochar(10)primarykey,

cnamechar(20)notnull,

spnochar(8),

ctnotinyint,

lecturetinyint,

experimenttinyint,

semestertinyint,

credittinyint,

foreignkey(spno)referencesspeciality(spno));

teacher表

createtableteacher

(t_nochar(8)primarykey,

t_namechar(8)notnull,

t_sexchar

(2),

t_birthdaysmalldatetime,

tech_titlechar(10),

foreignkey(dno)referencesdepartment(dno));

teacher_course表

createtableteac

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

当前位置:首页 > 经管营销 > 金融投资

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

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