NC_数据库5.0学习笔记001

思想:数据库的设计


场景:


笔记:

数据库设计{

  • 需求设计(采用上到下的方式),确定实体和属性

  • 概念结构设计(联系类型,e-R图)

  • 逻辑结构设计(将模型转换成特定的dbms支持的数据模型,设计范式)

  • 物理结构设计

  • 数据库的实施

  • 数据库的运行和维护

}

联系类型{

1:1,A表中一行最多只能匹配B表中的一行,反之亦然

1:n, A中一行可以匹配B中多行,但是B中一行只能匹配A中一行

m:n ,A中一行匹配B中多行,反之亦然

}

E-R图{

矩形框:表示实体

菱形框:表示联系

椭圆型框:表示实体的属性

连线:连接实体和属性,实体和联系(表示联系类型)

}


设计范式{(掌握前三种范式)(主属性就是主键)

  • 第一范式1NF(原子性:属性不可再分割)

  • 第二范式2NF(所有的非主属性必须完全依赖主属性)

  • 第三范式3NF(2NF基础上,所有非主属性不能依赖其他非主属性)

  • 巴斯科德范式BCNF(3NF基础上,非主属性不能依赖于主属性子集)

  • 第四范式4NF(3NF基础上,表中不能包含一个实体的两个或则多个相互独立的多值因子:手机号码,座机号码)

  • 第五范式5NF(完美范式)(在4NF基础上,表必须可以分为较小的表,除非那些表在逻辑上拥有原表相同的主键)

}

学生信息{

学号,姓名,年龄,性别,出生日期,所在班级,班级名称,班级地址,班级编号,课程编号,课程名称,成绩

第一范式:原子性过滤 过滤重复属性

学号 姓名 性别 出生日期 班级名称 班级地址 班级编号 课程编号 课程名称 成绩

第二范式:非主属性必须完全依赖于主属性

学生表:学号 姓名 性别 出生日期 班级名称 班级地址 班级编号 课程编号

课程表:课程编号 课程名称

成绩表:学号 课程编号 成绩

第三范式:非主属性不能依赖于其他非主属性

学生表:<学号> 姓名 性别 出生日期 班级编号 课程编号 (学号是学生表的主键

课程表:<课程编号>课程名称(课程编号是课程表的外键

成绩表:<学号 课程编号> 成绩(学号和课程编号是成绩表的外键

班级表:<班级编号>班级名称 班级地址(班级编号是班级表的外键

}

物理结构设计{

将逻辑结构实施到具体环境,依赖于给定的DBMS和硬件系统

}

数据库的实施{

根据逻辑结构设计和物理结构设计的结果,建立数据库系统,加载数据,测试,试运行

}

数据库的运行和维护{

改善数据库的性能,维护数据库安全

}


扩展:


代码参考:

#include<iostream>
using namespace std;
int main(){





}
  • 结语:毛爷爷是我一生的信仰;社会主义是我一生的追求;我是我一生最爱的人。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码字界陈冠希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值