实验一数据库及基本表的建立.docx
- 文档编号:12121459
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:20
- 大小:429.68KB
实验一数据库及基本表的建立.docx
《实验一数据库及基本表的建立.docx》由会员分享,可在线阅读,更多相关《实验一数据库及基本表的建立.docx(20页珍藏版)》请在冰点文库上搜索。
实验一数据库及基本表的建立
数据库
学院计算机学院
专业计算机科学与技术
班级
学号
姓名
指导教师
2012/4/30
实验一数据库及基本表的建立
一、实验目的
1、初步熟悉SQLSERVER的使用环境,掌握查询分析器和对象资源管理器的使用;
2、掌握创建数据库和表的操作;
二、实验内容和要求
1、练习使用SQL语句、对象资源管理器创建数据库;
2、练习使用SQL语句、对象资源管理器创建数据库表;
三、实验主要仪器设备和材料
1.计算机及操作系统:
PC机,Windows2000/xp;
2.数据库管理系统:
SQLsever2005;
四、实验方法、步骤及结果测试
题目1、创建数据库“学生情况”:
实现代码及截图:
SQL语句:
usemaster
go
createdatabase学生情况
go
查询分析器执行情况:
SQL语句及执行结果截图显示
找到主数据文件和日志文件,观察大小,并给出截图。
学生情况的数据文件盒日志文件存储位置如上图所示,文件分别为学生情况.mdf,学生情况_log.ldf,大小分别为2034KB和576KB
题目2、将数据库“学生情况”改名为“student”
SQL语句:
usemaster
go
alterdatabase学生情况
modifyname=student1
go
查询分析器执行情况:
SQL语句及执行结果截图显示
说明:
因为个人电脑之前创建过student数据库,所以无法将学生情况改为student,就改为了student1数据库了。
执行结果如上图所示。
题目3、创建基本表
S表
含义
字段名
字段类型
字段宽度
说明
学号
Sno
Int
主键,不允许为空
姓名
Sname
Char
10
不允许为空
性别
Ssex
Char
2
取值为男或女
专业
Ssp
Char
20
系别
Sdept
Char
20
出生日期
Sbirth
datetime
地区来源
Sfrom
Varchar
30
变动情况
Schg
Char
10
政治面貌
Spa
Char
8
民族
Snation
Char
8
默认为汉族
C表
含义
字段名
字段类型
字段宽度
说明
课程编号
Cno
Char
2
主键
课程名称
Cname
Char
10
唯一约束
任课教师
Tname
Char
8
开课系别
Cdept
Char
20
学分
CCredit
Real
0-20
Sc表:
含义
字段名
字段类型
字段宽度
说明
学号
Sno
Int
外键,与cno共同构成主键
课程编号
Cno
Char
2
外键,与sno共同构成主键
成绩
Grade
Real
检查约束0-100
备注
Remark
varchar
50
创建各表的实现代码及截图:
SQL语句
创建S表实现代码:
usestudent1
go
createtables
(
snointprimarykeynotNULL,
snamechar(10)notnull,
ssexchar
(2)check(ssexin('男','女')),
sspchar(20),
sdeptchar(20),
sbirthdatetime,
sfromvarchar(30),
schgchar(10),
spachar(8),
snationchar(8)default('汉族')
)
创建C表实现代码:
usestudent1
go
createtableC
(
cnochar
(2)primarykey,
cnamechar(10)unique,
tnamechar(8),
cdeptchar(20),
ccreditrealcheck(ccredit>=0andccredit<=20)
)
Go
创建sc表实现代码:
usestudent1
go
createtableSc
(
snoint,
cnochar
(2),
graderealcheck(grade>=0andgrade<=100),
remarkvarchar(50)
primarykey(sno,cno),
foreignkey(sno)referencesS(sno),
foreignkey(cno)referencesC(cno)
)
Go
查询分析器执行情况:
SQL语句及执行结果截图显示
创建S表实现代码及执行结果截图:
执行结果:
创建C表代码截图与执行结果:
执行结果:
创建sc表代码截图及执行结果:
执行结果:
题目4、用sql语句将S表中的sno改为char(10)
题目5、用sql语句在“学生”表中添加一格“备注”字段并保存结果
添加备注代码:
usestudent1
altertables
adds_remarkchar(8)
go
截图:
执行后结果:
最后一行为新添加的备注
题目6.用sql语句将“学生”表中“专业”字段数据类型改为varchar,长度为30并保存结果
修改专业数据类型代码:
usestudent1
altertables
altercolumnsspvarchar(30)
go
截图:
执行结果:
如图,ssp数据类型已改为varchar(30)
题目7.用sql语句删除“学生成绩”表中的“备注”字段并保存结果
题目7:
sql语句中不允许删除表中某一个属性列的么?
?
?
解决办法:
查找XX
方法:
usestudent1
go
altertableScdropcolumnremark
结果截图:
删除成功。
生成数据库关系图截图显示
题目7.向s表中添加信息。
Sno
Sname
Ssex
Ssp
Sdept
Sbirth
Sfrom
Schg
Spa
Snation
Remark
001
李春刚
男
计算机应用
CS
1985-2-10
河源
团员
汉
002
东学婷
女
计算机应用
CS
1986-10-24
包头
转系
团员
蒙
003
张五男
男
电子商务
MA
1984-2-17
上海
退学
团员
汉
004
刘%
男
电子商务
MA
1985-4-24
巴盟
团员
汉
005
吴惠
女
软件开发
CS
1985-2-10
通辽
团员
汉
006
王涛
男
软件开发
CS
1984-9-8
赤峰
团员
满
007
郭凤丽
应用电子
IS
1984-3-2
广州
团员
蒙
008
贾惠
应用电子
IS
1983-2-2
深圳
团员
汉
2.通过sql语句向C表中添加数据,并保存结果
Cno
Cname
Tname
Cdept
Ccredit
01
计算机应用
王晓梅
IS
4
02
高等数学
李一
MA
6
03
网页制作
张铁柱
CS
6
04
软件工程
付大鹏
CS
4
05
数据库
白一格
CS
6
生成数据库关系图截图显示
3.添加学生成绩
Sno
Cno
Grade
001
02
85
001
03
75
001
04
90
002
05
50
003
01
85
003
02
75
004
03
60
004
02
92
005
01
85
005
04
46
006
05
95
006
03
52
007
04
96
007
05
85
008
04
76
008
05
68
插入数据代码:
usestudent1
go
insertintos
values(
008,'贾惠','女','应用电子','is','1983-2-2','深圳','','团员','汉',''
)
go
其他数据依次按上述代码操作即可。
S表数据插入结果:
C表中插入数据:
usestudent1
go
insertintoC
values(
05,'数据库','白一格','cs','6'
)
go
结果:
Sc表中插入数据:
usestudent1
go
insertintoSc
values(
008,05,'68',''
)
go
结果:
五、实验中出现的问题及解决方案
刚开始接触数据库设计的时候遇到许多不懂得问题,比如数据库软件的安装,一开始安装sqlsever2005的时候总是出现和个人PC不兼容的问题,自己也XX了许多的修改方法,也咨询了老师,但仍然没有解决,最后无奈只好换安装sqlsever2008了,装了三个多小时才安装完。
安装之后自然就开始了数据库的设计开发,一开始的时候对数据库的开发环境存在许多的不懂,编写的sql语句总是出现许多问题,也就先采用图形化的方法创建数据库和创建表的操作了。
这个也遇到了几个问题,比如如何设置表中某个属性取值唯一,性别取值为男或女,某个属性的默认值为汉族等等问题。
这些问题请教了老师之后基本上解决了,对一些约束条件使用check语句,比如check(ssexin(‘男’,‘女’))等等,同时在sql语句中标记符号要采用英文符号,而不是中文的标点符号。
在基本熟悉了图形化的数据库创建和创建表之后,开始使用sql语句进行数据库的创建,但对sql语句的格式等等都不是很懂,所以也就去图书馆借了基本关于sql数据库设计的书籍,看了几天时间,才基本大概明白了sql数据库的语句格式。
在创建数据库的时候数据库默认大小,默认增长率,数据文件,日志文件等等。
还有若是之前创建过某个数据库,当再次创建的时候总是会存在着数据库冲突,这个说明了数据库创建的时候是不能存在两个同名的数据的。
遗留的问题:
在创建的三个表中,当其中两个表中存在某种依赖关系的时候,好比如sc表中sno是依赖于S表中的sno存在的,那么在想要修改s表中sno的数据类型的时候存在冲突,这个要怎么做呢?
?
这个目前还没有弄明白。
六、思考题
1、说明数据库中的表和数据文件的关系。
答:
数据库中的表示数据文件的存储对象。
2、通过sql语句做如下修改:
(1)主数据文件的容量为4mb,最大容量为20mb,递增量为2mb
(2)事务日志文件容量为2mb,最大容量为10mb,递增量为1mb.
答:
(1)实现代码:
usemaster
go
alterdatabasestudent1
modifyfile
(
name=学生情况,
size=4MB,
maxsize=20MB,
filegrowth=2mb
)
go
执行结果截图:
(2)实现代码:
usemaster
go
alterdatabasestudent1
modifyfile
(
name=学生情况_log,
size=2MB,
maxsize=10MB,
filegrowth=1mb
)
go
执行结果截图:
数据文件和日志文件大小更改后结果:
如上图所示,学生情况.mdf大小为4094KB,学生情况_log.ldg大小为2048KB。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验一 数据库及基本表的建立 实验 数据库 基本 建立