小编swi*_*ese的帖子

在MySQL中创建表时如何定义列的默认值?

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)

mysql database default-value

17
推荐指数
2
解决办法
3万
查看次数

数据建模:逻辑建模练习

在尝试学习数据存储的艺术时,我一直在尝试尽可能多地获取可靠的信息.PerformanceDBA在以下帖子中发布了一些非常有用的教程/示例:我的数据是否已标准化?关系表命名约定.我已经在这里询问了这个模型的子集问题.

因此,为了确保我理解他提出的概念,我在其他地方看到过,我想进一步采取一两步,看看我是否掌握了这些概念.因此这篇文章的目的,希望其他人也可以学习.我所呈现的一切都是对我和学习的概念,而不是在某些生产系统中应用它.自从我使用他的模型开始以来,从PerformanceDBA获得一些输入会很酷,但我很欣赏任何人提供的所有输入.

由于我是数据库的新手,尤其是建模,我将首先承认我可能并不总是提出正确的问题,清楚地解释我的想法,或者由于缺乏关于该主题的专业知识而使用正确的问题.因此,请记住这一点,如果我偏离轨道,请随时引导我朝正确的方向前进.

如果对此有足够的兴趣,我想从逻辑到物理阶段采取这种方式来展示过程的演变并在Stack上分享它.我将为逻辑图保留此线程,并为其他步骤启动新线程.根据我的理解,我将最终构建一个MySQL数据库来运行一些测试,看看我想出的是否真的有用.

以下是我想在此概念模型中捕获的内容列表.编辑V1.2

  1. 这样做的目的是列出乐队,他们的成员,他们将出现的活动,以及提供音乐和其他商品出售
  2. 会员将能够与朋友匹配
  3. 会员可以在乐队,他们的音乐和他们的活动上撰写评论.
    • 每个成员在给定项目上只能进行一次审核,尽管他们可以编辑他们的评论并保留历史记录.
    • BandMembers将有机会撰写关于他们所关联乐队的评论的单一评论.作为乐队,每次评论只允许一个评论.
    • 然后,成员可以对所有评论和评论进行评级,但每个给定的实例仅评
  4. 会员可以选择自己喜欢的乐队,音乐,商品和活动
  5. 乐队,歌曲和事件将被分类为它们所属的类型,然后在必要时进一步细分为SubGenre.Band或Event可以归入多个Genre/SubGenre组合.
  6. 将为特定乐队发布活动日期,时间和地点,会员可以显示他们将参加活动.活动可以由多个乐队组成,多个活动可以在同一天的单个地点举行
  7. 每一方都将至少与一个地址绑定,并保留地址历史记录.每个方也可以一次绑定多个地址(即计费,运输,物理)
  8. 将存储Bands,BandMembers和一般成员的配置文件.

所以它可能有点涉及,但对于许多人来说可能是一个很好的学习工具,因为这个过程在不断发展,社区也会提供意见.有什么输入?

替代文字

编辑v1.1 响应PerformanceDBA

U.3)这意味着数据库中没有Band商品以外的商品.正确吗? 这是我最初的想法,但你让我思考.也许该网站想要出售自己的商品甚至是乐队的其他商品.不确定为此做出的模式.它是否需要对目录部分进行整个返工,或者只需要与乐队存在的识别关系?试图销售完整的专辑或歌曲的mod.无论哪种方式,它们都是电子格式,只能下载.这就是为什么我将专辑列为由歌曲组成而不是两个独立的实体.

U.5)我理解你提出的关于与Favorite的循环关系的内容.我想谈谈这个"它是一个具有某种形式的差异的实体(FavoriteType),它确定了它的处理方式"但我怎么不清楚.我在这里错过了什么?

u.6) "业务规则这可能是你唯一的弱点."
感谢您的诚实回应.我将重新阅读这些内容,但我希望首先通过回复给您的回复清除我脑中的一些疑惑.

Q.1)是的我希望接受,拒绝和阻止.我不确定你指的是如何改变逻辑模型?

Q.2)一个人不一定是用户.它们只能作为BandMember存在.那是你在问什么?

次要问题

零,一个或多个...哎呀我承认我在构建模型时忘记了这个注意事项.我按原样提交此版本,并将在未来版本中解决.我需要阅读更多关于约束检查的内容,以确保我理解事物.

