1. 数据库管理系统(DateBase Management System )DBMS

  1. 是专门为管理数据库而设计的一个电脑软件系统
  2. 分为两种:

(1)关系数据库:建立在关系模型基础上的数据库,比如 SqlServer , MySQL, Oaracle, Access

​ 所以 SqlServer是数据库的一个管理软件,利用此工具建立一个数据库。

(2)非关系数据库:与关系数据库不同点就是,不使用SQL作为查询语言

  1. 数据库(DateBase)DB:

    按照一定的数据结构来组织,存储和管理数据的仓库。是存储在一起的相关的数据的一个集合。

  2. 数据库系统:由数据库和数据库管理系统组成。

    2. 打开数据库:

    (1)启动服务:可以使用 SQL SERVER配置管理器

    (2)打开 SQL SERVER Management Studio ,使用工具连接到数据库

    可以使用Windows身份验证 :

    ​ 要求必须先登录Windows,数据库装到了某个Windows上(本机连接)

    ​ 在 服务器名称 :浏览更多--》数据库引擎---》选择创建过的数据库实例

    或者

    SQL SERVER 身份验证

    ​ 在建立数据库实例时,要选择混合模式,设定 SQL SERVER系统管理员sa账户指定密码

    ​ 当数据库 和 服务器 分离时(远程连接),使用此方式; 必须登录:登录名和密码,还有 服务器名称 :就是SQL SERVER系统的IP地址

    (3)如何自己创建一个登录名:

    首先,以Windows身份验证登录,在安全性结点---》登录名---》右击登录名---》选择新建登录名----》设置登录名,可以选择设置为 SQL Server身份验证,输入密码

    最重要的是:在左边选择”服务器角色“----》选择 public 和 sysadmin

    相当于给予了它管理的权限

    这样下次访问这个数据库时,就可以使用 SQL Server身份验证,输入自定义的登录名和密码

    3. 新建数据库

    右击数据库结点---》 新建数据库 ---》 自定义数据库名称,最好是可以代表存储何种数据的名称,后缀可以是DB,比如StuDB

    下方有数据库文件:

    有两行:第一行叫做 数据库组文件(数据库名称) ; 第一行叫日志文件(数据库名称_Log)

    后面有文件的默认大小,

    还有“ 路径 ” 的设置:默认是C:\Program Files\Microsoft SQL Server\MSSQL14.SQL01\MSSQL\DATA\

    因为以后要将数据库分离,并且要将此文件拷走,所以路径一般会设置在一个自定义比较固定的位置上,可以放到专门存放这个数据库的文件夹里。

    点击数据库结点---》就可以看到我们新建的数据库

    4. 数据库文件和文件组的组成

    因为数据库最终是在计算机上以文件的形式存在,数据库以文件和文件组 组成。

    1. 数据库文件:

    (1) 主要数据文件,存放数据和数据库的初始化信息。以.mdf扩展名结尾,每个数据库有且只有一个主要数据文件。

    (2)次要数据文件,存放除了主要数据文件以外的所有数据的文件。默认以.ndf扩展名结尾; 次要数据文件并不是每个数据库必须的。有的话,也可以是多个。

    (3)事务日志文件,存放用于恢复数据库的所有日志信息。(就是对数据库的所有操作信息,包括添加或删除一条信息等都是存储在此文件中),默认以.ldf扩展名结尾,每个数据库至少要有一个事务日志文件,也可以有多个。

    1. 数据库文件组:

      是数据库文件的一种逻辑管理单位,它将数据库文件分成不同的文件组,方便对文件的分配和管理。

      分类:

      (1)主文件组:Primary 包含主要数据文件和没有明确指派给其他文件组的文件。

      (2)用户自定义的文件组:在Create DateBase或alter DateBase 使用fileGroup关键字指定的文件组

    对文件进行文件组的分类原则:

    (1)文件只能是一个文件组的成员。

    (2)文件或文件组不能由一个以上的数据库使用。

    (3)数据和日志信息不能属于同一个文件或文件组。

    (4)日志不能作为文件组的一部分(因为数据和日志是分开管理的,在备份时可以分离式进行)

