SQL Serve基础

数据库:

              存储数据的一个仓库。

数据库系统:

              数据工作流程,由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件管理平台(软件)五部分组成的一个数据流通运行实体.

数据库管理系统(DataBase Management System):

               管理数据的一个软件,是数据库的一个重要组成部分,是位于用户与操作数据之间的一层数据管理软件,负责数据库中的数据组织、数据操纵、数据维护和数据服务等。

管理数据库:

              1.存储数据

              2.操纵数据(增、删、改、查)

              3.数据定义

              4.数据库运行管理

              5.数据库建立与维护功能(创建和维护)

数据库与数据库管理系统

         实体的概念和数据库

       实体

        对象:客观存在的事物都是实体

        例如:1台电脑、1辆汽车、1个人

       实体数据存储要求

       必须按照一定的分类和规律进行存储

       数据库

      专门用于存储这些实体的信息的数据集合,计算机通过这种方式将实体进行存储

       数据库的特点

  1. 海量存储数据、数据检索非常方便

  2. 保持数据信息一致、完整、实现数据的共享和安全性

  3. 通过组合分析,可以产生新的有用的信息

        实体存储的基本单元

       数据表-类似于

     实体信息存储的基本单元是数据表,同类实体存放在同一个表中,表又称为实体集合

         数据表名词:

      1.行:记录一个实体,  类似于(对象)

      2.列(子段):实体属性, 类似于(对象属性)

数据库理解:

       1.由大量的数据、表间的关系,以及各种数据操作对象集合组成的一个集合

       2.不是一个简简单单的数据组合场所

 

DBMS

          由一个用户使用的数据库管理软件,其目的是让用户通过操作数据库管理系统来完成对数据的操作处理。

DBMS的功能

           1.创建数据库:能够提供数据定义语言(Data Defination Language,----DDL),利用数据定义语言可以方便的创建数据库(数据库、数据表、表关系、各种对象)

           2.操作数据库:能够提供数据操纵语言(Data Manipulation Languge----DML),实现对数据的增、删、改、查、统计等数据操作处理功能。

### SQL Server 触发器使用指南 #### Instead Of 触发器概述 Instead Of 触发器用于替代引起触发器执行的T-SQL语句。这种类型的触发器不仅可以应用于表,还可以应用于视图,从而扩展视图能够支持的更新操作种类。一旦在表上尝试执行插入、更新或删除等操作时,如果有相应的INSTEAD OF触发器存在,则不会执行原定的操作,转而运行该触发器内定义的具体逻辑[^1]。 #### 创建 Instead Of 触发器实例 下面是一个简单的例子来展示如何创建一个针对视图的INSTEAD OF触发器: ```sql CREATE VIEW vw_ExampleView AS SELECT column1, column2 FROM ExampleTable; GO CREATE TRIGGER trg_InsteadOfInsert ON vw_ExampleView INSTEAD OF INSERT AS BEGIN -- 自定义插入逻辑代替默认行为 INSERT INTO ExampleTable (column1, column2) SELECT inserted.column1, inserted.column2 FROM inserted; END; ``` 此代码片段展示了怎样通过创建名为`trg_InsteadOfInsert`的INSTEAD OF触发器,在试图向视图`vw_ExampleView`中插入新记录时不直接进行实际的数据写入动作,而是按照自定义的方式处理这些请求并最终将数据存入基础表`ExampleTable`之中。 #### After/Audit Triggers 示例 除了上述到的INSTEAD OF触发器外,SQL Server还供了AFTER(也称为FOR)触发器,这类触发器会在指定事件发生之后立即激活,并可用于审计的或其他后续处理任务。这里给出一段示范性的AFTER触发器编写方式: ```sql CREATE TABLE EmployeeAudit ( AuditID INT IDENTITY(1,1), EmpID INT, Action VARCHAR(50), ChangeDate DATETIME DEFAULT GETDATE() ); CREATE TRIGGER trg_AfterUpdateEmployee ON Employees AFTER UPDATE AS BEGIN IF UPDATE(Salary) BEGIN INSERT INTO EmployeeAudit(EmpID,Action) SELECT i.EmpID,'Salary Updated' FROM inserted i JOIN deleted d ON i.EmpID=d.EmpID; END END; ``` 这段脚本说明了如何设置一个跟踪员工薪资变动情况的日志系统——每当有对Employees表中的工资字段做出任何改动的时候,都会自动把相关信息记录到辅助表格EmployeeAudit里去[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值