当前位置:首页 » 编程语言 » sql多维数据集怎么操作
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql多维数据集怎么操作

发布时间: 2022-08-29 05:28:39

1. sql Server 2008 在多维数据库方面有哪些功能上的改进

1、聚合设计方面的改进:
• 新的聚合设计器。新的聚合设计器更便于浏览和修改聚合设计。现在,聚合设计在显示时按度量值组分组。现在,为高级用户提供了一个用来进行手动聚合设计的新视图。
• 经过简化和增强的聚合设计和基于用法的优化向导。使用这些经过更新的向导,您可以一次修改一个或多个分区中聚合的存储设置并且更方便地设置聚合用法设置。基于用法的优化向导现在还允许您将新聚合追加到现有聚合。
• 新的 AMO 警告。当用户偏离聚合设计最佳实践时,会以这些新的警告消息向用户发出警报。
2、多维数据集方面的改进:
多维数据集向导已经得以简化和增强。这些改进可帮助您用更少的步骤创建更好的多维数据集。
3、维度设计方面的改进:
• 新的属性关系设计器。该维度编辑器具有新的属性关系设计器,这个新设计器更便于浏览和修改属性关系。
• 新的 AMO 警告。当用户偏离设计最佳实践或在数据库设计中出现逻辑错误时,会以这些新的警告消息向用户发出警报。
• 经过简化和增强的维度向导。这个最新版本的向导可自动检测父子层次结构,提供更安全的默认错误配置,并支持成员属性的规范。
• 新的“键列”对话框。使用这个新的对话框,可以更轻松地编辑键列。
• “属性”面板中的键列支持。现在,可以在“属性”面板中编辑键列。
• 经过更新的“维度结构”选项卡。此选项卡现在可用于新的属性关系设计器,并且更加易于使用,从而可以更方便地修改属性和层次结构
4、Analysis Services 中的备份和还原功能上的改进
Analysis Services 中的备份和还原功能具有新的存储结构,所有备份和还原方案的性能都有所改善。
5、改进的存储结构
新的存储结构为存档的数据库提供更可靠的存储库。使用新的存储结构,对数据库文件的大小将不存在实际限制,对数据库所能存储的文件数量也没有限制。
6、改进的性能
新的备份和还原功能使性能得到了改进。对不同大小的数据库以及各种数量的文件的测试表明,性能有了显着的提高。若要获取特定需求下的实际值,建议您针对自己的数据库执行测试。
7、Analysis Services 个性化扩展性方面的改进
使用 Analysis Services 个性化扩展,开发人员可以创建新的 Analysis Services 对象和功能,并在用户会话的上下文中动态提供这些对象和功能。开发人员无需创建有关查找该扩展功能的地点或方式的详细规范。相反,开发人员可以立即与最终用户和其他开发人员共享这些新的对象和功能。

8、新示例位置的改进
联机丛书不再提供 SQL Server 示例数据库和示例应用程序。这些示例数据库和示例应用程序现在位于 SQL Server Samples(SQL Server 示例)网站上。该网站便于用户查找这些示例,还提供了与 Microsoft SQL Server 和商业智能相关的其他新示例。在 SQL Server 示例网站上,您可以执行下列操作:
• 浏览由开发人员、用户和 Microsoft 最有价值专家 (MVP) 社区提供的示例。
• 下载示例数据库和代码项目。
查看或参与讨论区,您可以在讨论区报告和询问与各技术领域的示例相关的问题。

2. SqlServer里“多维和数据挖掘模式”和“表格模式”到底是什么意思

表格、 多维和数据挖掘是SQLServerAnalysis Services 提供用于创建商业智能语义模型的两种方法,还有一种方法是Power Pivot for SharePoint。

可以使用多种方法来实现针对不同业务和用户需求量身定制的建模体验。“多维”是建立在开放标准基础之上的成熟技术,已由 BI 软件的众多供应商采用,但难以驾驭。“表格”提供一种关系建模方法,很多开发人员认为它更加直观。