M.4)取决于您将来是否设想OrderPurchase.你能扩展一下这里的意思吗?

替代文字

编辑V1.2 响应PerformanceDBA输入...

得到教训.

  1. 我正在混合识别/不识别和基数(即类型/子格)的概念,并且这样做不一致,使事情变得更糟.
  2. 逻辑图中不需要关联表,因为它们可以描述多对多关系,然后在物理模型中进行扩展.
  3. 在很多关系中我忽略了基数
  4. 使用有效的动词短语来阅读关系的重要性,以确保我正在模拟我想要完成的事情.

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

10
推荐指数
1
解决办法
4725
查看次数

MySQL CHECK约束替代

根据MySQL手册"该CHECK子句被解析但被所有存储引擎忽略." 所以我知道简单的解决方案是不可能的,但还有另一种可行的方法来达到同样的结果吗?也许通过一些使用触发器或存储过程?如果是这样的话?

另外,因为它只是"解析"就像说避免使用它一样好,因为它不起作用?

使用MySQL 5.5.11和InnoDB表

mysql constraints

8
推荐指数
1
解决办法
8025
查看次数

分层数据 - 嵌套集模型:MySql

我只是学习如何实现嵌套集模型,但仍然混淆了它涉及可能属于多个类别的项目的某个方面.鉴于下面的示例是从HERE中提取的,并且反映了我遇到的许多其他示例......

分层数据:编号树

表

添加苹果时,如何避免数据库中的重复,因为它们是多色的(即红色,黄色,绿色)?

mysql database database-design relational-database database-schema

7
推荐指数
1
解决办法
5434
查看次数

将HTML5用于新网站

由于旧版浏览器对HTML5的支持程度较低,一个(或可以一个)在此时使用HTML5的任何部分,以便新网站拥有不同的用户,并且可以访问各种浏览器(和版本)网站?

编辑:在这里填写更多信息.有问题的网站,为简单比较,将类似于fb.我不是在谈论一个社交网站,只会达到那种类型的广大受众(任何人都可以加入),并且将成为一个交互式门户网站(不仅仅是显示网站的完整静态内容).

html html5

5
推荐指数
1
解决办法
298
查看次数

phpmyadmin和外键

我在我的一个字段中添加了一个外键约束.

在插入时,该字段显示为下拉菜单而不是文本框,如预期的那样.

但下拉列表中的每个值都列出两次,一次在值前面加一个减号,一次在值后面加一个减号.

像这样:

- value1
- value2
- value3
value1 -
value2 -
value3 -
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

mysql foreign-keys phpmyadmin

5
推荐指数
1
解决办法
2万
查看次数

数据建模:超类型/子类型

想要找出模拟以下要求的正确方法.

  1. 有三种类型的"派对",一个是Fan,一个乐队和一个BandMember.
  2. BandMember将始终与乐队相关联,也可以是任何乐队的粉丝.
  3. Fan,Band和BandMember之间有共同的属性,但这3个中的每一个也都有自己独特的属性.
  4. Fan可以是任何Band的粉丝,也可以不是

这只是更大思想的一小部分,但它在扩展模型时产生了混乱.我相信它必须是图2或其他一些选项,因为我没有看到BandMember如何与第一个模型中的Band相关联.

我很感激任何意见.

替代文字

替代文字

database database-design datamodel relational-database database-schema

4
推荐指数
1
解决办法
9365
查看次数

规范化地址

我正在尝试规范化地址.

下图显示了我认为的这个问题的相关表格.我想知道如何将ZipCodes集成到模型中.这将是国际地址,所以我知道Zip/PostalCode并没有在任何地方使用.我认为City :: ZipCode是1 :: 0-n(我读过其他人说这并非总是如此,但他们从未提供过证据).如果他们是正确的,那么我想这将是一个多对多的关系.由于每个地址最多只能包含一个ZipCode,而ZipCode可以包含许多地址,因此我在如何规范化此模型时会丢失.

由于地址可能包含或不包含ZipCode,因此我需要避免在地址表中将其作为可空的FK.

编辑: 只是想强调所提供的实体和属性从实际数据库中大幅缩减.它仅用作参考并解决我对将zipcodes包含在模型中的问题的关注.

在此输入图像描述

database zipcode database-design normalization relational-database

3
推荐指数
1
解决办法
9934
查看次数