SQL--大解密之组织数据
今天为大家带来的是数据库的基本用法
首先带大家了解下数据库。
大量的数据正在不断产生,伴随而来的是如何安全有效地存储、检索、管理他们。
对数据的有效存储、高效访问、方便共享和安全控制等问题成为信息时代一个非常重要的问题。
而这些问题对于数据来说都不是问题、、、
那么了解了数据库的大致概念,接下来就让我们一起来看看数据库到底是怎样管理我们的数据的、、
相信大家对生活中的某一些事物都会感到一反感、而这些事物大多是没有自身的调理性的、这违背了大多数人的意志、、
而数据库就是帮我们把日常中的一些杂乱无章的数据归类保存起来,在我们需要的时候随时调用,
所以数据库大致是以表格的形式展现在我们的眼前,这样看上去内容就会一目了然!
接下来就带大家一起来了解下数据库中的表格
表格要求数据完整性,那么就是通过约束性来实现输入的数据是否完整,
大致需要两部:
1.检验每行数据是否符合要求
2.检验每列数据是否符合要求
在约束的过程中,SQL Server为我们提供了一下四中类型的约束:
1.实体完整性
他要求表中的每一行数据都反映不同的实体,不可能存在相同的实体
2.域完整性约束
指的是给定列输入的有效性
3.引用完整性约束
在输入或删除数据行时,用来保持表之间已定义的关系
4.自定义完整性约束
用户自定义完整性用来定义特定的规则
那么在了解了表的大致规则后,再来看下表间的关系,一般来说表间的关系就是主键和外键的关系
ok。就先说主键和外键吧!
主键:
在设计表时我们鼠标右击某一列名称,设置他为主键就ok!
什么是外键呢?
解析:如果有一列(id)在一张表(Grade)中式主键,但是在另外一张表(Student)中不是主键,那么该列就称为外键
提醒:
一张表中可以有几个主键?
解析:一个
复合主键一般不用,因为我们选用主键的原则是用尽量少的列来区分表中的每一条记录,如果表中没有合适的列作为
主键列,我们可以在表中加多MyID列,让自动编号列作为该表的主键。
注意:设置外键的时候只能在外键表中设置
在知道了怎么设置一张表以后,再来说一下表中常用的几种数据类型
int 保存数字
保存字符串(姓名):
char(4):能存储四个字母或者数字,但是只能存储两个汉字。
char(李连杰)
nchar unicode()
n代表的含义是unicode,unicode编码是国际通用编码,使用unicode编码
可以防止乱码出现,所以以后推荐大家使用unicode。
varchar:可变长度
char和varchar类型区别:
var关键字代表的是可变长度
nvarchar(50)
nvarchar(4000)
varchar(8000)
ntext():存储大文本
再来说一下标识列吧、
标识列本身没有具体的意义,不反映数据信息,只是用来区别不同的数据。
标识列只能是int类型(smallint)
标识列的实现方式:
1.如果一列的数据属于数组类型(如整数),那么可以把该列定义为标识列。
2.定义成标识列之后,还需要分别指定“标识种子”和“标识增量”,默认值都是1。
3.定义了标识列之后,在以后每次输入数据的时候,该列随数据行的增加而自动增加数值,
并且不会重复,第一次的数字就是“标示种子”值,以后每次按照“标示增量”增加数值。
标识列通常也被定义为主键,通常所说的“自动编号”就是指示标识列的数字自动增加。
通配符:
Check约束:用于定义列中可以接受的数据值或者格式
_有且只有一个字符
%任意个任意字符
Like ‘’
那么接下来就是最重要的了_“建立表间关系”。
建立表间关系实际上就是实施引用完整性约束,建立主表和从表关系。
有一个关键点在这里提一下:
如果你不确定到底要怎么建立表间的关系,最好是先用笔在纸上画出表间关系图。
如何看懂这张图?
在图上表格之间的连接线上有一个金色的小钥匙,小钥匙指向哪里,哪里就是主键的位置小钥匙的尾巴指向的就是外键。
SQL--大解密之组织数据的更多相关文章
- SQL Server用表组织数据
一.主键 主键作为表中的唯一标识,标识这一列不允许出现重复数据 如果两列或多列组合起来唯一标识表中的每一行,该主键叫“复合主键” 选择主键的原则 最少性 尽量选择单个键作为主键 ...
- SQL 大数据查询如何进行优化?
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而 ...
- SQL大数据操作统计
SQL大数据操作统计 1:select count(*) from table的区别SELECT object_name(id) as TableName,indid,rows,rowcnt FROM ...
- sql大数据量查询的优化技巧
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...
- SQL大数据查询优化
常写的SQL可能主要以实现查询出结果为主,但如果数据量一大,就会突出SQL查询语句优化的性能独特之处.一般的数据库设计都会建索引查询,这样较全盘扫描查询的确快了不少.下面总结下SQL查询语句的几个优化 ...
- SQL Server 递归查询上级或下级组织数据(上下级数据通用查询语法)
查询上级组织数据: WITH OCTE AS ( AS LVL FROM IOV_Users U LEFT JOIN IOV_Organization O ON U.OrgId=O.ID UNION ...
- SQL SERVER存储引擎——04.数据
4. SQL SERVER存储引擎之数据篇 (4.1)文件 (0)主数据文件.mdf初始文件大小至少为3MB,次要数据文件.ndf初始大小,同日志文件一样至少为512KB: (1)SQL SERVER ...
- sql语句中----删除表数据drop、truncate和delete的用法
sql语句中----删除表数据drop.truncate和delete的用法 --drop drop table tb --tb表示数据表的名字,下同 删除内容和定义,释放空间.简单来说就是把整 ...
- 关于SQL查询效率,100w数据,查询只要1秒
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比 ...
随机推荐
- 【NJU749D】triple(莫比乌斯反演)
题意: cas<=100 n<=10^5 思路:与两个数的没什么区别 F(d)=(n div d)*(n div d-1)*(n div d-2) div 6 再加上喜闻乐见的下底函数分块 ...
- 利用python进行数据分析--(阅读笔记一)
以此记录阅读和学习<利用Python进行数据分析>这本书中的觉得重要的点! 第一章:准备工作 1.一组新闻文章可以被处理为一张词频表,这张词频表可以用于情感分析. 2.大多数软件是由两部分 ...
- 根据View找控制器
- (UIViewController*)viewController { for (UIView* next = [self superview]; next; next = next.superv ...
- 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation
R-CNN总结 不总结就没有积累 R-CNN的全称是 Regions with CNN features.它的主要基础是经典的AlexNet,使用AlexNet来提取每个region特征,而不再是传统 ...
- Javascript MVC 学习笔记(三) 视图和模板
模板 Javascript中模板的核心概念是,将包括模板变量的HTML片段和Javascript对象做合并.把模板变量替换为对象中的属性值. 书中讲到了几种库作为模板引擎,可是链接失效了.能够在这里下 ...
- Linux经常使用命令002之搜索命令locate、whereis、which、find、grep
Linux经常使用命令002之搜索命令locate.whereis.which.find.grep -20150811 经常使用搜索命令 -------文件搜索命令---------- -->l ...
- jqury+css实现可弹出伸缩层
1.使用可弹出伸缩窗调整了之前的页面布局,使用这样的布局使整个界面看起来更加清爽也更简洁 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...
- 【Aladdin Unity3D Shader编程】之四 贴图纹理
关于纹理贴图介绍 纹理坐标也叫UV坐标,UV坐标都是0~1,并不是我们所理解的像素坐标,相当于是一个百分比. 编写shader映射纹理 将纹理的颜色取代漫反射的颜色 Shader "Alad ...
- Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图 Bing Maps Silverlight Control虽然为我们提供了简洁.方面的开 ...
- loj 101 最大流
冬令营送到我脸上的20分都没拿全 心态爆炸 冬令营前一天学的dinic 后一天才发出来 #include<iostream> #include<cstdio> #include ...