SQL数据库基础知识集合

上传人:新** 文档编号:501305202 上传时间:2024-02-16 格式:DOC 页数:17 大小:684KB
返回 下载 相关 举报
SQL数据库基础知识集合_第1页
第1页 / 共17页
SQL数据库基础知识集合_第2页
第2页 / 共17页
SQL数据库基础知识集合_第3页
第3页 / 共17页
SQL数据库基础知识集合_第4页
第4页 / 共17页
SQL数据库基础知识集合_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《SQL数据库基础知识集合》由会员分享,可在线阅读,更多相关《SQL数据库基础知识集合(17页珍藏版)》请在金锄头文库上搜索。

1、1、数据库简介:数据库是专门开发数据管理的软件,或者说专门管理数据的软件就是数据库。数据库存在的意义就是:减轻开发人员的负担。数据库是一个综合的软件,那么我们不需要队要进行2进制保存数据进行处理了,但是却是要与数据库产生交互,那么命令式SQL,有技巧的 ,数据库就是万物皆关系(面向对象,万物皆是对象)有所区别。2、数据库的发展:一开始的是层次化的数据与网状数据库 ,后来也发现使用确实很麻烦。于是到了1970年EF.Cold博士(IBM公司的研究员)开创了关系性的数据库的先驱,发表了关系性数据库的论文 ,但是由于当时电脑硬件的局限性,大家觉得跑如此大的程序不值得。后来,Oracle(甲骨文)公司

2、的创始人,拉里带领Oracle投入到关系型数据库的研发,并且得到了一个大客户 美国国防部。随即开始世界刮起了关系数据库的旋风,随后各个公司都纷纷推出自己的数据库系统。比如:IBM的DB2 ,还有风靡一时的DBS3。但是随即出现不兼容的问题,由于最早的时候都没有进行没规范。所以到最后各个数据库巨头统一了操纵数据库的SQL(结构化Struct数据查询语言) 变成了标准语言,而关系型数据库也俨然变成大家的宠儿,Oracle也从一个小公司,变成现在的数据库巨头,而我们的微软也推出了SQLServer。当然还有PHPer的最爱mySQL。但是mySQL被SUN,SUN被Oracle收购,现在有免费版与收

3、费专业版了。所以我们学习SQL语言的时候,先学共同点,再学特异性。各种数据库软件在使用上有一点区别。3、数据库系统详解:为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。计算机的高速处理能力和大容量存储器提供了实现数据管理自动化的条件。 数据库系统一般由4个部分组成:数据库,即存储在磁带、磁盘、光盘或其他外存介质上、按一定结构组织在一起的相关数据的集合。(个体)数据库管理系统(DBMS)。一组能完成描述、管理、维护子数据库的程序系统。它按照一种公用的和可控制的方法完成插入新数据、修改和检索原有数据的操作。数据库管理员(DBA)。用户和应用程序。(微软的称作SSMS)4、数据库系

4、统的基本要求是:1、能够保证数据的独立性。数据和程序相互独立有利于加快软件开发速度,节省开发费用。2、冗余数据少,数据共享程度高。3、系统的用户接口简单,用户容易掌握,使用方便。4、能够确保系统运行可靠,出现故障时能迅速排除,能够保护数据不受非受权者访问或破坏,能够防止错误数据的产生,一旦产生也能及时发现。5、有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。6、具有可修改性和可扩充性、可维护性。7、能够充分描述数据间的内在联系。 5、数据库(Database):由众多的数据、数据表、约束、存储

5、过程、函数、视图、索引构成的一个数据存储与交互单元,是按照数据结构来组织、存储和管理数据的仓库。6、数据表(table):数据表,实际上是一个二维表。一般是围绕一个事务、动作记录,或者是一个信息主题作为一个数据表。数据表由行与列构成。7、列(column、field):列,其实就是字段。也是决定了信息的基本单元。列,包含有数据类型的设定。8、行(row、record):行,实际上就是一条基本信息。一行包含了多列数据的存储的信息。所以一行也有一条记录之称。9、行业(trade)一个行业一种需求,没一个需求每一种数据库的设计模式与思想。每个行业的数据设计的重点都是不同的。侧重查询(要求低范式)还是

