数据库设计的定义:规划数据库中数据对象以及之间关系的过程。

为什么进行数据库设计?

  空间

  完整性

  程序开发

数据库设计前提知识:

范式:

  1NF:第一范式

    第一范式的目标是确保每列的原子性

    如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式(1NF)

  2NF:第二范式

    如果第一个关系满足1NF,并且除了主键以外的其他列,都依赖于该主键,则满足第二范式(2NF)

    第二范式要求每个表只描述一件事情

  3NF:第三范式

    如果一个关系满足2NF,并且除了主键以外的其他列不传递依赖于其他列,则满足第三范式(3NF)

数据库设计步骤

  收集信息

  标识对象

  标识对象的属性

    数据列

    分类列

    标识符列

    关系列过引用列

  标识对象之间的关系

    通过关系列标识对象关系

总结:

  设计数据库的一般步骤有哪些?

    收集信息

    标识对象

    标识对象的属性

    标识对象之间的关系

  E-R包括哪三个基本图形?

  为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式

    第一范式(1NF)的目标:确保每列的原子性

    第二范式(2NF)的目标:确保表中的每列,都和主键相关

    第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关

转载于:https://www.cnblogs.com/xtdxs/p/7080766.html

20170626_oracle_数据库设计相关推荐

  1. MySQL 学习笔记(14)— 数据库设计流程、实体关系图、第一范式、第二范式、第三范式、外键使用

    本文参考:https://gitbook.cn/gitchat/column/undefined/topic/5db92c12a9c3a53bc3800f0c 1. 数据库设计流程 数据库设计是对数据 ...

  2. 软件设计之 数据库设计

    [按语:在软件设计或是动态网站开发中,数据库设计时很重要,我觉得可以说是开发工作的核心部分,所以学好数据库设计,是很重要的,也是大有前途的...]  ◆.概念 首先要搞清楚容易混淆的两个概念:&quo ...

  3. 一套外企的数据库设计面试题

    最近发现园子里面关于数据库方面的文章比较多,正好我也是一个喜欢凑热闹的家伙,那就跟着烧一把火吧.^_^ 这是前阵子一个朋友面试外企的一套关于数据库设计的试题,有兴趣的朋友不妨一试. Part I   ...

  4. saas的计费数据库设计_如何构建和扩展SaaS计费解决方案

    saas的计费数据库设计 您需要的最低可行产品 (What you need for a Minimum Viable Product) When you are building your Soft ...

  5. 互联网产品mysql数据库设计总结

    mysql数据库性能不比oracle数据库,所以设计上,和oracle有一些不同.下面总结一些互联网产品的数据库设计. 1.主键 主键可以使用bigint(20) unsigned也可以使用varch ...

  6. 数据库设计 之设计 表字段类型

    2019独角兽企业重金招聘Python工程师标准>>> 数据库设计 之设计 表字段类型 博客分类: sql 之前没有 数据库设计的一些经验. 这次数据库设计.由于需求原因和没经验原因 ...

  7. 一、数据库设计与性能优化--概述

    前言 我1998年第一次接触SQL Server 6.5 for Windows NT 4.0,当时的感觉就认为SQL Server只是一个功能强大的Excel文件.现在回想起来,当年抱着这样一种态度 ...

  8. 数据库设计的10个最佳实践

    作者 | Emily Williamson 译者 | 孙薇,责编 | 屠敏 出品 | CSDN(ID:CSDNnews) 以下为译文: 数据库是应用及计算机的核心元素,负责存储运行软件应用所需的一切重 ...

  9. 关系型数据库设计要领(值得收藏)

    欢迎关注方志朋的博客,回复"666"获面试宝典 摘要 本文讨论关系数据库设计相关的一些内容,涉及关系模型,表结构设计等内容,以学生选修课程讲述设计过程,在尽量讲清楚设计要领的前提下 ...

最新文章

  1. c语言读取一个图像文件格式,求指导,如何用c语言实现读取*.raw格式图像
  2. 【Linux基础 01】Linux 下的文件系统
  3. linux 查看namenode进程是否存活:返回namenode进程个数
  4. python适合零基础的人吗_学Python需要什么基础知识?零基础可以学Python吗?
  5. Python绘制每个柱的颜色各不相同的三维柱状图
  6. 什么是应用管理与运维平台(ServiceStage)?
  7. 【Vue】—事件处理
  8. BZOJ2042 : [2009国家集训队]Will的烦恼
  9. [翻译]jQuery 1.5.1 发布,全面支持IE9
  10. css总常用的font-family
  11. snap7/Qt/ros-------ubantu14.04下杂记
  12. java计算器模拟程序_模拟计算器java程序
  13. MySQL中根据身份证号码计算年龄
  14. navicat中文破解版,navicat for mysql10.0.11简体中文破解版
  15. html 简单的table样式
  16. ios 渐变透明背景_2019 - 渐变梯度
  17. matlab连接mysql有什么用_MATLAB连接SQLServer和MySql数据库
  18. Word如何绘制整行下划线,如何给分好的栏添加分隔线?
  19. Shader 蔓藤生长动画
  20. WeaQA:Weak Supervision via Captions for Visual Question Answering 论文笔记

热门文章

  1. SQLPlus 在连接时通常有四种方式
  2. 给网页添加二维码功能
  3. CSS BOX类型和display属性
  4. python的断点调试
  5. 常见多媒体文件格式及视音频编解码总结
  6. ROS最正确的限速--------小包优先+带宽均分+简单队列限制上传速度
  7. Eclipse异常关闭启动不了的问题
  8. linux编译ace,Linux下编译ACE
  9. rpm部署mysql_使用rpm快速安装部署MySQL5.6以及主从设置
  10. Linux 系统安装MySQL