建表原则,视图

建表原则

  • 一对多的关系建表
从表中创建一个外键字段,指向主表的主键。

分类和商品:一个分类可以对应多个商品,但一个商品只能属于某一个分类。
部门和员工:一个部门可以有多个员工,但一个员工只能属于某一个部门。
  • 多对多的关系建表原则
创建中间表,表中至少有两个字段,分别作为外键,指向各自一方的主键。
两张表分别都是主表,中间表为从表,提供两个字段都是外键。

学生和课程
主键,外键
主键:primary key

外键:foreign key,用来保证数据的完整性。
从表外键列的值必须参照主表主键列的值,外键允许为NULL。

从表中外键的数据类型,必须与主表中主键的数据类型保持一致。

外键值不许添加主表中,不存在的主键值。
主表的主键,不能删除从表中外键已经引用的记录。
声明外键约束

alter table 从表 add [constraint] [外键名称] 
foreign key(从表外键字段名) 
references 主表(主表的主键)
在MySQL中,InnoDB支持事务和外键,修改表的存储引擎为InnoDB。

ALTER TABLE 表名 ENGINE = 'InnoDB';
约定优于配置:约定好规则
表名:t_表名
主键 id
外键 参照表(缩写)_主键名

开发中为了提高性能,往往不要外键,但是依然使用InnoDB存储引擎。

视图

视图即虚表,实际上就是一个命名的查询,用于改变基表数据的显示,用来限制对基表数据的直接访问,提高了查询性能。

视图的DML
创建视图
CREATE VIEW v_demo
AS SELECT AVG(salePrice) 
FROM product 
WHERE salePrice > 100 
GROUP BY dir_id HAVING  AVG(salePrice) > 400

删除一个视图
DROP VIEW viewname

你可能感兴趣的:(建表原则,视图)