数据库入门实验一:数据库与数据表定义

文章目录

    • 概要
    • 1. 数据库的相关操作
    • 2. 数据表相关操作
    • 3. 思考题

概要

实验环境:Windows操作系统,Microsoft SQL Server

实验一是一些关于数据库入门的简单操作主要内容为:(1)数据库的创建、修改、分离、附加

(2)自定义数据类型(3)数据表的创建、修改

1. 数据库的相关操作

1.1 数据库的创建

(1)使用Mircrosoft SQL SERVER Management Studio创建数据库School1,要求将数据库文件存放在C盘的dataA目录下

步骤一:首先,在C盘中新建一个文件夹名为dataA,然后启动Microsoft SQL Server

选择Windows身份验证点击连接。

步骤二:选中数据库然后鼠标右击选择新建数据库

步骤三:设置数据库名称并设置数据文件和日志的保存路径,保存路径为初始在C盘新建的dataA文件夹中

(2)使用CREATE DATABASE命令创建数据库School2,要求将数据文件和日志文件均放在C盘的dataA目录下。

操作步骤:

1.鼠标左击选中数据库并点击新建查询

2.在代码行中输入并执行

create database School2
on primary
( name= School2,
filename='C:\数据库作业\dataA\School2.mdf'
)
log on(
name =school_log,
filename='C:\数据库作业\dataA\School2.ldf'
)

注意filename后的路径为你要放的文件夹的路径后加上\School2.mdf或\School2.ldf

1.2 数据库的分离

(1)使用Microsoft SQL Server Management Studio将数据库School1分离。

选择数据库School1鼠标右击在任务中找到分离

在删除连接和更新系统下打勾后按下确认

(2)使用T-SQL命令将数据库School2分离。

步骤一:选中数据库点击新建查询

步骤二:输入命令sp_detach_db School2,点击执行

弹出命令成功即分离成功

1.3 数据库的附加

(1)将数据库School1和School2的数据文件和日志文件剪切到C盘data目录中

步骤一:找到之前建的dataA文件夹,选中剪切数据和日志文件

步骤二:找到c盘的data文件夹,复制到data文件夹中

注意:如果找不到c盘中的data文件夹,可以参考以下路径,或者在数据库School1或2的鼠标右击属性中的文件中查看自己电脑中存放的位置

(2)在对象资源管理器中附加数据库,将C盘data目录中的数据库School1附加到数据库服务器中

首先,选中数据库右击附加

然后,点击添加School1.mdf

2. 数据表相关操作

2.1 自定义数据类型

打开数据库School1:

(1)要求使用Microsoft SQL Server Management Studio方法分别创建自定义数据类型myID为char(8),不允许为空;自定义数据类型myName1为Nvarchar(10),不允许为空;

首先,展开School1--可编程性--类型--用户定义数据类型

然后,右击用户定义数据类型

之后,设置名称、数据类型、长度,架构为默认值dbo

(2)使用T-SQL命令方法创建自定义数据类型myName2为Nvarchar(20),不允许为空;自定义数据类型myDept为char(50),允许为空。

在School1中新建查询,然后输入以下命令并执行

create type myName2 from Nvarchar(20) not null
create type myDept from char(50)

2.2 数据表的创建

(1)使用Microsoft SQL Server Management Studio在School1数据库中建立TInfo表,该表的表结构见表2-1。

列名

数据类型

长度

备注

Tid

myID

设为关键字

Tname

varchar

10

不能为空

Sex

char

2

其值只能为“男”或“女”,默认为“男”

Dept

varchar

30

允许为空

Tbirthday

smalldatetime

允许为空

Ttitle

varchar

10

允许为空

Tphone

char

11

允许为空

步骤一:在School1中新建表

步骤二:设置表格按照要求

设置主键

设置Sex的默认值为'男'

右击Sex的一栏并点击CHECH约束

然后,添加并设置表达式为:Sex='男' or Sex='女',然后关闭

