数据表

表的构成

数据库中的基本表由记录(行)和字段(列)构成,SQLServer2008每个表可以有1024个列,每个列可以有8060字节(不包括iamge,ntext,text类型)。

  • 记录(Record):表中的行,保存某一个相关属性的一组数据。
  • 字段(Field):表中的列,保存某些事物的某一个属性值。

表的分类

  • 系统表,保存系统信息,只有管理员有权使用
  • 临时表,数据库运行中创建的临时存储数据的表,断开连接被删除
  • 分区表,数据量很大时,可以将其中数据分成多个部分,分别放在数据库的多个文件组中,访问时不是访问整个数据表,而是分区表,大大提高了访问速度

数据类型

  • 数字类型,bigint,int smallint,tinyint,decimal,bit,float,real
  • 日期类型,datetime,smalldatetime
  • 字符类型,char,varchar,nchar,nvarchar,text
  • 货币类型,money,smallmoney
  • 二进制类型,binary,varbinary,image

数据表创建

数据表的高级设置

  1. 数据的完整性
    1. 实体完整性,通过索引,UNIQUE唯一约束,PRIMARY KEY主键约束,IDENTITY列标识,实现
    2. 域完整性,特定字段的有效性,可以通过数据类型,check约束限制格式,foreign key约束,default定义,not null定义来实现
    3. 参照完整性,通过foreign key和check约束实现
    4. 用户定义完整性,包括各种约束,存储过程,触发器实现
  2. 主键和外键
    1. 主键primary key,可以使用多个字段组合作为主键,但是主键要尽量少,并且要稳定
    2. 外键foreign key
  3. 标识列
    1. 标识列IDENTITY需要设置种子(初始化值,一般为1)和增量(新增数据自增的值,一般为1)
  4. 默认值
    1. 默认值default,为了减少用户工作,设置默认值,用户输入时,系统会自动添加
  5. 检查约束
    1. check约束,定义列可以接受的数据值或者格式,比如 价格>0

设置主键

选择表,右键,设计,打开表的设计视图,然后选择商品编号,右键,选择设置主键,设置好以后会在字段左边出现一把钥匙图标

设置默认值

选择品牌字段,在下方的列属性,默认值或绑定中输入:A牌。然后回车,系统会自动加引号。

设置check约束

选进价,右键,选择check约束

点击添加,修改约束名称为:CK_商品表_1

设置表达式,进价>0,然后关闭,然后记得保存。

输入数据进行验证

前一种方法是修改表结构,另外一种方法是直接添加约束

未完待续。。。

SQL Serever学习6——数据表的更多相关文章

  1. SQL Serever学习8——数据表3

    创建索引 索引就像是字典的目录一样,可以快速的指定需要的数据. 有没有索引的区别 一个没有索引的集合,如果我们需要查找某一个对象,需要遍历整个集合,直到找到匹配的对象,整个工作费时费力,这只是找一个对 ...

  2. SQL Serever学习7——数据表2

    修改数据表的属性 保存数据表的修改的时候,总会弹出阻止修改的警告. 解决方法2种: 1.可以使用T-sql语句强行修改 2.工具>选项>设计器>表设计器和数据库设计器>阻止保存 ...

  3. Sql Server系列:数据表操作

    表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...

  4. 使用Sql语句快速将数据表转换成实体类

    开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...

  5. 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存

    sql server更改了数据表的字段/新增数据表的字段  无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选   即可

  6. MyBatis学习(二)---数据表之间关联

    想要了解MyBatis基础的朋友可以通过传送门: MyBatis学习(一)---配置文件,Mapper接口和动态SQL http://www.cnblogs.com/ghq120/p/8322302. ...

  7. 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证

    背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...

  8. SQLite学习手册(数据表和视图)

    如何列出SQLite数据库中的所有表 SQLite数据库中的信息存在于一个内置表sqlite_master中,在查询器中可以用 select * from sqlite_master 来查看,如果只要 ...

  9. MySQL学习3 - 数据表的操作

    本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...

随机推荐

  1. Android 如何查看源码 (eclipse 按住 ctrl )

    首先要确认 Android SDK Manager 下载并安装了 sources.然后在代码中按住 ctrl 在点一个类名, 如果打开的页面是找不到源码,就点那个按钮,然后找到源码所在的文件夹,就可以 ...

  2. 【ocp-12c】最新Oracle OCP-071考试题库(40题)

    40.(8-7) choose two Which two statements are true regarding views? (Choose two.) A) A simple view in ...

  3. Q4m使用手册

    q4m是基于mysql存储引擎的轻量级消息队列,通过扩展SQL语法来操作消息队列,使用简单,容易上手,开发人员基本不用再进行学习和熟悉.Q4M支持多发送方,多接收方,接收方相互不影响,php项目中异步 ...

  4. PHP全局变量与SESSION 漏洞(global 与 session)

    先看这一段简单的代码 <?php session_start();$_SESSION[‘isadmin’]=’yes’;$isadmin=’no’;echo $_SESSION[‘isadmin ...

  5. ubuntu下apache2使用的简单总结

        一. 修改apache2原80端口为90端口 1. 修改/etc/apache2/ports.conf, 将端口80改为90,443,改为444 2. 修改/etc/apache2/sites ...

  6. itemgetter和groupby

    一. itemgetter的使用方法 itemgetter()返回一个指定列表下标或者字典键的函数,通过这个返回的函数作用到对象上,获得才能取得相应的值 1. 排序字典列表的一个例子 from ope ...

  7. React Native vs. Cordova.

    简评:跨平台开发五彩斑斓,本文作者简单介绍 RN 和 Cordova 的两种不同终端跨平台流程,从与原生开发联系中分析其利弊. 什么是原生(Native)? 原生是一个相对概念.其实软件开发最后意义指 ...

  8. 【OpenCV3】直线拟合--FitLine()函数详解

    一.FitLine()函数原型 CV_EXPORTS_W void fitLine( InputArray points, // 待输入点集(一般为二维数组或vector点集) OutputArray ...

  9. 后台开发面试题(.net与java)

    最近面试了几家公司,发现大部分公司面试题有相似的地方.现在此记录下我还记得的一些题: JAVA部分: 1.Java Map 按Key排序和按Value排序: 参考链接:Java Map 按Key排序和 ...

  10. AES对称加解密

    简介设计思想加密模式ECB模式(电子密码本模式:Electronic codebook)CBC模式(密码分组链接:Cipher-block chaining)CFB模式(密文反馈:Cipher fee ...