vfp中使用命令创建索引,如果子表是普通索引是否可以建立一对多关系。
因为在数据库设计器中创建关系的话是看子表中索引是主索还是普通索引,如果是主索引则建立一对一关系,如果是普通索引则建立一对多关系。我就是想知道使用命令创索引是不是也是这样的...
因为在数据库设计器中创建关系的话是看子表中索引是主索还是普通索引,如果是主索引则建立一对一关系,如果是普通索引则建立一对多关系。我就是想知道使用命令创索引是不是也是这样的。
展开
1个回答
展开全部
1:1和1:n和n:n不是你理解的这个含义
1:1也就是1对1表关系,指的是A表中记录和B表中的记录 一一对应,一般是用各自表的id作为关联(这里的关联其实是逻辑上的)
举例来说 A表(ID,name)
B表 (ID,sex)
这里就是1对1的关系,同一个id关联了姓名和性别两个表中的字段,表示其为同一个人的属性
注:其实这样分配表的意义不大,这里只是用来说明问题才是这么做
1:n 1对多的关系
举例来,例如某人可能有多个电话号码要记录在表中
说A表(ID,Name)
B表(ID,TelphoneNo,A_ID)
所以建立一个手机号码表,将用户A_ID放在B表中,这样新增一个手机号码,只需记录此人的ID和新手机号码即可
n:n 多对多的关系
举例来说比如一个学生可以有几个老师,一个老师也可以有几个学生
学生表(ID,name)
老师表(ID,name)
关系表(s_id,t_id)
这样,将老师和学生的关系用关系表来记录
至于索引的目的主要是为了加快搜索速度,而主索引还会同时一个限制,主键内容不允许重复,
因为如果主键id重复,在查询主键时就无法区别,是要找哪一条记录了
1:1也就是1对1表关系,指的是A表中记录和B表中的记录 一一对应,一般是用各自表的id作为关联(这里的关联其实是逻辑上的)
举例来说 A表(ID,name)
B表 (ID,sex)
这里就是1对1的关系,同一个id关联了姓名和性别两个表中的字段,表示其为同一个人的属性
注:其实这样分配表的意义不大,这里只是用来说明问题才是这么做
1:n 1对多的关系
举例来,例如某人可能有多个电话号码要记录在表中
说A表(ID,Name)
B表(ID,TelphoneNo,A_ID)
所以建立一个手机号码表,将用户A_ID放在B表中,这样新增一个手机号码,只需记录此人的ID和新手机号码即可
n:n 多对多的关系
举例来说比如一个学生可以有几个老师,一个老师也可以有几个学生
学生表(ID,name)
老师表(ID,name)
关系表(s_id,t_id)
这样,将老师和学生的关系用关系表来记录
至于索引的目的主要是为了加快搜索速度,而主索引还会同时一个限制,主键内容不允许重复,
因为如果主键id重复,在查询主键时就无法区别,是要找哪一条记录了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询