Windows server 2016——SQL server 数据库和表的管理

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: Windows server 2016——SQL server 数据库和表的管理



介绍

SQL Server是由微软公司开发的关系型数据库管理系统,现在是全世界主流数据库之一。它具备方便使用、可伸缩性好、相关软件集成程度高等优势,能够从单一的笔记本上运行或以高倍云服务器集群为基础,或在这两者之间任何一种方式上运行。


一.SQL Server的数据存储结构

1.文件类型

数据文件:

  • 主数据文件(.mdf) 有且只有一个
  • 次要(辅助)数据文件(.ndf)可有可无,有可以多个。

事务日志文件(.ldf)至少有一个

  • 记录所有事务的SQL语句
  • 用于恢复数据库

 


二.数据库管理

1.创建数据库

数据库名称

数据文件和日志文件

  • 名称
  • 文件初始大小
  • 自动增长
  • 存储路径

2.扩展数据库

作用

  • 为数据文件和日志文件分配更多的空间

方法

  • 扩展现有文件的自动增长设置
  • 添加新文件

3.收缩数据库

作用

  • 释放数据库中未使用空间

方法

  • 手动收缩
  • 自动收缩

4.分离和附加数据库

作用

  • 将数据库更改到不同SQL Server 实例中

分离数据库

  • 将数据库从实例中移除

附加数据库

  • 通过定位主数据库文件,将数据库附加到另一实例

5.删除数据库

只能删除用户数据库,系统数据库无法删除


三.表的基本概念

1.数据完整性

实体完整性

每一行必须是唯一的实体

引用完整性

确保所有表中数据的一致性,不允许引用不存在的值

域完整性

检查每一列是否有效

用户定义的完整性

制定特定的业务规则


2.主键

  • 用于唯一标识表中的行数据
  • 由一个或多个字段组成
  • 具有唯一性
  • 不允许取空值(NULL
  • 一个表只能有一个主键

 


四.常用数据类型

数据类型

是数据的一种属性,指定对象可保存的数据的类型

SQL Server 数据类型

精准数字

近似数字

字符串

Unicode 字符串

二进制字符串

日期和时间

其他数据类型


精准数字

数据类型

描述

int

整型,存储-231231之间的整数,占4字节空间

bit

整型,取值01NULL。存储只有两种可能值的数据,如YesNo

decimal

存储从-1038-11038-1的固定精度和范围的数值型数据,须指定范围和精度。范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数

money

表示钱和货币值。存储从-922 337 203 685 477.5808  922 337 203 685 477.5807之间的数据,精确到货币单位的万分之一,占8字节空间

近似数字

数据类型

描述

float

表示浮点数值数据的大致数值。表示-1.79E+3081.79E+308 之间的任意数,占8字节空间

real

表示-3.40E+383.40E+38之间的浮点数。占字节空间

字符串

数据类型

描述

char

存储固定长度,非 Unicode 字符数据。须指定列长,最多包含 8000 个字符

varchar

存储可变长度,非 Unicode 字符数据。需要指定该列的最大长度,最多包含231个字符

text

存储大量的非 Unicode字符数据,最多可以有231-1或大约20亿个字符

Unicode字符串

数据类型

描述

nchar

存储定长Unicode字符型数据。Unicode使用双字节结构来存储每个字符,在空间占用上增加了一倍

nvarchar

存储变长Unicode字符型数据

ntext

存储大量的Unicode字符型数据

二进制字符串

数据类型

描述

binary

存储可达8000 字节长的定长的二进制数据

varbinary

存储可达8000 字节长的变长的二进制数据

image

存储变长的二进制数据,最大可达231-1或大约20亿字节

日期和时间

数据类型

描述

date

日期。存储从公元元年11日到公元9999年 1231日间所有的日期数据。占3字节空间

time

表示一天中某个时间,不能感知时区且基于 24 小时制,占5字节空间

datetime

表示日期和时间。存储从175311日到99991231日间所有的日期和时间数据,占8个字节空间


五.使用SSMS操作数据表

1.默认值

如果没有为列指定值,默认值则指定列中使用的值

没有为列指定默认值

如果允许空值,则将向该列中插入 NULL

如果不允许空值,在用户为该列提供值前,将无法保存行

2.标识列

包含系统自动生成的序号值的列

  • 列值由系统按一定规律生成,不允许空值
  • 列值不能重复,唯一标识表中每一行
  • 每个表只能有一个标识列

3.创建标识列(自增列)

  • 类型(type
  • 种子seed
  • 递增量(increment

4.检查约束

  • 限制列可接受的值
  • 通过逻辑表达式创建检查(CHECK)约束

例:

 成绩大于等于0并且小于等于100

  成绩>=0 and 成绩〈=100


六.使用T-SQL语句管理数据表

1.创建表

CREATE TABLE 表名
(
    列名1 数据类型(大小),
    列名2 数据类型(大小),
    列名3 数据类型(大小),
    ……    
)

2.删除表

DROP TABLE  <表名>

七.操作练习

操作要求:

(1)创建一个名为benet的数据库,数据库文件存放在c:\benet,如图所示:

(2)将benet数据库设置为自动收缩。

(3)创建一个名为student的表,表中字段如下图所示:

字段要求:学员编号为从1开始自动编号,身份证号为主键列,所在班级的默认值为t3145,成绩输入要求大于等于0,小于等于100(成绩  >=0  and  成绩 <=100 )。

(4)在图形界面下,输入数据,测试以上的要求是否符合要求。

(5)使用语句删除student表。

(6)使用语句再次创建student表。如图所示:

(7)在表的“设计”视图下查看是否符合上面表的要求。

(8)在图形界面下,输入数据,测试是否符合上面表的要求。


创作不易,求关注,点赞,收藏,谢谢~

相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS&nbsp;SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
|
3天前
|
SQL 人工智能 算法
【SQL server】玩转SQL server数据库:第二章 关系数据库
【SQL server】玩转SQL server数据库:第二章 关系数据库
40 10
|
20天前
|
SQL 存储 BI
【软件设计师备考 专题 】数据库语言(SQL)
【软件设计师备考 专题 】数据库语言(SQL)
88 0
|
13天前
|
SQL
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
启动mysq异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案
15 0
|
3天前
|
SQL 算法 数据库
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(二)数据查询
44 6
|
3天前
|
SQL 监控 数据库
数据库管理与电脑监控软件:SQL代码优化与实践
本文探讨了如何优化数据库管理和使用电脑监控软件以提升效率。通过SQL代码优化,如使用索引和调整查询语句,能有效提高数据库性能。同时,合理设计数据库结构,如数据表划分和规范化,也能增强管理效率。此外,利用Python脚本自动化收集系统性能数据,并实时提交至网站,可实现对电脑监控的实时性和有效性。这些方法能提升信息系统稳定性和可靠性,满足用户需求。
19 0
|
4天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
|
8天前
|
SQL 安全 Java
SQL server 2017安装教程
SQL server 2017安装教程
13 1
|
11天前
|
数据库 SQL 索引
什么是数据库 SQL Execution Plan
什么是数据库 SQL Execution Plan
9 0
|
4月前
|
存储 安全 Apache
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
269 2
|
9月前
|
缓存 JavaScript 前端开发
Windows7压缩包安装node.js 报错提示windows Server 2012 R2 和安装React脚手架 最详细教程
对于Windows 7安装node.js 提示“This application is only supported on wWindows 8.1,windows Server 2012 R2, or higher.”类似这种情况的,该问题是因为node.js官方在 x12版本后就不支持win7系统了。

热门文章

最新文章