DEFAULT在MySQL中定义值的SQL是什么?
在下面的代码中需要添加/更改的内容为IsObsolete提供默认值N?
CREATE TABLE Team
(
TeamId CHAR(16) NOT NULL,
DateCreated TIMESTAMP NOT NULL,
IsObsolete CHAR(1) NOT NULL DEFAULT N,
UpdateTime TIMESTAMP NOT NULL
);
Run Code Online (Sandbox Code Playgroud) 在尝试学习数据存储的艺术时,我一直在尝试尽可能多地获取可靠的信息.PerformanceDBA在以下帖子中发布了一些非常有用的教程/示例:我的数据是否已标准化?和关系表命名约定.我已经在这里询问了这个模型的子集问题.
因此,为了确保我理解他提出的概念,我在其他地方看到过,我想进一步采取一两步,看看我是否掌握了这些概念.因此这篇文章的目的,希望其他人也可以学习.我所呈现的一切都是对我和学习的概念,而不是在某些生产系统中应用它.自从我使用他的模型开始以来,从PerformanceDBA获得一些输入会很酷,但我很欣赏任何人提供的所有输入.
由于我是数据库的新手,尤其是建模,我将首先承认我可能并不总是提出正确的问题,清楚地解释我的想法,或者由于缺乏关于该主题的专业知识而使用正确的问题.因此,请记住这一点,如果我偏离轨道,请随时引导我朝正确的方向前进.
如果对此有足够的兴趣,我想从逻辑到物理阶段采取这种方式来展示过程的演变并在Stack上分享它.我将为逻辑图保留此线程,并为其他步骤启动新线程.根据我的理解,我将最终构建一个MySQL数据库来运行一些测试,看看我想出的是否真的有用.
以下是我想在此概念模型中捕获的内容列表.编辑V1.2
所以它可能有点涉及,但对于许多人来说可能是一个很好的学习工具,因为这个过程在不断发展,社区也会提供意见.有什么输入?

编辑v1.1 响应PerformanceDBA
U.3)这意味着数据库中没有Band商品以外的商品.正确吗? 这是我最初的想法,但你让我思考.也许该网站想要出售自己的商品甚至是乐队的其他商品.不确定为此做出的模式.它是否需要对目录部分进行整个返工,或者只需要与乐队存在的识别关系?试图销售完整的专辑或歌曲的mod.无论哪种方式,它们都是电子格式,只能下载.这就是为什么我将专辑列为由歌曲组成而不是两个独立的实体.
U.5)我理解你提出的关于与Favorite的循环关系的内容.我想谈谈这个"它是一个具有某种形式的差异的实体(FavoriteType),它确定了它的处理方式"但我怎么不清楚.我在这里错过了什么?
u.6) "业务规则这可能是你唯一的弱点."
感谢您的诚实回应.我将重新阅读这些内容,但我希望首先通过回复给您的回复清除我脑中的一些疑惑.
Q.1)是的我希望接受,拒绝和阻止.我不确定你指的是如何改变逻辑模型?
Q.2)一个人不一定是用户.它们只能作为BandMember存在.那是你在问什么?
次要问题
零,一个或多个...哎呀我承认我在构建模型时忘记了这个注意事项.我按原样提交此版本,并将在未来版本中解决.我需要阅读更多关于约束检查的内容,以确保我理解事物.
M.4)取决于您将来是否设想OrderPurchase.你能扩展一下这里的意思吗?

编辑V1.2 响应PerformanceDBA输入...
得到教训.
U.2) 在该模型的概念中,只需要将场地作为事件的位置进行跟踪.无需收集更多数据.据说,活动将在特定的EventDate上进行,并将在场地举行.场地将在给定日期举办多个活动和可能的多个活动.在我的新模型中,我的想法是EventDate已经与Event绑定.因此,Venue不需要与EventDate建立关系.你在U.2)下列出的第5和第6发子弹让我质疑我的想法.我在这里错过了什么吗?
U.3)是时候将Item和Band之间的链接移动到Item和Party了吗?根据目前的设计,我没有看到有可能出售与你乐队无关的商品.
U.5)我按照你的输入离开,而不是使它成为一个离散的超类型/子类型关系,因为我没有看到这种类型的卷起的好处.
其他修订
AR.1)在完成对FavoriteItem的练习之后,我觉得要审核的项目需要多对多关系才能显示出来.必要?

