首页数据库关于数据库?关于数据库的描述,正确的是( )。问

关于数据库?关于数据库的描述,正确的是( )。问

编程之家2023-10-18104次浏览

各位老铁们,大家好,今天由我来为大家分享关于数据库,以及关于数据库的描述,正确的是( )。问的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!

关于数据库?关于数据库的描述,正确的是( )。问

关于数据库的描述,正确的是( )。问

一下内容纯属抄袭~,希望有点用~8.2聚合函数的应用聚合函数在数据库数据的查询分析中,应用十分广泛。本节将分别对各聚合函数的应用进行说明。8.2.1求和函数——SUM()求和函数SUM()用于对数据求和,返回选取结果集中所有值的总和。语法如下。SELECTSUM(column_name)FROMtable_name说明:SUM()函数只能作用于数值型数据,即列column_name中的数据必须是数值型的。实例1SUM函数的使用从TEACHER表中查询所有男教师的工资总数。TEACHER表的结构和数据可参见5.2.1节的表5-1,下同。实例代码:SELECTSUM(SAL)ASBOYSALFROMTEACHERWHERETSEX='男'运行结果如图8.1所示。图8.1TEACHER表中所有男教师的工资总数实例2SUM函数对NULL值的处理从TEACHER表中查询年龄大于40岁的教师的工资总数。实例代码:SELECTSUM(SAL)ASOLDSALFROMTEACHERWHEREAGE>=40运行结果如图8.2所示。图8.2TEACHER表中所有年龄大于40岁的教师的工资总数当对某列数据进行求和时,如果该列存在NULL值,则SUM函数会忽略该值。8.2.2计数函数——COUNT()COUNT()函数用来计算表中记录的个数或者列中值的个数,计算内容由SELECT语句指定。使用COUNT函数时,必须指定一个列的名称或者使用星号,星号表示计算一个表中的所有记录。两种使用形式如下。*COUNT(*),计算表中行的总数,即使表中行的数据为NULL,也被计入在内。*COUNT(column),计算column列包含的行的数目,如果该列中某行数据为NULL,则该行不计入统计总数。1.使用COUNT(*)函数对表中的行数计数COUNT(*)函数将返回满足SELECT语句的WHERE子句中的搜索条件的函数。实例3COUNT(*)函数的使用查询TEACHER表中的所有记录的行数。实例代码:SELECTCOUNT(*)ASTOTALITEMFROMTEACHER运行结果如图8.3所示。图8.3使用COUNT(*)函数对表中的行数计数在该例中,SELECT语句中没有WHERE子句,那么认为表中的所有行都满足SELECT语句,所以SELECT语句将返回表中所有行的计数,结果与5.2.1节的表5-1列出的TEACHER表的数据相吻合。如果DBMS在其系统表中存储了表的行数,COUNT(*)将很快地返回表的行数,因为这时,DBMS不必从头到尾读取表,并对物理表中的行计数,而直接从系统表中提取行的计数。而如果DBMS没有在系统表存储表的行数,将具有NOTNULL约束的列作为参数,使用COUNT()函数,则可能更快地对表行计数。注意COUNT(*)函数将准确地返回表中的总行数,而仅当COUNT()函数的参数列没有NULL值时,才返回表中正确的行计数,所以仅当受NOTNULL限制的列作为参数时,才可使用COUNT()函数代替COUNT(*)函数。2.使用COUNT()函数对一列中的数据计数COUNT()函数可用于对一列中的数据值计数。与忽略了所有列的COUNT(*)函数不同,COUNT()函数逐一检查一列(或多列)中的值,并对那些值不是NULL的行计数。实例4查询多列中所有记录的行数查询TEACHER表中的TNO列、TNAME列以及SAL列中包含的所有数据行数。实例代码:SELECTCOUNT(TNO)ASTOTAL_TNO,COUNT(TNAME)ASTOTAL_TNAME,COUNT(SAL)ASTOTAL_SALFROMTEACHER运行结果如图8.4所示。图8.4使用COUNT()函数对一列中的数据计数可见,TNO列与TNAME列由于其中不含有NULL值,所以其计数与使用COUNT(*)函数对TEACHER表中的记录计数结果相一致,而SAL列由于其中有两行数据为NULL,所以这两列没有被计入在内,计数结果也就是8。3.使用COUNT()函数对多列中的数据计数COUNT()函数不仅可用于对一列中的数据值计数,也可以对多列中的数据值计数。如果对多列计数,则需要将要计数的多列通过连接符连接后,作为COUNT()函数的参数。下面将结合具体的多列计数的实例,说明其使用过程。*说明关于如何使用连接符连接多列可参见本书的7.2节。实例5使用COUNT()函数对多列中的数据计数统计TEACHER表中的TNO列、TNAME列和SAL列中分别包含的数据行数,以及TNO列和TNAME列、TNAME列和SAL列一起包含的数据行数。实例代码:SELECTCOUNT(TNO)ASTOTAL_TNO,COUNT(TNAME)ASTOTAL_TNAME,COUNT(SAL)ASTOTAL_SAL,COUNT(CAST(TNOASVARCHAR(5))+TNAME)AST_NONAME,COUNT(TNAME+CAST(SALASVARCHAR(5)))AST_NAMESALFROMTEACHER运行结果如图8.5所示。图8.5使用COUNT()函数对多列中的数据计数在进行两列的连接时,由于它们的数据类型不一致,因此要使用CAST表达式将它们转换成相同的数据类型。在7.2.1节已经讲过,如果在被连接的列中的任何一列有NULL值时,那么连接的结果为NULL,则该列不会被COUNT()函数计数。注意COUNT()函数只对那些传递到函数中的参数不是NULL的行计数。4.使用COUNT函数对满足某种条件的记录计数也可以在SELECT语句中添加一些子句约束来指定返回记录的个数。实例6使用COUNT函数对满足某种条件的记录计数查询TEACHER表中女教师记录的数目。实例代码:SELECTCOUNT(*)ASTOTALWOMENFROMTEACHERWHERETSEX='女'运行结果如图8.6所示。图8.6使用COUNT函数对满足某种条件的记录计数这时结果为6而不是前面的所有记录10。之所以可以通过WHERE子句定义COUNT()函数的计数条件,这与SELECT语句各个子句的执行顺序是分不开的。前面已经讲过,DBMS首先执行FROM子句,而后是WHERE子句,最后是SELECT子句。所以COUNT()函数只能用于满足WHERE子句定义的查询条件的记录。没有包括在WHERE子句的查询结果中的记录,都不符合COUNT()函数。8.2.3最大/最小值函数—MAX()/MIN()当需要了解一列中的最大值时,可以使用MAX()函数;同样,当需要了解一列中的最小值时,可以使用MIN()函数。语法如下。SELECTMAX(column_name)/MIN(column_name)FROMtable_name说明:列column_name中的数据可以是数值、字符串或是日期时间数据类型。MAX()/MIN()函数将返回与被传递的列同一数据类型的单一值。实例7MAX()函数的使用查询TEACHER表中教师的最大年龄。实例代码:SELECTMAX(AGE)ASMAXAGEFROMTEACHER运行结果如图8.7所示。图8.7TEACHER表中教师的最大年龄然而,在实际应用中得到这个结果并不是特别有用,因为经常想要获得的信息是具有最大年龄的教师的教工号、姓名、性别等信息。然而SQL不支持如下的SELECT语句。SELECTTNAME,DNAME,TSEX,MAX(AGE)FROMTEACHER因为聚合函数处理的是数据组,在本例中,MAX函数将整个TEACHER表看成一组,而TNAME、DNAME和TSEX的数据都没有进行任何分组,因此SELECT语句没有逻辑意义。同样的道理,下面的代码也是无效的。SELECTTNAME,DNAME,TSEX,SAL,AGEFROMTEACHERWHEREAGE=MAX(AGE)解决这个问题的方法,就是在WHERE子句中使用子查询来返回最大值,然后再基于这个返回的最大值,查询相关信息。实例8在WHERE子句中使用子查询返回最大值查询TEACHER表中年纪最大的教师的教工号、姓名、性别等信息。实例代码:SELECTTNAME,DNAME,TSEX,SAL,AGEFROMTEACHERWHEREAGE=(SELECTMAX(AGE)FROMTEACHER)运行结果如图8.8所示。图8.8在WHERE子句中使用子查询返回最大值MAX()和MIN()函数不仅可以作用于数值型数据,也可以作用于字符串或是日期时间数据类型的数据。实例9MAX()函数用于字符型数据如下面代码:SELECTMAX(TNAME)ASMAXNAMEFROMTEACHER运行结果如图8.9所示。图8.9在字符串数据类型中使用MAX的结果可见,对于字符串也可以求其最大值。*说明对字符型数据的最大值,是按照首字母由A~Z的顺序排列,越往后,其值越大。当然,对于汉字则是按照其全拼拼音排列的,若首字符相同,则比较下一个字符,以此类推。当然,对与日期时间类型的数据也可以求其最大/最小值,其大小排列就是日期时间的早晚,越早认为其值越小,如下面的实例。实例10MAX()、MIN()函数用于时间型数据从COURSE表中查询最早和最晚考试课程的考试时间。其中COURSE表的结构和数据可参见本书6.1节的表6-1。实例代码:SELECTMIN(CTEST)ASEARLY_DATE,MAX(CTEST)ASLATE_DATEFROMCOURSE运行结果如图8.10所示。图8.10COURSE表中最早和最晚考试课程的考试时间可见,返回结果的数据类型与该列定义的数据类型相同。注意确定列中的最大值(最小值)时,MAX()(MIN())函数忽略NULL值。但是,如果在该列中,所有行的值都是NULL,则MAX()/MIN()函数将返回NULL值。8.2.4均值函数——AVG()函数AVG()用于计算一列中数据值的平均值。语法如下。SELECTAVG(column_name)FROMtable_name说明:AVG()函数的执行过程实际上是将一列中的值加起来,再将其和除以非NULL值的数目。所以,与SUM()函数一样,AVG()函数只能作用于数值型数据,即列column_name中的数据必须是数值型的。实例11AVG()函数的应用从TEACHER表中查询所有教师的平均年龄。实例代码:SELECTAVG(AGE)ASAVG_AGEFROMTEACHER运行结果如图8.11所示。图8.11TEACHER表中所有教师的平均年龄在计算平均值时,AVG()函数将忽略NULL值。因此,如果要计算平均值的列中有NULL值,计算均值时,要特别注意。实例12AVG()函数对NULL值的处理从TEACHER表中查询所有教师的平均工资。实例代码:SELECTAVG(SAL)ASAVG_AGE1,SUM(SAL)/COUNT(*)ASAVG_AGE2,SUM(SAL)/COUNT(SAL)ASAVG_AGE3FROMTEACHER运行结果如图8.12所示。图8.12TEACHER表中所有教师的平均工资可以发现得到了不同的结果。实际上,“AVG(SAL)”与“SUM(SAL)/COUNT(SAL)”语句是等价的。因为AVG(SAL)语句的执行过程实际上是将SAL列中的值加起来,再将其和(也就等价于SUM(SAL))除以非NULL值的数目(也就等价于COUNT(SAL))。而语句“SUM(SAL)/COUNT(*)”则不然,因为COUNT(*)返回的是表中所有记录的个数,而不管SAL列中的数值是否为NULL。注意AVG()函数在计算一列的平均值时,忽略NULL值。但是,如果在该列中,所有行的值都是NULL,则AVG()函数将返回NULL值。如果不想对列中的所有值求平均,则可在WHERE子句中使用搜索条件来限制用于计算均值的行。实例13在WHERE子句中使用搜索条件来限制用于计算均值的行从TEACHER表中查询所有计算机系教师的平均年龄。实例代码:SELECTAVG(AGE)ASAVGCOMPUTER_AGEFROMTEACHERWHEREDNAME='计算机'运行结果如图8.13所示。图8.13TEACHER表中所有计算机系教师的平均年龄当执行SELECT语句时,DBMS将表中的每行对WHERE子句中的搜索条件“DNAME='计算机'”求值。只有那些搜索条件为True时,行中的AGE值才传到均值函数AVG(AGE)中。当然,除了显示表中某列的平均值,还可用AVG()函数作为WHERE子句的一部分。与前面介绍的MAX()函数一样,不能直接用于WHERE子句,必须以子查询的形式。实例14AVG()函数作为WHERE子句中搜索条件的一部分从TEACHER表中查询所有年龄高于平均年龄的教师的信息。实例代码:SELECT*FROMTEACHERWHEREAGE>=(SELECTAVG(AGE)FROMTEACHER)ORDERBYAGE运行结果如图8.14所示。图8.14TEACHER表中所有年龄高于平均年龄的教师的信息8.2.5聚合分析的重值处理前面介绍的5种聚合函数,可以作用于所选列中的所有数据(不管列中的数据是否有重置),也可以只对列中的非重值进行处理,即把重复的值只取一次进行聚合分析。当然,对于MAX()/MIN()函数来讲,重值处理意义不大。可以使用ALL关键字指明对所选列中的所有数据进行处理,使用DISTINCT关键字指明对所选列中的非重值数据进行处理。以AVG()函数为例,语法如下。SELECTAVG([ALL/DISTINCT]column_name)FROMtable_name说明:[ALL/DISTINCT]在缺省状态下,默认是ALL关键字,即不管是否有重值,处理所有数据。其他聚合函数的用法与此相同。注意MicrosoftAccess数据库不支持在聚合函数中使用DISTINCT关键字。实例15聚合分析的重值处理从TEACHER表中查询工资SAL列中存在的所有记录数。实例代码:SELECTCOUNT(ALLSAL)ASALLSAL_COUNTFROMTEACHER运行结果如图8.15所示。图8.15TEACHER表中工资SAL列中存在的所有记录数当然,在代码中去除ALL关键字,也可以得到相同的结果。而如果从TEACHER表中,查询工资SAL列中存在的不同记录的数目,可采用如下代码。SELECTCOUNT(DISTINCTSAL)ASDISTINCTSAL_COUNTFROMTEACHER运行结果如图8.16所示。图8.16TEACHER表中SAL列存在的不同记录的数目对比两个结果,使用DISTINCT关键字后,工资SAL列中的重值并没有列入统计的范围之内。另外还要强调一点,在所有5种聚合函数中,除了COUNT(*)函数外,其他的函数在计算过程中都忽略NULL值,即把NULL值的行排除在外,不进行分析。8.2.6聚合函数的组合使用前面介绍的实例中,聚合函数都是单独使用的。聚合函数也可以组合使用,即在一条SELECT语句中,可以使用多个聚合函数。实例16使用多个聚合函数如下面的代码:SELECTCOUNT(*)ASnum_items,MAX(SAL)ASmax_sal,Min(AGE)ASmin_age,SUM(SAL)/COUNT(SAL)ASavg_sal,AVG(DISTINCTSAL)ASdisavg_salFROMTEACHER运行结果如图8.17所示。图8.17聚合函数的组合应用该例在一条SELECT语句中,几乎用到了所有的聚合函数。其中num_items为TEACHER表所有记录的条目,max_sal为TEACHER表中记录的最高工资,min_age为TEACHER表中记录的最小年龄,avg_sal为所有TEACHER表中的工资记录的平均值,disavg_sal为TEACHER表中所有不同的工资记录的平均值。

