数据库设计-SQL Server开发实现学习

1.目录

  1. SQL Server数据库基础
  2. T-SQL语言编程框架
  3. 实例规范:项目

笔记1

SQL Server数据库基础


1. 1数据库及其对象
  • SQLserver的数据库是所涉及的对象以及数据的集合。(不仅反映数据本身的内容,而且反映对象以及数据之间的联系)
  • SQL server将数据库映射为一组操作系统文件。(数据和日志信息从不混合在相同的文件中,而且个文件仅在一个数据库中使用)
  • SQL Server包含5个系统数据库和若干数据库对象。
1.2 数据库文件分类
  • SQL server数据库具有以下3种类型的文件:主数据文件.mdf,次要数据文件.ndf,日志文件.ldf。
  • SQL Server的文件拥有两个名称:逻辑文件名和物理文件名。
1.3 数据库文件组
  • 为了便于分配和管理,可将数据库对象和文件一起分成文件组。SQL Server有两种类型的文件组
  • 主文件组:包含主数据文件和任何没有明确分配给其他文件组的其他文件。
  • 用户定义文件组:是通过在create database或者alter database语句中使用filegroup关键字指定的任何文件组。
  • 日志文件不包括在文件组内。日志文件和数据空间分开管理。
概念清晰
2.1数据库对象

数据在逻辑上被组织成一系列对象,当一个用户连接到数据库后,看到的是逻辑对象,而不是物理的数据库文件:

  • 表:具体组织和存储对象
  • 记录:表中每一行数据
  • 主键:其值唯一确定每一条记录
  • 外键:存在于表A中,不是A的主键,是B表的主键;那么称其为是A表相对于B表的外键(实现表和表之间的参照完整性)
  • 索引
  • 约束:实施数据一致性和数据完整性的方法或者说是一套机制。他包括主键页数、外键约束、check约束、unique约束
  • 规则:限制表中字段的有限范围
  • 存储过程:经过编译的可重复使用代码组合
  • 触发器:一种特殊的存储过程,与表格或者某些操作关联。当用户对数据进行插入、修改、删除或数据库(表)建立、修改、删除时激活,并自动执行。
2.2数据库操作
  • 创建、打开数据库
  • 使用存储过程;
  • 在SQL Server Management Studio数据库配置
  • 删除数据库

笔记2

T-SQL数据库编程


1.1函数
  • 系统内置函数:按函数功能分类;

  • 用户定义函数:针对特定应用程序问题解决方案。根据返回值形式不同分类:

  • 标量函数

  • 内嵌表值函数

  • 多语句表值函数

1.2存储过程
1. 定义:

将多次调用以实现某个特定任务的代码段编写成一个过程,将其保存在数据库中。由SQL Server通过过程名调用他们。

2. 可以实现:

(1) 接受参数 并以 输出参数的形式 将多个数据值返回给调用过程或批处理。
(2)包含用于在数据库中执行操作的各种语句(包括调用其他过程)
(3)向调用过程或批处理返回状态值,以指明成功或失败(以及失败的原因)。

3. 分类:

(1)系统存储过程–主要用于系统管理。
(2)用户自定义存储过程用于实现用户自己所实现的操作。

4.优点:

(1)预编译,减少编译语句花费的时间;
(2)引用其他存储过程,简化复杂语句
(3)执行速度快
(4)可作为一种安全机制

5.T-SQL语句创建存储过程+调用语句在这里插入图片描述在这里插入图片描述
1.3T-SQL游标
1.定义:处理数据的一种方法。

查询语句中返回的所有满足条件的行集称为结果集;游标用于得到满足实际开发应用程序时需要的结果集中的一行或部分行

2.游标作用:
  • 允许应用程序对查询语句的结果集中每一行进行相同或不同的操作,而不是一次对整个结果集进行同一种操作。

  • 把游标当做一个指针,可以指定结果中的任何位置,然后允许用户对指定位置的数据进行处理。(游标数据保存在内存中,提取速度快)

  • 游标把作为面向集合的数据库管理系统面向行的程序设计两者联系起来。

3.具体处理
  • 定位特定行
  • 从当前位置检索一行或多行
  • 支持对结果集中当前位置进行数据修改
  • 为由其他用户对显示在结果集中的数据库数据所提供的更改提供不同级别的可见性支持(权限)。
  • 提供脚本、存储过程和触发器中使用的访问结果集中的数据的T-SQL语句
4.游标的使用
T-SQL游标(主要学)
  • 由declare cursor语法定义、主要用在T-SQL脚本、存储过程和触发器中。
  • T-SQL游标主要用在服务器上,由从客户端发送给服务器的T-SQL语句或是批处理、存储过程、触发器中的T-SQL管理
使用(T-SQL)游标

在这里插入图片描述

1.4视图
创建视图的目的:
简化查询
创建临时表(虚拟表,不是物理表),增加数据的保密性(隐藏部分信息)。
可通过视图修改原数据,有限制,一般视图用于查询(不建议用来修改数据)。
视图缺点:
增加了数据库维护的成本;
视图只是简化了查询,但是并不能加快查询的速度。

笔记3

业务实现

项目名称:书店销售与信息管理系统
业务需求实现:
事务机制:
  • 什么是事务:一系列操作要么全部执行成功,要么全部执行失败,这就是事务
  • 保证数据的合理性和并发处理的能力;事务必须保证多个用户对共享资源同时访问时,数据库给用户的反应是合理的。
  • 创建事务

在这里插入图片描述

实现:
  1. 为什么使用存储过程:封装代码+调用:重复使用效率高
  2. 学习存储过程:
  • 存储过程:学什么–增删改查:
  • 参数+返回值=4种
  1. 存储过程命名规范:pr_select_books

补充:实现代码过程中细节:

  1. getdate()与datetime数据类型的细节问题
  2. 触发器使用:在表中插入、更新或删除时被自动激活更新。
SQL Server为每个触发器都创建了两个专用表:Inserted和Deleted表,
由系统维护。触发器执行完成后,
与该触发器相关的这两个表也被删除。
Instead of 和 After触发器

after触发器在更新语句之后发生。
instead of触发器可以取代激发它的操作来执行。

  1. SQL Server数据类型
  2. SQL text数据类型

猜你喜欢

转载自blog.csdn.net/qq_43642447/article/details/105699189