数据设计三范式

来源:互联网 发布:伊利的网站域名有几个 编辑:程序博客网 时间:2024/06/05 16:34
一、数据设计三范式
1、数据库中表的列(字段)必须具有院子性,不可再分割,就是说讴歌列只能描述一种数据(含义)。
2、数据库中表的非主键字段不能存在部分依赖。(这些普通字段都必须依赖所有主键)
3、数据库中的表不允许存在传递依赖。
二、查询
1、where条件查询:
where条件必须是表中存在的字段,可以通过逻辑运算符合关系运算符进行条件筛选及过滤。

2、group by 分组查询:
使用group by 进行分组查询,对于分组的字段必须具有共性(多条数据有重复或者相同)
分组排序后使用分组查询select语句中只能使用两项内容:
聚合函数和分组字段
count()统计分组后各组数据的条数
sum(field)统计分组后各组数据指定的字段数据之和
avg(field)统计分组后各组数据指定的字段算数平均值
max(field)统计分组后各组数据指定的字段数据最大值
min(field)统计分组后各组数据指定的字段数据最小值
可以对多个字段进行分组,那么分组的顺序是先按照第一个字段分组,再按照第二个字段分组,依次类推。
group by classNo ,sex 

3、having 子句一般跟着group by 后面
作用:如果需要对分组之后的数据进行条件过滤或筛选,可以使用having 子句
如:查询每个班级人数在3人以上人数
select count(*) co from student group by classNo having co>3


4、order by 排序
使用order by 可以对数据按照某个字段排序,默认是升序,
order by 字段 asc    
如果使用降序 Order by 字段 desx
order by 必须在 group by having语句之后


5、limit 限制数量查询(用于分页)
如:
select * from student limit 3查询前三个学生信息
select * from student limit 0,3 查询前三个学生信息
分页算法:
--分页查询(limit) 总条数 count总条数  line总页数
1、确定每页显示多少条数据
2、求出总页数 , page = count % line  > 0 ? (count/line)+1 : count/line   
3、limit start ,line  ; start = (pagenum -1)*line 


select * from student order by stuNo limit 0,3 --第一页
select * from student order by stuNo limit 3,3 --第二页 2-1  *3
select * from student order by stuNo limit 6,3 --第三页 3-1  *3


三、高级查询-连接查询
1、内联(两种写法)
select * from student s,classes c where s.classes = c.classNo
se;ect * from student inner join classes on s.classes = c.classNo



原创粉丝点击