您现在的位置是:主页 > news > 维护网站需要多少钱/百度一下首页网页百度
维护网站需要多少钱/百度一下首页网页百度
admin2025/5/23 13:45:26【news】
简介维护网站需要多少钱,百度一下首页网页百度,seo外贸网站,国内可以用wordpress吗键值约束与扩展属性,ER关系图,三大范式,分组查询,多表联查 目录键值约束与扩展属性ER关系图三大范式多表联查键值约束与扩展属性 键值约束与扩展属性:键值约束:约束表中指定字段的数据必须符合某种规则&a…
键值约束与扩展属性,ER关系图,三大范式,分组查询,多表联查
目录
- 键值约束与扩展属性
- ER关系图
- 三大范式
- 多表联查
键值约束与扩展属性
键值约束与扩展属性:键值约束:约束表中指定字段的数据必须符合某种规则;
种类:非空约束:NOT NULL —— 约束指定字段数据不能为NULL唯一约束:UNIQUE —— 约束指定字段数据不能出现重复主键约束:primary key —— 数据非空且唯一,一个表中只能有一个主键外键约束:foreign key —— 表中指定字段数据受父表数据约束foreign key (字段名) references 主表名(字段名)默认值:DEFAULT —— 为指定字段设置默认值自增属性:AUTO_INCREMENT —— 整形字段数据自动+1(用于主键字段)
分组查询:group by —— having
分组查询的字段只能是分组依据字段以及聚合函数
分组查询中不能使用where,如果要用条件过滤使用having
select role,sum(salary),max(salary),min(salary),avg(salary) from tbname group by role having avg(salary)>1500;
聚合函数:针对结果中的数据的某个字段进行某种统计运算
count(*) ——统计数据条数
sum(fields) ——统计指定字段的和
max(字段) ——统计指定字段中最大值
min(fields) ——统计指定字段中最小值
avg(fields) ——统计指定字段的平均值
数据库中表的设计:ER,三大范式
ER关系图
ER关系图:
一对一:一个学生只有一个学生证
能唯一标识一个学生的字段就是主键
一对多:向学生实体(多的一方)添加一个班级id
一个学生能学多个课,一个课可以有多个学生上
多对多:设计一个中间表包含两个实体的ID,通过中间表将两个实体关联
三大范式
三大范式:数据库表设计的三大规范
第一范式:表中每个字段都必须具有不可分割的原子操作(第一范式是其他范式的前提)(确保每列保持原子性)
上表违反第一范式,后两栏可分割。
不遵循第一范式会导致按照某个非原子字段进行查询时效率降低。
第二范式:表中每个字段都应与主键完全关联,而不是部分关联(确保表中的每列都和主键相关)
上图不遵循第二范式标准品那个会出现大量数据冗余。
第三范式:表中每个字段都应该与主键直接关联,而不是间接关联
上图不遵循第三范式,班主任信息和学生信息间接关联,可拆分为下面
…
多表联查
多表联查:将多张表合在一起进行查询
将多张表合在一起:笛卡尔积
连接方式:内连接+外连接(左连接,右连接)
内连接:连接数据交集 inner join
class |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| stu
select stu.name,class.name from stu inner join
class on
class.id=stu.class_id
左连接:以左表为基表在右表中查询符合条件的进行连接
select stu.name,class.name from stu left join
class on
stu.class_id=class.id
右连接:以有表为基表在左表中查询符合条件的进行连接
select stu.name,class.name from stu right join
class on
stu.class_id=class.id