所有模型将部署为在 Analysis Services 实例上运行的数据库,可以使用一套数据提供程序通过客户端工具来访问,并通过 Excel、Reporting Services、Power BI 和其他供应商的 BI 工具在交互式静态报告中可视化。

表格和多维解决方案使用 SSDT 构建,旨在用于在独立上运行的公司 BI 项目Analysis Services实例在本地和表格模型中,Azure Analysis Services中的服务器云。这两个解决方案将生成可与 BI 客户端轻松集成的高性能分析数据库。然而,每个解决方案在创建、使用和部署方式上都存在不同。本主题的大部分内容比较了这两种类型,以方便你找到适当的方法。

3. sql 2005多维数据集部署

SQL Server 2005

10大顶尖数据库管理特性

数据库镜像 利用新增数据库镜像解决方案扩展日志传送功能。您可以使用数据库镜像特性通过设置自动故障转移至备用服务器的方式来增强SQL Server系统的功能。
在线恢复 利用SQL Server 2005,数据库管理员可以在SQL Server实例运行状态下执行恢复操作。由于只有那些被恢复的数据无法使用,数据库的其余部分仍旧处于在线状态且保持可用,因此,在线恢复特性能够有效提高SQL Server的可用性。
在线索引操作 在线索引选项允许对底层表格、群集索引数据以及索引数据定义语言(DDL)执行过程中的所有相关索引执行并行修改(更新、删除和插入操作)。举例来说,当群集索引被重建时,您可以继续对底层数据进行更新并针对其执行查询操作。
快速恢复 新增的快速恢复选项将提高SQL Server数据库的可用性。当事务日志被前滚后,管理员可以重新连接正在恢复的数据库。
安全增强特性 SQL Server 2005包含诸如数据库加密、安全缺省设置、口令策略强制、较细粒度权限控制以及增强安全模型之类的安全增强特性。
新增的SQL Server Management Studio SQL Server 2005将引入一种新型集成化管理工具套件,SQL Server Management Studio。这种工具集包含用以对SQL Server数据库进行开发、部署和故障诊断的新增功能以及针对原有功能的进一步增强。
专用管理员连接 SQL Server 2005将引入专用的管理员连接,管理员可以使用这种连接来访问运行中的服务器甚至被锁定或因为某种原因而无法使用的服务器。这项功能使管理员得以通过执行诊断功能或Transact-SQL语句的方式在服务器上诊断问题。
快照隔离 SQL Server 2005将在数据库级别上提供新的快照隔离(SI)级别。借助SI特性,用户可以利用数据库的事务一致性视图来访问最新提交的数据行。这项功能将提供更高的可伸缩性。
数据分区 数据分区凭借能够针对大型表格与索引进行高效管理的内建表格与索引分区特性得到了增强。
复制增强特性 对于分布式移动数据库而言,SQL Server 2005提供了新的端到端复制功能,其中包括发布Oracle数据库的能力。此外,SQL Server 2005还针对复制工具及其伸缩能力提供了新的增强特性。

10大顶尖开发特性

