S2→SQL Server数据库知识点(一)

2014-11-24 16:29:23 · 作者: · 浏览: 0
S2→SQL Server 数据库知识点
数据冗余是指同一数据被反复存放。
·数据的不一致性是指同一数据在不同的地方有不同的取值。
·数据库的设计就是在规划和结构化数据库中的数据对象(如:数据表)以及这些数据对象之间的关系的过程。
·概念模型是现实世界的抽象反映,不依赖于具体的计算机系统,是现实世界到机器世界的一个中间层次。
·客观存在并可以相互区分的事物叫实体。
·属性是实体所具有的某些特性,通过属性对实体进行描述。
·实体在之间的关系有三种:一对一关系、一对多关系、多对多关系。
·在E-R概念模型中,信息由实体、实体属性和实体之间的关系3中概念单元来表示。
·在 数据库设计过程中,对数据库进行检查和修改并使他返回范式的过程叫做规范化。
·范式按照规范化的级别分为5中:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)。
·数据库的设计分为6个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施阶段、数据库运行和维护。
                  【二】数据库的实现
1.创建数据库
·使用master数据库
  use master
  go
·启动执行dos命令的 组件
  exec sp_configure'show advanced options',1
  reconfigure
  ecex sp_configure'xp_cmdshell',1
  reconfigure
·使用存储过程创建文件夹
  exec xp_cmdshell'md 盘符:\路径\......\文件夹名',no_output
·判断数据库是否存在
  if exists(select * from sys.sysdatabases where name='数据库名')
   --如果数据库存在,则先删除 数据库
  drop database 数据库名
  go
* 注意:sys.sysdatabases表是一张 系统表,用于存放所有的数据库信息
或:
  if DB_ID('数据库名') is not null
  drop database 数据库名
  go
* 注意:DB_ID('数据库名')函数用于得到数据库在sys.sysdatabases表中的ID值,如果数据库存在,则返回数据库的ID值,如果不存在,则返回null值
·创建数据库
  create databse 数据库名 on(
    name='数据库的文件名',--设置数据库文件名;命名规则:数据库名_data或数据库名
    filename='盘符:\路径\主数据库_mdf',--主数据文件保存位置
    size =3MB,--文件初始大小
    maxsize=10,--文件可以增长的最大值,可以无限制增长(unlimited)
    filegrowth=1MB,--文件增长方式
)
log on --设置日志文件(
    name='日志文件名',--设置日志文件名;命名规则:数据库名_log
    filename='盘符:\路径\日志文件名'_ldf',--日志文件保存位置
    size =3MB,--文件初始大小
    maxsize=10,--文件可以增长的最大值,可以无限制增长(unlimited)
    filegrowth=1MB,--文件增长方式
go
·使用数据库
  use 数据库名
  go
2.创建表
·判断表是否存在
  if exists(select * from sys.sysobjects where name='表名')--如果表存在就先删除表
  drop table 表名
  go
*注意:系统表sys.sysobjects用于存放表和表中的约束信息
或:
  if OBJECT_ID('表名')is not null
  drop table 表名
  go
* 注意:OBJECT_ID('表名')函数用于得到表在sys.sysobjects表中的ID值,如果表存在,则返回ID值,如果不存在,则返回null值
·创建表
  create table 表名(
    列名 数据类型 null\not null identity(初始值,增长值)
go
·给表添加约束
  alter table 表名
    add constraint 约束名 约束内容
      constraint PK_表名_列名 primary key(列名) --主键
      constraint UQ_表名_列名 unique(列名)--唯一约束
      constraint DF_表名_列名 default(默认值) for 列名 --默认类型
      constraint CK_表名_列名 check(...约束的条件)  --check检查约束
      constraint FK_从表名_主表名_从表的列名 foreign key(从表的列名) references 主表名 (主表的列名)   --外键
·删除约束
  alter table 表名
    drop constraint 约束名称
  go
·添加列的语法
  alter table 表名
    add { 字段 数据类型 字段特征}[......n]
·删除列
  alter table 表名
    drop column{字段}[....n]
·修改列
  alter table 表名
    alter column 字段 数据类型 [null | not null]
3.数据库安全管理
·SQL Server 通过两种身份认证方式来判断登录帐号和密码的有效性:一种是Windows身份认证方式和 SQL Server 和Windows 混合身份验证方式。
·创建登录帐号
  create login 登录名称 with password='登录密码'
·修改登录帐号
  Alter login 登录名称
    with< set_option>[,....]
*注意:部分的可以为“password='新密码'”或者为“name =新登录名称”。
·启动或禁用登录帐号
  Alter login 登录名称{enable | disable}
  go
·删除登录帐号
  dr