SQL Serever学习6——数据表
数据表
表的构成
数据库中的基本表由记录(行)和字段(列)构成,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
数据表创建



数据表的高级设置
- 数据的完整性
- 实体完整性,通过索引,UNIQUE唯一约束,PRIMARY KEY主键约束,IDENTITY列标识,实现
- 域完整性,特定字段的有效性,可以通过数据类型,check约束限制格式,foreign key约束,default定义,not null定义来实现
- 参照完整性,通过foreign key和check约束实现
- 用户定义完整性,包括各种约束,存储过程,触发器实现
- 主键和外键
- 主键primary key,可以使用多个字段组合作为主键,但是主键要尽量少,并且要稳定
- 外键foreign key
- 标识列
- 标识列IDENTITY需要设置种子(初始化值,一般为1)和增量(新增数据自增的值,一般为1)
- 默认值
- 默认值default,为了减少用户工作,设置默认值,用户输入时,系统会自动添加
- 检查约束
- check约束,定义列可以接受的数据值或者格式,比如 价格>0
设置主键
选择表,右键,设计,打开表的设计视图,然后选择商品编号,右键,选择设置主键,设置好以后会在字段左边出现一把钥匙图标



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

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

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

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

输入数据进行验证

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


未完待续。。。
SQL Serever学习6——数据表的更多相关文章
- SQL Serever学习8——数据表3
创建索引 索引就像是字典的目录一样,可以快速的指定需要的数据. 有没有索引的区别 一个没有索引的集合,如果我们需要查找某一个对象,需要遍历整个集合,直到找到匹配的对象,整个工作费时费力,这只是找一个对 ...
- SQL Serever学习7——数据表2
修改数据表的属性 保存数据表的修改的时候,总会弹出阻止修改的警告. 解决方法2种: 1.可以使用T-sql语句强行修改 2.工具>选项>设计器>表设计器和数据库设计器>阻止保存 ...
- Sql Server系列:数据表操作
表是用来存储数据和操作数据的逻辑结构,用来组织和存储数据,关系数据库中的所有数据都表现为表的形式,数据表由行和列组成.SQL Server中的数据表分为临时表和永久表,临时表存储在tempdb系统数据 ...
- 使用Sql语句快速将数据表转换成实体类
开发过程中经常需要根据数据表编写对应的实体类,下面是使用sql语句快速将数据表转换成对应实体类的代码,使用时只需要将第一行'TableName'引号里面的字母换成具体的表名称就行了: declare ...
- 【SQL Server】sql server更改了数据表的字段/新增数据表的字段 无法保存
sql server更改了数据表的字段/新增数据表的字段 无法保存 解决方法:进入 工具-->选项-->Designers-->表设计器和数据库设计器-->取消勾选 即可
- MyBatis学习(二)---数据表之间关联
想要了解MyBatis基础的朋友可以通过传送门: MyBatis学习(一)---配置文件,Mapper接口和动态SQL http://www.cnblogs.com/ghq120/p/8322302. ...
- 定制Asp.NET 5 MVC内建身份验证机制 - 基于自建SQL Server用户/角色数据表的表单身份验证
背景 在需要进行表单认证的Asp.NET 5 MVC项目被创建后,往往需要根据项目的实际需求做一系列的工作对MVC 5内建的身份验证机制(Asp.NET Identity)进行扩展和定制: Asp.N ...
- SQLite学习手册(数据表和视图)
如何列出SQLite数据库中的所有表 SQLite数据库中的信息存在于一个内置表sqlite_master中,在查询器中可以用 select * from sqlite_master 来查看,如果只要 ...
- MySQL学习3 - 数据表的操作
本节掌握 一.存储引擎(了解) 二.mysql支持的存储引擎 1.InnoDB 存储引擎 2.MyISAM 存储引擎 3.NDB 存储引擎 4.Memory 存储引擎 5.Infobright 存储引 ...
随机推荐
- Git 常用知识
git 常用命令 创建并checkout分支: git checkout -b branch_name git merge 与 git rebase 的区别 git rebase 合并后将形成一条直线 ...
- leecode刷题(21)-- 删除链表的倒数第N个节点
leecode刷题(21)-- 删除链表的倒数第N个节点 删除链表的倒数第N个节点 描述: 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点. 示例: 给定一个链表: 1->2- ...
- 在linux云服务器上运行Jar文件
在linux服务器上运行Jar文件时通常的方法是: $ java -jar test.jar 这种方式特点是ssh窗口关闭时,程序中止运行.或者是运行时没法切出去执行其他任务,有没有办法让Jar在后台 ...
- javascript获取wx.config内部字段解决微信分享
转自:http://www.jb51.net/article/80679.htm 专题推荐:js微信开发_脚本之家 http://www.jb51.net/Special/879.htm 背景在微信分 ...
- String 源码浅析————终结篇
写在前面 说说这几天看源码的感受吧,其实 jdk 中的源码设计是最值得进阶学习的地方.我们在对 api 较为熟悉之后,完全可以去尝试阅读一些 jdk 源码,打开 jdk 源码后,如果你英文能力稍微过得 ...
- 总结day24 ---- socket ,struct 的学习
前情提要 一:套接字 socket() 1:三次握手 1:客户端像服务端链接, (第一次握手) 2:服务端收到请求,告诉客户端服务端收到了内容 (第二次握手1) 3:服务端像客户端连接, ...
- leetcode-219-Contains Duplicate II(使用set来判断长度为k+1的闭区间中有没有重复元素)
题目描述: Given an array of integers and an integer k, find out whether there are two distinct indices i ...
- 题目1006:ZOJ问题(字符串处理)
问题来源 http://ac.jobdu.com/problem.php?pid=1006 问题描述 输入一个只包含'z','o','j'三种字符的字符串,判断是否符合要求. 问题分析 分析AC的三个 ...
- maven 打包 war 包含 WEB-INF/lib 目录
<plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactI ...
- Github概念理解备忘录
总结: add就是用来建立跟踪,添加文件到缓存区: commit就是把文件缓存区的文件正式加到本地库中: push就是把本地库更新到远程库中: git命令的操作要在仓库所在目录下进行才有效: 在Git ...