标题:关于SQL的问题
只看楼主
chenyirui121
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-17
 问题点数:0 回复次数:9 
关于SQL的问题

我现在创了一个登陆表和注册表:
create table login
(
loginID varchar(20) primary key,
loginUserName varchar(20) null unique,
loginPwd varchar(20) null
)


create table register
(
loginID varchar(20) foreign key references login(loginID),
userName varchar(20) primary key,
userTrueName varchar(20),
userPwd varchar(15),
userGender varchar(2),
userBirthDate varchar(20),
userProvince varchar(10),
userCity varchar(10),
userEmail varchar(30),
userRegisterDate datetime

)
可是我创了之后就遇到了一个难题,那就是用户是在注册表里注册信息的,可登陆表里没有信息啊,那当用户登陆的时候又怎么样取得到注册表里的信息呢,我正纳闷呢!!初学者,请各位帮忙看一下怎么解决.谢谢!!

搜索更多相关主题的帖子: SQL 
2007-04-23 20:32
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
得分:0 
不是有外建关系吗?

好累
2007-04-23 22:03
xiezili
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2007-4-8
得分:0 
觉用一个表就够了!

http://xiezili.
2007-04-24 00:47
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8074
专家分:6657
注 册:2005-11-7
得分:0 
create table Users
(
id varchar(20) primary key,
UserName varchar(20) null unique,
password varchar(20) null
userGender varchar(2),
userBirthDate varchar(20),
userProvince varchar(10),
userCity varchar(10),
userEmail varchar(30),
userRegisterDate datetime
)

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2007-04-24 09:06
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
得分:0 
加上go

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-04-24 11:41
chenyirui121
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-17
得分:0 
回复:(chenyirui121)关于SQL的问题
谢谢各位大侠,可是我想把登陆表和注册表分开啊,只是不知道怎么把他们关联起来,当我注册信息的时候,希望登陆表也跟着一起更新.
2007-04-24 12:24
cyyu_ryh
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1899
专家分:176
注 册:2006-10-21
得分:0 
利用键,写两个更新语句

有事无事都密我. MSN: cyyu_ryh@hotmail.co.jp E-mail: cyyu_ryh@
2007-04-24 12:25
球球
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:1146
专家分:265
注 册:2005-11-28
得分:0 
select ... from login,register where login.loginID=register.loginID不就可以根据用户登陆的时候取得到注册表里的信息.

好累
2007-04-25 17:11
从小到大
Rank: 1
等 级:新手上路
威 望:2
帖 子:200
专家分:0
注 册:2006-6-24
得分:0 
干吗这么麻烦呢?直接一个表解决问题

2007-04-25 23:51
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
得分:0 

不明白你为什么要这样设计。
首先看看吧,登陆注册的本质,注册实质上是存储信息,登陆实际上是拿出原来存储的信息比对来验证用户。他们都是对“用户”这一实体的不同操作。
现代使用的都是关系数据库。所谓关系数据库:
设计数据库应当从ER(实体和关系)出发。在数据库中,通常一个实体对应一个数据表,表中的列对应了该实体拥有的属性,关系就是利用主键外键将多个表(实体)联系起来的关系。

即便你要把他们分开成两个表,那不妨具体分析,把用户这个实体拆分成“注册”和“客户”两个实体。我们所说“注册”不是指一个动作,而是指一个实体。两个表通过主外键联系起来。具体主键外键怎么选择,就看你这两个实体的关系是什么的,一对一,一对多还是多对多,从集合的角度说他们的包含关系。

所以实在不明白你为什么如此设计数据库。这样做对于操作、理解和编程都无益,因为没有用解决问题的思维观点出发,这反而会增加数据库负担。


铲铲是也
2007-04-26 06:35



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-134343-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.048496 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved