只想知道 发表于 2015-1-16 14:07:10

数据的完全性和分歧性的区分

mysql的原来开发者又开发了MariaDB,MariaDB适合用来替代mysql吗本章来历于csdn上彀友的会商。

问:不利用事件怎样包管数据的分歧性,也没有说是MSSQL或是MySQL,WCF甚么的,向列位就教一下怎样办理这类成绩?

答1:
起首,要不利用是很难的,由于成熟的RDBMS都内置有这个功效。
然后,假如你能够包管逻辑分歧性,那不利用事件也能够。实在外键也能坚持数据额分歧性。
我以为你的口试题大概次要会合在主键、外键、另有按按次操纵(这里能够制止逝世锁)。
乃至还要计划数据库计划,假如不利用事件,那你的范式估量要最最少的3NF了。

==================================================================================

答2:
关于完全性和分歧性,看来很多人都等量齐观了。

完全性(integrity)更多是针对实践营业来讲的,好比说一个人员ID,不克不及在一个内外是1,另外一个内外倒是2;数据库引擎一样平常经由过程主外键、触发器等来保护完全性的。

分歧性(consistency)是事件一个特性,要底层一点。举例来讲,针对这个语句:updateasetcol1=1,col2=2whereid=1(变动一行数据的两列),数据库要包管在任何情形下,都毫不能呈现只变动了col1,或只变动了col2的情形,这两列(col1和col2)要末一同被改,要末都没改。还包含外部的索引布局、外部数据字典等数据都要相对坚持分歧。

增补一句,select,insert,update,delete任何一个独自的t-sql语句,即使没有begintran,也是一个隐式的事件。

==================================================================================

答3:
事件怎样包管数据的分歧性?

事件次要避免事变做一半吧:
一定转账:
1、给a账号削减100元
2、给b账号增添100元
假如只完成1就溃散了,没有事件,就呈现了帐不屈。

==================================================================================

答4:
数据分歧性不但单实体完全性和参照完全性两个方面,更主要大概说更难完成的是营业完全性,常常必要事件来包管。
进步计划的标准化能够削减对事件的依附,好比削减了冗余,良多事件就不用请求了。可是不克不及完整打消事件,并且标准水平太高会影响别的方面。
触发器实践是事件性的,这里不晓得是不是算一个谜底。

假如不利用事件,要想包管分歧性我以为独一的办法是营业的冗余,就是处置一件事变用别的营业往校订。

==================================================================================

答5:
数据分歧性和事件不是一回事。
数据分歧性次要包含两个方面:实体完全性和参照完全性。
在表中界说主键的目标就是为了使数据库满意实体完全性。
在表间界说外键的目标就是为了使数据库满意参照完全性。

==================================================================================

答6:
主键、外键、触发器

主外键是数据库针对完全性的,这个应不是数据库分歧性的范围,和数据分歧性没甚么干系
实在触发器也是事件性的,只是对照出格,隐式的罢了
==================================================================================mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功

飘灵儿 发表于 2015-1-18 12:00:33

我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力

分手快乐 发表于 2015-1-25 20:35:37

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

乐观 发表于 2015-2-4 03:09:37

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

老尸 发表于 2015-2-9 13:24:02

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

愤怒的大鸟 发表于 2015-2-27 07:43:25

个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。

谁可相欹 发表于 2015-3-9 01:09:18

对递归类的树遍历很有帮助。个人感觉这个真是太棒了!阅读清晰,非常有时代感。

深爱那片海 发表于 2015-3-23 05:22:11

对于微软系列的东西除了一遍遍尝试还真没有太好的办法
页: [1]
查看完整版本: 数据的完全性和分歧性的区分