5、SQL Server数据库

SQL Server数据库基础

一、安装SQL Server数据库

setup.exe->安装->全新SQL Server独立安装或向现有安装添加功能->输入序列号->下一步->默认实例->混合模式->输入sa密码->实例账号添加当前账号即可。

如果想要其他机器访问这台机器的sqlserver,需要使用windows防火墙中的入站规则,端口写1433.

二、SQL Server配置管理器

包含各个sql服务,连接数据库时,务必保证sql server服务已开启.

三、系统数据库

1、master数据库

主系统数据库,丢失该库,sqlserver将无法启动。

2、tempdb数据库

用来创建临时对象,包括临时表,存储过程,表变量,全局临时表以及游标等。

3、model数据库

sqlserver实例中创建的全部数据库的模型。

4、msdb数据库

主要用于sqlserver代理的支撑后台。

5、resource数据库

资源数据库,隐藏的制度数据库。主要用于改进sqlserver版本升级时的进程功能。

6、distribution数据库

分发数据库,只有将实例配置为复制的分发者时,该库才存在。复制中所有的元数据与各种类型的历史记录都存储在此数据库中。

四、数据库的组成

数据库主要由文件和文件组组成。数据库中的所有数据和对象(表、存储过程和触发器等)都被存储在文件中。

1、文件

主要数据文件:存放数据和数据库的初始化信息。每个数据库只有一个主要数据文件,默认扩展名是.mdf。
次要数据文件:存放除主要数据文件意外的所有数据文件。有些数据库可能没有次要数据文件,也可能有多个次要数据文件,默认扩展名是.ndf。
事物日志文件:存放用于恢复数据库的所有日志信息。每个数据库至少有一个事物日志文件,也可以有多个事物日志文件,默认扩展名是.ldf。

2.文件组
主文件组:包含主要数据文件和任何没有明确指派给其他文件组的文件。系统表的所有页都分配在主文件组中。
用户定义文件组:主要是在create database 或者alter database 语句中,使用filegroup关键字指定的文件组。

五、创建数据库
创建数据库时包括常规、选项和文件组 常规用于设置数据库的名称大小位置等,选项和文件组中定义数据库的一些选项,显示文件和文件组的统计信息,默认即可。
SQL Server 默认创建了一个primary文件组,用于存放若干个数据文件,但日志没有文件组。
SQL Server数据库的数据文件分逻辑名称和屋里名称。逻辑名称是在sql 语句中引用文件时所使用的名称;物理名称用于操作管理系统。

维护SQL Server数据库

一、脱机与联机

数据库->右键脱机,copy之后右键联机->完成

二、分离与附加

分离不是删除数据库而是从服务器中移除。 exec sp_detach_db @dbname=‘webDB‘

数据库->右键分离->需要时再右键附加上。create database webDB on (filename=‘c:\webDB.mdf‘),(c:\webDB.ldf) for attach

三、导入和导出

数据库->右键导入->选择数据源->完成。

数据库->右键导出->输入服务器名称,账号密码->选择导出方式->完成。

四、备份和恢复

数据库->右键备份->完整备份->完成。

数据库->右键恢复->选择bak文件->完全覆盖->完成。

五、收缩数据库和文件

因为数据库空间分配采用的是现分配、后使用的机制,所以数据库使用过程中就可能会存在多余的空间。收缩数据库功能允许对数据库的每个文件进行收缩。
数据库和日志文件都可以收缩,可以手动收缩额自动收缩。
自动收缩:数据库->右键属性->选项->自动收缩->完成。
手动收缩:数据库->右键任务收缩->数据库/文件->确定。

六、生成与执行SQL脚本

将数据库生成SQL脚本:数据库->编写脚本->create database ->完成。
将数据表生成SQL脚本:数据表->编写脚本->create table->完成。
执行SQL脚本:新建查询->输入脚本->执行。

数据表

一个数据库由多张数据表组成,每个数据表由行和列组成

一、数据类型

1、基本数据类型

精确数字类型:bigint、int、smallint、tinyint、bit、decimal、numeric、money、smallmoney。

浮点数据类型:freal、float。

字符数据类型:text、ntext、char、nchar(n)、varchar、nvarchar(n)。

二进制数据类型:binary、varbinary、image。

日期/时间数据类型:time、date、smalldatetime、datetime、datetime2、datetimeoffset。

2、用户自定义数据类型

2.1 可编程性->类型->用户自定义数据类型->右键新增数据类型。

2.2 exec sp_addtype code_name,‘char(8)‘,‘not null‘

二、数据表的数据完整性

表中的每一列都有一组属性,如名称、数据类型、数据长度和是否为空等。

1.空与非空值(null/not null):定义是否允许为空

2.默认值(default):默认指定值。

3.标识属性(identity):自动为表中插入新行生成连续递增的编号,因标识值通常唯一,所以标识列通常定义为主键(整型数据类型,标识列不能为空)。

4.约束:用来定义自动强制数据库完整性的方式,约束优先于使用触发器、规则和默认值。

非空:用户必须输入一个值。可以有多个非空约束。

检查:用来指定一个布尔操作,限制输入到表中的值。

唯一性:用户的应用程序向列中输入一个唯一的值,值不能重复,但可以为空。

主键:可以保证实体完整性,一个表只能有一个主键,主键不能为空。

外键:控制存储在外键表中的数据。一个表可以有多个外键。

三、企业管理器管理数据表

