一:可以使用约束实现数据完整性

二:可以使用规则和默认值

三:在此之前先了解创建数据表的基本知识

建立一个名字为student的数据库

然后在student 的下边建立一个名字为student1的表

要求如下

属性名

数据类型

可否为空

约束要求

学号

Char

主键

姓名

varchar

性别

Char

年龄

Tinyint

所在系

Char

建立数据库和数据表有两种方式,一种是在企业管理器(2000的低版本里)用设计完成,另一种是通过(查询分析器2000)新建查询完成,sql2008没有明显的企业管理器和查询分析器,他们都在一个窗体,这样很方便了,由于通过新建查询写代码的方式要简便的多,尽量使用写代码来实现吧

建立数据库

建立数据表student1

查看数据表有没有建成

学会了建库建表,已经迈出了第一步,然而建表不能随便建表,我们需要限制,来实现数据的完整性,开始奔入主题。

【约束】

下边通过一个总体说明约束怎样保证数据完整性的

名称

作用

体现的完整性

Primary key

定义外键,保证被设定的列内不出现重复值

实体完整性

Unique

不出现重复

实体完整性

Foreign key

定义外键,保证表和表之间的一致性

参照完整性

Check

定义列中数据的范围

自定义完整性

default

为列的数据设定默认值

自定义完整性

1:主键    一个表中只能有一个主键   定义主键可以设定,也可以在代码中需要的时候加在相应的字段

2:unique    数据表中非主键列在各行记录中不能出现相同的非空值,这时就需要有unique的特性,用法和主键一样

3:外键   是不同的表之间的关系,当其中有一些数据存在关系是可以建立外键,(可以避免出错)

[constraint 约束名] foreign key (列名)   reference 表名(列名)

4:check   限定列之间数据的参照关系   比如一个表中包含学生的“出生日期”和“入校日期”,入校日期肯定要晚于出生日期,这个时候可以用check来限定

[constraint 约束名]  check  (关系式)

5:default  当有非常多的相同数据要输入到数据表中的时候,可以设定一个默认值,这样减少工作量

[constraint 约束名]  default 常量表达式    for   字段名

说明::在没有单独拿出定义约束的时候可以省略[constraint  约束名]

【规则和默认值】

1:规则

规则可以做:验证数据的值是否处于一定的范围内

是否和特定格式相匹配   是否与制定列表中的输入相匹配(想到了学生信息管理系统一些东西我们都可以在数据库里设定,比如时间的格式)

创建规则:create  rule  规则名 as   规则的表达式(如果表达式中含有参数要加上@)

使用规则:sp_bindrule   规则名, ‘表名.列名’

查看规则:sp_helptext  规则名

解除规则: sp_unbindrule  规则名, ‘表名.列名’

删除规则:drop rule  规则名组

2:默认值

创建默认值:create default  默认名  as   表达式

使用默认值:sp_bindefault  默认名, ‘表名.列名’(注意在敲代码的时候注意必须是英文)

查看默认值:sp_helpconstraint  表名

解除默认值:sp_unbindefault  默认名, ‘表名.列名’

删除默认值:drop_default   默认值名

四:【总结】

规则和约束都可以保证数据完整性,二者的区别

1:约束是基于表的操作

规则和默认值在创建了以后,他不属于某个表,只有在绑定了命令了以后才会发生关系

2:一个约束只能对一个表的一个列产生作用,

规则和默认值可以绑定到多个表多个列中。

