zoukankan      html  css  js  c++  java
  • [数据库基础]——编码标准之结构

    阅读导航

    主键

    第三范式

    非TEXT类型

    VARCHAR类型

    默认值

    数据库是由若干表构成,表是由数据行构成,数据行由若干列组成。由于数据库这样的结构,这就要求我们在构成数据库表时,需要注意一些问题。现在提出一些注意的问题。

    1. 主键

    每一个表必须有一个主键列。大多数情况,存在一个命名为ID的列作为主键列

    直接创建

       1:  CREATE TABLE Products
       2:  {
       3:  [ID] int NOT NULL PRIMARY KEY,
       4:  [Name] varchar(255) NOT NULL
       5:  }

    添加主键约束

       1:  CREATE TABLE Products
       2:  {
       3:  [ID] int NOT NULL,
       4:  [Name] varchar(255) NOT NULL
       5:  }
       6:  ALTER TABLE Products
       7:  ADD CONSTRAINT pk_ProductsID PRIMARY KEY ([ID])

     还存在复合主键的情况,将多个列作为复合主键

    直接创建

    1  CREATE TABLE Products
    2 {
    3 [Name] varchar(255) NOT NULL,
    4 [CreateTime] datetime NOT NULL,
    5 [Address] varchar(255) NOT NULL
    6 CONSTRAINT pk_Products PRIMARY KEY ([Name], [CreateTime])
    7  }

    添加主键约束

    1 CREATE TABLE Products
    2 {
    3 [Name] varchar(255) NOT NULL,
    4 [CreateTime] datetime NOT NULL,
    5 [Address] varchar(255) NOT NULL
    6 }
    7 
    8 ALTER TABLE Products
    9 ADD CONSTRAINT pk_Products PRIMARY KEY ([Name], [CreateTime])

    2. 第三范式

    不要为了使用第三范式,而损失了数据库性能。有时,非规范化的数据库设计可能会比规范化的数据库设计性能更好。

    第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的

     

    3. TEXT、NTEXT、IMAGE类型

    不要使用TEXT类型,而使用VARCHAR设置最大长度来代替。

       1:  [Name] varchar(MAX) NOT NULL

    注:在 Microsoft SQL Server 的未来版本中将删除 ntexttext 和 image 数据类型。 避免在新开发中使用这些数据类型,需考虑修改当前已使用这些数据类型的应用程序改用 nvarchar(max)、varchar(max) 和 varbinary(max)。 

    4. VARCHAR类型

    在VARCHAR类型列中,不要使用NULL作为默认值,最好使用一个空字符串代替。

       1:  [Name] varchar(255) DEFAULT ''

     

    5. 默认值

    数据列最好有默认值,最好不要使用NULL作为任何一个列的默认值。

       1:  [Name] varchar(255) DEFAULT '我没有名字'
  • 相关阅读:
    pthread 信号量
    pthread 条件变量
    pthread 互斥量
    pthread 多线程基础
    [leetcode] 剑指 Offer 专题(七)
    将 .x 转为 .sdkmesh MeshConvert.exe 修改版 可直接运行
    移动端测试分类
    Charles抓包工具(破解版)
    webpack入门笔记(2)
    Git回退代码到指定版本
  • 原文地址:https://www.cnblogs.com/BoyceYang/p/3168667.html
Copyright © 2011-2022 走看看