zoukankan      html  css  js  c++  java
  • 日思夜想之用表组织数据

                                用表组织数据

    1.数据完整性(指数据库的数据能够正确地反映实际情况)(通过数据库表的设计和约束实现)

       1.实体完整性约束(表中每一行数据反映不同的实体 即不存在相同的数据行)

       2.域完整性约束(指给定列输入的有效性)

       3.引用完整性约束(对于两张表而言  保持表之间已定义的关系)

       4.自定义完整性约束()

    2.主键和外键

    主键(Primary Key)

            用来唯一标识表中的每一行的列,称为该表的主键(用于强制表的实体完整性)

    注意:

          一个表只能有一个主键,且不允许有空值(null),若表中没有主键,则强行给表设置一个Id作为该表的主键

    复合主键:两列或多列组合起来唯一标识表中的每一行的主键称为复合主键

    外键(Foreign Key)

            在一张表A(Student)中存在一个主键(StudentNo),在一张表B(Result)中存在一列(StudentNo),那么表B中的改键就称为表A的外键。

    外键是用来强制引用完整性的。一个表可以有多个外键。

    二进制数据类型 存储非字符和文本的数据 image 存储图像
    文本数据类型 字符数据(任意字母、符号或数字字符的组合)

    char(固定程度非Unicode字符最长为8000个字符)

    varchar(可变长度的非Unicode字符)

    nchar(固定长度的Unicode字符)

    nvarchar(可变长度的Unicode字符)

    text=nvarchar(max)(存储长文本信息)

    ntext(存储可变长度的长文本)

     
    日期和时间数据类型 存储日期和时间 datetime  
    数字数据类型 该数据仅包含数字,包括正数、负数及分数 int  及smalliint存储整数  
    货币数据类型 用于十进制货币值

    money

    decimal(18,0)

     
    bit数据类型 只表示两种选择  用0和1表示  1代表是  0代表否 bit 存储布尔类型数据

     

    3.如何完善表的设计结构

     1.是否允许为空值

     2.建立主键

     3.默认值

     4.标识列

        有标识种子,标识增值  设为标识列的一列不可自行赋值,系统自动生成。前提:必须是int数据类型

        设为标识列的一列,如果输入错误一次,该值就会被占用,会出现值断续的情况

    5.通配符:

      “—”:表示任意的任意一个字符

     “%”:表示任意多个任意字符

      两者皆用like ’ ‘

    4.建立表间关系

      建立表间关系实际上就是实施引用完整性约束、建立主表和从表关系。

    5.建立数据关系图

    6.建立检查约束

      或者:or

      并且:AND

      通配符的应用

    7.删除数据库表

       注意:删除有主从表关系的数据库表,若要删除主表,则首先要删除相关的从表以保证数据的引用完整性

  • 相关阅读:
    高级前端工程师面试必备(持续更新中)
    用node编写cli工具
    用vscode开发vue应用
    jsbridge的js封装
    react-create-app 构建react项目的流程以及需要注意的地方
    【面试篇】寒冬求职季之你必须要懂的原生JS(中)
    基于vue-cli3.0构建功能完善的移动端架子,主要功能包括
    @vue/cl构建得项目下,postcss.config.js配置,将px转化成rem
    eslint prettier editrorconfig
    数据结构题集--集锦
  • 原文地址:https://www.cnblogs.com/hmy-1365/p/4916846.html
Copyright © 2011-2022 走看看