当前位置: 首页 > news >正文

网站建设新闻发布注意事项wordpress头像管理插件

网站建设新闻发布注意事项,wordpress头像管理插件,软件大全app,网站先做前台还是后台目录 多表设计 一对多(多对一) 多对多 一对一 多表查询 概述: 内连接: 外连接: 子查询: 分类: 事务 索引 介绍: 结构: 语法: 多表设计 概述&a…

目录

多表设计

一对多(多对一)

多对多

一对一

多表查询

概述:

内连接:

外连接:

子查询:

分类:

事务

索引

介绍:

结构:

语法:

多表设计

概述:项目开发中,在进行数据库表设计时,会根据需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种:

一对多(多对一)

例如:部门和员工的关系(一个部门可以有多个员工)

在一对多的关系中我们把一的一方称作父表,多的一方称为子表

多表问题分析:

现象:当父表数据被直接删除,子表部分数据依然归属于父表,此时就出现了数据不完整,不一致的问题

问题分析:目前上述的两张表,在数据库层面,并未建立关联,所以是无法保证数据的一致性和完整性的。

解决方式:数据库中的约束:外键

(后续添加外键时需要将之间删除的数据补充完整,否则会出现报错数据不完整)

在外键约束后不能删除父表中的在子表中存在引用的外键,

外键约束:

物理外键

概念:使用 foreign key 定义外键关联另外一张表。

缺点:

     影响增、删、改的效率(需要检查外键关系)。

     仅用于单节点数据库,不适用于分布式、集群场景。

     容易引发数据库死锁问题,消耗性能。

逻辑外键:

概念:在业务层逻辑中,解决外键关联。

通过逻辑外键,就可以很方便的解决上述问题。

多对多

案例:学生 与 课程 的关系

关系:一个学生可以选修多门课程,一门课程也可以供多个学生选择

 实现:建立第三张中间表,中间表至少包含两个外键,分别关联两方主键

一对一

案例:用户 与 身份证信息 的关系

关系:一对一关系,多用于单表拆分,将一张表的基础字段放在一张表中,其他字段放在另一张表中,以提升操作效率(一张表存放查询频率多的)

实现:在任意一方加入外键,关联宁外一方的主键,并且设置外键为唯一的(UNIQUE)

多表查询

介绍:

多表查询:指从多张表中查询数据。

select*from tb_emp,tb_det; from后为表名,用逗号分开,但是这个查询的结果为笛卡尔集

select*from tb_emp,tb_det where  tb_emp.dept_id=,tb_det.id 这样可以将无效的笛卡尔集消除。

概述:

分类:

连接查询:

内连接:相当于查询A、B交集部分数据

外连接:

左外连接:查询左表所有数据(包括两张表交集部分数据)

右外连接:查询右表所有数据(包括两张表交集部分数据)

子查询

内连接:

语法:

隐式内连接:select 字段列表 from 表1,表2 where 条件...;

显式内连接:select 字段列表 from 表1  [inner]   join 表2 on  连接条件...;

起别名:

select e.name,d.name from tb_emp e, tb_dept d where e.dept_id=d.id;

一旦起别名查询只能用别名指定

外连接:

语法:

左外连接:select 字段列表 from 表1 left [outer] join 表2 on 连接条件...;

select e.name,d.name from tb_emp e left tb_dept d on e.dept_id=d.id;

右外连接:select 字段列表 from 表1right [outer] join 表2 on连接条件...;

select e.name,d.name from tb_emp e right tb_dept d on e.dept_id=d.id;

子查询:

介绍:SQL语句中嵌套select语句,称为嵌套查询,又称子查询。

形式:select*from t1 where column1=(select column1 from t2...);

子查询外部的语句可以是insert/update/delete/select的任何一个,最常见的是select

分类:

标量子查询:

子查询返回的结果为单个值(数字、字符串、日期等),最简单的形式

常用的操作符:= <> > >= < <=

列子查询:

子查询返回的结果为一列(可以是多行)

常用的操作符:in、not in等

行子查询:

子查询返回的结果为一行(可以是多列)

常用的操作符:=、<>、in、not in

表子查询:

子查询返回的结果为多行多列,常作为临时表

常用操作符:in

事务

概念:事务是一组操作的集合,它是一个不可分割的工作单位。事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作 要么同时成功,要么同时失败。

注意事项:默认MySQL的事务是自动提交的,也就是说,当执行一条DML语句,MySQL会立即隐式的提交事务。

事务控制:

开启事务:start transaction;/begin;

提交事务:commit;

回滚事务:rollback;

四大特性:

原子性:事务是不可分割的最小单元,要么全部成功,要么全部失败

一致性: 事务完成时,必须使所有的数据都保持一致状态

隔离性:数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行

持久性:事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

索引

介绍:

索引是帮助数据库 高效获取数据 的 数据结构。

优点:

提高数据库查询的效率,降低数据库的IO成本

通过索引列对数据进行排序,降低数据排序的成本,降低CPU消耗。

缺点:

索引会占用存储空间。

索引大大提高了查询效率,同时却也降低了insert、update、delete的效率。

结构:

MySQL数据库支持的索引结构有很多,如:Hash索引、Full-Text索引等。我们平常所说的索引,如果没有特别指明,都是指默认的B+Tree结构组织的索引。

语法:

创建索引

create[unique]index 索引名on表名(字段名,...);

查看索引

show index from 表名;

删除索引

drop index 索引名 on 表名;

注意事项:

主键字段,在建表时,会自动创建主键索引。

添加唯一约束时,数据库实际上会添加唯一索引。

http://www.yayakq.cn/news/165031/

相关文章:

  • 出售源码的网站logo设计公司深圳
  • 大连网站建设免费杭州网站建设哪个好
  • 如何建立免费公司网站公司车辆管理系统软件
  • 南京seo网站建设费用百度链接地址
  • 国外做网站推广steam怎么注册域名
  • 重庆网站建设夹夹虫负责有什么好的做家常菜的网站
  • 建设主题网站的顺序是什么长治做百度网站一年多少钱
  • 毕业设计做系统和网站有什么区别传统企业公司网站优化案例
  • 游戏企业用什么程序做网站电商网站要素
  • 网站建设所用系统如何做亚马逊跨境电商平台
  • 四网一体网站建设方案百度网盘网页版登录入口
  • 寿光市建设局网站企业网站建设及推广
  • 50m专线做视频网站最好玩的网游排名前十
  • 网站推广排名平台网站模板 自适应
  • phpcms电影网站开发个人博客网站制作论文
  • 郑州网站建设找智巢上海暂停娱乐场所营业通知
  • 企业网站开发摘要广东网站建设方便
  • 烟台网站搜索优化点击出字插件wordpress
  • 2017如何免费制作网站凡科手机网站建设开发
  • 物流企业网站建设与管理规划书做个网站的价格
  • 商业网站排名企健网网址
  • 合肥房产网站建设西安高端网站制作
  • 网站顶部怎么做新浪链接智能产品开发
  • 自己设计一个网站辽宁自助网站建设价格
  • 贵阳地铁建设网站云南网站开发费用
  • 太白 网站建设seo网络营销工程师
  • 做竞价网站需要什么样的空间齐装网
  • 一级域名 二级域名 目录网站推广网站备案是一年一次吗
  • 免费做qq互赞网站专业网站构建
  • 常州网站建设公司教程四川林峰脉建设工程有限公司网站