动易SiteFactory标签常用数据表关系说明_第1页
动易SiteFactory标签常用数据表关系说明_第2页
动易SiteFactory标签常用数据表关系说明_第3页
动易SiteFactory标签常用数据表关系说明_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

动易SiteFactory标签常用数据表关系说明为了让我们的课程更为简单和便于理解,我们先从一个范例入手,逐步深入讲解SiteFactory前台相关数据表之间的关系。SiteFactory产品的数据是分表储存的,这样做主要有一下几个方面的优势•减少了冗余信息,节省了数据库存储空间•简化了数据库的修改、维护等操作•在数据量庞大的时候能够提高性能这样我们就不得不谈下SiteFactory主要的几个表之间的关系,以及多表查询技术了,下面我为大家列出了三个表格,分别是公共模型、节点、文章模型下的几个主要字段,说明其中的关系。Table:PE_CommonModel模型公共数据表字段表字段名称字段类型字段描述GenerallDint内容全局IDNodelDint节点IDModellDint模型IDItemIDint相应表的记录IDTableNamenvarchar(255)模型表名Titlenvarchar(255)标题Table:PE_Nodes节点表NameDatatypeDescriptionNodeIDint节点IDNodeNamenvarchar(50)节点名称Table:PE_U_Article文章表NameDatatypeDescriptionIDint文章IDContentntext内容我们知道一篇文章的Title(标题)被储存在PE_CommonModel表下的Title字段中,Content(内容)被储存在PE_U_Article文章表下的Content字段中,那么我们如何同时取出标题和内容呢?也就是如何能够同时查询PE_CommonModel表和Content表的信息,这就要用到SQL提供的多表连接功能,在SELECT语句中实现PE_CommonModel表和Content表的连接,通过连接,就可以将二者看作是一个表进行处理。(注意:在SELECT语句中实现的多表连接,并不是一个物理存在的实体,换句话说,他在数据库表中并不存在。它只是有数据库系统在需要的时候创建,只在查询、检索数据库其间有效)简单的两表连接在SQL中,创建连个表的连接非常简单,只需要指明需要连接的表及其他之间的关系即可如下面的代码:SELECTPE_CommonModel.Title,PE_U_Article.ContentFROMPE_CommonModel,PE_U_ArticleWHEREPE_CommonModel.GeneralID=PE_U_Article.ID我们来分析一下上面的代码,其中SELECT语句中Title字段为公共模型PE_CommonModel表中的列,Content为文章模型PE_U_Article表中的列,而FROM子句中列出了PE_CommonModel和PE_U_Article两个表,他们就是在SELECT语句中需要连接的两个表。WHERE子句则给出了这两个表的进行连接所依据的关系,即根据两个表中的ID号进行匹配(PE_CommonModel.GeneralID=PE_U_Article.ID)(扩展:SELECT语句的执行顺序为:FROM—WHERE—SELECT-ORDERBY)扩展中介绍的SELECT语句执行顺序,该实例的执行过程实际上可以表示如下:•首先系统执行FROM子句,这里的FROM子句列出的有两个表PE_CommonModel表和PE_U_Article表,DBMS(DataBaseManageMentSystems数据库管理系统)将计算这两个表的笛卡尔积,列出这两个表中行的所有可能组合,形成一个中间表。中间表中的每条记录包含了两个表中的所有行。•而后系统将执行WHERE语句,根据“PE_CommonModel.GeneralID=PE_U_Article.ID'关系对中间表进行搜索,去除那些不满足此关系的记录。•最后系统执行SELECT语句,从执行WHERE子句得到后的中间表的每条记录中,去取出Title(标题)、Content(内容)两个字段的信息作为结果表那么我们思考一下,如果不指定连接关系会出现什么样的情况呢SELECTPE_CommonModel.Title,PE_U_Article.ContentFROMPE_CommonModel,PE_U_Article如果我们在文章中心添加了3篇内容那么标题和内容分别为:第一篇文章,第一篇文章的内容第二篇文章,第二篇文章的内容第三篇文章,第三篇文章的内容想想看,前面扩展中介绍的SELECT语句是如何执行的,结果是怎样的呢?第一篇文章,第一篇文章的内容第一篇文章,第二篇文章的内容第一篇文章,第三篇文章的内容第二篇文章,第一篇文章的内容第二篇文章,第二篇文章的内容第二篇文章,第三篇文章的内容第三篇文章,第一篇文章的内容第三篇文章,第二篇文章的内容第三篇文章,第三篇文章的内容从结果可以看到,每个标题信息均与所有的内容进行了匹配连接。它实际上返回连接表中所有数据行的笛卡尔积,其结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数,即3X3=9条记录,这与前面介绍的例子实例的执行过程分析相吻合。多表连接前面通过一个实例介绍了两个表的连接,实际上,SQL的SELECT语句中可以实现任意多个表的连接。船检连接的基本规则于已经举例过的两个表的连接相同,即在FROM子句中列出所要连接的表,在WHERE子句中指明连接关系,这里我在举一例:SELECTPE_CommonModel.Title,PE_U_Article.Content,PE_Nodes.NodeNameFROMPE_CommonModel,PE_U_Article,PE_NodesWHEREPE_CommonModel.GeneralID=PE_U_Article.IDANDPE_CommonModel.NodeID=PE_Nodes.NodeID此列中,PE_CommonModel表、PE_U_Article表、PE_Nodes表的连接过程可以按一下方式理解。•从PE_CommonModel表中得到Title(标题)•通过GeneralID(全局ID)和ID(文章ID)与PE_U_Article表相关联,从而从PE_U_Article表中得到Content(内容),Content(内容)于PE_CommonModel的GeneralID(全局ID)对应。•通过PE_CommonModel表中的NodeID(节点ID)和PE_Nodes表中的NodeID(节点ID)与PE_Nodes从PE_Nodes表中得到NodeName(节点名称)通过两个范例,可见表的基本连接,只要遵守下面的两个基本原则即可★FROM子句中应列出所有连接的表名★WHERE子句应定义连接的关系条件(前台相关的数据表之间关系,在页尾可以看到,我已经整理列出方便大家查阅)知识扩展:前面介绍的表连接,是通过FROM子句列出要连接的表、WHERE子句列出连接条件来实现的。也可以在FROM子句中,通过连接关键字实现表的连接,这样有助于将连接操与WHERE的搜索条件区分开来。我们需要采用JOIN关键字来建立连接。JOIN关键字分为四种:自然连接、内连接、外连接、和交叉连接。其中外连接又分为左连接、右连接、左外连接、又外连接。这里我仅仅为大家列出内连接的使用方法。内连接内连接要成为等同连接,返回的结果集是两个表中所有匹配的数据,而舍弃不匹配的数据,也就是说,在这种查询中,DBMS只返回来自源表中的相关行,即查询的结果表包含的两源表行,必须满足ON子句的搜索条件。来看我们的范例一是如何通过内连接来实现:SELECTPE_CommonModel.Title,

