SQL Server:数据库基础

绪论

1.1 数据、信息与数据处理

(1) 数据(Data):是数据库中存储的基本对象;

  • 定义:描述事物的符号记录,是信息的符号表示,或称载体;
  • 种类:数字、文本、图形、图像、声音、视频,学生的档案记录(40951001, 王二小,男,1988,内蒙,tx1201)等。

(2) 信息:数据的内涵,是数据的语义解释。

(3)数据处理:将数据转换成信息的过程;数据管理: 是数据处理的核心。

1.2 数据管理技术的产生与发展
  1. 人工管理阶段(20世纪50年代中期前)
  • 数据不保存
  • 应用程序管理数据
  • 数据不具有独立性和共享性
  1. 文件系统阶段(20世纪50年代后期到60年代中期)
  • 数据以文件形式可以长期保存在外存储设备上
  • 由文件系统管理数据( “按名访问,按记录存取 ” )
  • 数据共享性差,冗余度大( 面向应用 )
  • 数据独立性差
  1. 数据库系统阶段(20世纪60年代后期至今)
  • 数据结构化, 并与程序分离
  • 数据的共享性高,冗余度低,易扩充(集中存储)
  • 数据独立性高
  • 数据由数据库管理系统统一控制
数据库系统阶段——数据独立性高
  • 物理独立性
    用户的应用程序与数据库中数据相互独立。当数据的存储格式和组织方法改变时,不影响数据库的逻辑结构,从而不影响应用程序。
  • 逻辑独立性
    指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序不用改变。
  • 数据独立性由DBMS的二级映像功能来保证。
数据库系统阶段——DBMS提供数据控制功能

(1) 数据的安全性( (Security) ) 控制
保护数据 , 以防止不合法的使用造成的数据的泄密和破坏 。
(2) 数据的完整性( (Integrity) ) 控制
将数据控制在有效范围内 , 或保证数据间满足一定的关系 。
(3) 并发( (Concurrency) ) 控制
对多用户的并发操作加以控制和协调 , 防止相互干扰 。
(4) 数据恢复( (Recovery) )
将数据库从错误状态恢复到某一已知的正确状态 。

数据库系统的发展
  • 初级阶段——第一代数据库
    出现了层次模型、网状模型的数据库
  • 中级阶段——第二代数据库
    关系型数据库和结构化查询语言
  • 高级阶段——新一代数据库
    “面向对象”型数据库
1.3 数据库系统的组成

数据库系统(Database System,DBS)包括以下5部分:

  • 数据库
  • 数据库管理系统
  • 硬件系统
  • 软件系统
  • 人员(管理员、分析员、设计员、程序员和用户)
  1. 数据库(Database,简称DB)是长期储存在计算机内、有组织的、可共享的大量数据的集合。
    数据库的基本特征
  • 数据按一定的数据模型组织、描述和储存
  • 可为各种用户共享
  • 冗余度较小
  • 数据独立性较高
  • 易扩展
  1. 数据库管理系统(Database ManagementSystem ,简称DBMS)
  • 管理数据库的系统软件 ,是 数据库系统的核心
  • 位于用户与操作系统之间的一层数据管理软件。

    DBMS的主要功能
  • 数据定义功能(DDL)
  • 数据操纵功能(DML)
  • 数据库的事务管理和运行管理
  • 数据库的建立和维护功能
  • 数据通信
  1. 硬件系统
    硬件系统要有足够的内存用来存放操作系统、DBMS的核心模块、数据缓存、应用程序及数据备份等。
  2. 软件系统
    包括DBMS、支持DBMS运行的操作系统和具有数据访问接口的高级语言及其编程环境。
1.4数据模型


根据应用目的,模型分为两个层次:

  1. 概念模型( 信息模型)
  • 按用户的观点 ,独立于计算机实现的,只用来描述和组织 所关心的信息 结构的概念数据模型, 强调语义
  • 数据库设计人员和用户之间进行交流的语言
  • 对应于信息世界
  1. 数据模型
  • 按计算机系统的观点,直接面向计算机系统的,描述数据库中数据的逻辑结构的基本数据模型
  • 对应于数据世界(机器世界)
  • 包括逻辑模型物理模型
