【发布时间】:2017-11-19 04:34:54
【问题描述】:
第一次使用 Oracle DB。
我从一个非常基本的Person 表开始:
["ID", "Age", "Workclass", "fnlwgt", "Education", "Education-Num", "Martial Status", "Occupation", "Relationship", "Race", "Sex", "Capital Gain", "Capital Loss", "Hours per week", "Country", "Target"]
还有一个Relationship 表:["PersonID", "RelativeID", "Relation"]
- 一个人的工作类只能是给定值之一: Private、Self-emp-not-inc 和其他一些价值观
- 一个人的年龄必须大于他的孩子。
- 父母必须年满 12 岁
- 男人的收入不能超过他的妻子
我的第一个想法是在客户端的代码级别检查这些内容,但我想有更好的方法可以使用纯 sql 来实现。
我想创建具有这些约束的表,但我对 oracle SQL 一无所知
【问题讨论】:
-
“男人的收入不能超过他的妻子”。我们在哪个世纪?
-
@Gordon 让我觉得这是一个家庭作业之类的 .. :) 即奇怪的标准,以便生成一个特定的逻辑案例来“练习”:)
-
通过表约束,无法达到你想要的效果。要么实施程序来执行这些验证,要么使用触发器。
-
@Ditto 。 . .它实际上作为家庭作业更加尴尬。技术任务不应该传播这种刻板印象。
-
如果您对 Oracle 一无所知,请开始阅读。你可以阅读Data Integrity here。
标签: sql oracle constraints create-table