有关数据库的描述,正确的是()

答案是B。先说A肯定不对,数据库设计不可能是设计DBMS,而应该是DBAS,否则随便个人都可以设计DBMS,那那SYBASE和ORACLE等不都没饭吃了。C也错,数据库具有物理独立性和逻辑独立性,这可以通过模式/内模式来说明,内模式改变而模式却不用改变,就证明本选项的问题。

最后说B吧,我们说数据库是长期存储在计算机内有组织的、大量的、共享的数据集合,这个概念中已经说明了其目的性。上边说的不错,数据库技术是用来管理数据的,但是管理数据不是数据库的根本目的,根本目标是要解决数据共享的问题。所以是B。

数据库都有哪些

数据库是一组信息的集合,以便可以方便地访问、管理和更新,常用数据库有:1、关系型数据库;2、分布式数据库;3、云数据库;4、NoSQL数据库;5、面向对象的数据库;6、图形数据库。

计算机数据库通常包含数据记录或文件的聚合,例如销售事务、产品目录和库存以及客户配置文件。

通常,数据库管理器为用户提供了控制读写访问、指定报表生成和分析使用情况的能力。有些数据库提供ACID(原子性、一致性、隔离性和持久性)遵从性,以确保数据的一致性和事务的完整性。

关于数据库?关于数据库的描述,正确的是( )。问

