完整版数据库实验报告.docx
《完整版数据库实验报告.docx》由会员分享,可在线阅读,更多相关《完整版数据库实验报告.docx(16页珍藏版)》请在冰点文库上搜索。
![完整版数据库实验报告.docx](https://file1.bingdoc.com/fileroot1/2023-5/24/3e9e797b-57ee-4510-b179-3465c7fa1cf4/3e9e797b-57ee-4510-b179-3465c7fa1cf41.gif)
完整版数据库实验报告
数据库实验报告
姓名学号
—.实验标题:
2
二•实验目的:
2
3.实验内容:
2
4.上机软件:
3
5.实验步骤:
3
(一)SQLServer2016简介3
(二)创建数据库4
(三)创建数据库表7
(四)添加数据17
六•分析与讨论:
19
—.实验标题:
创建数据库和数据表
二•实验目的:
1.理解数据库、数据表、约束等相关概念;
2.掌握创建数据库的T-SQL命令;
3•掌握创建和修改数据表的T-SQI命令;
4.掌握创建数据表中约束的T-SQI命令和方法;
5.掌握向数据表中添加数据的T-SQL命令和方法
三•实验内容:
1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;
2.在SQLServerManagementStudio^,使用createdatabase命令建立“学生-选课"数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;
3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;
4.添加具体数据;
四•上机软件:
SQLServer2016
五•实验步骤:
(一)SQLServer2016简介
1.SQLServer2016勺界面
1)双击图标,即出现SQLServer20l6勺初始界
2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“X”即可
注意事项:
1.在退出SQLServer2016>前,应先将已经打开的数
据库进行保存,
2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作
(二)创建数据库
方法一:
1.点击“新建查询”,出现如下对话框
3•消息框中出现“命令已成功完成”即表示数
据库创建成功,在“对象资源管理器”中,右击“数
据库”,打开快捷菜单,选择“刷新”命令,在“数
据库”向下会出现新创建的数据库“学生选课”
对期源冒理器
'¥xl
连接▼应舉1
新建敢垢呵N)...
日0DLSKTQP-CRQ5BCG[SQLServer11.0
i-lLi
FFIA3
SI二J隹
EUf
sU-
田d安台
田n服參
+lli氨
P0DC(A)„.
还原数齊侃)…还廉文借叹件组㈣…
程珈・・
导廊(i)_
d_AAlvt
」Intt
启StPowerth&ll(M)
解(P)
刷新(町
方法二:
1•右击数据库,在弹出的快捷菜单中选择“新建”
2■在弹出的对话框中输入“学生选课”
3.在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”
注意事项:
数据库名称在服务器中必须唯一,并且符合标识符的规则
(三)创建数据库表
1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击
“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表
牝(W:
旳I*1K
Sihmva-far迥19hiffwr2>・T・
Sire-TlrTFlntetwettfancrwJfi;is
n»4wi即HOTHI.=prlnurktV
LV-iBM-VwdlHM-2DiDi/TFH.ILLr
YWohar那
2■建立成功后的表格如图所示
注意事项:
1.T-SQL中创建数据库表的指令格式为:
Createtable表名
(
字段名1数据类型{identify|notnull|null},
字段名2数据类型{identify|notnull|null},
)
null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略
notnull表示该字段的值不能为空值
identify称为计数器,表示该字段的值是一组递增的证书数据。
其初始值默认为1,增长步长默认为1.用户也可以自己制定初始值和增长步长
2.数据库表中最重要的“三要素”是字段名、数据类型、完整性约束条件
1)字段名:
表中的每一列也称为字段,所以列名也叫字段名。
字段的命名方式基本同数据表的命名。
字段名在一个数据表中要求是唯一的,但在整个数据库中可以重名。
2)数据类型:
定义数据表中的每一个字段时必须声明其数据类型,这样DBMS才能实现对数据的存储管理
FQ冲支持的数轄类聖
标识
字符型
cbar(n]hvarctiar(n).text
Unicode宁符蛰
nchar[n)Hnvarchorfn).ntext
口期时问类型
datetime.smalldatetime,dste,time(n)
数值案型
整数类埜
bigint,mt3smalnttinyint
浮点数类犁
float(n),real
decimalnumeric
货币型
money,sniallmoney
二进制型
binary,varbinaiy.image
位犁
bi:
着殊类型
p,xml,cursor,table,HierachyID,Geography,Geometry
3.完整性约束条件
1)约束的类型
各种约束的作用1
名称
作用
实施的完整性
prirra^key
定义主键.保证主犍宇段不出现重复值
实休完整性
unique
保证该宇段不出现重复值
实体完整性
foreignkey
定义外犍’保证数協表间数協的一致性
参照完整性[
check
定义義中某些字段的數据菟囿
自定义完整性
default
为字段的数据提供默认值
巨定义完整连
2)建立约束
1使用altertable语句添加约束的基本格式为:
altertable表名
add{constraint约束名}约束定义
其中“约束定义”随约束类型的不同而使用不同格式
使用createtable语句建立约束时可以随字段定义或单独定义,其基本格式为:
createtable表名
(字段名1数据类型{identify|notnull|null}[constraint约束名}约束定义,字段名2数据类型{identify|notnull|null}[constraint约束名}约束定义,[constraint约束名]约束定义)约束名是一个可选项,如果用户不自己定义约束名,系统将按照一定规则命名该约束,若不命名约束名,则constraint关键字也要省略
2primarykey定义主键约束的基本格式为:
[constraint约束名]primarykey(字段名1[字段名
2,……])
一个表中只能有一个主键,当主键是由多个字段构成时,则将字段名依次写在括号内
3unique
数据表非主键的字段有时也需要在各行记录中不能出现相同的非空值,这时就要通过约束unique来达到这个效果。
一个数据表可以有多个unique约束。
主键自动具有unique的特性。
约束unique的定义方法与定义约束primarykey的方法基本相同,只是将关键字primarykey替换为unique。
4foreignkey当一个表与另一个表中的数据存在某种参照时,就需要定义外键。
定义外键的基本格式为:
[constraint约束名]foreignkey(字段名1[字段名
2,])references表名(字段名1[,字段名
2,……])
当使用createtable命令剪标时,若随着字段的定义一同定义外键,可以省略关键字foreignkey及字段名,但使用altertable命令增加外键定义是不能省略关键字foreignkey。
5check
约束check也可以用于限定表中字段之间数据的参照关系。
定义约束check的命令基本格式为:
[constraint约束名]check(逻辑表达式)
6default
约束default用于指定某个属性的默认值。
当数据表中某一字段具有大量相同数据时,为减少数据录入的工作量,可以指定默认值,这样该属性自动具有了数据。
定义约束default的命令基本格式为:
[constraint约束名]default常量表达式for字段名
4)总结:
①建立约束有两种基本方式。
第一种是使用createtable命令在建立表时一同定义约束。
在这种方式中又可以随着字段的定义一起定义约束,也可以单独定义约束。
对于主键或外键由多个属性构成和限制表中不同属性间取值的参照关系时,必须单独定义(用逗号与字段的定义分隔开)第二种是使用altertable命令针对已经建立的表添加约束
②书写时有几种省略的情况。
第一,不自主定义约束名称时,要省略“constriant约束名”项。
第二,使用createtable命令随着字段的定义一起定义约束时,可以省略字段名选项及管件字foreignkey或for,但随着字段定义约束check时除外,check约束中逻辑表达式中必须有字段名。
第三,使用altertable命令为已经建立的表添加约束时,可以同时添加多个约束,各个约束间用逗号作分隔符,但关键字add只书写一遍。
必须为西文符号。
⑤写好第一条代码再写第二条代码时要注意选中第二条代码选择“执行",否则重复无法执行命令。
(四)添加数据
1■点击“新建查询”,在出现的对话框中输入代码,点击“执行",消息框中出现“1行受影响,1行受影响,1行受影响……”即表示添加数据成功
[flWFt“释匚3曲
|rnsaiiiai',9g',lb.'tl-*:
lL9l,?
[ttMHthUMum
^]ijh£xosa||]]|:
2.'5:
ft_S.2Q■计KU汞
'L晒屮饲悼加3£H_
]啦*亍atWMib,-浑立jrjr,i;iL,计・林’》-tfipcrtIflt*站価就
mwvragroaigr.'iiir/r.lv1»*ta-
-Wjztmtu-亦r川
■刘训ICS".■WA.■Si血詳箏冠
a忡・亀些|arrtnuii但liftkm乂lifthm
生-选躁:
intfiSfi宝空Cm,Gwritf
2WB011101";;「『:
厂
讪號rtinto凰淞.®■破沁
TKluta2W&0111010822LUU»'
〒in»rtinto羡(融,諛,阪廳i
win*nOTiR)Oll:
Ql.O622KOT30'
7insertinto鬟l綁孫屮麻碼
values2MB011KH081]KOI日和
Rinsertinto
valii-sZOOBOLl101.0811120277'
Simwtinto諏洽騒,転誌
Talu-320080111^0322110]?
5)51MWI;into篡〔氨些血,4妙
Taluks20000211®.06221101阳,-Insertintog辿rg
IvalLkBg12008011102.01^21202)
-Insertinto§J淤£g必蚯詛§
[YAiLtts(20098n-InsertLH10实Stic-,Cno.
[yaIlms'20090211注意事项:
1■在添加一条记录时,如果需要对所有字段赋值,则
语句格式为:
Insert[into]表名values数据值1,数据值2,)
2.在给出插入的数据值时,要按照建立数据表时定义的字段的顺序给出数据,即“数据值1,数据值
2,……”依次与表中的“字段1,字段2,……”相对应
3•对于字符型及日期型数据需要用单引号括起来六•分析与讨论:
1.SQLServe的优点及简介?
SQLServer是Microsoft公司推出的关系型数据库管理系统。
具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2012的大型多处理器的服务器等多种平台使用。
MicrosoftSQLServer是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。
MicrosoftSQLServer数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。
2.对两种创建约束的方法进行比较:
直接用createtable命令创建约束的方式相对简便,在创建多个约束的时候用altertable命令更简便3.SQL的几个核心动词?
Select,create,drop,alter,insert,update,delete,grant,revoke
4.为什么消息框中会出现“重复”?
输入多个指令时,系统默认同时执行,所以会出现“重复”。
所以在输入代码的时候,想要执行哪个指令就选中那条指令单击“执行”即可
5.输入代码的时候需要注意些什么?
需要注意代码输入的规则及基本格式,尤其注意区分中英文字符并需要进行备份以免出现意外情况造成数据丢失