概念模型(信息世界中)的基本概念
  • 实体Entity :客观存在并相互区别的事物。具体的人、事、物,抽象的概念(订货)
  • 属性Attribute :实体或联系的特征。学生(学号,姓名,性别)
  • 码,键Key :唯一标识实体的属性或属性组
  • 域Domain :属性的取值范围。性别(男,女)
  • 实体型Entity Type :实体名+属性名集合
  • 实体集Entity Set :同型实体的集合
  • 联系Relationship: 实体与实体之间的联系
实体间的联系

实体之间的对应关系称为联系,它反映了现实世界事物之间的相互关联。
联系的类型:

  • 一对一联系 记为1 :1。
  • 一对多联系 记为 1:n。
  • 多对多联系 记为m :n。
概念模型的表示方法

E-R图:提供了表示实体、属性和实体间联系的方法

建立E-R图的步骤
  1. 确定实体和实体的属性
  2. 确定实体和实体之间的联系及联系的类型
  3. 给联系和实体加上属性。
E-R模型实例

数据模型定义
  • 数据模型是表示实体类型和实体间联系的模型,是机器世界对现实世界中的数据和信息 抽象、表示和处理 。
  • 包括逻辑模型和物理模型。
数据模型的组成要素(三要素)

数据结构、 数据操作和 数据完整性约束

数据结构
  1. 数据结构的概念
  • 实体及实体间联系的 表示方法,描述了系统的 静态特性.
  1. 数据结构描述的内容
  • 对象的数据类型、内容、性质有关的对象;
  • 与数据之间联系有关的对象;
数据操作
  1. 概念
  • 对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则,是对系统 动态特性的描述。
  1. 数据操作的类型(2大类)
  • 数据检索(查询)
  • 数据更新(包括插入、删除、修改)
数据完整性约束
  1. 概念:完整性规则是给定的数据模型中数据及其联系所具有的 制约和依存规则。
  2. 作用:限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。
  3. 四种类型:实体完整性约束、域完整性约束、参照完整性约束和用户自定义完整性约束。
最常用的数据模型

非关系模型

  • 层次模型(Hierarchical Model)
    层次模型是数据库系统中最早出现的数据模型;
    层次数据库系统的典型代表是IBM 公司1968年 年推出的IMS(Information Management System);
    层次模型用 树形结构(“ 有向树”) 来表示各类实体以及实体间的联系.

  • 网状模型(Network Model)
    典型代表是DBTG;
    通过 有向图结构 表示实体及联系。“网”中每个结点表示一个实体( 型) ,结点之间箭头表示实体( 型);
    网状数据模型可能有多个根结点,某些非根结点可能有多个父结点,适合表示实体的多对多联系。

关系模型(Relational Model)

  • 1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型
  • 关系数据结构:规范化的二维表(关系)
    一个关系就是没有重复行和重复列的二维表,二维表的每一行在关系中称为元组,每一列在关系中称为属性。学生关系的每一行代表一个学生的记录,每一列代表学生记录的一个字段。属性个数(n)称为关系的元。
    image.png
三种模型比较

1.5数据库系统结构
  • 数据库系统内部的体系结构
    从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构。
  • 数据库系统外部的体系结构
    从数据库最终用户角度看,数据库系统的结构分为:集中式结构;客户/服务器结构;浏览器/应用服务器/数据库服务器多层结构等。
  • 为了有效地组织、管理数据,提高数据库的逻辑独立性和物理独立性,数据库设计的标准体系结构是3 级模式结构,即外模式 ,模式内模式
  • 对应于体系结构,用户或程序员看到或使用的数据库内容被称为视图,可把视图相应分为:
  1. 对应于用户的外部视图( 用户视图)
  2. 对应于应用程序员的 (概念视图)
  3. 对应于系统程序员的内部视图( 存储视图)
  • 模式(Schema,也称逻辑模式,概念视图)
    – 数据库中 全体数据的逻辑结构和特征 的描述。
    – 一个数据库只有一个模式
    – 模式的地位:是数据库系统模式结构的中间层
  • 外模式(External Schema)
    – 也称 子模式或用户模式;
    – 数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。
    – 外模式的地位:介于模式与应用之间
    – 外模式通常是模式的子集
    – 一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
  • 内模式(Internal Schema)
    – 是 数据物理结构 和 存储方式
    – 是数据在数据库内部的表示方式
    3级模式是对数据的三个抽象级别
    2级映象在DBMS 内部实现这三个抽象层次的联系和转换 ;
  • 外模式\ 模式映像
    – 保证数据的逻辑独立性
    – 同一个模式可以有任意多个外模式,外模式/模式映象定义外模式与模式之间的对应关系;
    – 当模式改变时,外模式/模式映象使外模式保持不变;
    – 应用程序是依据数据的外模式编写的,从而不必修改应用程序,保证了数据与程序的逻辑独立性
  • 模式\内模式映像
    – 保证数据的物理独立性
    – 模式/内模式映象定义了数据 全局逻辑结构与 存储结构之间的对应关系。
    – 当数据库的存储结构改变了,模式/内模式映象使模式保持不变。
    – 应用程序不受影响。保证了数据与程序的物理独立性。

