zoukankan      html  css  js  c++  java
  • 昨夜,数据库的温柔与妩媚

    数据库

    之用表组织数据

    数据库表相关的几个基本概念

    一.数据库的完整性

    数据完整性要求数据中的数据具有准确性,准确性是通过数据库表的设计和约束来实现的。

    实现数据的完整性,数据库需要做下面的两方作业*检验每行数据是否符合要求

    *检验每列数据是否符合要求

    1.实体完整性的约束

    实体完整性的要求表中的每一行数据都反映不同的实体,不能存在相同的数据行。

    通过索引、唯一约束、主键约束或标识列属性,可以实现表的实体完整性。2.域完整性约束
    域完整性是的是给定列输入的有效性。

    通过限制数据类型、检查约束、输入格式、外键约束、默认值、非空约束等多种方法,可以实现表的域完整性。

    3.引用完整性约束

    在输入或删除数据时,引用完整性约束用来保持表之间已定义的关系。

    4.自定义完整性约束

    用户自定义完整性用来定义特定的规则。

    自我感觉,学的不太好,写的不太多请见谅

    二.主键和外键

    1.主键(Primary Key)

    *一个只能有一个主键,并且主键列不允许出现值(Null),有的表可以不用设置主键,但是通常情况下建议啊,为表设置一列为主键。

    *设置主键的时候要考虑两个原则:最少性和稳定性

    *最少性:是指列数最少的键,如果可以从单个主键和组合主键中选择,应该选择单个主键,因为操作一列比多列要快。

    *稳定性:是指列中数据的特征,由于主键通常用来两个表之间建立关系,所以主键的数据不要经常更新,理想情况下,应该永远不变。

    2.外键(Foreign Key)

    *“外键”就是用来达到这个目的的,他是相对与主键而言的,就是“从表”中对应于“主表”的列,在从表中称为外键或引用键,它的值要求与主表的主键或唯一键相对应,外键用来强制引用完整性。

    *一个表可以有多个外键。

                        SQL Server数据类型

    分列   数据类型 说明
    二进制数据类型 用来存存储非字符和文本的数据 binary 固定长度的二进制数据
        varbinary 可变长度的二进制数据
        image 可用来存储图像
    文本数据类型

    字符数据包括任意字母、

    符号或数字字符的组合

    char 固定长度的非Uniode字符数据,最大长度为8000个字符
        varchar 可变长度的非Unicode字符数据
        nchar 固定长度的Unicode字符数据
        nvarchar 可变长度的Unicode字符数据
        text 储存长文本信息
        ntext 储存可变长度的文本
    日期和时间数据类型 用于储存日期和时间 detatime

    从1753年1月1日到9999年12月31日,

    准确的为三百分之一秒或3.33毫秒

    数字数据类型

    改数据仅包含数字,包括正数、

    负数及分数

    int

    smallint

    tinyint

    bigint

    整数
       

    float

    real

    浮点数
    货币数据类型

    货币数据类型用于十进制货币值,

    并且精确到小数点后面4位数字
    money  
    bit

    表示是/否的数据,只有两种选择,如婚否、食肉定购等。

    在SQL Server中用1和0表示,一般表示是,0表示否

    bit 存储布尔数据类型

    三.完善表的设计结构

    1.是否允许为空值

    数据库的列是否允许为空也是一项约束,如果该列允许为空,则在输入数据行的时候,这一项可以不输入。

    2.建立主键

    首先嘞,要选择要建立的主键的列右击,然后嘞在弹出的快捷的菜单中选择“设置主键”选项就可以了.

    设置该列为主键以后,该列会有个带颜色的钥匙形状的图标进行标识。

    要是再不会就在下面点个赞,在线教你哟.

    3.默认值

    表的默认值设置能够定义一个值,每当用户没有在某一列输入值时,则将所定义的值赋值给这一列。

    4.标识列

    标识列本身没有具体意义,只是用来区别不同的学生

    *如果一列的数据属于数据类型,那么可以把该列定义为标识列。

    *定义成标识列之后,还需要分别指定“标识种子”和“标识增量”,默认值都是1。

    *定义成标识列之后,在以后每次输入数据的时候,该列随数据行的增加而自动增加数值,并且不会重复。

    好的以上就是我对数据库的用表组织数据的内容理解和分析,感觉总是少了点什么

    对“建立表之间”的关系还没说是吧,有想知道的就点个赞,我就会告诉你了!!!

    我是个在程序员的道路上的一个小白,但是我会坚持的,努力的。

    点个赞!点个赞!点个赞!重要的事情说三遍

  • 相关阅读:
    操作系统笔记------处理机调度
    操作系统笔记------进程同步(3)
    体系结构笔记------动态调度中的Tomasulo算法
    体系结构笔记------动态分支预测
    体系结构笔记------MIPS流水线的简单实现
    远程使用内网服务器的tensorboard和jupyter notebook
    tensorflow多分类标签转换成onehot
    anaconda的虚拟环境下,安装和管理python包的方法
    雪伦面经
    tensorflow官方MNIST数据集导入错误解决办法
  • 原文地址:https://www.cnblogs.com/shuaibin/p/4937395.html
Copyright © 2011-2022 走看看