社区
Java EE
帖子详情
数据库设计中问题
hyj956948933
2009-12-03 09:29:08
请问:
数据库设计中用户表与用户详细信息表之间,用id做外键方便,还是用username来做外键?
...全文
89
14
打赏
收藏
数据库设计中问题
请问: 数据库设计中用户表与用户详细信息表之间,用id做外键方便,还是用username来做外键?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zys2419740
2009-12-15
打赏
举报
回复
ID,不多说了,以后都不要用NAME做关联的外键!
daisycool
2009-12-15
打赏
举报
回复
[Quote=引用 2 楼 crazylaa 的回复:]
引用楼主 hyj956948933 的回复:
请问:
数据库设计中用户表与用户详细信息表之间,用id做外键方便,还是用username来做外键?
个人看法:主键尽量与业务无关。
[/Quote]
用户名在大多数情况下都是一旦设定就不能再更改,所以即便作了主键不会和业务层有一毛钱关系。
daisycool
2009-12-15
打赏
举报
回复
无所谓,只要保证username必须唯一(其实很多情况下username都必须是唯一的)和必须是不能包含汉字和特殊字符就可以。
不要忘了,主键的特性是唯一,只要满足这个特性都可以作主键,不必须是数字,更不必是所谓的”ID“。既然是主健,就理所当然不得不戒的可以作外键了
chht108
2009-12-14
打赏
举报
回复
个人看法:主键尽量与业务无关。
[/Quote]
java_running
2009-12-05
打赏
举报
回复
一般来讲,当时是Id做主键或外键咯
jarvis_java
2009-12-05
打赏
举报
回复
用户表是ID做主键。用户详细信息外间是用户ID 用户名肯定不能做主键!因为有同名的人
火龙果被占用了
2009-12-05
打赏
举报
回复
在一个系统中有很多的表都会使用到 username 这个字段值,如果都是采用 USER 表中的 id 来关联的话,那么在查询时关于 username 的东西都必须先跑到 USER 表中把 id 查出来,再通过 id 去查,这样做的话很明显多了一次表的查询,因此我认为关于 username 作为关联字段比较适合。
火龙果被占用了
2009-12-05
打赏
举报
回复
用户与用户信息表一般使用 username 作为关联的居多。这样的关联属于适当的数据冗余。
当然了,在 USER 表中的 username 是不允许更改的,也不允许删掉,而且必须是唯一的。
cs_hai
2009-12-04
打赏
举报
回复
userid做外键
id就是用来唯一标识一条记录的
zclbleach
2009-12-04
打赏
举报
回复
对啊 尽量避免中文乱码问题
jackterq
2009-12-04
打赏
举报
回复
当然用id啦....如2楼所言,主键尽量与业务无关...
另外..username可能会有中文的情况...乱码问题会烦死你...
phoenix_qiqi
2009-12-03
打赏
举报
回复
用id
username 容易重名
crazylaa
2009-12-03
打赏
举报
回复
[Quote=引用楼主 hyj956948933 的回复:]
请问:
数据库设计中用户表与用户详细信息表之间,用id做外键方便,还是用username来做外键?
[/Quote]
个人看法:主键尽量与业务无关。
道光2008
2009-12-03
打赏
举报
回复
用户表 user_id,username:id是主键
用户信息表:userinfo_id, user_id: user_id是外键
Java聊天室毕业
设计
完整版+
数据库
一个Java的程序
设计
聊天室毕业
设计
完整代码+
数据库
数据库
设计
的基本步骤
数据库
设计
的基本步骤 按照规范
设计
的方法,考虑
数据库
及其应用系统开发全过程,将
数据库
设计
分为以下6个阶段 1.需求分析 2.概念结构
设计
3.逻辑结构
设计
4.物理结构
设计
5.
数据库
实施 6.
数据库
的运行和维护 在
数据库
设计
过程
中
,需求分析和概念
设计
可以独立于任何
数据库
管理系统进行,逻辑
设计
和物理
设计
与选用的DAMS密切相关。 1.需求分析阶段(常用自顶向下)
数据库
设计
中
面临的主要困难和
问题
的总结
数据库
设计
的过程是将
数据库
系统与现实世界密切地、有机地、协调一致地结合起来的过程。
数据库
的
设计
质量与
设计
者的知识、经验和水平密切相关。作为
数据库
应用系统的重要组成部分,
数据库
设计
的成败往往直接关系到整个应用系统的成败。以
数据库
为基础的
数据库
应用系统与其他计算机应用系统相比往往具有数据量庞大、数据保存时间长、数据关联复杂、用户要求多样化等特点。...
数据库
:
数据库
设计
(需求,
设计
,运行,维护)
1,
数据库
设计
概述 1.1,
数据库
设计
的基本概念
数据库
设计
是指对于一个给定的应用环境,构造(
设计
)优化的
数据库
逻辑模式和物理结构,并据此建立
数据库
及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据操作要求。
数据库
设计
的目标:是为用户和各种应用系统提供一个信息基础设施和高效率的运行环境 。
数据库
设计
的基本任务:是根据用户的信息需求、处理需求和
数据库
的支持环境(包括硬件、操作系统和DBMS),
设计
出
数据库
模式(包括外模式、逻辑模式和内模式)及其典型的应用程
数据库
系统-
数据库
设计
数据库
系统-
数据库
设计
数据库
设计
概述及六步骤简介
数据库
设计
是指对于一个给定的应用环境,构造最优的
数据库
模式,建立
数据库
及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。
数据库
设计
的特点
数据库
设计
是一项涉及多学科的综合性技术,又是一项庞大的工程项目,具有如下特点:
数据库
建设是硬件、软件和干件(技术和管理的界面)的结合
数据库
设计
应该和应用系统
设计
相结合
数据库
设计
方法 常用的
数据库
设计
方法如下: 新奥尔良方法:将
数据库
设计
分为若干阶段和步骤 基于E-R模型的
设计
方法:概念
设计
阶段广
Java EE
67,512
社区成员
225,885
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章