数据库普遍存在于大型主机系统中,但也存在于较小的分布式工作站和中端系统中,如IBM的as/400和个人计算机。

数据库的演变

数据库从1960年代开始发展,从层次数据库和网络数据库开始,到1980年代的面向对象数据库,再到今天的SQL和NoSQL数据库和云数据库。

一种观点认为,数据库可以按照内容类型分类:书目、全文、数字和图像。在计算中,数据库有时根据其组织方法进行分类。有许多不同类型的数据库,从最流行的方法关系数据库到分布式数据库、云数据库或NoSQL数据库。

常用数据库:

1、关系型数据库

关于数据库?关于数据库的描述,正确的是( )。问

关系型数据库是由IBM的E.F.Codd于1970年发明的,它是一个表格数据库,其中定义了数据,因此可以以多种不同的方式对其进行重组和访问。

关系数据库由一组表组成,其中的数据属于预定义的类别。每个表在一个列中至少有一个数据类别,并且每一行对于列中定义的类别都有一个特定的数据实例。

结构化查询语言(SQL)是关系数据库的标准用户和应用程序接口。关系数据库易于扩展,并且可以在原始数据库创建之后添加新的数据类别,而不需要修改所有现有应用程序。

2、分布式数据库

分布式数据库是一种数据库,其中部分数据库存储在多个物理位置,处理在网络中的不同点之间分散或复制。

