有没有一种方法,以有立足其非复制的两个字段的表定义?
通过这一点,我有3个GID,CID,价格
标准:
- 只能有1个
cid
1个gid
- 可以有多个
cid
的,只要存在多个gid
的和标准1不违反
我基本上要具有在该表设计的限制,如果可能的话。 不知道它可能只是想我会问。
编辑(2010-08-27 11:18 CST)
好了一点澄清,我有两个指标,以及,一个在gid
和其他是cid
,我可以有两个指标确定唯一性? 该表基本上是一个连接表,因为画中的两个表具有一对多的关系,只要他们的对手是独特的它的ID。
表/索引声明:
- GID {数值:长}(主:否,独特的:否,忽略空值:否)[FK]
- CID {数值:长}(主:否,独特的:否,忽略空值:否)[FK]
- 价格{数字:单}
用法:
有一个在MS Access中创建多字段索引没有困难。 您可以直接点击按钮的索引(闪电),并选择你所需要的。
你的第一点是...
但后来你说...
所以我不能确定你想要什么。 如果该数据集代表可接受的样本值...
gid cid
1 1
2 1
2 2
...我用下面的方法创建的表。 主键是上一个复合索引gid
和cid
。 禁止Null值这些字段,并确保只有值的独特的对可被存储在表中。
一个gid
值可与多个不同的配对cid
值。 和一个cid
可以与多个不同的配对gid
值。
如果这不是你以后,请说明你想要的东西来代替。 如果你有一个需要额外指数cid
而已,你可以添加一个...它不会与主键索引干扰。
下面是我所使用的方法。
Public Sub CreateTable_GoldBishop()
Const cstrTable As String = "tblGoldBishop"
Dim cn As Object
Dim strSql As String
Set cn = CurrentProject.Connection
strSql = "CREATE TABLE " & cstrTable & "(" & vbCrLf & _
"gid INTEGER," & vbCrLf & _
"cid INTEGER," & vbCrLf & _
"price SINGLE," & vbCrLf & _
"CONSTRAINT pkey PRIMARY KEY" & _
"(gid, cid)" & vbCrLf & _
");"
Debug.Print strSql
cn.Execute strSql
Set cn = Nothing
End Sub
顺便说一句,我不是想告诉你用DDL来创建表,但如果这是你想要的表的设计,你可以运行的程序,然后检查在设计视图表。