数据库建设的基本规律
三分技术 七分管理 十二分基础数据

阶段
需求分析阶段
概念设计阶段
逻辑设计阶段
物理设计阶段
数据库实施阶段
数据库维护阶段

1 需求分析

2 概念设计
形成概念模型

3 逻辑设计
将概念结构转变成为 数据模型

4 物理设计
存储结构 和 存储方法

5 实施阶段

6 维护阶段

需求分析
数字字典 数据结构 数据流 数据存储的描述

概念结构设计
ER 图 数据字典

逻辑结构设计
关系 非关系

物理结构设计
存储安排
存取方法选择
存取路经建立

数据库实施
数据库维护

7.2 需求分析

数据字典

1 数据项
数据项是不可再分的数据单位
是 元数据 不是数据本身
2 数据结构
数据结构反映了 数据之间的组合关系
一个数据结构可以由若干个数据项构成
也可以由若干个数据结构组成

3 数据流
是数据结构在系统内传输的路径

4 数据流的来源和去向

5 处理过程

7.3 概念结构设计

概念模型

E-R模型

两个实体间的联系由以下三种
1对1 联系
多对1
多对多

实体 举行
属性 椭圆形
联系 零星

扩展的 E-R 模型
ISA 联系
不相交约束和重叠玉树 子类符号中 加一个叉号 表示子类不可重叠
相反的 如果没有叉号就说明 这是可以重叠的

完备性约束

如果完全特化 使用双线连接 表示不可以 有 父类的任何实体

2 基数约束
0..1 1..*

3 partof 联系
部分联系

如果一个实体依赖于其他实体而存在 这个实体叫做 弱实体型
否则叫做 强实体型
如果一个实体中没有可以作为码的 存在 就成为了弱实体型

双矩阵表示 弱实体性

7.4 逻辑结构设计

E-R 图 向关系模型的转换
1
1:1 的联系可以转换为一个独立的关系模式
2
1:n 的联系可以转换为一个 独立的关系模型
关系的码 是 N 端实体的码
3
m:n 的联系可以转换伪 一个独立的关系模型
4
三个或三个以上的多元联系可以转换为一个 关系模式
5
具有相同码的关系模型可以合并

7.4.2 数据模型的优化

2
确定数据依赖
2
对于数据依赖进行极小化处理
3
确定各个关系模式 分别属于第几凡是
4
根据需求判断模式是否合适

5 对关系模式进行必要的分解
水平分解是指 把元组分成若干个子集(常用个元组分在一起 来优化查询速度
垂直分解是指 把属性分成若干的子集

7.4.3 设计用户子模型

1 可以利用视图 这一功能设计来完成 定义用户需要的外模式

7.5 物理结构设计

关系模式存取方法选择
常用的存取方法是 索引方法和 聚簇方法

数据库设计 ch.7的更多相关文章

  1. 数据库设计中的Soft Delete模式

    最近几天有点忙,所以我们今天来一篇短的,简单地介绍一下数据库设计中的一种模式——Soft Delete. 可以说,该模式毁誉参半,甚至有非常多的人认为该模式是一个Anti-Pattern.因此在本篇文 ...

  2. 使用django开发博客过程记录1——数据库设计

    1.数据库设计 2.插入测试数据 3.配置相关问题 1.数据库设计 数据库有简单的三张表:Article.Category.Tag以下是代码 # -*- coding:utf-8 -*- from _ ...

  3. 基于SSM的租赁管理系统0.3_20161225_数据库设计

    数据库设计 1. 概念模型 2. 类模型 3. 生成SQL use test; /*========================================================== ...

  4. 第二天ci项目规划 数据库设计

    第二天ci项目规划 数据库设计 商品 + 用户 + 订单 数据库设计思想和方法 关于商品品牌 ,分类 ,属性 如何表示 用一个字段 还是再设计一张表 品牌和商品 是一种信息 还是两种信息 一张表一般只 ...

  5. 优化MySchool数据库设计之【巅峰对决】

    优化MySchool数据库设计 之独孤九剑 船舶停靠在港湾是很安全的,但这不是造船的目的 By:北大青鸟五道口原玉明老师 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识 ...

  6. 从零开始编写自己的C#框架(9)——数据库设计与创建

    对于千万级与百万级数据库设计是有所区别的,由于本项目是基于中小型软件开发框架来设计,记录量相对会比较少,所以数据库设计时考虑的角度是:与开发相结合:空间换性能:空间换开发效率:减少null异常.... ...

  7. 数据库设计(1/9):数据元(Data Elements)

    对于设计和创建数据库完全是个新手?没关系,Joe Celko,世界上读者数量最多的SQL作者之一,会告诉你这些基础.和往常一样,即使是最专业的数据库老手,也会给他们带来惊喜.Joe是DMBS杂志是多年 ...

  8. ABP 初探 之User、Role、Permission数据库设计 (EntityFramework 继承的另一种使用方法)

    最近群里(134710707)的朋友都在讨论ABP源码,我把最近学习的内容记录下来,同时也分享给大家,希望正在研究ABP源码的朋友有一定帮助. 上篇介绍ABP的多语言,本篇主要介绍权限的数据库设计,用 ...

  9. 优化MySchool数据库设计总结

    数据库的设计   一:什么是数据库设计? 数据库设计就是将数据库中的数据实体以及这些数据实体之间的关系,进行规范和结构化的过程. 二:为什么要实施数据库设计? 1:良好的数据库设计可以有效的解决数据冗 ...

随机推荐

  1. Ubuntu16.04安装pcl库

    sudo apt-get install libpcl-dev sudo apt-get install pcl-tools

  2. css - 常见知识点

    1. 盒模型 页面渲染时,dom 元素所采用的 布局模型.可通过box-sizing进行设置.根据计算宽高的区域可分为: content-box (W3C 标准盒模型) border-box (IE ...

  3. python 编程 一次错误记录 -1073740791

    原因是发生在我错把类当做实例化对象使用了

  4. laravel框架中使用QueryList插件采集数据

    laravel框架中使用queryList 采集数据 采集数据对我们来说真家常便饭,那么苦苦的写正则采集那么一点点东西,花费了自己大把的时间和精力而且没有一点技术含量,这个时候就是使用我们的好搭档Qu ...

  5. java当拿到一个项目后该怎么看的一些个人见解(附带快捷键)

    刚出来实习,BOSS让我用maven下载架包后进行修改. 刚开始拿到项目两眼一黑,完全不知道该怎么下手.想找server层,完全不知道在那么多架包那里开始弄. 这个时候首先要明确你要修改的位置,找到这 ...

  6. Python运算符,逻辑运算

    运算符 计算机可以进行的运算有很多种,可不只加减乘除这么简单,运算按种类可分为算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算,今天我们暂只学习算数运算.比较运算.逻辑运算.赋值运算 ...

  7. vue @scroll

    参考: https://blog.csdn.net/qq449736038/article/details/80769507

  8. elasticsearch 过滤器的种类

    elasticsearch之查询过滤 elasticsearch elastic-search xixicat 2月13日发布 推荐 1 推荐 收藏 2 收藏,289 浏览 序 本文主要记录es的查询 ...

  9. 测试是否是移动端,是否是iphone,是否是安卓

    function isMobile(){ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(na ...

  10. HZOI20190823模拟31题解

    题面:https://www.cnblogs.com/Juve/articles/11425141.html math:仔细看看其实是个水题 #include<iostream> #inc ...