博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL2008笔记(一)
阅读量:6415 次
发布时间:2019-06-23

本文共 2138 字,大约阅读时间需要 7 分钟。

hot3.png

安装好的SQL Server第一次启动时至少包括4个系统数据库:

(1)master
(2)model
(3)msdb
(4)tempdb

1,master数据库

master数据库保存一组特殊的表(系统表)用于系统的总体控制。
例如:在服务器上新建一个数据库,则在master数据库中的sysdatabases表中加入该项。
所有拓展的存储过程和系统存储过程都存在master数据库中。

2,model数据库

model数据库是指可以基于该模型得到一个副本。model数据库构成任何数据库的模版。

3,msdb数据库

msdb数据库是SQL Agent进程存储任意系统任务的地方。
如果计划对一数据库每夜进行备份,则在msdb数据库中有一个记录项。如果每次执行任务时调度存储过程,
则在msdb数据库中会有一个记录。

4,tempdb数据库

在执行一个复杂或则大型的查询操作时,SQL Server可能需要创建一些中间表来完成,而这是在tempdb数据库中进行的。
只要创建临时表,这些表就会创建在tempdb中。
=========================================
一,主键
为实体设置主键,则应该满足下列条件:

1,该实体的每条记录都必须包含非空的值

2,该实体的每条记录都必须唯一

3,该值不能修改或变为空

4,每个实体只能定义一个主键

二,数据完整性

数据完整性意味着数据中的数据值是正确和一致的。数据完整性有两个方面:
实体完整性和引用完整性。

1,主键存在并且唯一的这种要求称为实体完整性

2,一旦在表之间使用外键定义了关系,这就必须管理键数据以维护正确的关系,即实施引用完整性。

==========================================
1,索引
索引是仅在特定表或视图架构内存在的对象。
索引类似书本的目录,利用索引可以加速信息的查找。索引分为两大类:
(1),聚集索引——每个表只能有一个聚集索引。聚集索引对应的表按照其索引进行物理排序。
如果为百科全书做索引,则聚集索引是书的页码,按页码排序保存百科全书的信息。
(2),非聚集索引——每个表可以有多个非聚集索引。非聚集索与百科全书后面的关键字目录相类似。

2,触发器

触发器是存在于表架构内的对象。触发器是在操作时(如进行插入,更新或删除等)自动执行的一些逻辑代码。
触发器有多种用途,但主要用于在输入时复制数据和更新数据时检查数据,确保数据满足相应的标准。
===========================================
视图是一种虚拟表。除了视图不包含本身的任意数据外,视图的使用基本与表的使用类似。
事实上视图仅仅是存储在表中的数据的一个预先计划的一个的映射和表示。视图以查询的形式存储在数据库中。
这种查询需要从一个或多个表中获取一些列的数据。
===========================================
验证方式:
(1)Windows身份验证
Data Source=.;Initial Catalog=testdb;Integrated Security=True

(2)SQL Server身份验证

Data Source=.;Initial Catalog=testdb;User ID=sa;Password=s123456

===========================================

go语句的作用:
向 SQL Server 实用工具发出一批 Transact-SQL 语句结束的信号。
将SQL语句分段执行。
GO 不是 Transact-SQL 语句;它是 sqlcmd 和 osql 实用工具以及 SQL Server Management Studio 代码编辑器识别的命令。
SQL Server 实用工具将 GO 解释为应该向 SQL Server 实例发送当前批 Transact-SQL 语句的信号。当前批语句由上一 GO 命令后输入的所有语句组成,如果是第一条 GO 命令,则由即席会话或脚本开始后输入的所有语句组成。
GO 命令和 Transact-SQL 语句不能在同一行中。但在 GO 命令行中可包含注释。
用户必须遵照使用批处理的规则。例如,在批处理中的第一条语句后执行任何存储过程必须包含 EXECUTE 关键字。局部(用户定义)变量的作用域限制在一个批处理中,不可在 GO 命令后引用。
===========================================
产生GUID
select NEWID();
Guid gid=  Guid.NewGuid();
如果用GUID做主键,插入数据跟显示数据的顺序不一样,因为它会按照GUID进行排序
我们可以跟GUID的字段设置默认值NEWID().
===========================================

原文链接:

转载于:https://my.oschina.net/changpinghu/blog/92483

你可能感兴趣的文章
OpenSSL学习(十六):基础-指令rand
查看>>
KeyMob致力于打造国内领先的移动广告平台
查看>>
路由选路原则
查看>>
jvm 学习(一)
查看>>
JavaScript简介
查看>>
SQL Server附加数据库拒绝访问解决方法汇总
查看>>
SM2算法原理及实现
查看>>
RHCA教材翻译计划
查看>>
js-小括号在不同场合下的作用
查看>>
我的友情链接
查看>>
kvm中虚拟机的硬盘扩容
查看>>
Android (Launch Mode) 四种启动模式
查看>>
透视学理论(二)
查看>>
Dubbo/HSF在Service Mesh下的思考和方案
查看>>
Django form表单
查看>>
CTYL-9.14(tomcat端口与阿里云安全组,域名与tomcat配置,域名与反向代理)
查看>>
Java 多线程相关问题记录
查看>>
LNMP架构介绍、MySQL安装、PHP安装、 Nginx介绍
查看>>
简单的Spark+Mysql整合开发
查看>>
阿里java面试经验大汇总(附阿里职位需求)
查看>>