加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – 当我想存储从下拉列表或用户输入中选择的值时,db设计

发布时间:2020-12-12 07:29:15 所属栏目:MsSql教程 来源:网络整理
导读:我试图找到设计数据库的最佳方法,以便允许以下场景: 向用户显示大学下拉列表(例如) 用户从列表中选择他/她的大学(如果存在) 如果大学不存在,他应该在一个文本框中进入他自己的大学(有点像其他:[___________]) 我应该如何设计数据库来处理这种情况,因为我可
我试图找到设计数据库的最佳方法,以便允许以下场景:

>向用户显示大学下拉列表(例如)
>用户从列表中选择他/她的大学(如果存在)
>如果大学不存在,他应该在一个文本框中进入他自己的大学(有点像其他:[___________])

我应该如何设计数据库来处理这种情况,因为我可能想要使用大学ID进行排序(可能仅针对内置大学而不是用户输入的大学)

谢谢!

我只是想让它类似于Facebook如何处理这种情况.如果用户选择他的教育(通过实际输入我不关心的组合框)并选择其中一个返回值,Facebook会做什么?

在我的猜测中,它会在多对多表中插入UserID和EducationID.现在如果用户输入的内容根本不在数据库中?它仍然存储在他的个人资料中,但在哪里?
typing “St”…suggesting Stanford http://i43.tinypic.com/hufztt.jpg

typing non-existing university http://i41.tinypic.com/14j56s8.jpg

解决方法

CREATE TABLE university
(
  id smallint NOT NULL,name text,public smallint,CONSTRAINT university_pk PRIMARY KEY (id)
);

CREATE TABLE person
(
  id smallint NOT NULL,university smallint,-- more columns here...
  CONSTRAINT person_pk PRIMARY KEY (id),CONSTRAINT person_university_fk FOREIGN KEY (university)
      REFERENCES university (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION
);

对于系统中的Unis,public设置为1,对于user-entered-unis,设置为0.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读