笛卡尔积的解释和作用[通俗易懂]

笛卡尔积的解释和作用[通俗易懂]一:笛卡尔积的解释例给出二个域:假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。[编辑本段]笛卡尔积的运算性质  由于有序对<x,y>中x,y的位置是确定的,因此A×B…

大家好,又见面了,我是你们的朋友全栈君。

一:笛卡尔积的解释

例 给出二个域:
假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。 [编辑本段]笛卡尔积的运算性质  由于有序对<x,y>中x,y的位置是确定的,因此A×B的记法也是确定的,不能写成B×A.
  笛卡尔积也可以多个集合合成,A1×A2×…×An.
  笛卡尔积的运算性质. 一般不能交换.
  笛卡尔积,把集合A,B合成集合A×B,规定
  A×B={<x,y>½xÎAÙyÎB}
  在任意集合A上都可以定义笛卡尔积因为对任意两个集合A和B,用A中元素为第一元素,B中元素为第二元素构成有序对,所有这样的有序对组成的集合就是集合A和B的笛卡尔积.当集合A = B 时,笛卡尔积就记作A A. [编辑本段]推导过程  给定一组域D1,D2,…,Dn,这些域中可以有相同的。D
  例 给出三个域:
  D1=SUPERVISOR ={ 张清玫,刘逸 }
  D2=SPECIALITY={计算机专业,信息专业}
  D3=POSTGRADUATE={李勇,刘晨,王敏}
  则D1,D2,D3的笛卡尔积为D:
  D=D1×D2×D3 =
  {(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨),
  (张清玫,计算机专业,王敏),(张清玫,信息专业,李勇),
  (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏),
  (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨),
  (刘逸,计算机专业,王敏),(刘逸,信息专业,李勇),
  (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }

二:笛卡尔积的应用

某些情况下,用于 寻找连续日期中残缺的数据 的时候,可以先笛卡尔积做一个排列组合。然后和目标表进行关联,查找哪些数据缺少了。

例如有个考勤记录表,记录着100个人的2011年4月的考勤信息,理论上这些人应该每天都有记录的。
但是实际上某些人在某些天上面的数据,缺少了。
一天一天的查询,还是一个人一个人的查询,都有些麻烦。
这种情况下,可以针对 每个人 与 每一天 做一个 笛卡尔积 的处理。
然后与实际的表去关联。就很容易查询出结果了。

三:原理

MySQL的多表查询(笛卡尔积原理)
先确定数据要用到哪些表。
将多个表先通过笛卡尔积变成一个表。
然后去除不符合逻辑的数据(根据两个表的关系去掉)。
最后当做是一个虚拟表一样来加上条件即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157324.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NAT模式实现局域网物理机与虚拟机的互通访问「建议收藏」

    NAT模式实现局域网物理机与虚拟机的互通访问「建议收藏」玩过虚拟机的朋友都知道,不管是vbox还是vm,最常用的网络设置也不外乎3种:1、桥接模式:此模式下,虚拟机的操作系统就像和物理机同一段网络中的物理机一样,它可以访问网络中的任何机器,同时只要物理机可以访问网络,虚拟机也可以实现上网。此模式是懒人模式首选!但换来一个问题就是,如果你的物理机网络IP发生变化,虚拟机的IP也会相应的改变。如果IP变化对虚拟机有影响的环境,此模式慎用!

    2022年6月23日
    97
  • eclipse安装android_安卓studio怎么打包apk

    eclipse安装android_安卓studio怎么打包apkEclipseandroid开发更改apk名字有以下几步:第一步,修改工程包名在eclipse里,找到项目包和java包(原则上都一样),就可以按”F2″修改名字,随之,源.java也会得到相应的修改;然而每个.java文件都需要把如下图内容,再额外修改一下第二步,修改AndroidManifest.xml文件AndroidManifest.xml里的内容是android工程的相关配置文件。工程文件的解析具体可参考:某鸟教程.第三步,修改Strings.xml文件然后是…

    2022年10月5日
    0
  • Python IDLE 安装与使用教程(调试、下载)

    Python IDLE 安装与使用教程(调试、下载)原文:http://www.jb51.net/softjc/142580.html由于Google、YouTube等大型公司的推广,Python编程语言越来越受欢迎,很多编程爱好者,也将Python

    2022年7月6日
    18
  • Java Class类简介

    Java Class类简介
    一,class类有什么用?
    class类的实例表示java应用运行时的类(classansenum)或接口(interfaceandannotation)(每个java类运行时都在JVM里表现为一个class对象,可通过类名.class,类型.getClass(),Class.forName(“类名”)等方法获取class对象)。数组同样也被映射为为class对象的一个类,所有具有相同元素类型和维数的数组都共享该Class对象。基本类型boolean,byte,ch

    2022年5月1日
    38
  • CSS之选择器建议收藏

    选择器(selector)是CSS中的重要概念,用于对HTML元素的查找和控制。由于Selenium学习需求特对选择器相关知识进行学习和总结,方便以后查阅。基本选择器基本选择器是jQuery中最常

    2021年12月18日
    285
  • 女生学java_Java Server Pages

    女生学java_Java Server Pages/*身份证号码的结构和表示形式<br>1、号码的结构<br>公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成。排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码。<br>2、地址码<br>表示编码对象常住户口所在县(市、旗、区)的行政区划代码,按GB/T2260的规定执行。<br>3、出生日期码&

    2022年8月31日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号