Microsoft SQL - 数据库管理系统
数据库管理系统(Server Management Studio)
SQL Server Management Studio是一个数据库管理系统软件,数据库可以看成是一个个存储数据的文件,而Management Studio就是用来管理各个数据库的软件,我们并不需要直接访问数据库,所有操作都是通过此软件(DBMS)来完成。它可以替我们访问数据库。
系统数据库(system DB)
master数据库
该数据库保存了一系列的系统表,用于管理整个数据库系统。当你在数据库管理软件中创建一个新的数据库时,系统将向master数据库中的sysdatabase表中插入一条新的纪录,且所有的系统存储
过程和自定义的存储过程,无论它们位于哪个数据库,实际上它们都存储在master数据库中,所有描述服务器的信息也都存储于此。
model数据库
为用户创建的数据库提供数据库模版。
msdb数据库
是sql代理执行任务的地方,比如计划夜间对数据库进行备份操作,那么在这个数据库中会生成一条记录。
tempdb数据库
在执行大量复杂的sql语句时,SQL Server可能会在这个数据库中创建一些临时的中间表用于计算,这个数据库本身也是临时的,在你每次启动数据库管理软件时,该数据库都会完全重新创建。
事务日志
你对数据库所做的任何修改更新操作实际上最早做出响应的是事务日志文件,所有操作都被记录在事务日志里,然后系统发出一个检查点,检查所有操作是否合法,完全合法后才会将数据录入数据库
中。数据到达磁盘上的最初地方是事务日志文件,被检查合法后才会传送到实际的数据库文件中。性能良好的数据库既需要数据库文件,也需要事务日志文件。
数据库文件(data file)
数据库主文件(.mdf)
每个数据库都有一个且只能有一个主文件(Primary) 后缀是.mdf,该文件存储了数据库中的所有事物和表,这个文件是磁盘路径上存在的一个实体。 比如你创建了一个数据库mydb1的数据库,那么其物理路径可能如下:

重新装系统后,你可以将这个文件附加到数据库管理软件中,但mdf需要权限,右击mdf文件取得完全控制才能附加成功。
数据库日志文件(.ldf)
日志文件用于收集操作数据库的信息记录,便于查看操作数据库的信息,该文件可有可无,但最好创建它。
数据库辅助文件(.ndf)
辅助文件用于备份+还原数据库,该文件可有可无。 辅助文件可加入到主文件组中,你也可以创建辅助文件组,将辅助文件加入到辅助文件组中。尽管只能有一个主文件组 但可以有255个辅助文件。
表(table)
数据库由许多事物构成,而表是其最重要的一环。数据都存储在表结构中。
列(字段)(Column)
表由列和行构成,可以是一列或以上。每个列都应指定它可以存储的数据类型,如数字、日期、字符串、金额……
行(记录)(Row)
每个行都存储一组列所指定的数据类型。比如一个员工信息表,每个行可以代表每个员工的具体信息,即一行代表的就是其中一个员工的信息。通常意义上来说人们说的一条记录就是指的一行。
主键(Primary Key)
每一行的某个列应定义为主键,主键可以用来标识该行具有唯一性。比如员工ID、学员编号等等,使用主键的最佳实践应为:不更新主键列中的值、不重用主键列中的值。
外键(Foreign key)
外键可以将多张表建立联系,节省数据量,可以节约数据占用数据库的空间。
索引(Index)
索引存储了键值,根据键值可查找需要的数据。索引分为聚集索引和非聚集索引。
聚集索引
每个表只能有一个聚集索引,相当于百科全书中的页码。
非聚集索引
每个表可以有n个非聚集索引,类似关键字的索引。
约束(Constraint)
限定表中列的数据,提供约束。
视图(view)
视图本身不存储数据,它获取一张或n张表的数据,将它们结合起来显示。通过视图可以决定哪些表的内容可以开放给用户查看,哪些则不。视图可以执行insert、delete、update操作,所有这些操
作都会影响到视图所引用的原表,即原表也会发生数据变化。
触发器(Trigger)
当表发生特定的事件时(如:插入、删除、修改)自动执行的一段逻辑代码,类似于事件处理器。
操作表
你可以使用图形界面创建、操作表,也可以使用TransSQL语句达到同样的目的。
null值
在使用图形界面操作表时,如果你要插入一个null值可以使用ctrl+0,这有别于系统默认的null,ctrl+0插入的null被认为是一个有效的数据,而系统默认的null则被认为是不存在的数据。而空字符、空格不是null。
数据量限制
每个表最多定义250个字段。每个记录的最大长度限制为1962个字节(文本与图像数据除外)。
数据库常见术语
列:一个字段
行:一条记录
属性:列可以看成是行的属性,即字段是记录的属性。
域:列的取值范围
关联:一张表对应多张表,即多张表建立了一对多的关系,表的关联一共有四种方式:一对多、多对一、一对一、多对多,这个关系以每张表都有一个相同的字段值(关键字)为连接建立起关系。
关键字:某个列的独立的值,它能代表每条记录的唯一性。
外部关键字:某列不是当前表的关键字,但它是另一张表的关键字。
数据冗余:表中的重复数据。
数据库选项
限制访问可选择多用户、单用户和管理员、特定成员。

