SQL Server基础
一、常用命令
1、使用命令行开启SQL Server服务
获取管理员权限的命令行工具:
net start mssqlserver 开启sql server服务
net restart mssqlserver 重新启动sql server服务
net stop mssqlserver 关闭sql server服务
2、使用命令登陆(该方法可适用于在一台没有SQL Server的电脑去操作一台有SQL Server的电脑)
运行: sqpl ?/

[-S 服务器的名称] [-U 登陆名] [-P 密码]

出现1>表示连接成功,接下来就可以输入SQL语句来进行操作了。

二、基本概念知识
1、数据库登录名:
SQL Server安装以后,有一个超级管理员"sa"(super Administrator的简称),一般不要使用这个用户管理数据,也不能 把这个用户的密码设置为空,随便把该用户操作、密码设置为空都将给数据库带来很大的安全隐患,所以一般在安装完毕并创 建了其他登录名后,将sa账户进行禁用或删除。
如何新建一个数据库用户我在另一篇博客中写有。http://www.cnblogs.com/chenyongblog/p/3719408.html
2、系统数据库:
SQL Server中自带的系统数据库master,model,msdb,tempdb。
这里引用下这篇文章:深入了解SQLServer系统数据库工作原理
Master
Master数据库保存有放在SQLSERVER实体上的所有数据库,它还是将引擎固定起来的粘合剂。由于如果不使用主数据库,SQLSERVER就不能启动,所以你必须要小心地管 理好这个数据库。因此,对这个数据库进行常规备份是十分必要的。
这个数据库包括了诸如系统登录、配置设置、已连接的SERVER等信息,以及用于该实体的其他系统和用户数据库的一般信息。主数据库还存有扩展存储过程,它能够访问外部进程,从而让你能够与磁盘子系统和系统API调用等特性交互。这些过程一般都用像C++这样的现代编程语言。
如果不幸碰到系统崩溃而必须恢复主数据库的情况,你可以参看MCSE/MCDBA Steven Warren在TechRepublic上发表的文章。这篇文章讲得十分透彻,它解释了恢复 一重要数据库所需要的一些特殊步骤。
Model
Model是一个用来在实体上创建新用户数据库的模版数据库。你可以把任何存储过程、视图、用户等放在模型数据库里,这样在创建新数据库的时候,新数据库就会包含你放在 模型数据库里的所有对象了。
Tempdb
正如其名字所提示的,tempdb存有临时对象,例如全局和本地临时表格和存储过程。 (这里我理解我系统的临时表,例如我在做集合查询的时候,不想创建一个新表,我可以通过tempdb来保存数据)
这个数据库在SQLSERVER每次重启的时候都会被重新创建,而其中包含的对象是依据模型数据库里定义的对象被创建的。除了这些对象,tempdb还存有其他对象,例如表格 变量、来自表格值函数的结果集,以及临时表格变量。由于tempdb会保留SQLSERVER实体上所有数据库的这些对象类型,所以对数据库进行优化配置是非常重要的。
Msdb
Msdb数据库用来保存于数据库备份、SQL Agent信息、DTS程序包、SQLSERVER任务等信息,以及诸如日志转移这样的复制信息。
3、文件及组成类型
数据库文件由1个数据文件.mdf/.ndf和至少1个日志文件.ldf组成
4、服务器角色
(1)sysadmin:执行sql server中的任何动作
(2)serveradmin:配置服务器设置
(3)setupadmin:安装复制和管理拓展过程
(4)securityadmin:管理登陆和create database的权限以及阅读审计
(5)processadmin:管理sql server进程
(6)dbcreator:创建和修改数据库
(7)diskadmin:管理磁盘文件
5、数据库角色
(1)db_owner:可以执行数据库中技术所有动作的用户
(2)db_accessadmin:可以添加、删除用户的用户
(3)db_datareader:可以查看所有数据库中用户表内数据的用户
(4)db_datawriter:可以添加、修改或删除所有数据库中用户表内的数据的用户
(5)db_ddlaadmin:可以在数据库中执行所有DDL操作的用户
(6)db_securityadmin:可以管理数据库中与安全权限有关的
(7)db_backoperator:可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)
(8)db_denydatareader:不能看到数据库中任务数据的用户
(9)db_denydatawriter:不能修改数据库中任何数据的用户
三、数据库完整性
1、实体完整性约束:实体完整性要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。通过索引、唯一约束、主键约束或者表示列属性。
2、域完整性约束:域完整性指的是给定列输入的有效性通过限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束等多种方法,可以实现标的域完整性。
3、引用完整性约束:在输入或删除数据行时,引用完整性约束用来保持表之间已定义的关系。子表不能添加主表中设置了外键约束的列没有关联的内容。主表不能修改设置了外键约束的列,当子表有与之匹配的相关信息时,主表不能删除设置了外键的列,当子表有与之匹配的相关信息时,引用完整性通过主键和外键之间的引用关系来实现。
4、自定义完整性约束:用户自定义完整性用来定义特定的规则,通过数据库的规则,存储过程等方法来进行约束。
四、主键、外键
1、主键:当某些信息不允许重复时,这就需要有一个列,这个列的值用来唯一标识表中每一行,用于强制表的实体完整性,这样的列定义为表的主键。一个表只能有一个主键,主键约束确保了表中的行是唯一,尽管有的表个允许没有主键,但是通常情况下应当为表设置一列为主键。
2、外键:当子表某列的信息必须在主表存在的情况才能输入,就应当建立一种"引用"的关系,确保"子表"中的某个数据项在"主表"中必须存在。"外键"就是用来达到这个目的的,它是相对于主键而言的,就是"子表"中对应于"主表"的列,在子表中称为外键或者引用键,它的值要求与主表的主键或唯一键相对应,外键用来强制引用完整性。一个表可以有多个外键。
3、复合主键:如果两列或多列组合起来唯一地标识表中的每一行,则该主键也叫"复合主键"。当使用复合主键,数据输入时,必须跟所有设置了复合主键的列的数据都相同的情况才会被禁止输入。
4、主键选用原则:
(1)最少性是指列数最少的键,如果可以从单个主键和组合主键选择时,应该选择单个主键,这是因为操作一列比操作多列要快。当然该规则也有例外,例如,两个整数类型的列的组合比一个很大的字符类型的列要快。
(2)稳定性是指列中数据的特征,由于主键通常用来在两个表之间建立联系,所以主键的数据不要经常更新,理想情况下,应该永远不改变。
SQL Server基础的更多相关文章
- SQL server基础知识(表操作、数据约束、多表链接查询)
SQL server基础知识 一.基础知识 (1).存储结构:数据库->表->数据 (2).管理数据库 增加:create database 数据库名称 删除:drop database ...
- 数据库开发基础-SQl Server 基础
SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language 结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...
- 【SQL Server】SQL Server基础之存储过程
SQL Server基础之存储过程 阅读目录 一:存储过程概述 二:存储过程分类 三:创建存储过程 1.创建无参存储过程 2.修改存储过程 3.删除存储过程 4.重命名存储过程 5.创建带参数的存储 ...
- Sql Server 基础知识
Sql Server 基础知识: http://blog.csdn.net/t6786780/article/details/4525652 Sql Server 语句大全: http://www.c ...
- Sql Server 基础语法
来自:http://www.cnblogs.com/AaronYang/archive/2012/04/24/2468093.html Sql Server 基础语法 -- 查看数据表 select ...
- 《SQL Server基础——SQL语句》
SQL Server基础--SQL语句 一.创建和删除数据库: 1.创建数据库(默认化初始值) 格式: CREATE DATABASE 数据库名称 例如: CREATE DATABASE ...
- SQL Server基础之索引
索引用于快速找出在某个列中有某一特定值的行,不使用索引,数据库必须从第一条记录开始读完整个表,直到找出相关的行.表越大,查询数据所花费的时间越多,如果表中查询的列有一个索引,数据库能快速到达一个位置 ...
- sql server 基础教程[温故而知新三]
子曰:“温故而知新,可以为师矣.”孔子说:“温习旧知识从而得知新的理解与体会,凭借这一点就可以成为老师了.“ 尤其是咱们搞程序的人,不管是不是全栈工程师,都是集十八般武艺于一身.不过有时候有些知识如果 ...
- 【SQL server】SQL server基础(二)
一.一些重要的SQL命令 SELECT - 从数据库中提取数据 UPDATE - 更新数据库中的数据 DELETE - 从数据库中删除数据 INSERT INTO - 向数据库中插入新数据 CREAT ...
- SQL Server基础之《视图的概述和基本操作》
数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用, ...
随机推荐
- Maven中央存储库
当你建立一个 Maven 的项目,Maven 会检查你的 pom.xml 文件,以确定哪些依赖下载.首先,Maven 将从本地资源库获得 Maven 的本地资源库依赖资源,如果没有找到,然后把它会从默 ...
- flex的Cairngorm框架
由于要写flex的项目,接触了一段时间的Cairngorm框架,初步认识它是flex的一个mvc结构的框架实现了页面,调用相应方法的控制,和后台交互之间的三层之间的联系.Cairngorm框架主要包括 ...
- 用Ultra ISO制作启动U盘装系统
用UltraISO制作启动U盘可以在没有光驱的情况下装系统. 现在有大容量U盘的越来越多,而且不装光驱的也越来越多. 那么用U盘装系统成为了可能和必须,不多废话了. 首先,需要准备的有: Ultra ...
- linux配置tns
.三个配置文件都是放在$ORACLE_HOME\network\admin目录下. .sqlnet.ora确定解析方式 .listener.ora上设SID_NAME,通常用于JDBC访问,对应的错误 ...
- 【drp 9】Servlet生命周期
一.基本概念 Servlet(Server Applet):全称Java Servlet,是用Java编写的服务器端程序.其主要功能在于交互式地浏览和修改数据,生成动态Web内容.狭义的Servlet ...
- js 全选全不选
checkAll: function () { //全选 if ($("#chk_SelectAll").is(":checked")) { ...
- ASP.NET Session丢失的情况
正常操作情况下会有ASP.NET Session丢失的情况出现.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这么快就超时的. 现在我就把原 ...
- 手机NFC模拟门禁卡
楼主所在的某电子科技类大学,从宿舍楼到实验楼到图书馆办公楼,全部都有门禁,前两天突然在某安软件市场看到一个可以模拟门禁卡的软件,然而可能是我的手机系统太6了,竟然模拟不了,无奈自己动手,从根本上解决问 ...
- WP8_定位新页面中listbox的某项
即将跳转到页面A,在页面A中有一个listbox,在跳转的时候,接收参数,自动选中listbox中的某项 /// <summary> /// 接收参数,定位当前选中项 /// </s ...
- 码农谷 球从M米高度自由下落第N次落地时反弹的高度
题目描述 一球从M米高度自由下落,每次落地后返回原高度的一半,再落下.它在第N次落地时反弹多高?共经过多少米? 保留两位小数. 输入描述 M N 输出描述 它在第N次落地时反弹多高?共经过多少米? 保 ...