5. 数据库常用对象

  1. 表:包含数据库中所有数据的对象,由行和列组成,用于组织和存储数据。点击建好的数据库---->右击表--》新建表---》有三部分:列名,数据类型,允许null值

  2. 字段:就是表中的列,一个表可以有多个列,一个字段有自己的属性,数据类型(决定该字段存储那种类型的数据),大小(长度);

  3. 视图:是一个虚表,可以从一张或多张表中导出的表,是用户查看数据的一种方式,结构和数据是建立在对表的查询之上。

  4. 索引:为了给用户提供一种快速访问数据的途径,索引是依赖于表而建立的。使得在检索数据时,不用对整张表进行扫描。

  5. 存储过程:是一组为了完成特定功能的SQL语句的集合。(可以有查询,插入,修改,删除等)编译过后,就存储在数据库中,以后以名称进行调用执行这些操作。

  6. 触发器:在数据库中属于用户定义的SQL食物命令集合,针对于表来说,当对表增,删,改操作时,指定的命令就会自动触发去执行。

  7. 约束:对数据表的列进行的一种限制。可以更好地规范表中的列值。

  8. 缺省值:对数据表的列指定一个默认值。当进行插入时,若没有为列插入值,就会自动赋予此默认值。

    6. 数据库的数据类型

    1. 数值型:

    (1)整数:bigint( 8字节) int(4字节) smallint (2字节) tinyint (1字节)

    (2)浮点型:float(近似值) real(近似值) decimal(精确值,不存在精度的损失,decimal(a,b)a指定数的总位数,b指定小数点后的位数)

    (3)货币类型(可以精确到万分之一):money( 8字节) smallmoney(4字节)

    二进制数据类型:

    bit

    binary(n):固定长度的二进制数据,最多8000字节

    varbinary(n):可变长度的二进制数据,最多8000字节

    varbinary(max):可变长度的二进制数据,最多8000字节

    2. 字符型:

    1.Character字符串:

    (若数据只有英文建议,因为汉字是占两个char字符,char(2),而nchar不论是英文还是中文都是占一个字符,nchar(1) )

    (1)char(n)固定长度的字符串,若达不到n,就以空格补全,最多8000个字符

    (2)varchar(n)可变长度的字符串,最多8000个字符

    (3)varchar(max)可变长度的字符串

    2.Unicode字符串:(若数据有中英文混合建议)

    (1)nchar(n)固定长度的Unicode数据,最多4000个字符

    (2)nvarchar(n)可变长度的Unicode数据,最多4000个字符

    (3)nvarchar(max)可变长度的Unicode数据

    前面带n,不论是英文还是中文都是占一个字符,存储大小2个字节,前面不带n,英文或数字,存储1个字节,而中文存储2个大小(长度)

    3. 日期型:

    datetime : 精确度高,精确到毫秒

    datetime2 : 精确度高,精确到纳秒

    smalldatetime : 精确到1分钟,时间范围小

    date : 仅存储日期

    time: 仅存储时间

    4. 其他类型:

    uniqueidentifer : 存储全球标识符(GUID)

    7. 创建表及主外键

    1.工具创建表:

    列名 数据类型 允许null值(勾选,就是允许为空); 并且对每一个列值,还可以在下方手动设置默认值: 比如:对于时间,可以设为getdate() 函数,来获取当前时间。

    按ctr+ s 保存,可以自定义表名

    ​ 因为一个表会有许多记录(行),需要一个列来唯一标识一条数据。就要创建 主键(主码),主键的选择:首先此列的值不可以有重复,且不可为空

    标识列:一旦一个列设为标识列,它就不能再手动插入,插入时自动生成的;

    首先此列必须是不带小数的数值型(可以理解为整形)

    标识列包含标识种子(第一条记录标识列的值)和增量(每增加一条数据在原来基础上增加的值)

    2. 创建主键:

    选择列名----》右击---》设置主键,发现它前面有一个钥匙的小标记。

    有时,会选择多个列作为主键,是指它们组合起来作为一个主键,又称:联合主键

    创建一个主键,同时会自动创建一个聚集索引

    3. 创建外键

    外键(外码):一般是在两个表之间要建立关联的时候创建。

    比如:在Stu表中的主码是UserId, 还有一个列名DeptId, 关于部门的信息保存在另一张表Dept中,Dept表的主码是DeptId; 两个表通过DeptId进行关联;

    其中Stu表是参照表(外键表),Dept表是被参照表(主键表),

    DeptId称为参照表的外码,是被参照表的主码。

    在被参照表中DeptId设为主键,

    在参照表中DeptId设为外键:右击---》选择“关系”---》“添加”---》在右侧的“表和列规范”点击后面的省略号---》会有主键表和外键表的选择,然后下一行是各个表的选择关联的列 DeptId

    8. 数据库约束

    想打开新建好的表,在右侧的对象资源管理器---》右击新建的表---》设计

    就可以继续手动插入新的列或者新的约束条件

    1. 约束定义:

    规定表中的数据规则;若操作数据时违反了约束,就会被阻止;

    在使用软件创建,创建表之后建立约束。

    或者

    使用脚本创建表,可以在创建过程中,也可以在创建后来建立约束。

    2. 约束的分类:

    1. 主键: Primary Key 约束

    唯一性, 非空, 不可修改

    2. 外键: Foreign Key约束

    实现两个表的一列或多列数据之间的连接的。

    先建立主键表中的主键,再定义外键表中的外键。

    主键表限制了外键表的更新和插入的操作;当删除主键表中的某条数据,应该是先删除外键表中相关的数据,再删除主键表中的数据;

    3. Unique约束:唯一性约束(确保表中一列数据没有相同的值)

    与主键约束相似,但一个表中:主键只可以有一个,而Unique约束可以有多个,也可以没有。

    右击属性列--->选中 索引/键(I)----》添加 ----》看到有以IX开头的就是唯一性约束,在右侧的列 最右侧的省略号点击---》选择此属性----》确定----》在是唯一的处的后面,选择是---》关闭

    4. Check 约束:通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围。

    比如:在属性列 age --->右击--->CHECK约束--->添加--->在右侧的表达式---》输入Age>10 and Age<30---》确定---》关闭

    再点进去就会显示表达式是: ([Age]>(10) AND [Age]<(30))

    5. Default 约束: 默认值约束。

    当在插入新的数据行时,若该行没有指定数据,系统就会将默认值赋给该列。

    若没有设置默认值,系统会默认为null

    选中属性列---》在下方的栏中的默认值或绑定,自己输入默认值

