数据库设计

为什么要进行数据库设计?
良好的数据库设计节省存储空间,执行效率高,容易扩展,更便于开发。

实体、属性、关系具有什么样的联系?
实体具有的特征是属性,实体与实体之间会有各种关系,关系之间也有属性,

数据库设计有哪些步骤?

  1. 需求分析阶段
    需求收集和分析,结果得到数据字典描述的数据需求(和数据流图描述的处理需求)。
  2. 概念结构设计阶段
    通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,可以用E-R图表示。
  3. 逻辑结构设计阶段
    将概念结构转换为某个DBMS所支持的数据模型(例如关系模型),并对其进行优化。
  4. 数据库物理设计阶段
    为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法)。
  5. 数据库实施阶段
    运用DBMS提供的数据语言(例如SQL)及其宿主语言(例如C),根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。
  6. 数据库运行和维护阶段
    数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

请指出下列几组分别是什么关系:
老师与学生 多对多关系
班级与学生 一对多关系
学校与学生 一对多关系

绘制E-R图
实体 -------矩形-----表名
属性 -------椭圆-----字段
属性 -------菱形-----表与表之间的关系

数据库设计设计规范化

1. 第一范式(1NF)
第一范式是满足关系书库模型所要遵守的最基本的条件范式,即关系中的每个属性必须是不可再分的简单项,不能是属性组合,即属性的取值必须是不可拆分的原子值。

2. 第二范式(2NF)
第二范式是在第一范式的基础上,确保表中的每列都和主键相关。除主键以外其他列都依赖且主键于主键列。
第二范式有两个规则:

  • 表必须符合第一范式。
  • 表中的每列必须依赖主键。

3. 第三范式(3NF)
第三范式又在第二范式的基础上更进了一层。第三范式的目标是确保每列都和主键列直接相关,而不是间接相关。其定义是:如果一个关系满足2NF,并且出了主键的其他列既不部分依赖也不传递与主键列,则满足第三范式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值