6、操作(要求搞范式)就是自己选择的问题了。10、索引(index)索引是一个单独的、物理的数据库结构,它是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引其实就是一个B+树,但是这个索引是Nn层数次方的。目的就是在数据库中划分出一定的区域优化查询。可以提升大量数据的查询速度。索引一般可以分为:基于字段优化查询速度的普通索引、唯一性索引、主键索引、全文索引、单列与多列索引。现在由于数据库系统的不断升级,我们只要设定索引就可以了,不需要特殊的维护。而且数据在查询的时候也会根据查询适当地选择是利用索引查询,还是仅仅是表查询。由于数据库系统的发展,系统内部已经自动帮

7、我们完成对索引的维护。但是在设计的时候要考虑到索引的损耗问题。数据库DB就像是一个字典,索引就是根据指定字段制成的快速指向。由于只是指向数据对象标识,真正的数据是存储在DB中,所以查询速度极快。但是额外的内存与硬盘花销也是一个需要考虑的问题。比如:增加、删除、修改时数据库都要对索引进行维护,但是这样也是为了最后查询的效率的提升,特别适合W行级别的数据查询。而索引可以分为:隐式索引(针对单个字段)、唯一索引(唯一约束)、函数索引(函数(字段)、聚簇索引(主键)、组合索引(最多16个field)与全文索引(text)。一般索引会占用原数据库大小的20%。11、视图(view)固化的子查询,将一个子

8、查询起了一个固化的名字,保存在数据库中,方便以后的使用。其实调用大量的Join来进行一个查询一般也是用视图。视图与索引都是为了优化查询的速度与语句。视图是优化语句,索引是优化单查速度。一般是DBA来设定数据库的视图, 封装内部数据库的数据关系,范式修改数据容易了,视图让我们查询复杂关系的数据变得容易。12、触发器(trigger)触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由个事件来触发,比如当对一个表进行操作( insert,delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务规则等。 触发器可以从 DBA_TR

9、IGGERS ,USER_TRIGGERS 数据字典中查到。13、SQLServer数据类型详解数据类型描述bit整型 bit 数据类型是整型,其值只能是0、1或空值(null)。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off 。int整型int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节smallint整型smallint 数据类型可以存储从- 215(-32768)到215(32767)

10、之间的整数。这种数据类型对存储一些常限定在特定范围内的数值型数据非常有用。这种数据类型在数据库里占用2个字节空间tinyint整型tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节numeric精确数字型numeric数据类型与decimal 型相同decimal精确数值型decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和范围的数值型数据。使用这种数据类型时,必须指定范围和精度。 范围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数。左边是总数位,右边是小数点后的数

11、位。money货币型money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一smallmoney货币型smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一float近似数值型float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其范围内不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数real近似数值型real 数据类型像浮点数一样,是近似数值类型。它可以

12、表示数值在-3.40E+38到3.40E+38之间的浮点数datetime日期时间型datetime数据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒,但是在输出的时候我们可以使用拼接的技术,也可以使用SQLSwrver内部的指令Smalldatetime日期时间型smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟cursor特殊数据型cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创

13、建表时不能用timestamp特殊数据型timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库范围内的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的Uniqueidentifier特殊数据型Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一

14、标识符的列char字符型char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符varchar字符型varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度。其实就是可变长的char类型。text字符型text 数据类

15、型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符。有点像BLOB、CLOB,只保留16个字节的地址,速度会变慢。它不是char所以字符串的函数对其无效ntext字符型也是用Unicode的text。nchar统一编码字符nchar 数据类型用来存储定长统一编码字符型数据。统一编码用2个字节来存储每个字符,而不是用单字节(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍。可以针对特殊的字符。就会使用Unicode的编码来存储。8000个字节。nvarchar统一编码字符型nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍。变长、特殊字符。这种Unicode编码要比char、varchar存储相同的数据耗用了ntext统一编码字符型ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230 -1或将近10亿个字符,且使用的字节空间增加了一倍binary二进制数据类型binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的内容接近相同的长度时,你应该使用这种数据类型varbinary二

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号