第六章 多表查询

ER 实体数据关系   六大范式

第一范式 确保第一范式1NF 不可继续分割的数据

第二范式 要求每一个表只描述一件事情除了主键以外的列,都依赖该主键2NF

如果一个关系满足2NF,并且除了主键以外的其他列都不传递依赖于主键列,消除对该表影响为零的数据部分;则满足第三范式 3NF 消除冗余数据 有关系,

 

表中包含大量的冗余,可能会导致数据异常

更新异常

添加异常

删除异常

 

加快数据的读取与运算

 

create table  表名

(

字段名数据类型 约束

foreign key(本表字段名) references 外表 (字段 )constraint

check(gender in('男' ,'女'))

)

drop table 表名

insert into 表名(字段列表) values(值列表)

update 表名 set 字段名 = 新值, 字段名 = 新值 where 条件



delete from 表名 where 条件

truncate table 表名

drop table 表名

 

查询语句expression

select 字段列表 from 表名 where 条件

select count (*)from 表名 where 条件

count(字段名 只算不为空的记录 不排重)  (distinct 字段名只算不为空的记录并且排重)

select sum /avg(数组类型字段) from 表名 where 条件

 

分组查询

select 字段名 count (*) from 表名 where 条件

group by 字段名

having 过滤条件

 

ISNULL () rollup()分组汇总

 

查询中嵌套一个查询

select * from 表名 where 条件 in(select 一个字段名 from 表名 where 条件)

相关子查询 非相关子查询

在两个查询结果范围内。并且查询结果的字段数和数据类型相同

 

UNION  UNION  ALL 保留重复行

EXCEPT 差集 允许返回一个查询中出现但不在另一个查询中出现的行

INEXCEPT 交集

 

select*from 表1 inner join 表2 on表1.字段名 =表2. 字段名

 

DAO Data Access Object 数据访问对象  业务逻辑的分割

类的构造函数添加对数据库数据的处理

持久层 数据底层实现的封装不断的封装Jdbc的底层操作 提高代码的可重用性

视图层 控制层

 

业务代码与数据库操作底层代码隔离 以DAO类为封装工具

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值