.NET Framework托管 凭借SQL Server 2005,开发人员可以使用熟悉的编程语言(如Microsoft Visual C# .NET和Microsoft Visual Basic .NET)来创建数据库对象。同时,开发人员还可以创建两种新型对象——用户定义类型及聚合。
XML技术 扩展标记语言(XML)是一项通过本地网络和Internet在不同应用间散布数据的重要标准。SQL Server 2005具备针对XML文档存储与查询的内建支持能力。
ADO.NET 2.0版 从针对SQL Types的新增支持能力到多维活动结果集(MARS),SQL Server 2005中的ADO.NET将完善数据集的访问与操作方式,从而实现更高的伸缩性与灵活性。
安全增强特性 SQL Server 2005中的新型安全模型将把用户从对象中独立出来,提供较细粒度的访问方式,并支持针对数据访问的更强控制能力。此外,所有系统表格都将以视图的形式实现,从而提供针对数据库系统对象的更多控制能力。
Transact-SQL增强特性 SQL Server 2005提供了用以开发可伸缩性数据库应用的新型语言功能。这些增强特性包括错误处理,递归查询功能,关系型操作符PIVOT、APPLY、ROW_NUMBER,以及其它行级功能。
SQL Service Broker SQL Service Broker将面向大规模在线商务应用提供分布式异步应用程序框架。
通知服务 通知服务允许企业创建能够向各种设备提供及时个性化信息(如证券市场提示、新闻订阅、装运报警、和航班机票价格查询)的丰富通知应用程序。借助SQL Server 2005,通知服务将与诸如分析服务和SQL Server Management Studio之类的技术实现更为紧密的集成。
Web服务 借助SQL Server 2005,开发人员可以在数据库层次上开发Web服务,从而使SQL Server成为一个超文本传输协议(HTTP)监听器并面向以Web服务为中心的应用提供新型数据访问功能。
报表服务 在SQL Server 2005中,报表服务将提供与Visual Studio 2005一同发售的报表控件。这种集成化报表控件能够面向企业级应用提供改进报表功能。
全文搜索增强特性 SQL Server 2005支持丰富的全文搜索应用程序。分类功能得到了进一步增强,能够在分类基础上提供更强的灵活性。查询性能与伸缩性得到了显着提高,同时,新型管理工具将能够更加细致的洞察全文实现方式的整个过程。

10大顶尖商务智能特性

分析服务 在SQL Server 2005中,分析服务真正具备了实时分析能力。从得以增强的伸缩特性到与Microsoft Office的深度集成,SQL Server 2005将帮助企业在各个级别上对商务智能化能力加以扩展。
数据转换服务(DTS) DTS是一套图形化工具与可编程对象的集合,它允许您从不同数据源中提取、转换并装载(ETL)数据,并将其移植到一个或多个目标当中。SQL Server 2005将引入一种能够提供完整ETL平台的全新设计DTS。
数据挖掘 SQL Server 2005引入了四种新型数据挖掘算法,以及能够帮助各种规模企业简化数据挖掘方式的改进工具与向导。
报表服务 在SQL Server 2005中,报表服务将提供自助式服务、最终用户特殊报表创建机制、面向联机分析处理(OLAP)环境的增强查询开发方式以及面向功能丰富且易于维护的企业报表环境的增强伸缩能力。
群集支持能力 凭借针对故障转移群集机制的支持能力,得以增强的多实例支持能力以及分析服务对象与数据的备份及恢复能力,分析服务的可用性得到了提高。
关键性能指示器 关键性能指示器(KPI)为企业提供了定义自定义图形化业务衡量标准的功能,这项特性有助于生成并跟踪关键性企业级基准测试指标。
伸缩性与性能 诸如并行分区处理、远程关系型联机分析处理(ROLAP)或混合型联机分析处理(HOLAP)分区创建、分布式分区数据集、持久性计算以及前摄式缓存机制这样的特性将显着提高SQL Server 2005中分析服务的伸缩性与性能。
One-Click多维数据集 当您在数据仓库项目中创建多维数据集时,多维数据集向导将提供一个启用One-Click多维数据集监测与建议功能的选项。这种选项将检查数据源视图中的关系并针对事实数据表、维度数据表和相关测量方式提出建议。
前摄性缓存 前摄性缓存将MOLAP级查询性能与实时数据分析相结合,并且消除了维护OLAP存储机制的需求。前摄性缓存以透明方式同步并维护专为执行高速查询并将最终用户从过载下的关系型数据库中隔离出来的更新数据拷贝。这种缓存结构自动从统一数据模型(UDM)结构中得到,并且可以通过合理调优平衡潜在数据的性能。
与Microsoft Office系统相集成 由报表服务中的报表服务器提供的报表可以在Microsoft SharePoint Portal Server以及诸如Microsoft Word与Microsoft Excel这样的Microsoft Office系统应用程序环境下运行。您可以使用SharePoint特性来订阅报表、创建新版报表和发布报表。同时,您还可以在Word或Excel中打开报表,以查看其HTML版本。

4. sql语句中的group by要怎么用!!

语法SELECT 字段表 FROM 表 WHERE标准 [GROUP BY 分组字段表]Group by 是SQL Server 中常用的一种语法,语法如下:[ GROUP BY [ ALL ] group_by_expression [ ,...n ] [ WITH { CUBE | ROLLUP } ]]
1、最常用的就是这种语法,如下:Select CategoryID, AVG(UnitPrice), COUNT(UnitPrice) FROM dbo.Procts Where UnitPrice > 30GROUP BY CategoryID ORDER BY CategoryID DESC这个语句查询出,所有产品分类的产品平均单价,单价计数。并且单价在 30 以上的记录。
2、再看看这种语法,如下:Select CategoryID, AVG(DISTINCT UnitPrice), COUNT(DISTINCT UnitPrice) FROM dbo.Procts Where UnitPrice > 30GROUP BY CategoryID ORDER BY CategoryID DESC使用 DISTINCT 的时候,将会去除重复的价格平均单价。
3、如果希望在分类统计之后,再使用条件过滤,下面的语句可以做为参数:Select CategoryID, SUM(UnitPrice) AS SumPriceFROM dbo.ProctsGROUP BY CategoryIDHAVING SUM(UnitPrice) > 300HAVING 与 Where 语句类似,Where 是在分类之前过滤,而 HAVING 是在分类之后过滤。它和 Where 一样使用 AND、OR、NOT、LIKE 组合使用。
4、如果希望再在分类统计中,添加汇总行,可以使用以下语句:Select CategoryID, SUM(UnitPrice), GROUPING(CategoryID) AS 'Grouping'FROM dbo.ProctsGROUP BY CategoryID WITH ROLLUPGrouping 这一列用于标识出哪一行是汇总行。它使用 ROLLUP 操作添加汇总行。
5、如果使用 WITH CUBE 将会产生一个多维分类数据集,如下:Select CategoryID, SupplierID, SUM(UnitPrice) AS SumPriceFROM dbo.ProctsGROUP BY CategoryID, SupplierID WITH CUBE 它会产生一个交叉表,产生所有可能的组合汇总。
6、使用 ROLLUP CUBE 会产生一个 NULL 空值,可以使用以下语法解决,如下:Select CASE WHEN (GROUPING(SupplierID) = 1) THEN '-1' ELSE SupplierID END AS SupplierID, SUM(UnitPrice) AS QtySumFROM dbo.ProctsGROUP BY SupplierID WITH CUBE
它首先检查当前行是否为汇总行,如果是就可以设置一个值,这里设置为 '-1' 。

5. 数据量大,维度多怎么sql做查询,

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。
2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num is null
可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:
select id from t where num=0
3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。
4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如:
select id from t where num=10 or num=20
可以这样查询:
select id from t where num=10
union all
select id from t where num=20
5.in 和 not in 也要慎用,否则会导致全表扫描,如:
select id from t where num in(1,2,3)
对于连续的数值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3
6.下面的查询也将导致全表扫描:
select id from t where name like '%abc%'
若要提高效率,可以考虑全文检索。
7.如果在 where 子句中使用参数,也会导致全表扫描。因为SQL只有在运行时才会解析局部变量,但优化程序不能将访问计划的选择推迟到运行时;它必须在编译时进行选择。然而,如果在编译时建立访问计划,变量的值还是未知的,因而无法作为索引选择的输入项。如下面语句将进行全表扫描:
select id from t where num=@num
可以改为强制查询使用索引:
select id from t with(index(索引名)) where num=@num
8.应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where num/2=100
应改为:
select id from t where num=100*2
9.应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如:
select id from t where substring(name,1,3)='abc'--name以abc开头的id
select id from t where datediff(day,createdate,'2005-11-30')=0--‘2005-11-30’生成的id
应改为:
select id from t where name like 'abc%'
select id from t where createdate>='2005-11-30' and createdate<'2005-12-1'
10.不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。
11.在使用索引字段作为条件时,如果该索引是复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用,并且应尽可能的让字段顺序与索引顺序相一致。
12.不要写一些没有意义的查询,如需要生成一个空表结构:
select col1,col2 into #t from t where 1=0
这类代码不会返回任何结果集,但是会消耗系统资源的,应改成这样:
create table #t(...)
13.很多时候用 exists 代替 in 是一个好的选择:
select num from a where num in(select num from b)
用下面的语句替换:
select num from a where exists(select 1 from b where num=a.num)
14.并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数据重复时,SQL查询可能不会去利用索引,如一表中有字段sex,male、female几乎各一半,那么即使在sex上建了索引也对查询效率起不了作用。
15.索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。一个表的索引数最好不要超过6个,若太多则应考虑一些不常使用到的列上建的索引是否有必要。
16.应尽可能的避免更新 clustered 索引数据列,因为 clustered 索引数据列的顺序就是表记录的物理存储顺序,一旦该列值改变将导致整个表记录的顺序的调整,会耗费相当大的资源。若应用系统需要频繁更新 clustered 索引数据列,那么需要考虑是否应将该索引建为 clustered 索引。
17.尽量使用数字型字段,若只含数值信息的字段尽量不要设计为字符型,这会降低查询和连接的性能,并会增加存储开销。这是因为引擎在处理查询和连接时会逐个比较字符串中每一个字符,而对于数字型而言只需要比较一次就够了。
18.尽可能的使用 varchar/nvarchar 代替 char/nchar ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,在一个相对较小的字段内搜索效率显然要高些。
19.任何地方都不要使用 select * from t ,用具体的字段列表代替“*”,不要返回用不到的任何字段。
20.尽量使用表变量来代替临时表。如果表变量包含大量数据,请注意索引非常有限(只有主键索引)。
21.避免频繁创建和删除临时表,以减少系统表资源的消耗。
22.临时表并不是不可使用,适当地使用它们可以使某些例程更有效,例如,当需要重复引用大型表或常用表中的某个数据集时。但是,对于一次性事件,最好使用导出表。
23.在新建临时表时,如果一次性插入数据量很大,那么可以使用 select into 代替 create table,避免造成大量 log ,以提高速度;如果数据量不大,为了缓和系统表的资源,应先create table,然后insert。
24.如果使用到了临时表,在存储过程的最后务必将所有的临时表显式删除,先 truncate table ,然后 drop table ,这样可以避免系统表的较长时间锁定。
25.尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写。
26.使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。
27.与临时表一样,游标并不是不可使用。对小型数据集使用 FAST_FORWARD 游标通常要优于其他逐行处理方法,尤其是在必须引用几个表才能获得所需的数据时。在结果集中包括“合计”的例程通常要比使用游标执行的速度快。如果开发时间允许,基于游标的方法和基于集的方法都可以尝试一下,看哪一种方法的效果更好。
28.在所有的存储过程和触发器的开始处设置 SET NOCOUNT ON ,在结束时设置 SET NOCOUNT OFF 。无需在执行存储过程和触发器的每个语句后向客户端发送 DONE_IN_PROC 消息。
29.尽量避免大事务操作,提高系统并发能力。
30.尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。

6. SQL Server Analysis Services(如何实现)

Analysis Services 使您可以设计、创建和管理多维结构,(其中包含从关系数据库等其他数据源聚合的数据),并通过这种方式来支持 OLAP。对于数据挖掘应用程序,Analysis Services 允许使用多种行业标准的数据挖掘算法来设计、创建和可视化基于其他数据源的数据挖掘模型。或者也可以创建自己的数据挖掘算法,将这些算法加入到 SQL Server 中,并提供给开发人员和客户使用。下面列出的重要主题有助于您进一步了解如何安装、理解和使用 Analysis Services。概述和安装Analysis Services 概念和对象本节介绍了数据挖掘和 OLAP 的对象和概念以及统一维度模型。多维数据集简介对OLAP 感兴趣的用户会需要了解多维数据集,这是一种便于使用的数据查询机制,不但快捷,而且响应时间不会出现波动。数据挖掘概念设计数据挖掘模型解决方案是一项挑战性的任务。此资料有助于新用户和中级用户了解 SQL Server 2005 中涉及以及改进的内容。设计和创建开发Analysis Services 解决方案和项目Analysis Services 项目可以组织和管理在生成、调试和部署 Analysis Services 数据库时所需要的项。项表示要部署到某个 SQL 数据库中的对象的定义。规划Analysis Services 部署从本节可以了解准备部署 Analysis Services 项目时需要了解的问题。管理管理Analysis Services本节涵盖 Analysis Services 管理的所有方面,包括监视服务器、备份、还原和优化性能。使用数据源视图 (Analysis Services)数据源视图是 SQL Server 2005 中的新增功能,它用于描述基础数据源的架构。从本节可以了解这项重要功能的正确使用方法。备份和还原 Analysis Services 数据库加密密钥备份对于安全访问 Analysis Services 数据库至关重要。从本节可以了解其内容及其操作方法。编程MDX 语言参考 (MDX)从本节可以查找有关多维表达式 (MDX)(用于检索 OLAP 信息的主要语言)的参考文档。数据挖掘扩展插件 (DMX) 语句参考从本节查找有关数据挖掘扩展 (DMX)(用于检索数据挖掘信息的主要语言)的参考信息。本节涵盖数据定义语言 (DDL) 语句、数据操作语言 (DML) 语句和函数。请参阅其他资源SQL Server Analysis Services 帮助和信息 获取SQL Server 2005 帮助 本文是否对您有所帮助?

7. SQL数据库的操作

SQL包括了所有对数据库的操作,主要是由4个部分组成:
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
下面我们将分别介绍: SQL数据定义功能包括定义数据库、基本表、索引和视图。
首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^)
1.数据库的建立与删除
(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为:
CREATE DATABASE <数据库名> 〔其它参数〕
其中,<数据库名>在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。
例:要建立项目管理数据库(xmmanage),其语句应为:
CREATE DATABASE xmmanage
(2)数据库的删除:将数据库及其全部内容从系统中删除。
其语句格式为:DROP DATABASE <数据库名>
例:删除项目管理数据库(xmmanage),其语句应为: DROP DATABASE xmmanage
2.基本表的定义及变更
本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。 SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下:SELECT 目标表的列名或列表达式集合FROM 基本表或(和)视图集合〔WHERE条件表达式〕〔GROUP BY列名集合〔HAVING组条件表达式〕〕〔ORDER BY列名〔集合〕…〕
简单查询,使用TOP子句
查询结果排序order by
带条件的查询where,使用算术表达式,使用逻辑表达式,使用between关键字,使用in关键字,
模糊查询like
整个语句的语义如下:从FROM子句中列出的表中,选择满足WHERE子句中给出的条件表达式的元组,然后按GROUPBY子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER子句(排序子句)是对输出的目标表进行重新排序,并可附加说明ASC(升序)或DESC(降序)排列。在WHERE子句中的条件表达式F中可出现下列操作符和运算函数:算术比较运算符:<,<=,>,>=,=,<>。逻辑运算符:AND,OR,NOT。集合运算符:UNION(并),INTERSECT(交),EXCEPT(差)。集合成员资格运算符:IN,NOT IN谓词:EXISTS(存在量词),ALL,SOME,UNIQUE。聚合函数:AVG(平均值),MIN(最小值),MAX(最大值),SUM(和),COUNT(计数)。F中运算对象还可以是另一个SELECT语句,即SELECT语句可以嵌套。上面只是列出了WHERE子句中可出现的几种主要操作,由于WHERE子句中的条件表达式可以很复杂,因此SELECT句型能表达的语义远比其数学原形要复杂得多。下面,我们以上面所建立的三个基本表为例,演示一下SELECT的应用:1.无条件查询例:找出所有学生的的选课情况SELECT st_no,su_noFROM score例:找出所有学生的情况SELECT*FROM student“*”为通配符,表示查找FROM中所指出关系的所有属性的值。2.条件查询条件查询即带有WHERE子句的查询,所要查询的对象必须满足WHERE子句给出的条件。例:找出任何一门课成绩在70以上的学生情况、课号及分数SELECT UNIQUE student.st_class,student.st_no,student.st_name,student.st_sex,student.st_age,score.su_no,score.scoreFROM student,scoreWHERE score.score>=70 AND score.stno=student,st_no这里使用UNIQUE是不从查询结果集中去掉重复行,如果使用DISTINCT则会去掉重复行。另外逻辑运算符的优先顺序为NOT→AND→OR。例:找出课程号为c02的,考试成绩不及格的学生SELECT st_noFROM scoreWHERE su_no=‘c02’AND score<603.排序查询排序查询是指将查询结果按指定属性的升序(ASC)或降序(DESC)排列,由ORDER BY子句指明。例:查找不及格的课程,并将结果按课程号从大到小排列SELECT UNIQUE su_noFROM scoreWHERE score<60ORDER BY su_no DESC4.嵌套查询嵌套查询是指WHERE子句中又包含SELECT子句,它用于较复杂的跨多个基本表查询的情况。例:查找课程编号为c03且课程成绩在80分以上的学生的学号、姓名SELECT st_no,st_nameFROM studentWHERE stno IN (SELECT st_noFROM scoreWHERE su_no=‘c03’ AND score>80 )这里需要明确的是:当查询涉及多个基本表时用嵌套查询逐次求解层次分明,具有结构程序设计特点。在嵌套查询中,IN是常用到的谓词。若用户能确切知道内层查询返回的是单值,那么也可用算术比较运算符表示用户的要求。5.计算查询计算查询是指通过系统提供的特定函数(聚合函数)在语句中的直接使用而获得某些只有经过计算才能得到的结果。常用的函数有:COUNT(*) 计算元组的个数COUNT(列名) 对某一列中的值计算个数SUM(列名) 求某一列值的总和(此列值是数值型)AVG(列名) 求某一列值的平均值(此列值是数值型)MAX(列名) 求某一列值中的最大值MIN(列名) 求某一列值中的最小值例:求男学生的总人数和平均年龄SELECT COUNT(*),AVG(st_age)FROM studentWHERE st_sex=‘男’例:统计选修了课程的学生的人数SELECT COUNT(DISTINCT st_no)FROM score注意:这里一定要加入DISTINCT,因为有的学生可能选修了多门课程,但统计时只能按1人统计,所以要使用DISTINCT进行过滤。 由于数据库管理系统是一个多用户系统,为了控制用户对数据的存取权利,保持数据的共享及完全性,SQL语言提供了一系列的数据控制功能。其中,主要包括安全性控制、完整性控制、事务控制和并发控制。1.安全性控制数据的安全性是指保护数据库,以防非法使用造成数据泄露和破坏。保证数据安全性的主要方法是通过对数据库存取权力的控制来防止非法使用数据库中的数据。即限定不同用户操作不同的数据对象的权限。存取权控制包括权力的授予、检查和撤消。权力授予和撤消命令由数据库管理员或特定应用人员使用。系统在对数据库操作前,先核实相应用户是否有权在相应数据上进行所要求的操作。(1)权力授予:权力授有数据库管理员专用的授权和用户可用的授权两种形式。数据库管理员专用授权命令格式如下:|CONNECT |GRANT|RESOURCE|TO 用户名〔IDENTIFED BY 口令〕|DBA |其中,CONNECT表示数据库管理员允许指定的用户具有连接到数据库的权力,这种授权是针对新用户;RESOURCE表示允许用户建立自己的新关系模式,用户获得CONNECT权力后,必须获得RESOURCE权力才能创建自己的新表;DBA表示数据库管理员将自己的特权授予指定的用户。若要同时授予某用户上述三种授权中的多种权力,则必须通过三个相应的GRANT命令指定。另外,具有CONNECT和RESOURCE授权的用户可以建立自己的表,并在自己建立的表和视图上具有查询、插入、修改和删除的权力。但通常不能使用其他用户的关系,除非能获得其他用户转授给他的相应权力。例:若允许用户SSE连接到数据库并可以建立他自己的关系,则可通过如下命令授予权力:GRANT CONNECT TO SSE INENTIFIED BY BD1928GRANT RESOURCE TO SSE用户可用的授权是指用户将自己拥有的部分或全部权力转授给其他用户的命令形式,其命令格式如下:|SELECT ||INSERT ||DELETE |GRANT|UPDATE(列名1[,列名2]…)|ON|表名 |TO|用户名|〔WITH GRANT OPTION〕|ALTER | |视图名| |PUBLIC||NDEX ||ALL |若对某一用户同时授予多种操作权力,则操作命令符号可用“,”相隔。PUBLIC 表示将权力授予数据库的所有用户,使用时要注意:任选项WITH GRANT OPTION表示接到授权的用户,具有将其所得到的同时权力再转授给其他用户权力。例:如果将表student的查询权授予所有用户,可使用以下命令:GRANT SELECT ON student TO PUBLIC例:若将表subject的插入及修改权力授予用户SSE并使得他具有将这种权力转授他人的权力,则可使用以下命令:GRANT INSERT,UPDATE(su_subject) ON subject TO SSE WITH GRANT OPTION这里,UPDATE后面跟su_subject是指出其所能修改的列。(2)权力回收:权力回收是指回收指定用户原已授予的某些权力。与权力授予命令相匹配,权力回收也有数据库管理员专用和用户可用的两种形式。DBA专用的权力回收命令格式为:|CONNECT |REVOKE|RESOURCE|FROM用户名|DBA |用户可用的权力回收命令格式为:|SELECT ||INSERT ||DELETE |REVOKE|UPDATE(列名1〔,列名2〕…) |ON|表名 |FROM |用户名||ALTER | |视图名| |PUBLIC||INDEX ||ALL |例:回收用户SSE的DBA权力:REVOKE DBA FROM SSE2.完整性控制数据库的完整性是指数据的正确性和相容性,这是数据库理论中的重要概念。完整性控制的主要目的是防止语义上不正确的数据进入数据库。关系系统中的完整性约束条件包括实体完整性、参照完整性和用户定义完整性。而完整性约束条件的定义主要是通过CREATE TABLE语句中的〔CHECK〕子句来完成。另外,还有一些辅助命令可以进行数据完整性保护。如UNIQUE和NOT NULL,前者用于防止重复值进入数据库,后者用于防止空值。3.事务控制事务是并发控制的基本单位,也是恢复的基本单位。在SQL中支持事务的概念。所谓事务,是用户定义的一个操作序列(集合),这些操作要么都做,要么一个都不做,是一个不可分割的整体。一个事务通常以BEGIN TRANSACTION开始,以COMMIT或ROLLBACK结束。SQL提供了事务提交和事务撤消两种命令:(1)事务提交:事务提交的命令为:COMMIT 〔WORK〕事务提交标志着对数据库的某种应用操作成功地完成,所有对数据库的操作都必须作为事务提交给系统时才有效。事务一经提交就不能撤消。(2)事务撤消:事务撤消的命令是:ROLLBACK 〔WORK〕事务撤消标志着相应事务对数据库操作失败,因而要撤消对数据库的改变,即要“回滚”到相应事务开始时的状态。当系统非正常结束时(如掉电、系统死机),将自动执行ROLLBACK命令

8. 怎么用Java语言去调sql2008创建的多维数据集

说明白点