zoukankan      html  css  js  c++  java
  • 数据库艰难求生之路(基础:创建数据库表格)part1

     创建表格

    1.创建表格之identity

    create table TableName(
    id int not null  primary key identity(1,1),
    col_1 varchar(50),
    col_2 nvarchar(50)
    )

    这是一个简单的表格创建,identity这个是指在创建表格时候,将表格的id这个列设置为自增的,第一个参数表示自增是从几开始,第二个参数表示的是自增的数量是多少。

     这张是identity(1,1)的时候

     这张是identity(1,4)的时候

    2.创建表格之主键和外键

    create table Student(
    id int not null primary key identity(1,1),            --主键的关键字是primary key。字段的后边跟着这个词就是创建一个自增的,自增长度为1的不为空的,主键是id的列
    Sage int,
    Sname nvarchar(50),
    Ssex varchar(50),
    Cid int
    FOREIGN KEY (Cid) REFERENCES Class(Cid)         --这里是创建一个外键 )

    什么是主键:可以这么理解,它是特别的,它是一种唯一标识。就像是身份证一样。比如说我们的名字,性别,年龄都是可以重复的,但是身份证号是绝对不可能重复的,它就代表了你这个人。在比如说是学籍号这个在你的学校里也是认定你这个人的唯一标识。

    同理,主键也可以理解为认识这一行的唯一标识。查询它,就可以查询出这一行的其他数据。

    1) 一个表中只能有一个主键。
    2)主键的值不可重复,也不可为空。

    创建主键应当遵循的规则:

    1、主键对于用户来说没有太大意义。就像这个学生表的id,它除了能够快速的找到你这个人,并没有很大的意义。

    2、尽量不要自己去更新主键,最好是自增的,计算机自动生成的

    3、主键不要包含动态变化数据。如时间戳、创建时间列、修改时间列等。

    什么是外键:外键是一种约束。它是关系的有效性检查。可以这么理解:

      id Sname Sage Cid
    1 小明 16 1
    2 小黑 18 2
    3 小小 19 8

       

    Cid Cname
    1 一年级一班
    2 一年级二班
    3 一年级三班

     

     

    这是两张表格,一张是学生表,一张是班级表。他们之间存在这联系。小明是所在的班级的cid是1所以可以很直观的看见他是一年级一班的学生,小黑是一年级二班的学生,小小的cid是8在班级表中并没有找到班级为8的班级。也就是说不存在八班的学生

    这样的话数据容易出错,所以需要外键来对他们的关系进行约束。对cid进行约束的时候,不让学生表当中出现不存在班级表的id。总的来说就是只要班级表没有的Cid,你的学生表就不能填入这个不存在的Cid。

  • 相关阅读:
    如何修改光圈,焦距等摄像头相关信息
    白平衡是什么?怎么理解白平衡?
    如何在 kernel 和 hal 层读取同一个标志
    相机知识问答
    HDR 拍照模式的原理,实现及应用
    MTK android 工程中如何修改照片详细信息中机型名
    反差式对焦浅析
    android Camera 如何判断当前使用的摄像头是前置还是后置
    android Camera 录像时旋转角度
    android Camera 中添加一种场景模式
  • 原文地址:https://www.cnblogs.com/Mrtsp/p/10224810.html
Copyright © 2011-2022 走看看