2018 python全能工程师网络02ddl实现.pdfVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

DDL设计

有哪些DDL语句?

虚拟表的创建

增、删、改虚拟表的字段

创建表

没有什么影响。因为是全新的表,没有任何数据和它相关。

增加字段

新增一个字段到表里面,这个字段是新的,还没有任何数据使用这个字段。

只需要考虑要不要为所有记录更新这个字段并设置值。一个新字段,就是能不能为空。

nullable是否可为空

如果可为空,什么都不用做;

如果不可以为空,需要在现有虚拟表上遍历所有记录增加值,这个值只能是缺省值。

引入default来设置缺省值。

如果设置了unique=true,default的值一定要满足唯一性。

如果使用,那么此字段是外键,还得考虑此缺省值是否存在被表的主键中

修改字段

修改name,没有问题,只是一个描述字符串而已。

修改meta

改type,要遍历所有虚拟表的该字段数据,拿出来转类型成功后,写回去。操作成本太高了,因此,禁

nullable

从false到true,什么都不做

从true到false,就需要对这个虚拟表的该字段遍历。使用schema_id和field_id在value表中查找

value字段是否为null,或者(因为新增字段时,可以为空,就什么都不做)。如果为null或者

,校验失败

SELECTcount(id)fromvalueWHEREfield_id=2andentity_id=3;

count为0,校验失败

unique

从true到false,什么都不做

从false到true,如何判断?

使用field_id在value表中查找value字段中count的变化

SELECTcount(id)fromvalueWHEREfield_id=2;

SELECTDISTTcount(value)fromvalueWHEREfield_id=2;

如果两次count结果一样,就是无重复的。

注意这种查询太慢了

multi

从false到true,什么都不做

从true到false,需要计算每一个entity的entity_id、field_id的count

SELECTcount(id)fromvalueWHEREfield_id=2andentity_id=1;

count1说明是多个值,检验失败

reference

清除信息,就是去掉约束,不用校验。而且value字段上的值原来谁就是合法的,所以继

续保留

增加,就要检验外键的值是否出现在了被表的主键上,只要有一个不在,检验失败。

如果检验成功,在reference字段上填上外键信息。

这些主键、外键值都在value表中,所以使用自关联。

看下面的参考1。如果通过自关联左联查出count大于0,就检验失败。

option修改,只是数据处理的限制条件,我们这里的约定修改了,将影响以后的数据限制,已经入库的

验不更新

参考1

--使用自连接

SELECTsource.*,target.*

FROM`value`ASsourceLEFTJOIN`value`AStarget

ONsource.`value`=target.`value`ANDtarget.field_id=3

WHEREtarget.`value`isNULLANDsource.field_id=2

SELECT

您可能关注的文档

文档评论(0)

137****2076 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档