从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为:

  • 集中式数据库系统
  • 客户/服务器(C/S)系统结构
  • 分布式数据库系统结构
  • 浏览器/服务器(B/S)系统结构

关系数据库

2.1关系数据模型的基本概念

关系模型的组成(三要素)

  • 关系数据结构(静态特性)
    现实世界的实体以及实体间的各种联系均用关系来表示;
    数据的逻辑结构----二维表
  • 关系操作集合(动态特性)
    插入、删除、修改、查询(选择、投影、连接、除、并、交、差)
  • 关系完整性约束
    实体完整性、参照完整性、域完整性、用户定义完整性

1) 关系: 通常将一个无重复行、重复列的二维表看成一个关系,每个关系都有一个关系名。
2) 元组: 二维表的每一行在关系中称为元组。描述了现实世界中的一个实体或不同实体间的一种联系。
3) 属性: 二维表的每一列在关系中称为属性,每个属性都有一个属性名,各个属性的取值称为属性值。每个属性有一定的取值范围,称为值域。
4)域 (Domain): 关系中每个属性所对应的变化范围叫做属性的变域或简称域,关系中所有属性的实际取值必须来自它对应的域。
5)分量: 一个元组在一个属性域上的取值称为该元组在此属性上的分量。
6)关系模式: 二维表的表头那一行称为关系模式,即一个关系的关系名及其全部属性名的集合。关系模式是概念模型中实体型及实体型之间联系的数据模型表示。 一般表示为:
关系名(属性名1,属性名2 , ……,属性名n)
关系模式指出了一个关系的结构;而关系则是由满足关系模式结构的元组构成的集合。关系模式是稳定的、静态的,而关系则是随时间变化的、动态的。
7) 候选码(Candidate key): 若关系中的某一属性或属性组合的值能唯一地标识一个元组,则称该属性组为候选码
在最简单的情况下,候选码只包含一个属性。
在最极端的情况下,关系模式的所有属性组是这个关系模式的候选码,称为全码(All-key)
8) 主码: 若一个关系有多个候选码,则选定其中一个为主
码(Primary key)
9)主属性和非主属性
– 主码的各个属性称为主属性(Prime attribute)。
– 不包含在任何候选码中的属性称为非主属性Non-key attribute)
10)外码: 如果关系中某个属性或属性组合并非码,但却是另一个关系的主码,则称此属性或属性组合为本关系的外码或外键(ForeignKey)。在关系数据库中,用外码表示两个表间的联系。

2.2关系数据模型的集合论定义
笛卡尔积

  • 笛卡尔积可表示为一个二维表。表中的每行对应一个元组,表中的每列对应一个域。
  • 基数(Cardinal number)
关系
  • 笛卡尔积中的任意子集叫作在域 上的n元 关系,简称关系。
  • n元关系就会有n个属性。一个关系中的每一个属性的属性名都不同,对应参与笛卡儿积运算的每个集合的名称。
  • 一个属性的取值范围Di 称为该属性的域(Domain)。
基本关系的性质

关系模式

2.3 关系模型的完整性约束

数据库系统提供的监测机制,确保存储数据的规范,称为完整性约束。

  • 实体完整性
    实体完整性通过定义 主码 来实现的。若属性A A 是关系R R 的主属性,则A A 不能取空值且取值唯一 ;
    一个关系模型中的所有 元组都是惟一 的,没有两个完全相同的元组,也就是一个二维表中没有两个完全相同行,也称为行完整性
  • 域完整性
    对关系R R 中属性(列)数据的规范,也称列完整性,限制属性的 数据类型、格式、取值范围、是否允许空值 等。
  • 参照完整性
    参照完整性是通过定义 外 键 FK ( 存在或为空) 来建立实体间联系的。
    如外键取空,则 FK 中的每个属性的分量都是空值。
  • 用户定义完整性
    针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。
2.4关系代数

笛卡尔积

选择(限制)

投影(Projection)

连接(Join )



除(Division )