数据库——怎样实现数据完整性相关推荐

  1. Oracle基础知识之synonym(同义词)、database link(数据库链接)、数据完整性

    Oracle基础知识之同义词.数据库链接.数据完整性 一.同义词 (一)概念 (二)分类 1.私有同义词 2.公共同义词 3.远程同义词 (三)作用 二.数据库链接 (一)概念 (二)分类 1.私有数 ...

  2. 数据库中的数据完整性(实体完整性、域完整性、引用完整性)

    作用:保证用户输入的数据保存到数据库中是正确的. 确保数据的完整性 = 在创建表时给表中添加约束 完整性的分类: 实体完整性: 域完整性: 引用完整性: 4.1 实体完整性 实体:即表中的一行(一条记 ...

  3. Oracle数据库学习笔记——数据完整性(下)

    参照完整性 表的一列或几列的组合的值在表中唯一地指定一行记录,选择这样的一列或多列的组合作为主键可实现表的实体完整性,通过定义PRIMARY KEY约束来创建主键. 外键约束定义了表与表之间的关系,通 ...

  4. 关系型数据库保证数据完整性和一致性的方法

    对于数据库来说,关系型数据库对于保证数据完整性和一致性方面表现是最好的! 数据的完整性 完整性分类 具体描述 如何保证 实体完整性 每个实体都是独一无二的 主键 / 唯一索引(唯一约束) 参照完整性( ...

  5. 湖北大学829数据库原理与c语言程序设计,2017年湖北大学教育学院829数据库原理与C语言程序设计考研强化模拟题...

    一.选择题 1. 关于分布式数据库,下列说法错误的是( ). A. 在分布式数据库系统中,分片透明性主要是指数据分片的分配位置对用户是透明的,用户无需关注每个分片被分配的场地 B. 对于用户而言,一个 ...

  6. 数据库知识点补充::约束

    一.什么是约束? 数据库-由若干张数据表组成(理解为一个类库) 数据表-由行和列组成的一个二维数组(理解为一个类) 列 - 字段(理解为表中对象的一个属性) 行 - 理解为表中的一个对象 约束是数据库 ...

  7. Oracle数据库设计要做到五戒

    众所周知,数据库设计的好坏直接关系到数据库运行的效率.根据笔者的经验,对于提升数据库性能来说,合理的数据库设计,比升级服务器的硬件配置,还要来的有效.但是,笔者无论是在跟同事合作,又或者是在论坛上跟相 ...

  8. 使用t-sql语句修改表中的某些数据及数据类型。_数据库基本理论详细介绍

    1.数据库范式 第一范式:列不可分,eg:[联系人](姓名,性别,电话),一个联系人有家庭电话和公司电话,那么这种表结构设计就没有达到 1NF: 第二范式:有主键,保证完全依赖.eg:订单明细表[Or ...

  9. PowerDesiGner数据库设计

    原文地址:http://hi.baidu.com/shunkunl/blog/item/871c75ef8596faeace1b3e00.html PowerDesign:PowerDesign是 S ...

  10. python访问数据库如何解决高并发_使用 Python 和 Oracle 数据库实现高并发性

    随着趋势发展的核心转向更多而不是更快发展,最大限度地提高并发性的重要性日益凸显.并发性使得编程模式发生了新的转变,可以编写异步代码,从而将多个任务分散到一组线程或进程中并行工作.如果您不是编程新手并且 ...

最新文章

  1. elasticsearch系列五:搜索详解(查询建议介绍、Suggester 介绍)
  2. 如何从单个服务器扩展到百万用户的系统?
  3. [leetcode]36. Valid Sudoku c语言
  4. NUC1177 排序【排序】
  5. html5绘制警告牌,2.10 创建自定义图形:绘制扑克牌花色 - HTML5 Canvas 实战
  6. 地铁上读完《UNIX环境高级编程》是一种怎样的体验
  7. 安全用电技能实训装置
  8. android 串口调试助手源码,GitHub - Michelle0716/SerialPortHelper: Android 串口调试助手
  9. Sql Server 2012 Enterprise Edition 企业版 迅雷 下载地址
  10. R语言解决安装rgl包问题:ERROR: compilation failed for package ‘rgl‘
  11. web端如何获取笔压 web端获取笔压的js库
  12. 代码粘贴至word后,黑色背景处理
  13. Zend与PHP之间到底是什么关系
  14. 为什么要推销自己_推销自己:为什么? 如何!
  15. 【商业模型UV规范】自学的进来看看吧,UV到底是什么?
  16. 一键修改计算机名(无需重启)
  17. [ABC200F]Minflip Summation
  18. 易语言编译和c语言,易语言独立编译的EXE文件问题
  19. sourcetree的日常使用
  20. 生信学习笔记:fastp质控处理生成的report结果解读

热门文章

  1. 蓝天热键驱动_创建快捷方式或热键以立即弹出特定的USB驱动器
  2. Blast 几种方法的具体用法以及含义
  3. 【未来简史】读书笔记
  4. 宝宝纸尿裤怎么选?我联合2000位宝妈,对20款纸尿裤做了次测评
  5. JSHOP2学习4:浅谈与SHOP2的区别
  6. eui怎么在名字后面显示服务器,怀旧服EUI怎么调姓名版 设置血条的方法
  7. 2020.3-4 【读书笔记】
  8. Redis基础:哨兵模式下主节点宕机的自动对应
  9. html input 宽度自适应,CSS实现input宽度根据输入内容自适应
  10. php pandoc,Pandoc 标记语言转化工具