数据库基础概念

数据库:database 存放数据的仓库

数据库管理系统:管理数据库的软件

数据库系统:数据/数据库/数据库管理系统与操作数据库的应用构成了数据库系统

数据模型:

1.层次模型:层次模型将数据组织成一对多关系的结构,采用关键字来访问每一层次的每一部分。

优点:存取方便快捷,结构清晰,容易理解,数据修改和数据库扩展容易实现,检索关键属性方便。

缺点:结构不够灵活,同意属性数据要存储多次,数据冗余大。

2.网状模型:网状模型将数据组织成多对多的数据组织方式。 

优点:明确方便的表示数据间的复杂关系,数据冗余小

缺点:结构复杂,增加了用户查询和定位的困难,需要存储数据间联系的指针,使得数据量增大,数据修改不方便。

关系模型:关系模型以记录组成或二维数据表的形式组织数据。

表中的一行称为一个记录,一列称为一个字段或者属性,每列标题为字段名,属性名。

如果一个字段或者几个字段组合的值可以唯一标识对应的一行记录,那就称为码。

数据库模型按不同的应用层次分为3种类型:概念模型/逻辑模型/物理模型

1.概念模型的表示方法:E-R图

实体:矩形  每个实体都有多个属性  二者用无向线连接

属性:椭圆   

联系:菱形

实体之间的联系:

1:1l联系:如学生和学生证

1:n联系:一个学生可以有多个手机号码,一个号码只能实名一个学生

m:n联系:一个学生可以参加多门课程,一门课程也可以多个学生参加

范式:

1NF:属性不可再分,字段保证原子性

2NF:

在满足第一范式的基础上(每一个字段都和主键字段相关)

实现:增加一个用于标识实体对象的列字段(主键)

例如每一个学生的学号都能唯一标识一个学生,学生的姓名/性别/年龄/系别都能被学号唯一标识,

或者说其余非主属性都取决于主属性。

出现的问题:

1.数据冗余

如多个学生同时选修一门课程,一个学生选择多门课程,会出现大量的冗余数据

2.更新异常

如果需要调整某一门课程的学分信息,会更新大量同课程学分信息

3.插入异常

如新增一门课程还没有学生进行选修(学号为空),插入时违反了学号非空约束,不能新增课程

4.删除异常

如果一批学生完成该课程的选修,需要将该课程的选修信息删除,那么课程信息也会被删除

3NF:

在满足第二范式的基础上,不能出现传递依赖(该表字段不能出现其他表非主键字段)

实现:将出现传递依赖的字段信息单独抽取成新表,用一个外键字段指向新表的主键

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值