SQL Server 2008 数据库基础

SQL Server 简介
  • 常见数据库产品包括甲骨文公司的Oracle系统,IBM 公司的DB2 系统和Informix 系统,赛贝斯公司的Sybase ASE 系统,微软公司的Microsoft SQL Server 系统和Access 系统,以及MySQL
  • 2008 年8 月,微软发布Microsoft SQL Server 2008 系统,其代码是Katmai 。该系统在 安全性、可用性、易管理性、可扩展性、商业智能 等方面有了更多的改进和提高,支持 更强大 的数据存储和应用需求。
    image.png

SQL Server 2008登录

SQL Server Management Studio 简介

SQL Server 2008 数据库的创建与维护

image.png
image.png

  • SQL Server 2008 数据存储结构
    (1 )数据库文件
    • 主数据文件.mdf
    • 次要数据文件 .ndf
    • 日志文件 .ldf
    • 数据文件结构组成

    • _ SQL Server最小存储数据单位
      _ 一个页大小是8K

    • _ 管理空间的基本单位
      _ 8个物理上连续的页(64 KB)
      _ 表被存储在区

(2)数据库文件组

(3)数据库创建


(4)数据库修改

(5)数据库删除

Transact-SQL 程序设计基础


(1 )标识符分类

(2)数据类型

(3)全局变量

(4)运算符

(5)批处理

(6)函数







(7)流程控制

关系数据库标准语言SQL

SQL 的三级模式结构

SQL 的数据定义



  • 基本表定义

  • 基本表的修改与删除

  • 索引的建立和删除


  • 查询语句

查询的基本结构包括了三个子句: SELECT、 FROM 、 WHERE。

从表中(From子句),选择满足记录选择条件(Where子句)的记录,并对他们进行分组(Group子句, Having子句表达组选择条件)、统计(统计函数)、排序(Order by 子句)和投影(Select子句) ,形成查询结果集。

  1. 单表无条件查询
    DISTINCT 保留字的使用:可以使查询的结果中重复列值只保留一个。
    查询列中含有运算的表达式。
    查询列中含有字符串常量。
    查询列中含有聚合函数。
  2. 单表有条件查询





  1. 分组查询和排序查询

  1. 多表查询
  • SQL通过连接查询、笛卡尔积、并操作、交操作、差操作5种关系代数中的运算功能来实现多个数据表的查询。SQL通过连接查询、笛卡尔积、并操作、交操作、差操作5种关系代数中的运算功能来实现多个数据表的查询。
  • SQL 提供在子句中列出每个关系 然后在SELECT子句和WHERE子句中引用FROM子句中的关系属性,而WHERE子句中用来连接两个关系的条件。在SELECT子句和WHERE子句中引用FROM子句中的关系属性,而WHERE子句中用来连接两个关系的条件。
  • 连接查询包括等值连接、非等值连接、自身连接、内连接和外连接等值连接、非等值连接、自身连接、内连接和外连接等。




5. 嵌套查询

  • SQL 的数据操纵
  1. 插入数据
  2. 修改数据
  3. 删除数据

  • 视图
    • 视图是 外模式的基本单位,实际上视图是从若干个基本表或视图导出来的虚表。
    • 当基本表的数据发生变化时,相应的视图数据也会随之改变。
    • 视图定义后,可以被用户查询、更新,但通过视图来更新基本表中的数据要有一定的限制。
  1. 定义视图


2. 删除视图

3. 查询视图

4. 更新视图

  1. 视图的作用
  • 存储过程

  1. 创建执行

  2. 修改删除
  3. 查看储存
  • 触发器
    • 触发器是一种特殊的存储过程,在对表或视图执行,触发器是一种特殊的存储过程,在对表或视图执行 UPDATE 、 INSERT 或 DELETE 操作时自动触发执行操作时自动触发执行。
    • 触发器技术是保证数据完整性的高级技术,触发器还可以用于对系统的高级监测,用于实施完整性和强制执行业务规则。


关系数据库规范化理论

关系模式的形式化定义

函数依赖的基本概念
  • 函数依赖


  • 码的函数依赖
关系模式的规范化

  1. 第 1 范式 1NF
  2. 第 2 范式 2NF
  3. 第 3 范式 3NF
  4. BCNF 范式
  5. 多值依赖与第 4 范式

数据库设计

需求分析

概念结构设计

逻辑结构设计

物理结构设计
数据库实施
数据库运行与维护
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JackHCC

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值