数据库基础知识
2017-07-22 10:21
274 查看
下面讲解一下数据库基础知识
主键:Primary Key ,在表中唯一确定该条记录的字段
外键:Foreign Key ,引用(参照)另外一个表中的主键字段
图书表
id 图书名称 类别 价格
1 Java编程思想 1 50
2 Hibernate入门 1 60
3 成功有方法 2 30
id是主键,类别是外键,
主表(在关联关系中,包含主键字段的表叫主表),从表(在关联关系中,包含外键字段的表叫从表)
在这里的关联关系指的是:图书表的类别和图书类别表和id对应,这个关联关系中可以看到图书表的类别不是主键,而图书类别表的id是主键
所以:
图书表是从表(因为它包含类别的外键)
图书类别表是主表(因为它包含了类别的主键)
图书类别表
id 名称
1 计算机
2 励志
3 地理
4 历史
表设计不合理,会产生的问题
1.重复问题:就是如果图书表上面的类别写计算机,那么如果相同的类别的话就要写很多的计算机,这样和简单的数字来比复杂了很多!
2.删除问题:假如在图书摆的类别上写计算机之类的,如果删除了计算机的类别,那么久不存在计算机类别了,而下面的就算删除1,图书类别
表中也有计算机的类别
3.修改的问题:如果在图书表中的类别上修改计算机类别之类的,存在很多的相同类别的数据的时候,这样修改就很麻烦了,而图书类别表就可以
很好的解决此类问题!(只要在名称上修改一下即可)
我们设计数据库的时候都要满足三范式,具体三范式可以查看这篇文档:
http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html
下面介绍多表关联查询(为了让用户用起来方便)
select 图书名称,名称,价格 from 图书表,图书类别表 where 图书表.类别=图书类别表.id
select a.图书名称,b.名称 as 图书类别,a.价格 from 图书表 a,图书类别表 b where a.类别=b.id(这种情况是为了避免数据库表中存在相同的字段名
,而存在的麻烦)
主键:Primary Key ,在表中唯一确定该条记录的字段
外键:Foreign Key ,引用(参照)另外一个表中的主键字段
图书表
id 图书名称 类别 价格
1 Java编程思想 1 50
2 Hibernate入门 1 60
3 成功有方法 2 30
id是主键,类别是外键,
主表(在关联关系中,包含主键字段的表叫主表),从表(在关联关系中,包含外键字段的表叫从表)
在这里的关联关系指的是:图书表的类别和图书类别表和id对应,这个关联关系中可以看到图书表的类别不是主键,而图书类别表的id是主键
所以:
图书表是从表(因为它包含类别的外键)
图书类别表是主表(因为它包含了类别的主键)
图书类别表
id 名称
1 计算机
2 励志
3 地理
4 历史
表设计不合理,会产生的问题
1.重复问题:就是如果图书表上面的类别写计算机,那么如果相同的类别的话就要写很多的计算机,这样和简单的数字来比复杂了很多!
2.删除问题:假如在图书摆的类别上写计算机之类的,如果删除了计算机的类别,那么久不存在计算机类别了,而下面的就算删除1,图书类别
表中也有计算机的类别
3.修改的问题:如果在图书表中的类别上修改计算机类别之类的,存在很多的相同类别的数据的时候,这样修改就很麻烦了,而图书类别表就可以
很好的解决此类问题!(只要在名称上修改一下即可)
我们设计数据库的时候都要满足三范式,具体三范式可以查看这篇文档:
http://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html
下面介绍多表关联查询(为了让用户用起来方便)
select 图书名称,名称,价格 from 图书表,图书类别表 where 图书表.类别=图书类别表.id
select a.图书名称,b.名称 as 图书类别,a.价格 from 图书表 a,图书类别表 b where a.类别=b.id(这种情况是为了避免数据库表中存在相同的字段名
,而存在的麻烦)
相关文章推荐
- [数据库] MySQL基础知识之日期判断及添加排序序号
- 数据库的基础知识
- 数据库基础知识一
- mysql--基础知识总结 数据库,数据表基本
- 数据库外键基础知识和操作(世界杯版)
- 数据库基础知识
- SQL Sever基础知识---创建数据库
- 基础知识(C#语法、数据库SQL Server)回顾与总结
- 基础知识(C#语法、数据库SQL Server)回顾与总结
- 数据库基础知识_1
- Java数据库连接——JDBC基础知识(操作数据库:增删改查)【转】
- 数据库基础知识(CRUD)
- EF基础知识小记三(设计器=>数据库)
- 【数据库系统概念】第1-3章 数据库基础知识入门 知识总结
- 关系型数据库mysql 基础知识
- 数据库基础知识
- NoSQL数据库的基础知识 .
- (转)Sybase ASE基础知识:利用Sybase Central简单操作Sybase ASE数据库
- 数据库基础知识
- 基于C#的MongoDB数据库开发应用(1)--MongoDB数据库的基础知识和使用