插入-关于数据库建表的问题

问题描述

关于数据库建表的问题

建表的时候的约束条件是要写的详细越好吗?还是在插入的时候做好各种验证在插入

解决方案

约束主要用于导致数据库严重错误的违例。
比如说用户名加上唯一约束就很有必要。否则查询出来不止一个,删除的时候根据用户名删除结果删除了别人,这种东西最好做约束。
但是电子邮件和电话的格式,这个就不算很必要的了,适合放在程序中,而且便于根据业务的需要修改(比如电话升位了)
尽管有了数据库的约束,程序中也应该有相应的判断,并且给用户和上一层调用者足够的错误信息。

解决方案二:

外键约束关联看自己的需要,这没有完全的对错,都在于业务需要

解决方案三:

各有各的用武之地,主键外键,是要在库中设计好的,在你的客户端,对输入内容做一下限制,提高容错和用户体验

解决方案四:

基本的第三范式还是要遵守的

解决方案五:

首先要满足基本的三大范式,其次结合具体的需求来建立约束。

解决方案六:

最好,是两者都做约束。前台做约束肯定是必须的,可以提高用户体验。其实约束是根据需求来的,一般尽可能详细些,要知道数据库的数据将来可能其它数据分析,那是约束就显得格外重要。

时间: 2024-09-20 15:02:53

插入-关于数据库建表的问题的相关文章

mysql数据库建表问题,在线急等

问题描述 mysql数据库建表问题,在线急等 数据库建表这3个语句是什么意思?后两个有什么区别? (1)PRIMARY KEY (ID) USING BTREE (2)ENGINE=InnoDB DEFAULT CHARSET=gb2312; (3)ENGINE = InnoDB CHARACTER SET gb2312 COLLATE gb2312_chinese_ci; 解决方案 创建主键 collate对字符串排序. 解决方案二: 创建主键,gb2312是编码格式吧,类型 解决方案三: 1

mysql-分类配对的数据库建表问题

问题描述 分类配对的数据库建表问题 请教各位大神: 本人想在mysql数据库中建立一套表,类似于配对,一边有5个选项,另一半有14个选项,每次分别从两边各取一个数据 , 组成一对,存入数据库中,请问如何实现比较好 ,方便请给出代码 谢谢 解决方案 笛卡尔积方式,随机数方式总有一种可以满足你要求. 解决方案二: 直接两个表join连接,然后你随即取一个结果存入数据库来实现随机配对

怎样灵活的把textbox和combox控件中数据插入到数据库的表中

问题描述 有一个输入窗体,里面有很多textbox和combox控件,当用户在里面输入数据后(有的控件内容是根据前面的内容计算的),怎样灵活的把控件中数据插入到数据库的表中.因为用Insert命令,控件太多.不知还有什么其他方便的方法?请各位高手赐教.谢谢. 解决方案 解决方案二:使用textbox数组,用循环插入到数据库.解决方案三:可否给出具体实例?重点是数组合怎样插入到数据库的表中?解决方案四:可以用datagridview吧,把它与数据库关联解决方案五:我的环境是.net2003+sql

PowerDesigner连接Oracle数据库建表序列号实现自动增长

原文:PowerDesigner连接Oracle数据库建表序列号实现自动增长 创建表就不说了.下面开始介绍设置自动增长列.  1 在表视图的列上创建.双击表视图,打开table properties --->columens ,双击要设置的列(显示列的序号的那个按钮,单击后,会显示横向的黑色箭头).打开column properties 对话框.在 'general' 项中,最下面,找到 sequence,下拉框 后面,有三个按钮就 'create','select','properties'.

数据库建表的十四个技巧

数据库建表的十四个技巧 1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体.在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证对应多个实体,或多张原始单证对应一个实体.这里的实体可以理解为基本表.明确这种对应关系后,对我们设计录入界面大有好处. [例1]:一份员工履历资料,在人力资源信息系统中,就对应三个基本表:员工基本情况表.社会关系表.工作简历表.这就是"一张原始单证对应多个实体"的典型

有关数据库建表的一个问题,感觉很头疼 直接上图

问题描述 建表的语句create table meeting(meetingid int primary key,roomid int,userid int,theme varchar(20),startdate timestamp,record varchar(400),enddate timestamp,foreign key(roomid) references meetindroom(roomid),foreign key(userid) references zhq_users(uid

dataset 循环行和列然后插入到数据库的表中

问题描述 数据库的表结构和dataset内的数据表结构是一致的 解决方案 解决方案二:求帮助多谢解决方案三: 解决方案四:引用2楼sp1234的回复:求代码多谢了解决方案五:staticvoidDataTableSave(){DataTabledt=newDataTable();StringBuildertmp=newStringBuilder();tmp.Append("INSERTINTO");tmp.Append("TableName(");List<s

代码新人,在后台插入数据库建表时发生错误,求指点

问题描述 请路过高手随手指点,哪里出问题了... 解决方案 解决方案二:spring的东西吧,还没学到,顶一下解决方案三:工程web.xml中没有配置加载springApplicationContext相关的listener解决方案四:<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> 解决方案五

把数据插入到数据库的两种方法

插入|数据|数据库 把表单中的数据插入到数据库中有两种方法.1.直接使用sql语句的 优点:速度快,不耗资源 缺点:不能传递太长的字段内容,字段比较多时不易排错. 推荐有经验的编程者优先考虑. 具体操作: 假设表单中有以下字段:username,password,sex,age 对应的,在程序中有username,password,sex,age已取通过request.form或request.querystring取到字段的值. 数据库表user中有username,password,sex,