zoukankan      html  css  js  c++  java
  • 1. 数据库基础

    技术发展

    先后经历 人工管理、文件系统、数据库系统 等3个阶段

     

    人工管理阶段

    • 数据 不保存、不共享、不具有独立性

    • 使用 应用程序管理数据

     

    文件系统阶段

    • 数据长期保存、共享性差、独立性差

    • 数据冗余

    • 文件系统管理数据

     

    数据库系统阶段

    • 长期保存、多用户、多应用程序共享数据

    • 数据库系统管理数据

     

     

     

    系统组成

     

     

     

     

     

    体系结构

    数据库三级模式结构

    模式

    • 也称逻辑模式概念模式,用于描述全体数据的逻辑结构和特征

    • 位于三级结构中间层

    • 1 个数据库只有 1 个模式

     

    外模式

    • 也称为用户模式

    • 是数据库用户能看到的局部数据,是数据库用户的数据视图

    • 外模式是模式的子集

    • 1个数据库可有n个外模式

    外模式是保护数据安全性的一个有力措施

     

    内模式

    • 也称为存储模式

    • 数据物理结构存储方式的描述

    • 1个数据库只有1个内模式

     

     

    三级模式之间的映射

    外模式 - 模式

    同一个模式 任意多个外模式,对于每个外模式,数据库系统都存在一个 外模式 - 模式 映射

     

    模式 - 内模式

    只有一个模式对应一个内模式,所以模式 - 内模式 是唯一的

     

     

     

    数据模型

    概念

    • 数据模型是数据库系统的核心与基础,是描述 数据与数据之间的联系、数据含义、数据一致性约束的概念性工具集合

    • 数据库模型由数据结构、数据操作、完整性约束组成

     

    数据结构:对数据库系统的静态描述,描述包括数据类型、性质、数据之间的相互关系

    数据操作:对数据库系统的动态描述,是对数据库各种对象实例的操作

    完整性约束:定义数据模型中数据及其联系所具有的制约依存规则

     

     

    常见的数据模型

    常见的数据模型主要有层次模型、网状模型、关系模型

     

    层次模型

    树型结构表示实体类型及实体之间联系

    • 每棵树有且仅有一个无双亲节点:根

    • 树中除根外的所有节点有且只有一个双亲

     

    网状结构

    有向图结构表示实体类型与实体间联系

    • 用网状模型编写应用程序极其复杂,数据独立性差

     

    关系模型

    二维表来描述数据,关系模型数据结构简单、清晰,很高的数据独立性

     

    关系模型基本术语

    • 关系:一个二维表就是一个关系

    • 元祖:二维表的一行,表中的记录

    • 属性:二维表的一列,用类型和值表示

    • 域:每个属性的取值范围,例如性别的域为{男、女}

     

    关系模型数据约束

    • 实体完整性约束:主键属性不能为空值

    • 参照完整性约束:关系之间的基本约束

    • 用户自定义完整性约束:具体属性的数值要求

     

    关系数据库的规范化

    关系数据库的规范化理论认为:关系数据库中的每个关系都要满足一定的范式。可分为5个等级。

    一般情况下,满足到第三范式即可 (NF 是Normal Form 缩写)

     

    第一范式 1NF

    没有多余的重复字段

    冗余字段

    符合第一范式的例子


    不符合第一范式的例子 


     这里有多个昵称,不符合第一范式

     

    第二范式 2NF

    在第一范式的前提下,每个非主键的字段都要依赖主键字段

    主键 -- 非主键 关系


    符合第二范式但不符合第三范式的例子 

     

    第三范式 3NF 

    主键 -- 非主键 -- 非主键

    在第二范式基础上,主键和非主键的对应关系:a->b 而不是 a -> b -> c(主键 - 非主键 - 非主键)

    第三范式要求,去除传递依赖

    简单一点来说,即一个表只处理一个事情

    例子:

     

     

     

     

    关系数据库的设计原则

    1. 最大限度的共享最小冗余度(不是禁止冗余,要在业务与数据表中做最好的权衡)

    2. 新增、修改数据时保证数据的一致性正确性

    3. 保证数据和使用数据的应用程序之间的独立性

     

     

    实体与关系

    实体是指客观存在并且可以相互区分的事物,实体即可以是实际事物,也可以是抽象的事物

    数据库中实体的3种关系

    一对一

    表A中存在1条数据与表B中有且只有1条数据相匹配

     

    一对多

    表A存在1条数据与表B中的多条数据匹配

     

    多对多

    表A的多条数据与表B的多条数据匹配,需要建立第3个表(称为连接表)来实现

    连接表包含两个表的主键列

     

     

     

    常见关系数据库

    Access数据库

    Microsoft Office 中包含Access数据库,核心是Microsoft Jet 数据库引擎

     

    SQL Server数据库

    微软开发的大型关系数据库系统

    优势有2点:

    • 统一开发环境:SQL Server2005与VS2005拥有统一的开发环境。高版本未知

    • .net框架集成:SQL Server 2005包含.NET Framework 2.0。高版本未知

     

    Oracle数据库

    美国甲骨文公司提供的分布式数据库为核心的软件产品

    Oracle是全世界使用最为广泛关系型数据库

    Oracle在并行处理、实时性、数据处理和速度方面都有较好的性能

     

     

     

    思维导图

     

  • 相关阅读:
    六度分离_hdu_1869(floyd算法).java
    MFC版的Hello World
    Google Protobuf的安装、配置、以及简单demo编译
    在Android工程中加入AIDL文件时,gen目录生成的文件报错-问题解决
    SharePoint 2013的100个新功能之网站管理(二)
    SharePoint 2013的100个新功能之网站管理(一)
    SharePoint 2013的100个新功能之社交
    SharePoint 2013的100个新功能之内容管理(四)
    SharePoint 2010 Ribbon with wrong style in Chrome and Safari
    SharePoint 2013的100个新功能之内容管理(三)
  • 原文地址:https://www.cnblogs.com/xiyuan/p/10532743.html
Copyright © 2011-2022 走看看