sql server 01的更多相关文章

  1. SQL Server 进阶 01 数据库的设计

    SQL Server 进阶 01 数据库的设计 本篇目录 课程内容回顾及介绍 为什么需要规范的数据库设计 设计数据库的步骤 绘制E-R(实体-关系)图 实体-关系模型 如何将E-R图转换为表 数据规范 ...

  2. 01. SQL Server 如何读写数据

    原文:01. SQL Server 如何读写数据 一. 数据读写流程简要SQL Server作为一个关系型数据库,自然也维持了事务的ACID特性,数据库的读写冲突由事务隔离级别控制.无论有没有显示开启 ...

  3. SQL Server编程(01)流程控制

    批处理 应用程序向SqlServer发送的一组命令,Sql Server会将其编译成一个可执行单元,称为执行计划,执行计划中的语句每次执行一条. 每个不同的批处理用GO命令分割.GO命令不是SQL语句 ...

  4. 解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01

    操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasource导入Acces ...

  5. 终于解决SQL Server 2008 64位系统无法导入Access/Excel的问题 2012/08/01

    最近更换了新服务器,操作系统Windows Server 2008 X64,数据库SQL Server 2008 X64,Office 2007(好像只有32位),在存储过程执行OpenDatasou ...

  6. SQL Server 基础 01 数据库、表操作

    对着书慢慢学习,一天一点点! 数据库操作 (create.alter.drop)  --3-3-1 /create database 语句创建数据库 create database testSQL - ...

  7. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  8. SQL Server镜像自动生成脚本

    SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...

  9. 恢复SQL Server被误删除的数据(再扩展)

    恢复SQL Server被误删除的数据(再扩展) 大家对本人之前的文章<恢复SQL Server被误删除的数据> 反应非常热烈,但是文章里的存储过程不能实现对备份出来的日志备份里所删数据的 ...

  10. 恢复SQL Server被误删除的数据

    恢复SQL Server被误删除的数据 <恢复SQL Server被误删除的数据(再扩展)> 地址:http://www.cnblogs.com/lyhabc/p/4620764.html ...

随机推荐

  1. xfce-debian10 英文环境安装配置记录

    Centos还没有用利索(因为我听说debian是更纯正的社区开源项目???可是这对于我这样毫无技术菜鸟来说有什么关系呢???可是耐不住心中的悸动???悸动又从哪里了呢???哎,不管了),突然心血来潮 ...

  2. 使用windows切换程序窗口时关闭edg浏览器的多个选项卡

    关闭edg浏览器切换程序窗口时展示多个选项卡 一.切换程序窗口的方式 当使用电脑打开了多个程序时,可以通过按住快捷键alt+tab(或者使用笔记本的触控屏,三指左右滑动快捷手势)来切换程序窗口. 二. ...

  3. css 选择器再学一遍记录一下*1

    1 <!DOCTYPE html> 2 <html> 3 <HEAD> 4 5 <style> 6 *{font-size: 12px; padding ...

  4. 【转】关于 Nokogiri 的安装依赖 libxml2安装问题

    来源:https://ruby-china.org/topics/30243 在自己的os x系统上一直运行正常,包括正常使用nokogiri这个gem,今天 在本地建立新项目,bundle inst ...

  5. 微信小程序笔记_02

    在微信小程序中使用Echarts组件 github源码地址:https://github.com/ecomfe/echarts-for-weixin gitcode源码地址:https://gitco ...

  6. mybatisplus SQL一对多

    https://blog.csdn.net/Isyoubao/article/details/122212113 重点:<collection property="nspSchedul ...

  7. DUBBO消费端Reference初始化

    1. ReferenceBean.java ReferenceBean.java 继承 ReferenceConfig.java, 主要的Reference初始化逻辑都在ReferenceBean的g ...

  8. C++ primer笔记 -标准库类型

    最重要的两个标准库类型:string和vector string 类型的输入操作符: 1.读取并忽略开头所有的空白符 2.读取字符直至再次遇到空白字符,读取终止 string对象的基本操作: stri ...

  9. vim超级替换

    vim实现变量替换, 检测代码中#0-F0-FH替换为0x0-F0-F,例如#09FH替换为0x09F :%s/#\(\w\)\(\w\)\(\w\)H/0x\1\2\3/g 注: 标准格式 :s/p ...

  10. java第七周学习情况

    这个星期 主要是在搞学校在暑期安排的实验报告b 怎么说来着 才知道这个消息几天  这是对学习不上心的体现啊 题目也有点多 慢慢做呗 而Java这边还是看些相关知识呗 说实话 已经学不太懂了 不过没关系 ...