什么是SQL 还有什么SQL语言数据库的是什么

什么是SQL 还有什么SQL语言数据库的是什么,第1张

SQL全称是“结构化查询语言(Structured Query Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle ,Sybase,Informix,SQL server这些大型的数据库管理系统,还是像Visual Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。

SQL是高级的非过程化编程语言,允许用户在高层数据结构上工作。他不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的SQL语言作为数据输入与管理的接口。它以记录集合作为 *** 纵对象,所有SQL语句接受集合作为输入,返回集合作为输出,这种集合特性允许一条SQL语句的输出作为另一条SQL语句的输入,所以SQL语言可以嵌套,这使他具有极大的灵活性和强大的功能,在多数情况下,在其他语言中需要一大段程序实现的一个单独事件只需要一个SQL语句就可以达到目的,这也意味着用SQL语言可以写出非常复杂的语句。

SQL同时也是数据库文件格式的扩展名。

SQL语言包含4个部分:

数据查询语言(SELECT语句)

数据 *** 纵语言(INSERT, UPDATE, DELETE语句)

数据定义语言(如CREATE, DROP等语句)

数据控制语言(如COMMIT, ROLLBACK等语句)

SQL语言是结构化语言(Structure Query Language)的缩写,是一种用于数据库查询和编程的语言,已经成为关系型数据库普遍使用的标准,使用这种标准数据库语言对程序设计和数据库的维护都带来了极大的方便,广泛地应用于各种数据查询。VB和其他的应用程序包括Access、Foxpro、Orcale、SQL Server等都支持SQL语言。

SQL语言的常用 *** 作有:建立数据库数据表(CREATE TABLE),如本系统中的学生及成绩备份就用到该语句;从数据库中筛选一个记录集(SELECT),这是最常用的一个语句,功能强大,能有效地对数据库中一个或多个数据表中的数据进行访问,并兼有排序、分组等功能;在数据表中添加一个记录(INSERT);删除符合条件的记录(DELETE);更改符合条件的记录(UPDATE);

VB中的数据库 *** 作对象都提供了对SQL语句的支持。其一般的用法是以VB的各种控件接收用户对数据库访问的请求,在事件响应程序代码中将其转换成对数据库的SQL查询语句,并以字符串的形式存在,然后将其传递给相应的数据库 *** 作对象,最终完成对数据库的访问

数据库,顾名思义,是存入数据的仓库。只不过这个仓库是在计算机存储设备上的,而且数据是按一定格式存放的。

当人们收集了大量的数据后,应该把它们保存起来进入近一步的处理,进一步的抽取有用的信息。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术科学的保存大量的数据,以便能更好的利用这些数据资源。

要是下定义的话,就应该是:指长期储存在计算机内的、有组织的、可共享的数据集合。

数据库包含关系数据库、面向对象数据库及新兴的XML数据库等多种,目前应用最广泛的是关系数据库,若在关系数据库基础上提供部分面向对象数据库功能的对象关系数据库。在数据库技术的早期还曾经流行过层次数据库与网状数据库,但这两类数据库目前已经极少使用。

数据库管理

数据库管理(Database Administration)是有关建立、存储、修改和存取数据库中信息的技术,是指为保证数据库系统的正常运行和服务质量,有关人员须进行的技术管理工作。负责这些技术管理工作的个人或集体称为数据库管理员(DBA)。数据库管理的主要内容有:数据库的建立、数据库的调整、数据库的重组、数据库的重构、数据库的安全控制、数据的完整性控制和对用户提供技术支持。

数据库的建立:数据库的设计只是提供了数据的类型、逻辑结构、联系、约束和存储结构等有关数据的描述。这些描述称为数据模式。要建立可运行的数据库,还需进行下列工作:

(1)选定数据库的各种参数,例如最大的数据存储空间、缓冲决的数量、并发度等。这些参数可以由用户设置,也可以由系统按默认值设置。

(2)定义数据库,利用数据库管理系统(DBMS)所提供的数据定义语言和命令,定义数据库名、数据模式、索引等。

(3)准备和装入数据,定义数据库仅仅建立了数据库的框架,要建成数据库还必须装入大量的数据,这是一项浩繁的工作。在数据的准备和录入过程中,必须在技术和制度上采取措施,保证装入数据的正确性。计算机系统中原已积累的数据,要充分利用,尽可能转换成数据库的数据。

注: "数据库"这个词对于不同的人应该给予不同的感觉。如果你是一个最终用户,你根本就不关心数据存储和维护的细节,数据库也不应该拿这些事情来烦你。但是如果你是一个数据库管理员,那么有些细节上的东西你就必须要清楚。数据库管理系统可以为不同的用户提供不同的视图,也就是他们所看到的数据库是不一样的。这就需要进行数据抽象,以形成这些不同的视图。

最早是在CODASYL的DBTG报告中完整地给出了数据抽象的三个层次。ANSI/SPARC报告中也提出了类似的建议,这个报告中抽象的层次为内部层、概念层和外部层。但是,现在的数据库管理系统是根据DBTG的报告从三个层次来进行抽象的,它们分别是物理层、逻辑层和视图层(概念层)。

数据库的种类

大型数据库有:Oracle、Sybase、DB2、SQL server

小型数据库有:Access、MySQL、BD2等。

在软件项目实施的时候 数据导入一直是项目人员比较头疼的问题 其实 在SQL Server中集成了很多成批导入数据的方法 有些项目实施顾问头疼的问题 在我们数据库管理员眼中 是小菜一碟 现在的重点就是 如何让用户了解这些方法 让数据导入变得轻松一些

第一种方法 使用Select Into语句

若企业数据库都采用的是SQL Server数据库的话 则可以利用Select Into语句来实现数据的导入 Select Into语句 他的作用就是把数据从另外一个数据库中查询出来 然后加入到某个用户指定的表中

在使用这条语句的时候 需要注意几个方面的内容

一是需要在目的数据库中先建立相关的表 如想把进销存系统数据库(SQLServer)中的产品信息表(Product)导入到ERP系统中的产品信息表(M_Product)中 则前期是在ERP系统的数据库中已经建立了这张产品信息表

二是这种方法只复制表中的数据 而不复制表中的索引 如在进销存系统数据中的产品信息表中 在产品编号 产品种类等字段上建立了索引 则利用Select Into语句把数据复制到ERP系统的表中的时候 只是复制了数据内容的本身 而不会复制索引等信息

三是这条语句使用具有局限性 一般情况下 这只能够在SQL Server数据库中采用 不过 对于SQL Server不同版本的数据库 如 或者 还都是兼容的 若需要导入的对象数据库不是SQL Server的 则需要采用其他的方法

四是采用这条语句的话 在目的表中必须不存在数据 否则的话 目的表中的数据会被清除 也就是说 这个语句不支持表与表数据的合并 在SQL Server中 有一条类似的语句 可以实现这个功能 这条语句就是 Insert Into 他的作用就是把另外一张表中的数据插入到当前表中 若用户想要的时表与表数据的合并 则可以采用这条语句 两者不能够混淆使用 否则的话 很容易导致数据的丢失

五是以上两条语句都支持兼容的不同类型的数据类型 如在原标中 某个字段的数据类型是整数型 但是在目的表中这个字段的数据类型则是浮点型 只要这个两个数据类型本来就兼容的 则在导入的时候 数据库是允许的

第二种方法 利用Excel等中间工具进行控制

虽然第一种方法 *** 作起来比较简单 但是其也有一些缺点 如他只支持同一种类型的数据库;不能够对数据进行过多的干预等等 一般情况下 若用户原数据准确度比较高 不需要过多的修改就可以直接拿来用的话 则笔者就已采用第一种方式

但是 若在原数据库中 数据的准确度不是很高 又或者 有很多数据是报废的 总之 需要对原数据库的数据进行整理 才能够使用的情况 笔者不建议先导入进去 再进行更改 笔者在遇到这种情况时 喜欢利用Excle作为中间工具 也就是说 先把数据中原数据库中导到Excle中 有些数据库 如Oracle数据库 他不支持Excle格式 但是 我们可以把它导为CSV格式的文件 这种文件Excle也可以打得开

然后 再在Excle中 对记录进行修改 由于Excle是一个很强的表格处理软件 所以 其数据修改 要比在数据库中直接修改来得方便 来得简单 如可以利用按时间排序等功能 把一些长久不用的记录清楚掉 也可以利用替换等功能 把一些不规范的字符更改掉 这些原来在数据库中比较复杂的任务 在Excle等工具中都可以轻松的完成

等到表中的内容修改无误后 数据库管理员就可以把Excle表格中的文件直接导入到SQL Server数据库中 由于SQL Server与Excel是同一个父母生的 所以 他们之间的兼容性很好 在Sql Server中提供了直接从Excel文件中导入数据的工具

虽然这要借助中间工具导入数据 但是 因为其处理起来方便 直观 所以 笔者在大部分时候都是采用这种方式

第三种方式 使用数据转换服务导入数据

数据转换服务是SQL Server数据库中提供的一个非常强大的工具 在SQLServer中 数据转换功能有一个图形用户接口 用户可以在图形界面中导入数据 并对数据进行相应的编辑

另外 数据转换服务还支持组件的编程接口 这也就是说 在前台应用程序开发的时候 可以直接调用数据转换服务 让用户通过前台应用系统 而不用在后台数据库系统进行任何的 *** 作 就可以把数据导入数据库系统中去 在前台对数据库系统进行导入 有一个明显的好处 就可以预先对数据的合法性进行检查 如可以利用VB等脚本语言对数据进行检验 净化和一定的转换 以符合目的数据库的需要

如在员工信息表中的婚姻状况字段 在Oracle数据库系统中 可能是用 或者 来表示婚姻状况 表示未婚 表示已婚 而在SQL Server数据库中 则利用Y或者N来表示婚姻状况 Y表示已婚 N表示未婚 在导入数据的时候 若直接把Oracle数据库表中的数据导入到SQL Server数据库中 因为婚姻状况这个字段存储的内容类型不同 所以 不能够直接导 遇到这种情况的话 则就可以在导入数据之前 先利用脚本语言对数据类型进行验证 若不符合要求的 则可以通过脚本语言对数据进行一定的转换 把 转换为N 把 转换为Y等等

所以 有时候程序员在开发前台应用程序的时候 若要开发数据导入功能的话 我们都是建议采用这个数据转换服务 不但有现成的接口 而且 还可以对数据进行验证与一定程度的转换 另外 数据转换服务的数据导入效率非常的高 即使通过前台程序调用 其性能也比其他方法在同等条件下 要高一个档次 而且 随着数据量的增加 数据转换服务的优势会越来越明显

不过 在前台应用程序调用数据转换服务的时候 需要注意 数据转换服务提供的接口比较复杂 所以 前台程序调用数据转换服务的代码也比较复杂 若再加上一些脚本语言的话 可能处理起来更加的繁琐 故一般只有在大型系统上才会用到这个接口 若数据不多 否则不需要复杂验证与转换的话 利用这个接口是大刀小用 得不偿失

第四种方式 异构数据库之间的导入导出

虽然第二种 第三种方式都可以完成异构数据库之间数据的导入导出作业 不过 在SQL Server中 还提供了另外一种解决方案 即直接在SQL Server数据库中连接到其他类型的数据库上 然后采用Select Into等语句实现数据的导入作业

在SQL Server中 提供了两个函数可以帮助我们实现对非SQL Server数据库的连接 这两个函数分别为Opendatesource与Openrowset 他们的功能基本相同 只是在细节上有所差异

如Opendatesource这个函数至能够打开源数据库的表和视图 而不能够对其进行过滤 若用户只想把源表中的部分数据导入到SQL Server数据库的表中 则不能对源表直接进行过滤 过滤的动作需要在SQL Server数据库中进行 而Openrowset这个函数 可以在打开对方数据库的表或者视图的时候 直接利用Where等条件限制语句对记录进新过滤 为此 在实际应用中 还是Openrowset这个函数使用的频率比较高

不过由于其需要用户写复杂的参数 而且 又不能够提供复杂的数据验证功能 所以在实际工作中用的并不是很多 在一些小的应用系统中 偶尔还可以见到其的踪影 在一些大的成熟的商业软件中 很少采用这种方式 对数据进行导入

lishixinzhi/Article/program/SQLServer/201311/22294

什么是数据库对象

数据库对象是数据库的组成部分,常见的有以下几种:

1 表(Table )

数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。

2 索引(Index)

索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。

3 视图(View)

视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存。在视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。

4 图表(Diagram)

图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。

5 缺省值(Default)

缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。

6 规则(Rule)

规则是对数据库表中数据信息的限制。它限定的是表的列。

7 触发器(Trigger)

触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。

8 存储过程(Stored Procedure)

存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。

9 用户(User)

所谓用户就是有权限访问数据库的人。

1以sql2012为例,我们在sql查询时,有时会遇到这种情况:查询失败,提示“对象名 xxx 无效”。

2原因是例子中的examTest只是表名,没有指定数据库名,加上数据库名和所有者名就可以了。

3如果只加数据库名是不行的,因为数据库里的表是按角色管理的,不是所有角色都可以查询某个表,所以必须只能所有者。

4如果不在sql中指明数据库名和所有者名,也是可以的。这时就需要在工具上设置数据库。

5把当前数据库设置为 test之后,再查询就同样不会出问题了。

以上就是关于什么是SQL 还有什么SQL语言 数据库的是什么全部的内容,包括:什么是SQL 还有什么SQL语言 数据库的是什么、在SQL Server成批导入数据、数据库 数据对象是什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9537081.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存