创建表:数据库->表->右键新建表->输入列名->选择数据类型->是否允许空->保存输入表名。

修改表:数据库->表->右键设计。

重命名:数据库->表->f2。

删除表:数据库->表->右键删除。

非空约束->列->列属性->允许NULL -> 是/否。

主键约束->列->右键->设为主键->完成。

唯一约束->列->索引/键->唯一->是->完成。

检查约束->列->右键->check约束->表达式->完成。

默认约束->列->列属性->默认值。

外键约束->列->右键->关系->表和列规范->选择外键表列。

四、关系的创建与维护

SQL Server 是一个关系数据库管理系统(Relational Datable Management System,RDBMS),当数据库中包含多个表时,需要通过主关键字来建立表之间的关系。

主表user 从表work 主表wid右键->关系->主键work id 外键 user wid。

五、计算列

列属性->计算列规范->公式。

时间: 2024-08-10 15:09:23

5、SQL Server数据库的相关文章

SQL server数据库的在server 2008R2上的安装及基本管理

         SQL server数据库的在server 2008R2上的安装及基本管理(一) 选择SQL的数据库的镜像文件 双击setup.ext 执行安装程序 这里选择安装项,并选择全新安装 安装的环境监测全部通过 因为这里是使用的破解版的镜像,所以会自动生成密钥 再一次检测安装环境 这里选择第一项 这里选择全部的功能 这里选择默认的实例名 这里将系统的内置账户添加到服务中,NT 这里选择混合式身份 验证,并输入sa的密码.并添加本地的管理员 这里添加本地的管理员账户 选择第一项 开始安

SQL Server数据库镜像关键性能计数器

SQL Server数据库镜像关键性能计数器 监视数据库镜像基本有以下5种方法: 1. 配置数据库镜像监视器.设置告警阈值. 2. 配置WMI EVENT ALERT,配置镜像状态修改后的动作或告警. 3. 使用系统监视器查看关键性能计数器. 4. 部署作业监控异常镜像状态,发送告警. 5. 使用sp_dbmmonitorresults获取镜像数据. 当然,使用扩展事件和SQL Server Profiler也能监控到数据库事件中的数据库镜像状态修改.这种工具主要用于跟踪,而非监控的常规手段.

[转]C#操作SQL Server数据库

转自:C#操作SQL Server数据库 1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调用: 第三,对SQL或存储过程执行后返回的“结果”进行操作. 对返回“结果”的操作可以分为两类: 一是用SqlDataReader直接一行一行的读取数据集: 二是DataSet联合SqlDataAdapter来操作数据库. 两者比较: SqlDataRead

SQL Server数据库空间管理 (1)

数据库经常遇到的问题: 1).数据库文件空间用尽  2).日志文件不停增长 3).数据库文件无法收缩  4).自动增长和自动收缩 本系列就以上面的4个问题入手分析并总结数据库空间的管理方法.   1.文件的分配方式以及文件空间检查方法 首先,你在你的数据库中运行sp_spaceused;之后会看到当前数据库的使用空间信息:这个命令也就会将大概的数据库空间信息给你展现出来,并不能查看每个数据文件和日志文件的使用情况:其中对于数据库tempdb来说里面存储的临时数据对象,这个命令是统计不到的.我们知

.NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库

今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将运行在Linux上的示例站点(http://about.cnblogs.com)升级到了ASP.NET 5 RC1,并且增加了数据库访问功能——基于Entity Framework 7 RC1访问SQL Server数据库. 示例站点页面左侧的导航是从数据库读取数据动态加载的,数据库服务器用的是阿里

50种方法优化SQL Server数据库查询(转载)

原文地址:http://www.cnblogs.com/zhycyq/articles/2636748.html 查询速度慢的原因很多,常见如下几种: 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用

SQL Server数据库性能优化之SQL语句篇(转载)

SQL Server数据库性能优化之SQL语句篇 原文地址:http://www.blogjava.net/allen-zhe/archive/2010/07/23/326927.html 期项目需要,做了一段时间的SQL Server性能优化,遇到了一些问题,也积累了一些经验,现总结一下,与君共享.SQL Server性能优化涉及到许多方面,如良好的系统和数据库设计,优质的SQL编写,合适的数据表索引设计,甚至各种硬件因素:网络性能.服务器的性能.操作系统的性能,甚至网卡.交换机等.这篇文章主

提高SQL Server数据库效率常用方法

1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,没有优化 ●可以通过如下方法来优化查询 : 1.把数据.日志.索引放到不同的

SQL Server数据库ROW_NUMBER()函数使用

下面以几个实例来说明ROW_NUMBER()函数的使用. 实例如下: 1.使用row_number()函数进行编号,如 select email,customerID, ROW_NUMBER() over(order by psd) as rows from QT_Customer 原理:先按psd进行排序,排序完后,给每条数据进行编号. 2.在订单中按价格的升序进行排序,并给每条记录进行排序代码如下: select DID,customerID,totalPrice,ROW_NUMBER() 

Powerdesigner逆向工程从sql server数据库生成pdm【转】

Powerdesigner逆向工程从sql server数据库生成pdm 第一步:打开"控制面板"中的"管理工具" 第二步:点击"管理工具"然后双击"数据源(odbc)" 第三步:打开之后,点击"添加" 第四步:选择"sqlserver" 点击"完成" 第五步:跟据自身的情况填写 说明: 名称和描述可以自己命名,服务器就是你的数据库地址(下图) 第六步:填写好登录名和