分布式数据库可以是同构的,也可以是异构的。同构分布式数据库系统中的所有物理位置都具有相同的底层硬件,并运行相同的操作系统和数据库应用程序。异构分布式数据库中的硬件、操作系统或数据库应用程序在每个位置上可能是不同的。

3、云数据库

云数据库是针对虚拟化环境(混合云、公共云或私有云)优化或构建的数据库。云数据库提供了一些好处,比如可以按每次使用支付存储容量和带宽的费用,还可以根据需要提供可伸缩性和高可用性。

云数据库还为企业提供了在软件即服务部署中支持业务应用程序的机会。

4、NoSQL数据库

NoSQL数据库对于大型分布式数据集非常有用。

NoSQL数据库对于关系数据库无法解决的大数据性能问题非常有效。当组织必须分析大量非结构化数据或存储在云中多个虚拟服务器上的数据时,它们是最有效的。

5、面向对象的数据库

使用面向对象编程语言创建的项通常存储在关系数据库中,但是面向对象数据库非常适合于这些项。

面向对象的数据库是围绕对象(而不是操作)和数据(而不是逻辑)组织的。例如,关系数据库中的多媒体记录可以是可定义的数据对象,而不是字母数字值。

6、图形数据库

面向图形的数据库是一种NoSQL数据库,它使用图形理论存储、映射和查询关系。图数据库基本上是节点和边的集合,其中每个节点表示一个实体,每个边表示节点之间的连接。

图形数据库在分析互连方面越来越受欢迎。例如,公司可以使用图形数据库从社交媒体中挖掘关于客户的数据。

访问数据库:DBMS和RDBMS

数据库管理系统(DBMS)是一种允许您定义、操作、检索和管理存储在数据库中的数据的软件。

关系数据库管理系统(RDBMS)是上世纪70年代开发的一种基于关系模型的数据库管理软件,目前仍然是最流行的数据库管理方法。

MicrosoftSQLServer、Oracle数据库、IBMDB2和MySQL是企业用户最常用的RDBMS产品。DBMS技术始于20世纪60年代,支持分层数据库,包括IBM的信息管理系统和CA的集成数据库管理系统。一个关系数据库管理系统(RDBMS)是一种数据库管理软件是在20世纪70年代开发的,基于关系模式,仍然是管理数据库的最普遍的方式。

希望能帮助你还请及时采纳谢谢

关于关于数据库到此分享完毕,希望能帮助到您。

主机字节序(什么是网络字节序,主机字节序)迷你主机显卡 电脑迷你主机的优缺点