(2)设计好Tinfo表结构后,可以输入数据进行测试。首先右击表,选择“编辑前200行”, 在编辑区表结构中直接输入数据,如Tid为自己学号后8位, Tname为自己的姓名,然后回车。此时检测性别属性是否会产生默认的值。

再输入数据Tid为“21190002”, Tname为“李四”,性别为“未知”,回车,看看产生什么结果。思考为什么会这样?

首先,展开表然后右击编辑前200行

编辑自己的表格,如果输入性别为未知会报错

(3)使用T-SQL命令在School1数据库中创建表SInfo。

列名

数据类型

长度

备注

SID

myID

设为关键字

SName

myName1

不能为空

Sex

char

2

其值只能为“男”或“女”,默认值为“男”,

Birthday

smalldatetime

允许为空

Dept

myDept

允许为空

Major

varchar

30

允许为空

Class

varchar

18

允许为空

IDCardNo

char

18

不允许为空

在命令行中输入并执行:

create table Sinfo
(
    SID myID primary key,
    SName myName1 not null,
    Sex char(2)  default '男' check (Sex in ('男','女'),
    Birthday smalldatetime,
    Dept myDept,
    Hajor varchar(30),
    Class varchar(18),
    IDCardNo char(18) not null
)

(4)使用T-SQL命令在School1数据库中创建表CInfo 和ScoreInfo,表结构分别如下表所示。

列名

数据类型

长度

备注

CID

myID

设为关键字

CName

myName2

20

不能为空

CCredit

tinyInt

允许为空

CProperty

varchar

10

列名

数据类型

长度

备注

CID

myID

设为主码,外键引用,参照CInfo中的字段CID

SID

myID

设为主码,外键引用,参照SInfo中的字段SID

TID

myID

外键引用,参照TInfo中的字段TID

Score

numeric

3,1

允许为空

Schyear

char

9

允许为空

term

char

1

允许为空

输入以下命令并执行:

create table Cinfo
(
	CID myID primary key,
	CName myName2 not null,
	CCredit tinyInt,
	CProperty varchar(10)
);
create table ScoreInfo(
	CID myID foreign key references Cinfo(CID),
	SID myID foreign key references Sinfo(SID),
	TID myID foreign key references Tinfo(TID),
	Score mumeric(3,1),
	Schyear char(9),
	term char(1)
)

2.3 数据表的修改

用T-SQL命令语句修改表结构:

1. 修改表SInfo表的表结构,设置IDCardNo值为惟一的。

alter table Sinfo add unique(IDCardNo)

2. 修改ScoreInfo表结构,设置term值只能为1或2,默认值为1。

alter table ScoreInfo add default 1 for term;
alter table ScoreInfo add check(term between 1 and 2);

3. 在表SInfo中添加一字段EntroData(即入学日期),要求该输入范围在1900-1-1至2079-1-1之间。

alter table Sinfo add EntroDate date check(EntroDate between cast(1900-1-1 as datetime) and 
cast(2079-1-1 as datetime))

4. 修改表TInfo的表结构,要求删除其中的TBirthday字段。

alter table Tinfo drop colume TBirthday

5.删除数据库XX的SQL语句。

drop database XX

3. 思考题

(1)在建立好数据库“School1”后,请问如何修改数据库School1的数据文件和日志文件的【逻辑名称】、【初始大小】、【文件名】和【路径】,具体该如何操作呢?

修改逻辑名称:法一右击数据库重命名,

法二代码指令:

alter database原数据库名 modfiy file(name=原数据库名,newname=新数据库名)

修改初始大小:法一右击数据库属性中修改,

法二代码指令:

alter database数据库名 modfiy file(name=数据库名,size=想要的初始大小)

修改文件名:先分离数据库再手动改文件夹名称

修改路径:

1. 先创建新的路径:

New-Item -ItemType Directory -path”D:\....”

2. 修改数据库路径:

2.use master;
go
alter database 数据库名称 modfiy file(name=数据库名称,filename=’D:\....’)
go

小结

数据库和表的一些简单操作,主要学习命令操作。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农入门

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值