这篇博客就来记录自己数据库的实验吧,在博客里面水一下。充实一下(^ ▽ ^)
实验01 数据库操作
一、 实验目的
学习安装和使用 SQL Server,通过SQL Server Management Studio对象资源管理器操作数据库,并学会使用交互方式和命令方式完成数据库的创建、分离、附加、删除等操作。
二、 实验要求
(1) 独立完成SQL Server安装
(2) 使用交互式方法创建数据库
(3) 使用Transact-SQL创建数据库
(4) 使用交互式方法分离数据库与附加数据库。
(5) 使用系统存储过程分离数据库与附加数据库。
(6) 使用交互式方法删除数据库。
(7) 使用系统存储过程删除数据库。
三、 实验内容
1.安装与配置SQL Server
有条件的同学在自己的电脑上安装并配置SQL Server,版本不限。
2.打开SQL Server Management Studio,连接到数据库引擎服务器。
注意选择服务器名称及安装实例,初次连接建议选择Windows身份验证方式。
图1-1 连接到服务器
3.数据库的创建
(1)使用交互式方法创建数据库,
数据库的名称为:商品销售管理,逻辑文件名为:商品销售管理,物理文件名为:商品销售管理_DAT.MDF,存储在“D:\MyTestDB”文件夹下修改数据库参数:把数据库文件增长参数设置为4MB,文件最大大小参数设置为100MB。
图1.2 通过交互式创建数据库
(2)使用Transact-SQL指定参数创建数据库,
其数据库名称为:SecondBase,其中包括:
•逻辑文件名为SecondBase_dat,物理文件名为: SecondBase_dat.mdf,存储在“D:\MySecondBase”文件夹下。
•事务日志的逻辑文件名为SecondBase_log,物理文件名为SecondBase_log.ldf,存储在“D:\SecondBase”文件夹下。
图1.3 通过T-SQL命令创建数据库
4.分离附加数据库
(1)交互式分离数据库:商品销售管理。
右键点击要分离的对象,然后再移到 任务->分离。
然后点击确定,完成分离。
在数据库刷新就看不见zh-商品销售管理
图1.4 通过交互式分离数据库
(2)使用系统存储过程分离数据库:SecondBase。
网上学习的代码,运用函数进行分离。
1 | 分离代码:EXEC sp_detach_db zh_SecondBase,true |
选中后,右键选择运行。如下图所示。
相同的,数据库刷新后,数据库被删除了。
图1.5 通过T-SQL命令分离数据库
(3)交互式附加数据库:SecondBase。
于是在里面找回被删除的数据库。
因为将日志和数据库文件放在两个不同的文件夹里,所以在下方将数据库的文件夹修改一下。
图1.6 通过交互式附加数据库
(4)使用系统存储过程附加数据库:商品销售管理。
刷新后,就出来了。
图1.7 使用系统存储过程附加数据库
5.删除数据库
(1)交互式删除数据库:商品销售管理。
图1.8 通过交互式删除数据库
(2)使用T-SQL删除数据库:SecondBase。
网上查看删除的代码,然后进行删除。
图1.9 通过T-SQL命令删除数据库
四、 实验总结
1.初次安装使用SQL Server,你碰到过哪些问题,如何解决?
安装时由于点击多安装了一个部分的功能,导致安装时废了挺久都未安装成功。最后,在总结经验,查阅各种安装教程后,成功将数据库系统安装。
2.结合实验过程,谈谈交互式和命令方式操作数据库的区别。
交互式可以较为简便的实现少数的文件操作,并且较为快捷。如果有多个文件,使用命令操作,会显得较为简单。
实验02 数据表操作
一、 实验目的
要求学生使用 交互式和T-SQL语句定义数据表,包括建立、修改、删除数据表等。
二、 实验要求
(1) 掌握数据表的基本知识;
(2) 使用交互式和T-SQL语句创建数据表;
(3) 使用交互式和T-SQL语句修改数据表结构;
(4) 使用交互式和T-SQL语句删除数据表。
三、 实验内容
注:以下实验操作在“实验01”的基础上进行。
1.创建表
表2-1 客户表
字段名 | 数据类型 | 长度 | 关键字 | 空否 | 描述 |
---|---|---|---|---|---|
客户编号 | char | 6 | 是 | 客户编号 | |
姓名 | varchar | 30 | 客户姓名 | ||
性别 | nvarchar | 1 | √ | 性别 | |
年龄 | tinyint | √ | 年龄 | ||
电话 | varchar | 12 | √ | 电话 | |
地址 | nvarchar | 50 | √ | 地址 |
表2-2 卖家表
字段名 | 数据类型 | 长度 | 关键字 | 空否 | 描述 |
---|---|---|---|---|---|
卖家编号 | char | 5 | 是 | ||
店名 | nvarchar | 20 | √ | ||
负责人 | nvarchar | 20 | √ | ||
客服电话 | varchar | 12 | √ |
表2-3 商品表
字段名 | 数据类型 | 长度 | 关键字 | 空否 | 描述 |
---|---|---|---|---|---|
商品编号 | char | 8 | 是 | ||
卖家编号 | char | 5 | |||
名称 | nvarchar | 20 | |||
单价 | float | √ |
表2-4 购买记录表
字段名 | 数据类型 | 长度 | 关键字 | 空否 | 描述 |
---|---|---|---|---|---|
序列号 | char | 11 | 是 | ||
订单编号 | char | 10 | |||
客户编号 | char | 6 | |||
商品编号 | char | 8 | |||
订单日期 | datetime | √ | |||
数量 | int | √ | |||
折扣价 | float | √ | |||
成交日期 | datetime | √ |
(1) 使用交互式方式创建表2-1,表2-2
图2-1 交互式创建客户表
图2-2 交互式创建买家表(这个地方疑似错误,所以所截图的内容显示为卖家表截图)
(2) 使用T-SQL语句创建表2-3,表2-4
选中要运行的代码块,右键运行后,再右键刷新数据库,刷新后查看所建立的表格
图2-3 T-SQL语句创建商品表
选中要运行的代码块,右键运行后,再右键刷新数据库,刷新后查看所建立的表格
图2-4 T-SQL语句创建购买记录表
2.修改表
2.1使用交互式方法修改表的结构
(1)向已有“客户”表中追加一列
追加列的定义如下:
1 | 列名:籍贯 |
发现它不让我们保存,所以呢。找问题,好吧,好像没什么问题。问老师。
解决方案如下图所示:
将那个对钩取消勾选就好了。
图2-5 交互式追加“籍贯”列
(2)修改客户数据表中籍贯列的定义
修改列的定义如下:
1 | 列名:居住地 |
图2-6 交互式修改“籍贯”列
(3)删除客户数据表中的居住地列
选中左边的小箭头使得这列被选中,再选中状态下按Delete删除即可。如图所示
图2-7 交互式删除“居住”列
2.2使用T-SQL语句修改表的结构,定义如上。
(1)向客户数据表中追加籍贯列
直接将网上学会的代码试试,选中语句,右键运行。
结果有点问题啊。所以怀疑是没有将原来的那个表给说明。所以就将表添加在前面,再一起执行。
比较尴尬的发现是我的表名写错了,应该是客户表。
运行成功。
不过在这期间反复刷新了几次才出现。可能是电脑执行的太慢的缘故吧。
图2-8 T-SQL语句追加“籍贯”列
(2)修改客户数据表中籍贯列为居住地列
1 | 运行命令: |
图2-9 T-SQL语句修改“籍贯”列
(3)删除客户数据表中的居住地列
输入命令: alter table 客户表 drop column 居住地 ;
右键运行,然后等待一会儿就刷新一下就已经被删除了。
图2-10 T-SQL语句删除“居住”列
3.删除数据表
(1)使用交互式方法删除“客户”数据表
运行结果如图:
图2-11 交互式删除数据表
(2)使用T-SQL语句删除“卖家”数据表
刷新一下,表就消失了。如图所示。
图2-12 T-SQL语句删除数据表
建议:把表2-1,2-2,2-3,2-4都用T-SQL语句实现并把实现的代码进行保存,方便后续的实验内容中使用。
四、 实验总结
1.对比分析删除表、字段的T-SQL语句,如何防止这两种删除命令的误操作?
在执行前反复检验是否一致。
2.本实验中你采用过哪些数据类型?如何确定字段宽度?
使用了float,int等数据类型,通过在括号界限字段宽度。
3. char、varchar、nchar、nvarchar,这四种类型都是字符型,它们有何区别?
区别:var前缀的,表示是实际存储空间是变长的,varchar,nvarchar 所谓定长就是长度固定的。n表示Unicode字符,即所有字符都占两个字节,nchar,nvarchar 字符中英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。