好的,我们去v1.3
我在这个版本上花了几天时间,按照我的设计来回走动.一旦逻辑过程完成,我想看看我是否走在正确的轨道上,我将深入了解我所学到的知识以及我作为初学者在整个过程中遇到的麻烦.这个版本的重点是投入了一些密钥以帮助看到我过去缺少的东西.经历矩阵的过程也证明了它的巨大帮助.无论如何,如果不是因为PerformanceDBA提供的输入,我仍然会是一个在黑暗中琢磨的失落的灵魂.谁知道我现在的设计可能会重申我仍然是,但我学到了很多,所以我知道我手里至少有一个手电筒.
在这个时候,我承认我仍然对识别和非识别关系感到困惑.在我的模型中,我不得不使用非空值的非标识关系来加入我想要建模的关系.在阅读这个主题时,似乎在这个问题上存在很多分歧和犹豫不决,所以我做了我认为在我的模型中代表正确事物的东西.何时强制(识别)和何时自由(不识别)?有人有投入吗?

编辑V1.4
Ok拿了V1.3输入并清理了这个V1.4
目前正在开发V1.5以包含属性.

编辑V1.6
好吧,自从我在这里发布以来已经有一段时间了但是这个项目的工作仍在进行中.我现在正在发布V1.6,其中包括V1.4上次发布的一些更改.此版本显示了Keys的进一步发展.它仍然不包括属性或任何AK或IE.我已经开始研究物理模型,并使用它来帮助处理属性,并尝试阐明我在定义AK和IE时遇到的问题.逻辑模型的下一个发布将包括这些键和属性.

database database-design relational-database database-schema identifying-relationship
根据MySQL手册"该CHECK子句被解析但被所有存储引擎忽略." 所以我知道简单的解决方案是不可能的,但还有另一种可行的方法来达到同样的结果吗?也许通过一些使用触发器或存储过程?如果是这样的话?
另外,因为它只是"解析"就像说避免使用它一样好,因为它不起作用?
使用MySQL 5.5.11和InnoDB表
我只是学习如何实现嵌套集模型,但仍然混淆了它涉及可能属于多个类别的项目的某个方面.鉴于下面的示例是从HERE中提取的,并且反映了我遇到的许多其他示例......


添加苹果时,如何避免数据库中的重复,因为它们是多色的(即红色,黄色,绿色)?
mysql database database-design relational-database database-schema
由于旧版浏览器对HTML5的支持程度较低,一个(或可以一个)在此时使用HTML5的任何部分,以便新网站拥有不同的用户,并且可以访问各种浏览器(和版本)网站?
编辑:在这里填写更多信息.有问题的网站,为简单比较,将类似于fb.我不是在谈论一个社交网站,只会达到那种类型的广大受众(任何人都可以加入),并且将成为一个交互式门户网站(不仅仅是显示网站的完整静态内容).
我在我的一个字段中添加了一个外键约束.
在插入时,该字段显示为下拉菜单而不是文本框,如预期的那样.
但下拉列表中的每个值都列出两次,一次在值前面加一个减号,一次在值后面加一个减号.
像这样:
- value1
- value2
- value3
value1 -
value2 -
value3 -
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
想要找出模拟以下要求的正确方法.
这只是更大思想的一小部分,但它在扩展模型时产生了混乱.我相信它必须是图2或其他一些选项,因为我没有看到BandMember如何与第一个模型中的Band相关联.
我很感激任何意见.


database database-design datamodel relational-database database-schema
我正在尝试规范化地址.
下图显示了我认为的这个问题的相关表格.我想知道如何将ZipCodes集成到模型中.这将是国际地址,所以我知道Zip/PostalCode并没有在任何地方使用.我认为City :: ZipCode是1 :: 0-n(我读过其他人说这并非总是如此,但他们从未提供过证据).如果他们是正确的,那么我想这将是一个多对多的关系.由于每个地址最多只能包含一个ZipCode,而ZipCode可以包含许多地址,因此我在如何规范化此模型时会丢失.
由于地址可能包含或不包含ZipCode,因此我需要避免在地址表中将其作为可空的FK.
编辑: 只是想强调所提供的实体和属性从实际数据库中大幅缩减.它仅用作参考并解决我对将zipcodes包含在模型中的问题的关注.

database zipcode database-design normalization relational-database
database ×5
mysql ×4
constraints ×1
datamodel ×1
foreign-keys ×1
html ×1
html5 ×1
phpmyadmin ×1
zipcode ×1