数据库分离、附加与删除
分离
右键数据库可以将其与Magement管理器分离,分离后可以拷贝数据库文件到其它计算机。
附加
通过右键数据库-附加,可以把数据库文件附加到另一台计算机的Magement管理器中。无法附加时考虑:
1.修改数据库文件mdf和ldf的访问权限,右击它们-安全。
2.windows身份登录Magement管理器再进行附加。


删除
删除即彻底删除磁盘上的数据库文件。
表的外键
找到外键表-右击设计-右击字段-关系-表与列规范-选择主表与从表即可。
将数据库导出为脚本
右击数据库-任务-生成脚本-选择对象后-设置脚本编写选项-高级-要编写脚本的数据的类型可选择架构、数据等,选数据则只生成insert语句


Microsoft SQL - SQL SERVER学习总目录
Microsoft SQL - 数据库管理系统的更多相关文章
- 第八课: - 从Microsoft SQL数据库读取
第 8 课 如何从Microsoft SQL数据库中提取数据 In [1]: # Import libraries import pandas as pd import sys from sqlalc ...
- Microsoft SQL - 学习总目录
Microsoft SQL - 数据库管理系统 Microsoft SQL - 数据类型 Microsoft SQL - 查询与更新 Microsoft SQL - 操作语句 Microsoft SQ ...
- Microsoft SQL Server(sql server 关系型数据库管理系统)
sql server一般指Microsoft SQL Server 关系型数据库管理系统 Microsoft SQL Server 是一个全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级 ...
- Jmeter—8 连接microsoft sql server数据库取数据
本文以Jmeter 连接microsoft sql server为例. 1 从微软官网下载Microsoft SQL Server JDBC Driver 地址:http://www.microsof ...
- Microsoft SQL Server,附加数据库 错误:Error 916解决方法
错误信息:错误提示:标题: Microsoft SQL Server Management Studio Express —————————— 无法为此请求检索数据. (Microsoft.SqlS ...
- sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案
对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQ ...
- 数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)
让我们来看看在备份序列新手 --1.塔建环境(生成测试数据和备份文件) /* 測试环境: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) ...
- Microsoft SQL Server 数据库 错误号大全
panchzh :Microsoft SQL Server 数据库 错误号大全0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒 ...
- 使用Microsoft SQL Server Migration Assistant for Oracle迁移数据库
前言:使用Microsoft SQL Server Migration Assistant for Oracle迁移Oracle数据库到SqlServer数据库. 准备:Oracle11g.SqlSe ...
随机推荐
- 最小生成树Prim算法和Kruskal算法
Prim算法(使用visited数组实现) Prim算法求最小生成树的时候和边数无关,和顶点树有关,所以适合求解稠密网的最小生成树. Prim算法的步骤包括: 1. 将一个图分为两部分,一部分归为点集 ...
- shell数组等基本用法
"shell"既是一种解释型编程语言,也是一个这种编程语言的解释器的名字 shell是解释型语言,就是解释器会一条一条的翻译每一条语句并执行,对比之下,C语言是编译型语言,编译器把 ...
- 根文件系统之init
title: 根文件系统之init tag: arm date: 2018-11-12 18:53:23 --- 引入 在Kernel源码分析中,了解到init_post是在挂载根文件系统之后执行应用 ...
- Nginx简单手册
Nginx 变量 变量名 注解 $arg_name 请求中的的参数名,即“?”后面的arg_name=arg_value形式的arg_name $args 请求中的参数值 $binary_remot ...
- JAVA核心技术I---JAVA基础知识(类的继承)
一:基本概念同C++一致 二:继承演示 .将共同点提取出来,即形成了父类/基类/超类 –Parent class/Base class/Super class .而其他类则自动成为子类/派生类 –Ch ...
- Hudson持续集成管理平台搭建
IP: 10.0.70.106 8G 内存 (Hudson 多 个 工程 在 同 时 构建 的情况下 比 较耗内存) 环 境: CentOS 6.5 . JDK7 注:Hudson 只是一个持续集成 ...
- MarkdownPad使用
正文: 1.标题的几种写法: 第一种: 前面带#号,后面带文字,分别表示h1-h6,上图可以看出,只到h6,而且h1下面会有一条横线,注意,#号后面有空格 第二种: 这种方式好像只能 ...
- overlay网络隔离实验失败记录
按照 https://www.cnblogs.com/CloudMan6/p/7341487.html进行操作,实验结果与老师文章中的正好相反,不同 overlay 网络中的主机可以通信,验证部分见下 ...
- docker 系列 - 修改容器的 DNS 服务器
# 查看容器的 dns 解析设置文件, 也可以检查docker 运行环境 DNS docker run busybox:latest cat /etc/resolv.conf # 为容器 mybusy ...
- ****** 二十八 ******、软设笔记【数据库】-分布式数据库、特点、数据存储、DBMS组成
分布式数据库 一.分布式数据库 分布式数据库由一组数据组成,这些数据物理上分布在计算机网络的不同结点(场地)上,逻辑上是属于同一个系统.每个结点可以执行局部应用,也能通过网络通信子 ...