SQL数据库约束行为---防止数据乱填(即数据规范化)
防止乱填:
一、Check约束。
按照某种规则对数据进行检查。
操作:在表的设计界面中,右击相应的列,选择“CHECK约束”在弹出的对话框中,设置约束的名称和表达式。

代码实现:
create table car
(
code int check(code>0)
)
二、外键约束。主表,从表。
主表是用来约束从表的。外键应当建在从表上。
使用主表的主键来约束从表外键。
从表中的外键列是不能随便乱填内容的,它只能填写主表主键中存在的数据。
一旦建立起外键关系来,从表的外键不能乱填,反过主表中的主键列也不能乱删除乱改。
级联删除的设置——整理
操作:先建好主表,在从表的设计界面上,右击-“关系”,在弹出的对话框中选择“添加”,在右边属性列表中设“表和列的规范”


第二种方法是在相应的数据库关系图上面右键新建数据库关系图


代码实现
create table Car
(
code varvhar(50) primary key,
brand varchar(50) reference Brand(Brand_code)
)
主表是Brand 表
三、类型。
创建表所有列所定义的数据类型
字符数据:char;varchar
日期时间数据: datetime;smalldatetime
数值型数据:bigint;int;smallint;tinyint
decimal(a,b)a代表包含小数和小数点一共的位数,b代表小数位数.即整数位的个数为a-b-1(1个小数点位)
SQL数据库约束行为---防止数据乱填(即数据规范化)的更多相关文章
- SQL数据库约束、默认和规则
数据的完整性 实体完整性 又称为行完整性,即数据库中的所有行都具有一个非空且没有重复的主键值 MSSQL中通过唯一索引.PRIMARY KEY约束.UNIQUE约束.INDENTITY属性等来强制主键 ...
- SQL数据库约束
针对维护数据库的完整性,关系型数据库SQL提供了数据约束来管理数据,常用的约束有:外键.唯一.主键. 主键约束:标识数据的唯一,便于数据查询索引: 唯一约束:保证数据的唯一性:常用语法 alter t ...
- SQL数据库约束行为---防止数据漏填
防止有些该填的没有填:一.非空约束不能为NULL.操作:在表的设计界面中“允许NULL值”中的复选框去掉. 二.默认值.如果不给列赋值的话,会使用默认值填上.操作:在表的设计界面,选择相应的列,在下面 ...
- SQL数据库约束行为---防止数据完全重复
防止同一条数据完全重复: 一.主关键字约束:主键约束.1.能够唯一的区分每一行数据.——不许重2.表中的数据按照主键字排序的.——有序3.主键字不能为空——不为空4.一个表只能有一个主键,但可以设置组 ...
- MySQL(一) -- MySQL学习路线、数据库的基础、关系型数据库、关键字说明、SQL、MySQL数据库、MySQL服务器对象、SQL的基本操作、库操作、表操作、数据操作、中文数据问题、 校对集问题、web乱码问题
1 MySQL学习路线 基础阶段:MySQL数据库的基本操作(增删改查),以及一些高级操作(视图.触发器.函数.存储过程等). 优化阶段:如何提高数据库的效率,如索引,分表等. 部署阶段:如何搭建真实 ...
- sql server的数据库个数、表个数及表的数据量统计
sql server的数据库个数.表个数及表的数据量统计 --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...
- MySQL-第三篇SQL语句基础(2)数据库约束
1.数据库约束. 约束是在表上强制执行的数据校验规则,约束主要用于保证数据库里数据的完整性. MySQL使用information_schema数据库里的TABLE_CONSTRAINTS表来保存该数 ...
- Android - 数据存储 -在SQL数据库中保存数据
对于重复的或结构化的数据,保存到数据库中是很好的选择,比如联系人信息.这里假设你对SQL数据库大体上了解然后帮助你学习Android上的SQLite数据库.在Android数据库上需要用到的API可以 ...
- sql server 2008 把远程的数据库的数据转移到本地数据数据库里
如题:把远程的数据库对应表里的数据转移到本地数据数据库的对应表里 比如把192.168.188.160的DB的A表的数据转移到本地的DB的A表里 第一步:连接远程服务器前准备 exec sp_addl ...
随机推荐
- sql 存储过程参数是表类型,数据库中如何调用
DECLARE @NEW_STUDENT as [CancelLendersContent] INSERT @NEW_STUDENT VALUES (0,0,0,'12345678912','张三', ...
- 转:Order&Shipping Transactions Status Summary
详细内容: http://blog.csdn.net/pan_tian/article/details/7696528 WSH_DELIVERY_DETAILS.Release_Status can ...
- 夺命雷公狗---node.js---18之项目的构建在node+express+mongo的博客项目3头尾左侧分离法
在实际的开发中我们的项目往往都是需要头尾分离开来的,居然是后台管理界面当然也不能错过这么好的这步.. 首先我们将我们要分离的部分代码先剪切出来,如下所示: 将他们都弄出来... 这部分的内容分别对应的 ...
- 为centos添加额外的源
使用这个命令: yum install epel-release
- zw版【转发·台湾nvp系列Delphi例程】HALCON SmoothImage
zw版[转发·台湾nvp系列Delphi例程]HALCON SmoothImage procedure TForm1.Button1Click(Sender: TObject);var image0, ...
- sp_executesql的执行计划会被重用(转载)
前一段时间,给一位朋友公司做咨询,看到他们的很多的存储过程都存在动态sql语句执行,sp_executesql,即使在没有动态表名,动态字段名的情况下仍然使用sp_executesql,这个做法是不太 ...
- 使用git和github托管个人项目
1. 安装 cygwin 和 cygwin 下的 git , 测试 git 命令可用; 参考: https://cygwin.com/install.html 2. 注册 github 账号: ...
- 电脑远程工具:mstsc
外网远程控制:电脑远程连接在开始程序中搜:mstsc 然后直接敲IP地址 工具:dell sonicwall netextender.exe mstsc.exe 内网远程控制:使用TeamVi ...
- jsp页面的跳转取值
<p >工单管理 >> <c:if test="${code eq 0}">全部工单>>详情页</c:if> <c ...
- andoid下的股票行情开发
1.信息类 public class SinaStockInfo { /** * Sina股票数据接口 以大秦铁路(股票代码:601006)为例,如果要获取它的最新行情,只需访问新浪的股票数据 * 接 ...