美文网首页
SQL Server:数据库基础

SQL Server:数据库基础

作者: JackHCC | 来源:发表于2019-05-03 22:22 被阅读0次

    ->点击访问个人博客地址,相互交流学习<-

    绪论

    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子句中用来连接两个关系的条件。
    • 连接查询包括等值连接、非等值连接、自身连接、内连接和外连接等值连接、非等值连接、自身连接、内连接和外连接等。




    1. 嵌套查询


    • SQL 的数据操纵
    1. 插入数据


    2. 修改数据


    3. 删除数据



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


    1. 删除视图


    2. 查询视图


    3. 更新视图


    4. 视图的作用


    • 存储过程



    1. 创建执行



    2. 修改删除


    3. 查看储存


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




    关系数据库规范化理论

    关系模式的形式化定义

    函数依赖的基本概念

    • 函数依赖




    • 码的函数依赖


    关系模式的规范化

    1. 第 1 范式 1NF


    2. 第 2 范式 2NF


    3. 第 3 范式 3NF


    4. BCNF 范式


    5. 多值依赖与第 4 范式



    数据库设计

    需求分析

    概念结构设计

    逻辑结构设计

    物理结构设计

    数据库实施

    数据库运行与维护

    相关文章

      网友评论

          本文标题:SQL Server:数据库基础

          本文链接:https://www.haomeiwen.com/subject/rhbznqtx.html