你还记的那一年你我学习的-->>用表组织数据*(数据表)
不知不觉,踏上IT之路,光阴似箭,日月如梭.虽好像回到从前,回到那个无忧无虑的童年,回到那个花样少年的青春;回到那个年少幼稚的小学;回到那个整天幻想的初中;回到那个顽强不屈,誓死不弃的高中;回到那个整天望着天空想着大学生活的无忧无虑...
可是时光在流逝,回不去了,对吗?
不悔梦归处,只恨太匆匆.一句话:请珍惜眼前吧!亲们..
好吧!有点伤感!言归正转:数据表
01.四种完整性约束
.实体完整性:针对数据行设置的完整性
.域完整性:针对数据列设置的完整性。
.引用完整性:外键约束
.自定义完整性:为了满足我们的业务需求,我们自己量身定制的完整性约束,一般
通过存储过程。
02.SQL Server中数据类型
下面给大家说说几种常用的几种:
int:存储整型数字
numeric(18, 2):存储小数
decimal(18, 2):存储小数
nvarchar():存储文字
以后严重建议大家只要是保存字符串就用nvarchar()类型,n代表的unicode编码,该编码是国际通用编码,可以避免乱码的出现。var代表长度可变。表中该列真正存储的内容就占它本身的空间,而不会占用该列通过(20)设置的长度所占用的空间。
varchar():存储可变长度的文本
char(4):存储固定长度的文本
text();SQL Sever2000的使用使用的大文本类型,现在2005.2008 2012已经无情的毫无怜悯之心的抛弃了它,
nvarchar(Max)
DateTime:保存日期和时间
照片:image(二进制存储)
--以后我们存储姓名:nvarchar(20)
--存储年龄:int
--存储性别:bit
--存储一篇文章:nvarchar(max)
尽量不要使用ntext或者是text,因为text和ntext读取效率非常低。
03.为表建立约束
01.主键约束
一张表一定要设置主键,否则别人会骂死你。
如果一张表不设置主键,到后续学习框架的时候,框架就欺负你,给你报错。
不能给自增列手动给值,这个值是由系统自动给的。
.非空约束
.默认值约束
.check约束
.外键约束
注意:外键约束只能设置在外键表中
04.外键:
在一张表表A中某列是主键,但是在另外一张表表B中该列不是主键。那么
表A称为主键表,表B称为外键表。
--只能在外键表中设置外键
05.标识列:
为了唯一确定一行数据在该表中唯一而设定的一列。
--应用前提:
01.必须是int(smallint)类型
.在标识规范处设置:标识种子,标识增量
(种子值:)标识种子:从哪个数据开始增长
(步长:)标识增量:每次增长几个数
06.通配符
_:有且只有一个字符
%:任意个任意字符
eg:Email like '%@%'
其中,%代表任意多个字符.关闭后保存表后,该约束建立.以后在向表中输入或插入或更新数据时,约束将起作用,如果Email输入的字符不包括@,将出现错误报告.
07.常见问题:
01.外键把控的不好
.在SQL Server中,字符串和日期类型数据要加单引号,数值类型不用
.每张表中必须都有一个主键,没有主键的表是不行的。
.主键列不允许为空
.不推荐使用复合主键,主键列选择依据:尽量简单。
06.如果找不到有意义的列作为表的主键,那么就加多一列ID作为
该表的主键列。
到这里我们的知识就讲完了!是不是总是不能尽兴呀!不好意思,时间有限,就此别过,下次再聊楼!
你还记的那一年你我学习的-->>用表组织数据*(数据表)的更多相关文章
- 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:
还需要注册的是我们还有一个是"交差集" cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积.表 ...
- 记升级一次的http2学习
首先,就先对比下http2和http1.X的区别和升级它的优势吧. 在 HTTP .X 中,为了性能考虑,我们会引入雪碧图.将小图内联.使用多个域名等等的方式.这一切都是因为浏览器限制了同一个域名下的 ...
- 记一次svg反爬学习
网址:http://www.porters.vip/confusion/food.html 打开开发者工具后 页面源码并不是真实的数字,随便点一个d标签查看其样式 我们需要找到两个文件,food.cs ...
- 记Windows服务器Redis 6379被攻击 被设置主从模式同步项目数据
在工作中第一次经历被攻击,我是一个前端,同时复负责维护一个已上线的项目,在最近一段时间小程序与后台经常出现这个报错, 搜了下说我的从机是只读模式,不能写入,问了同事得知这个项目是单机模式,根本不存在从 ...
- 容器使用的12条军规——《Effective+STL中文版》试读
容器使用的12条军规——<Effective+STL中文版>试读 还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视, ...
- 利用memcached构建高性能的Web应用程序(转载)
面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边 ...
- Memcache应用场景介绍,说明
面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的边 ...
- memcache的应用场景和实现原理
面临的问题 对于高并发高访问的 Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题.特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰 值已经达到500的时候,那你的程序运行离崩溃的 ...
- 【转】memcached工作原理介绍
FROM: http://my.oschina.net/flynewton/blog/8984 官方主页: http://memcached.org/ 面临的问题 对于高并发高访问的Web应用程序来 ...
随机推荐
- 整理PHP_YII环境安装遇到的一些问题
安装yii遇到的一些问题 操作环境 一.Permissiondenied问题 在终端执行如下命令(注意因为是本地测试环境不需要考虑太多权限问题,如果正式环境请慎重) sudo chmod -R o+r ...
- [翻译]使用Swift在Xcode中创建自定义控件
使用Swift在Xcode中创建自定义控件 原文 IBDesignable and IBInspectable With IBDesignable and IBInspectable, develop ...
- Oracle数据库入门——如何根据物化视图日志快速刷新物化视图
Oracle物化视图的快速刷新机制是通过物化视图日志完成的.Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理. 首先,看一下物化视图的结构:SQL& ...
- PIN码计算锦集
1. 腾达,C8:3A:35开头的MAC有效~network路由,MAC有效~以及00B00C开头的MAC有效之外的请您自己发现算法..这里只公布三个MAC地址算法,其余也可以算~这里就不公布出来了. ...
- bash的一些小技巧
1.从输入读入变量 eg:read -ep "input yes or no: " flag 用e选项表示编辑,可以使用backspace删除 2.数组 a.索引数组 declar ...
- 免费素材下载:iOS 8 矢量 UI 素材套件
小伙伴们,苹果终于在今天凌晨推送了 iOS 8 的正式版.虽然该系统并未与 iPhone6 发布会同时亮相,但对于已经提前体验尝鲜过测试版的同学来说并不陌生.iOS 8 几乎每个图标都进行了重新设计, ...
- App.js – 用于移动 Web App 开发的 JS 界面库
App.js 是一个轻量级的 JavaScript UI 库,用于创建像本地应用程序的移动 Web 应用而不牺牲性能和体验.它是跨平台的,特定的UI设计,配置类似原生的过渡效果.App.js 的目的是 ...
- iOS-UISegmentedControl-隐藏边框
原理: 1. 用tintColor属性,把整个UISEgmentControl 设置成为透明色. 2. 设置正常状态下的titleTextAttributes.和选中状态下的titleTextAttr ...
- [linux]执行pip安装的程序:command not found
执行pip安装的程序:command not found 问题描述: 我有一台阿里云服务器,上面装的是centos系统,我用pip安装好vituralenv,都没办法直接启动.同样 我今天在部署我的t ...
- Android学习笔记之性能优化SparseArray
PS:终于考完试了.来一发.微机原理充满了危机.不过好在数据库89分,还是非常欣慰的. 学习内容: 1.Android中SparseArray的使用.. 昨天研究完横向二级菜单,发现其中使用了Sp ...