美文网首页
建表原则,视图

建表原则,视图

作者: 云承寒 | 来源:发表于2017-06-17 20:16 被阅读0次

建表原则

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

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

学生和课程
主键,外键
主键: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

相关文章

  • 建表原则,视图

    建表原则 一对多的关系建表 多对多的关系建表原则 主键,外键 约定优于配置:约定好规则 视图 视图即虚表,实际上就...

  • oracle使用(七)_视图_数据增删改查

    视图(view) 2.序列 update,insert,delete 事务(ACID) 建表(三范式) 约束 视图...

  • MySQL建表和增删改相关SQL语句

    MySQL建表和增删改相关SQL语句 Navicat 数据库导航视图如下:

  • swift 4.2代码实现表视图UITableView

    表视图的组成 表头视图: 表视图最上边的视图,用于展示表视图的信息,也可以放搜索栏 表脚视图: 表视图最下边的视图...

  • 视图 约束

    视图 简单视图:单个表 复杂视图:表中包含着各种函数 连接视图:视图中牵扯到多个表 创建视图:create vie...

  • 自关联和视图

    自关联 float(6,2)实现结果形式0000.00汉字/3字符 建表 查询 视图 1.从原始表导出的表2.他是...

  • ORACLE之视图和系统函数

    视图 视图是什么? 视图(View)是从一个或多个表(或视图)导出的表。视图与数据库中的物理表不同,视图是一个虚表...

  • 视图--数据库2018-06-15

    视图(View)是从一个或多个表(或视图)导出的表。视图与表(有时为与视图区别,也称表为基本表--Base Tab...

  • 9_mysql视图

    ① 视图(view)是从一个或多个表中(或视图)导出的表。② 视图与表(有时为与视图区别,也称表为基本表)不同,视...

  • MySQL的视图

    MySQL的视图 创建基础表 视图的测试 视图的分类 单源表视图:视图的数据可以只取自一个基本表的部分行、列,这样...

网友评论

      本文标题:建表原则,视图

      本文链接:https://www.haomeiwen.com/subject/uhebqxtx.html