PE_U_Article.ContentFROMPE_CommonModelINNERJOINPE_U_ArticleON(PE_CommonModel.GeneralID=PE_U_Article.ID)在来看看范例二如何通过内连接来实现:SELECTPE_CommonModel.Title,PE_U_Article.Content,PE_Nodes.NodeNameFROMPE_CommonModelINNERJOINPE_U_ArticleON(PE_CommonModel.GeneralID=PE_U_Article.ID)INNERJOINPE_NodesON(PE_CommonModel.NodeID=PE_Nodes.NodeID)通过连个内连接的例子,我们总结一下INNERJOIN的语法:SELECT歹。FROM连接表INNERJOIN连接表ON(表之间的连接关系)上面的篇幅讲解了表与表之间的关系,以及如何连接多个表进行查询,下面我列出动易®SiteFactory™前台相关数据表关系□dbo.PE_UserGroups|口/|苗凸毋用尸模.GroupIDdbo.PE_Useis|口口UserID'CompanylDClientIDUserTiJpeUserNamedbo.PE_Model丘回□KESHHNHNHModelName口IsEshopDescriptionTableNarne口IternNarnedbo.PE_U_Announce|口BlContentAuthorDateAndTimeIsSelectedOutTimeID□dbo.PE_U_Book3Z1AuthorBookConcernISBNFormatPage□dbo.PE_U_Soft0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论