精华内容
下载资源
问答
  • DBML(数据库标记语言)是一种简单易读的DSL语言,旨在定义数据库结构。 有关更多信息,请查看 好处 它简单,灵活且易于阅读 它与数据库无关,专注于基本数据库结构定义,而无需担心每个数据库的详细语法 带有免费...
  • Mysql数据库结构优化

    千次阅读 2017-01-09 21:23:09
    定义数据库表及字段的命名规范 选择合适的存储引擎 物理设计-数据类型的选择影响Mysql数据库的因素 服务器硬件 操作系统 mysql服务器配置 数据库结构(影响最大) 良好的数据库逻辑设计和物理设计是数据库获得高性能

    影响Mysql数据库的因素

    1. 服务器硬件
    2. 操作系统
    3. mysql服务器配置
    4. 数据库结构(影响最大)

    良好的数据库逻辑设计和物理设计是数据库获得高性能的基础

    数据库结构优化的目的

    1. 减少数据的冗余
    2. 尽量避免数据维护中出现 更新、插入、删除异常
    3. 节约数据存储空间

    数据库结构设计的步骤

    1. 需求分析:全面了解产品设计的存储需求
    2. 逻辑设计:设计数据的逻辑存储结构
    3. 物理设计:根据所使用的数据库特点进行表结构设计
    4. 维护优化:根据实际情况对索引、存储结构等进行优化

    数据库设计范式

    数据库设计的第一范式:

    • 数据库表中的所有字段都具有单一属性(即字段不能再分割了)
    • 单一属性的列是由基本数据类型所构成的
    • 设计出来的表都是简单的二维表

    数据库设计的第二范式:

    第二范式在第一范式的基础之上更进一层。第二范式需要确保数据库表中的每一列都和主键相关,而不能只与主键的某一部分相关(主要针对联合主键而言)。也就是说在一个数据库表中,一个表中只能保存一种数据,不可以把多种数据保存在同一张数据库表中。

    数据库设计的第三范式:

    首先要满足第二范式,其次非主属性之间不存在函数依赖。由于满足了第二范式,表示每个非主属性都函数依赖于主键。如果非主属性之间存在了函数依赖,就会存在传递依赖,这样就不满足第三范式。

    总结:
    第一范式就是原子性,字段不可再分割;
    第二范式就是完全依赖,没有部分依赖;
    第三范式就是没有传递依赖

    反范式化设计

    反范式化就是为了性能和读取效率的考虑而适当的对数据库设计范式的要求进行违反,而允许存在少量的数据冗余,也就是使用空间来换取(查询)时间

    不能要求完全按照范式化的要求进行数据库设计,要考虑以后表的使用(查询等)
    举个例子:比如订单表中应该保留当前购买商品的价格、商品的名称(商品的价格是会变动的,这很危险)

    范式化设计的优缺点
    优点:

    1. 可以尽量的减少数据冗余
    2. 范式化的更新操作比反范式化更快
    3. 范式化的表通常比反范式化更小

    缺点:

    1. 对于查询需要关联多个表
    2. 更难进行索引优化

    反范式化设计的优缺点
    优点:

    1. 可以减少表的关联
    2. 可以更好的进行索引优化

    缺点:

    1. 存在数据冗余和数据维护异常
    2. 对数据修改需要更多的成本

    数据库物理设计

    • 定义数据库、表及字段的命名规范
    • 选择合适的存储引擎
    • 为表中的字段选择合适的存储引擎
    • 建立数据库表

    定义数据库、表及字段的命名规范

    • 数据库、表、字段的命名要遵守可读性原则
    • 数据库、表、字段的命名要遵守表意性原则(采用英文,且意思准确)
    • 数据库、表、字段的命名要遵守长名原则(尽量不要使用缩写)

    选择合适的存储引擎

    这里写图片描述

    物理设计-数据类型的选择

    为表中字段选择合适的数据类型:
    当一个列可以选择多种数据类型时,应该优先考虑数字类型,其次是日期类型或二进制类型,最后是字符类型。对于相同级别的数据类型,应该优先选择占用空间小的数据类型

    如何选择正确的整数类型

    这里写图片描述


    如何选择正确的实数类型

    这里写图片描述


    如何选择varchar和char类型

    varchar类型特点:

    • varchar和char是以字符为单位的,不是字节。一个字符可能占用多个字节
    • varchar用于存储变长字符串,只占用的必要的存储空间。

    char类型特点:

    • char类型是定长的
    • 字符串存储在char类型的列中会删除末尾的空格
    • char类型的最大宽度为255

    varchar使用场景:

    • 适用于存储很少被更新的字符串列

    char使用场景:

    • 适合存储长度近似的值
    • 适合存储短字符串
    • 适合存储经常更新的字符串

    如何存储日期类型

    datatime类型

    • datatime类型与时区无关,占用8个字节的存储空间
    • 存储范围为1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
    • 如果需要存储微秒时间,则需要指定宽度,比如datetime(6)

    timestamp类型

    • timestamp类型占用4个字节,显示依赖于所指定的时区
    • 范围为1970-01-01 08:00:01到2038-01-19 11:14:07
    • TIMESTAMP支持的范围比DATATIME要小,容易出现超出的情况
    • TIMESTAMP类型在默认情况下,insert、update 数据时,TIMESTAMP列会自动以当前时间(CURRENT_TIMESTAMP)填充/更新。
    • TIMESTAMP比较受时区timezone的影响以及MYSQL版本和服务器的SQL MODE的影响

    date类型和time类型

    • 占用字节比字符串、datetime、int存储类型要少,使用date类型只需要3个 字节
    • 使用date类型还可以利用日期和时间函数进行日期之间的计算
    • 仅有日期值,没有时间部分。以’YYYY-MM-DD’格式显示DATE值,支持的范围是’1000-01-01’到’9999-12-31’。
    • TIME数据类型表示一天中的时间。以”HH:MM:SS”格式显示TIME值。支持的范围是’00:00:00’到’23:59:59’。

    使用日期时间存储类型注意事项

    • 不要使用字符串类型来存储日期、时间数据,日期时间类型通常比字符串占用更少的存储空间
    • 日期时间类型在进行查找过滤时,可利用日期来进行对比
    • 日期时间类型有丰富的处理函数,可以方便的对日期类型进行计算
    • 使用int存储日期时间,不如使用timestamp

    参考链接

    数据库设计三大范式
    第五章 SqlServer之数据库三大范式

    MySQL之char、varchar和text的设计
    Mysql时间字段格式如何选择,TIMESTAMP,DATETIME,INT?

    展开全文
  • 数据库——数据库结构设计

    千次阅读 2020-03-08 22:21:25
    1 数据库概念设计 2 数据库逻辑设计 3 数据库物理设计 数据库概念设计 概念设计 是数据库设计的 核心环节,通过对用户需求进行综合;归纳;与抽象,形成一个独立于DBMS 的概念模型 数据库概念设计的目标 1 定义与...

    目标

    1 数据库概念设计
    2 数据库逻辑设计
    3 数据库物理设计

    数据库概念设计

    概念设计 是数据库设计的 核心环节,通过对用户需求进行综合;归纳;与抽象,形成一个独立于DBMS 的概念模型

    数据库概念设计的目标

    1 定义与描述应用领域设计的数据范围
    2 获取信息模型
    3 描述数据的属性特征
    4 描述数据之间的关系
    5 定义和描述数据的约束
    6 说明数据的安全性要求
    7 支持用户的各种数据处理需求
    8 保证信息模型转化成数据库的逻辑结构(数据库模式)

    概念设计的依据及过程

    依据:数据库概念设计以需求分析的结果为依据,即需求说明书,DFD图以及在需求阶段收集到的应用领域中的各类报表
    结果:概念设计的结果是 概念模型(ER)与概念设计说明书

    过程:
    1 明确建模目标 (模型覆盖范围)
    2 定义实体集 (自顶向上标识和定义实体集)
    3 定义联系 (实体间关联关系)
    4 建立信息模型 (构造ER 模型)
    5 确定实体集属性 (属性描述一个实体集的特征或性质)
    6 对信息模型进行集成与优化(检查和消除命名不一致,结构不一致等)
    概念设计 是DB 设计的核心环节。概念数据模型是对现实世界的抽象和模拟

    概念模型设计

    采用最广泛的是ER建模方法。将现实世界抽象为具有属性的实体及联系
    ER 图描述数据库的概念模型观点:
    世界是由一组 作实体的基本对象和这些对象间的联系构成

    与E-R模型有关的概念

    实体或实例:客观存在并可相互去跟的事物叫实体
    实体集:同型实体的集合叫实体集
    属性:实体所具有的某一特性,一个实体可以由若干个属性来刻画,每个属性的范围称为域
    码: 实体集中唯一标识每一个实体的属性或属性集合 。用来区别同一实体集中的不同实体称作主码。一个实体集中任意两个实体在主码的取值上不能相同
    联系: 描述实体之间的相互关系
    联系也可以有属性,同类联系的集合 称为联系集

    实体间的联系有三类:
    1对1联系:
    ‘系’与‘系主任’(一个系只有一个系主任,一个系主任只能管理一个系)
    1 对多联系(1:n):
    ‘系’与‘学生’(一个系招收若干个学生,一个学生只属于一个系)
    多对多联系(n:n):
    学生与课程(一名学生可选修多门课程,每门课程可被多名学生选修)

    E-R 图表示
    在这里插入图片描述
    在这里插入图片描述

    IDEF1X建模方法

    IDEF0 功能建模方法
    IDEF1X 是数据建模方法

    数据库逻辑设计

    逻辑设计的任务:
    将概念模型(ER图)转化为DBMS 支持的数据模型(关系模型),并对其优化

    逻辑设计的依据与阶段目标
    在这里插入图片描述

    补充的相关概念

    1 关系模型
    2 数据依赖
    3 候选码 主码 外码
    4 数据规范化
    5 范式

    关系模型

    层次模型;网状模型;关系模型
    关系模型:简单灵活,有坚实的理论基础,称为当下最流行的数据模型
    关系模型:用二维表结构来表示实体与实体间之间联系的模型
    关系的描述称为 关系模式
    由五部分 组成 五元组 R(U,D,DOM,F)
    R :关系名
    U : 组成该关系的属性名集合
    D :属性组中U 中属性所来自的域
    DOM : 属性到域的映射
    F : 属性组上U 上的一组依赖数据
    由于D,DOM 对模式的设计关系不大,这里把关系模式简化一个三元组
    R<U,F>当且仅当 U 上的一个关系R 满足F时 ,R 称为关系模式 R <U,F> 的一个关系

    关系数据库设计的核心: 关系模式的设计
    关系模式设计目标: 按照一定的原则从数量众多而相互关联的数据中,构造出一组既能较好反映现实世界,而又有良好的操作性能的关系模式

    新奥尔良发;数据库设计步骤:
    需求分析 - 概念结构设计 - 逻辑结构设计 - 物理结构设计

    数据依赖:
    对于R(U)任意一个可能的关系r,r中不可能存在连个元组 在X 上的属性值不等,x函数确定y,y函数依赖x →y
    关系内部 属性与属性之间的一种约束关系
    现实世界属性间相互关系的抽象
    数据的内在性质
    语义的体现

    完整约束的表现形式
    限定属性的取值范围 age<60
    定义属性间值得相互关联(主要体现于值相等与否)

    数据依赖类型:
    函数依赖(Functional Dependency,FD):
    普遍存在于生活中,这种依赖关系雷士与数学中的函数 y = f(x), y 由 x 定
    如 关系 :公民(身份证号,姓名,地址,工作单位)
    身份证号确定;其地址就唯一确定;地址函数依赖于身份证号
    姓名确定不一定能确定地址

    多值依赖(Multivalues Dependency MD)
    教师号可能多值依赖课程号,因为给定一个(课程号;参考书号)的组合,可能对应多个教师号。因为多个老师可以使用相同或不同的参考书上同一门课
    简单点讲: 函数就是唯一的确定关系;多值依赖却不能唯一确定

    函数依赖的几种特例:
    1 平凡函数依赖与非平凡函数依赖
    X → Y 且 Y 不包含于 X 则X → Y 非平凡依赖
    Y 包含于 X 则 X → Y 平凡函数依赖必然成立

    	2  完全函数依赖 与部分函数依赖
    	3 传递函数依赖
    	**(依赖关系 不明白)**
    

    候选码;主码;外码
    候选码: 某属性的值能唯一确定某个元组的值
    候选码 有多个 可以选其中的一个作为主码
    外码: 属性或属性组 X 不是关系模式 R的码(既不是主码也不是候选码)

    数据规范化:
    数据库的设计主要是关系模式的设计,关系模式的好坏,直接影响数据库设计的成败,将关系模式规范化,是设计较好的关系模式的唯一途径
    关系模式规范化: 把一个底一级的关系模式分解为高一级关系模式的过程
    关系数据库规范化理论是:数据库逻辑设计的工具
    目的: 尽量消除插入;消除异常;修改复杂;数据冗余的问题

    范式 : 关系模式满足的约束条件称为范式,根据满足规范化程度,范式由底到高 1NF ,2NF,3NF,BCNF,4NF,5NF
    1NF :关系模式R,所有属性都是不可再分的基本数据项,R 属于第一范式,R ∈1NF
    2 NF : 关系模式 R ∈ 1NF 且每个非主属性完全函数依赖与主码,则称R 属于 第二范式 R ∈ 2NF

    数据库物理设计

    索引技术分类:
    有序索引:索引文件机制,利用索引文件(索引记录组成)实现记录域(查找码,排序码)取值到记录物理地址间的映射关系
    数据文件(主文件)和索引文件(索引记录和索引项的集合)是有序索引技术中的两个主体,数据文件常采用顺序文件结构
    散列索引:哈希(hash)索引机制,利用散列函数实现记录域值到记录物理地址间的间接映射关系

    几种主要的有序索引:
    (1)聚集索引(索引项与数据记录排列书顺序一致,索引顺利文件)和非聚集索引,一个数据文件只可建立一个聚集索引,但可建立多个非聚集索引。
    (2)稠密索引(数据文件中每个查找码都对应索引记录)和 稀疏索引(部分查找码的值对应索引记录)
    (3) 主索引(猪吗属性集上建立的索引)与辅索引(非主属性上建立的索引)
    (4)唯一索引(索引列不包含重复值)
    (5)单层索引 (线性索引,每个索引项的顺序排列直接指向数据文件中的数据记录)和多层索引 (大数据量文件中的采用多层模型(B,B+ 树) 索引快速定位)

    数据库物理设计:

    目标:
    使内存空间占用少,数据访问效率高和维护代价低的数据库物理模式。数据库底层物理存储于存取,与DBS 所依赖的硬件环境,操作系统和DBMS 密切相关,目前大部分DBS 都是关系数据库系统

    环节:主要包括5个环节
    (1)数据库逻辑模式的描述
    根据数据库逻辑结构信息设计目标DBMS 可支持的关系表(这里称为基本表)的模式信息,这个过程 称为 数据库逻辑模式的描述
    关系模式及其视图转换成基本表和视图,利用完整性机制(如触发器) 设计面向应用的业务规则
    SQL Server 采用 T-SQL 语言
    为基本表选择合适的文件结构(堆文件,顺序文件,聚集文件,索引文件,散列文件)
    (2)文件组织与存取设计
    基本规则:根据应用情况将易变部分与稳定部分,存取评率较高的部分与存取评率较低的部分分来存放,以提高系统的性能
    分析理解数据库事务访问特性,使用事务-基本表交叉应用矩阵;估计各事务执行评率;汇总各张表基本表各事务操作的评率信息;根据结果设计文件结构

    影响数据文件存储结构的因素
    存取时间,存储空间利用率,维护代价 这三个方面是相互矛盾的

    解决方法 :适当冗余,增加聚餐功能,权衡选择折中的方案

    DBMS 常用的存取方法
    索引方法,目前主要是 B+ 树索引方法
    聚餐方法
    HASH 方法

    建立索引的原则
    一个组属性经常在操作条件中出现
    一个组属性经常在连接操作的连接条件出现
    一个组属性经常作为聚集函数的参数

    建立聚集索引原则
    检索数据时,常以某个组属性作为排序分组条件
    检索数据时,常以某个组属性作为检索限制条件,并返回大量数据
    表中每个组的重复性很大

    (3)数据分布设计
    不同类型数据的物理设计
    将应用数据(基本表),索引,日志,数据库备份数据等合理安排在不同的介质中

    应用数据的划分与分布
    根据数据的使用特征(频繁使用分区和非频繁使用分区)
    根据时间,地点划分(时间或地点相同的属于同一分区)
    分布式数据库系统(DDBS )中的数据划分(水平划分和竖直划分)
    派生属性数据分布(增加派生列或不定义派生属性)
    关系模式的去规范化(降低规范化提高查询效率)

    水平划分:
    将基本表划分为多张的具有相同属性,结构完全相同的字表,字表包含的元组是基本表中元组的子集
    垂直划分
    将基本表划分为多张字表,每张子表包含的属性是原基本表的字迹

    (4)确定系统配置
    DBMS 产品一般都提供一些存储分配参数
    同时使用数据库的用户数
    同时打开数据库的对象数
    使用缓存区的长度个数
    时间片大小
    数据库的大小
    装填因子
    锁的数目

    (5)物理模式评估
    对数据库物理设计结果存取时间,存取空间,维护代价等方面评估,重点是时间和空间效率

    展开全文
  • 数据库结构设计

    千次阅读 2019-03-06 22:48:23
    数据库概念设计 ...保证信息模型方便的转换成数据库逻辑结构 1.2概念设计的依据: 需求分析的文档,需求说明书,功能模型(数据流图或IDEF0图) 信息模型(ER图)和数据库概念说明书是数据库...

    一 数据库概念设计

    1.3概念设计的任务:

    • 定义和描述应用领域涉及的数据范围
    • 获取应用领域或问题域的信息模型
    • 描述清楚数据的属性特征
    • 描述数据之间的关系
    • 定义描述数据的约束
    • 说明数据的安全性要求
    • 支持用户的各种数据处理需求
    • 保证信息模型方便的转换成数据库逻辑结构

    1.2概念设计的依据:

    需求分析的文档,需求说明书,功能模型(数据流图或IDEF0图)
    信息模型(ER图)和数据库概念说明书是数据库逻辑设计的依据

    1.2 数据库概念设计过程

    • 明确建模目标
    • 定义实体集
    • 定义联系: 标识实体集之间的方法是建立联系矩阵
    • 建立信息模型(构造ER模型
    • 确定实体集属性
    • 对信息模型进行集成与优化

    1.3 数据建模方法

    • 能够真实客观的描述现实社会中数据之间的关系
    • 组成模型的概念少,语义清楚,容易理解
    • 不同概念的语义不重叠,概念无多义性
    • 用图形方式描述数据,数据易观易懂,有利于数据库设计者和用户交流
    • 这种数据模型容易转换成数据库逻辑设计阶段需要的数据结构
    ER建模方法
    • 实体或实例:实体指客观存在并且可互相区分的事务
    • 实体集
    • 属性:每个属性的取值范围叫做域
    • 联系 :一对一联系,一对多联系,多对多联系
    IDEF1X建模方法
    • 实体集(独立实体集,从属实体集)
    • 联系:确定型连接联系(标定型联系,非标定型联系,分类联系)

    二 数据库逻辑设计

    标识ER模型中的联系,依次转换与每个联系相关联的实体集及联系

    三 数据库物理设计

    数据库的物理结构

    • 文件的组织
    • 文件的结构
    • 文件的存取
    • 索引技术

    3.1 索引技术

    有序索引
    • 聚集索引
    • 非聚集索引
    • 稠密索引
    • 稀疏索引
    • 主索引
    • 辅索引
    • 唯一索引
    • 单层索引
    • 多层索引
    散列索引
    索引建立的原则

    经常查询,连接,统计操作,数据量大的基本表可以考虑建立索引
    一个基本表可以建立一个聚集索引,还可以建立多个非聚集索引
    索引可以删除和修改

    建立索引的属性
    • 主码
    • 查询较多的属性
    • 参与连接操作的属性
    • 频繁搜索的属性
    • 属性由许多不同值的时候,索引有用,属性由同值的时候,不适合索引

    3.2物理设计内容

    • 数据库逻辑模式描述
    • 文件组织与存取设计
    • 数据分布设计
    • 确定系统配置
    • 物理模式评估
    数据库逻辑模式描述
    • 面向目标数据库描述基本表和视图
    • 设计基本表业务规则
    DB文件组织与存储设计
    • 使用事务-基本表交叉引用矩阵
    • 估计各个事务的执行频率
      为一些基本表选择合适的文件结构的原则:
    • 基本表数据量少,插入,删除,更新等操作频繁,采用堆文件组织方式
    • 顺序文件支持基于查找码的顺序访问
    • 访问顺序随机,散列文件合适
    • 索引文件结构,适合于大数据基本表
    • 多表连接频繁,聚集文件合适
    数据分布设计

    不同类型的数据的物理分布
    基本表和索引表分开存储,放置在不同的磁盘上
    应用数据的划分于分布
    根据数据使用的特征分布,频繁使用分区和非频繁使用分区
    时间地点分区
    分布式数据库系统:垂直分布和水平分布
    派生数据分布
    关系模式的去规范化

    展开全文
  • 达梦DM数据库获取表结构和对象定义方法
  • 数据库 - 数据库系统结构

    千次阅读 2015-05-03 12:47:08
    数据库系统结构数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 分布式结构 ...

    数据库系统结构

    从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构

    从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为:
    单用户结构
    分布式结构
    客户/服务器
    浏览器/应用服务器/数据库服务器多层结构等

    数据库系统模式的概念

    “型” 和“值” 的概念
    型(Type)
    对某一类数据的结构和属性的说明
    值(Value)
    是型的一个具体赋值
    例如
    学生记录型:
    (学号,姓名,性别,系别,年龄,籍贯)
    一个记录值:
    (900201,李明,男,计算机,22,江苏)
    模式(Schema)
    数据库逻辑结构和特征的描述
    是型的描述
    反映的是数据的结构及其联系
    模式是相对稳定的
    实例(Instance)
    模式的一个具体值
    反映数据库某一时刻的状态
    同一个模式可以有很多实例
    实例随数据库中的数据的更新而变动

    模式

    模式(也称逻辑模式)
    数据库中全体数据的逻辑结构和特征的描述
    所有用户的公共数据视图,综合了所有用户的需求
    一个数据库只有一个模式
    模式的地位:是数据库系统模式结构的中间层
    与数据的物理存储细节和硬件环境无关
    与具体的应用程序、开发工具及高级程序设计语言无关
    模式的定义
    数据的逻辑结构(数据项的名字、类型、取值范围等)
    数据之间的联系
    数据有关的安全性、完整性要求

    模式实例

    教学数据库模式(前面的第二个实例)
    教师(教师号,姓名,职称)
    主键:教师号
    课程(课程号,课程名称,教师号,教材)
    主键:课程号 外键:教师号
    学生(学号,姓名,性别,教师号)
    主键:学号 外键:教师号
    选课(学号,课程号, 成绩)
    主键:(学号,课程号)
    外键1:学号,外键2:课程号

    [例]  创建学生Student表
    
                  CREATE TABLE Student
                    (Sno  CHAR(9)  PRIMARY KEY,
                     Sname  CHAR(20) NOT NULL,     
                     Ssex  CHAR(2) ,
                     Sage  NUMBER,
                     Sdept  CHAR(20))
                     TABLESPACE USERS;
    
    [例]  创建课程Course表
    
                  CREATE TABLE Course
                    (Cno  CHAR(4)  PRIMARY KEY,
                     Cname  CHAR(40) NOT NULL,     
                     Cpno  CHAR(4) ,
                     Ccredit  NUMBERFOREIGN KEY Cpno REFERENCES Course(              Cno))
                     TABLESPACE USERS;
    
    [例]  创建选修课程SC表
    
                  CREATE TABLE SC
                    (Sno  CHAR(9)  NOT NULL,
                     Cno  CHAR(4) NOT NULL,     
                     Grade Grade,
                     PRIMARY KEY (Sno,Cno),
                     FOREIGN KEY (Sno) REFERENCES Student(Sno),
                     FOREIGN KEY (Cno) REFERENCES Course(Cno))
                     TABLESPACE USERS;
    

    外模式

    外模式(也称子模式或用户模式)
    数据库用户(包括应用程序员和最终用户)使用的局部数据的逻辑结构和特征的描述
    数据库用户的数据视图,是与某一应用有关的数据的逻辑表示
    外模式的地位:介于模式与应用之间
    模式与外模式的关系:一对多
    外模式通常是模式的子集
    一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求
    对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同
    外模式与应用的关系:一对多
    同一外模式也可以为某一用户的多个应用系统所使用
    但一个应用程序只能使用一个外模式
    外模式的用途
    保证数据库安全性的一个有力措施
    每个用户只能看见和访问所对应的外模式中的数据

    建立计算机系学生的视图 CS_Student
                  CREATE VIEW CS_Student
        AS 
        SELECT  *
        FROM   Student
        WHERE  Sdept='CS'

    内模式

    内模式(也称存储模式)
    是数据物理结构和存储方式的描述
    是数据在数据库内部的表示方式
    记录的存储方式(顺序存储,按照B树结构存储,
    按hash方法存储)
    索引的组织方式
    数据是否压缩存储
    数据是否加密
    数据存储记录结构的规定
    一个数据库只有一个内模式

    模式/内模式映象

    模式/内模式映象定义了数据全局逻辑结构与存储结构之间的对应关系。
    数据库中模式/内模式映象是唯一的。
    该映象定义通常包含在模式描述中。
    保证数据的物理独立性
    当数据库的存储结构改变了(例如选用了另一种存储结构),数据库管理员修改模式/内模式映象,使模式保持不变
    应用程序不受影响。保证了数据与程序的物理独立性,简称数据的物理独立性。
    数据库模式
    即全局逻辑结构是数据库的中心与关键
    独立于数据库的其他层次
    设计数据库模式结构时应首先确定数据库的逻辑模式
    数据库的内模式
    依赖于它的全局逻辑结构
    独立于数据库的用户视图,即外模式
    独立于具体的存储设备
    将全局逻辑结构中所定义的数据结构及其联系按照一定的物理存储策略进行组织,以达到较好的时间与空间效率

    数据库的外模式
    面向具体的应用程序
    定义在逻辑模式之上
    独立于存储模式和存储设备
    当应用需求发生较大变化,相应外模式不能满足其视图要求时,该外模式就得做相应改动
    特定的应用程序
    在外模式描述的数据结构上编制的
    依赖于特定的外模式
    与数据库的模式和存储结构独立
    不同的应用程序有时可以共用同一个外模式
    数据库的二级映像
    保证了数据库外模式的稳定性
    从底层保证了应用程序的稳定性,除非应用需求本身发生变化,否则应用程序一般不需要修改

    数据与程序之间的独立性,使得数据的定义和描述可以从应用程序中分离出去

    数据的存取由DBMS管理
    用户不必考虑存取路径等细节
    简化了应用程序的编制
    大大减少了应用程序的维护和修改

    数据库管理员(DBA)

    具体职责:
    1.决定数据库中的信息内容和结构
    2.决定数据库的存储结构和存取策略
    3.定义数据的安全性要求和完整性约束条件
    4.监控数据库的使用和运行
    周期性转储数据库
    数据文件
    日志文件
    系统故障恢复
    介质故障恢复
    监视审计文件
    5. 数据库的改进和重组
    性能监控和调优
    定期对数据库进行重组织,以提高系统的性能
    需求增加和改变时,数据库须需要重构造

    展开全文
  • 在日常工作中,经常需要获取表定义语句以对表结构进行分析、改动等操作,达梦数据库提供了多种方式获取表结构定义语句,如下。 方法一:通过manager管理工具可视化界面查看 通过manager工具登录数据库后,在左侧...
  • 3. 如何用frm文件恢复数据库结构 1.表结构定义文件: *.frm 文件是所有mysql数据库都有的文件,记录了该表的表结构定义。 2.存储引擎文件 2.1表空间文件 InnoDB 中用于存储数据的文件总共有两个部分,一是...
  • 数据库基础:创建并定义结构

    千次阅读 2019-08-08 11:10:43
    创建数据表 定义非空约束 (字段名 字段类型 NOT NULL) 定义默认字值 (字段名 字段类型 default 默认值) 定义主键 Primary key (主键字段名) 定义外键 概念:外键是指向另一个表已有数据的约束,因此外键值必须在目标...
  • 阿里云RDS导出数据库结构整理工具

    万次阅读 2018-01-07 13:05:04
    本文使用shell实现一个小工具,可以整理阿里云RDS导出数据库结构的zip文件,整理为可直接使用的sql文件。 阿里云RDS导出的数据库结构sql需要整理的地方 1.解压后sql文件名称缺少数据库名称标识 阿里云RDS导出...
  • link中如何使用codefirst的实体类定义动态生成的数据库结构
  • 数据库结构设计(逻辑设计和物理设计)

    万次阅读 多人点赞 2018-11-15 12:28:27
    1、数据库结构设计的步骤 需求分析:全面了解产品设计的存储需求 逻辑设计:设计数据的逻辑存储结构 物理设计:根据所用的数据库特点进行表结构设计 关系型数据库:Oracle、SQLServer、MySQL、postgresSQL 非...
  • 文章目录关系数据库关系数据库简介关系数据结构及形式化定义关系操作关系模型的完整性关系代数 关系数据库 关系数据库简介 美国????IBM公司的E.F.Codd 1970年提出关系数据模型E.F.Codd, “A Relational Model of ...
  • 禅道的数据库结构

    千次阅读 2018-06-08 14:44:49
    禅道的数据库命名都比较简明扼要,从字面意思应该都可以猜出来表的用途。如果还不是很清楚的话,可以到每个表对应的模块下面的语言文件里面查找。 最新版本可以在 禅道 后台---二次开发---数据库 中查看相应的表...
  • progress的数据库结构及创建

    千次阅读 2009-01-05 14:43:00
    progress的数据库结构及创建关键字: progress 4GL database 数据库在逻辑文件体系上,progress数据库有以下几种文件:.st文件 这是一个结构文件,由数据库创建者手动编写,表示了数据库的物理存储结构. 换句话说,...
  • 数据库结构设计小结

    千次阅读 2009-01-15 10:53:00
    数据库设计的理论与方法1 数据库设计概述数据库(database)是数据管理的最新技术,具有数据结构化、最低冗余度、较高的程序与数据独立性、易于扩充、易于编制应用程序等优点。所谓数据库是指长期存储在计算机内的、...
  • 数据库结构化查询语言的使用(一)

    千次阅读 2019-04-02 20:23:48
    数据库的熟练操作是一个程序员应该掌握的基本技能,因此,有技巧和有逻辑的去运用sql成为了...结构化查询语言把对数据库的操作进行了简单的分类,而DDL所具有的功能正是对数据库和其库中的表进行结构定义和操作。 创...
  • db2look导出数据库结构

    千次阅读 2015-09-18 18:02:29
    自助终端导出表结构语句:db2look -d zspdb -e -a -x -u db2inst1 -p db2inst1 -o zspdb.sql  ...db2look:生成 DDL 以便重新创建在数据库定义的对象 语法: db2look -d DBname [-e] [-u Creator] [-z S
  • Teigha .dwg文件开发——数据库结构

    千次阅读 2016-07-28 17:22:26
    数据库是各种图形和非图形对象的存储库。从程序上讲,数据库是一个拥有很多对象的容器,同时又有很多容器组成。每个容器包含和操作特定的对象。数据库提供两种机制来存储与操作...记录对象存储存储一个特定类的定义
  • 数据库数据库系统的体系结构

    千次阅读 2019-09-03 09:12:24
    数据库系统的体系结构 数据库的体系结构分为三级模式和两级映像。 数据库的三级模式结构是数据的3个抽象级别,它把数据的具体组织留给DBMS去处理,用户只要抽象地处理数据,而不必担心数据在计算机中的表示和存储,...
  • 数据库概念结构设计

    千次阅读 2020-12-26 12:04:48
    概念结构设计是数据库设计的关键。 一般用ER图来描述。   概念结构设计的特点 (1)能真实充分的反应现实世界。 (2)可扩充,易于更改。 (3)易于理解。 (4)易于向其他数据模型转换。   概念结构设计...
  •  分布式数据库结构  分布式数据库的典型定义是:分布式数据库是一个数据集合,这些数据在逻辑上属于同一个系统,但物理上却分散在计算机网络的若干站点上,并且要求网络的每个站点具有自治的处理能力,能执行...
  • 数据库结构的设计步骤,具体实例

    千次阅读 2019-05-18 15:04:59
    数据库结构设计的步骤 1.需求分析,全面了解产品设计的存储需求,要存储什么数据,这些数据有什么特点,数据处理的响应时间,是否是批量处理,数据的完整性确定要存储的真正数据,因为要和非开发的人员进行沟通 2....
  • 数据库结构

    千次阅读 2018-08-20 16:28:54
    当前研发工作中经常出现因数据库表、数据库表字段格式不规则而影响开发进度的问题,在后续开发使用原来数据库表时,也会因为数据库表的可读性不够高,表字段规则不统一,造成数据查询,数据使用效率低的问题,所以有...
  • 分布式数据库系统体系结构

    千次阅读 2020-04-29 10:35:06
    分布式数据库系统1)分布式数据库系统概述定义特点优缺点数据共享分类2)分布式数据库系统体系结构数据存储模式结构透明性分布式数据库管理系统 1)分布式数据库系统概述 定义 分布式数据库系统(DDBS)是指数据存放在...
  • 数据库复习CH2 数据库体系结构和关系系统
  • 数据库 - 概念结构设计

    万次阅读 2015-05-08 10:15:46
    概念结构设计什么是概念结构设计 ...概念结构设计是整个数据库设计的关键 概念结构设计的特点 (1) 能真实、充分地反映现实世界 (2) 易于理解 (3) 易于更改 (4) 易于向关系、网状、层次等各种数据模型转换
  • 文章目录1.3数据库系统结构 1.3数据库系统结构 ...数据库系统外部的体系结构:从数据库最终用户角度看,数据库系统的体系结构分为集中式结构(单用户结构、主从式结构)、客户/服务器结构、分布式结构。 ...
  • 数据库系统的结构

    千次阅读 2017-11-19 22:50:49
    数据库系统的结构数据库应用开发人员角度:数据库系统通常采用三级模式结构–内部 从数据库最终用户角度:数据库系统的结构分为单用户、主从式、分布式、客户-服务器、浏览器-应用服务器/数据库服务器多层...
  • Piwik的数据库结构

    千次阅读 2016-08-22 19:30:14
    Piwik的数据库结构图 上图(点击可查看大图)Piwik的数据库结构按照简洁、效率和模块化进行设计。其数据库包含以下部分 Statistics logger(统计记录)Users & Permissions(用户和权限)Site(网站)...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 729,403
精华内容 291,761
关键字:

定义数据库的结构