1,SQL窄表变宽表

你这个不好写。一般写这个使用case when 或是 pivot,但得需要有分组或区别的字段值。但你的这个数据,没法处理。如果会员号+ID能标识一个联系方式,就可以处理了。

SQL窄表变宽表

2,数据库的表中横的一行叫什么

元组 记录 行叫法挺多的
横表就是普通的建表方式,如一个表结构为:主键、字段1、字段2、字段3。。。 如果变成纵表后,则表结构为: 主键、字段代码、字段值。而字段代码则为字段1、字段2、字段3。 具体为电信行业的例子。以用户帐单表为例一般出账时用户有很多费用客户,其数据一般存储为:时间,客户id,费用科目,费用。这种存储结构一般称为纵表,其特点是行数多,字段少。纵表在使用时由于行数多,统计用户数或对用户进行分档时还需要进行group by 操作,性能低,且操作不便,为提高性能,通常根据需要将纵表进行汇总,形成横表,比如:时间、客户id,基本通话费、漫游通话费,国内长途费、国际长途费....。通常形成一个客户一行的表,这种表统计用户数或做分档统计时比较方便。另外,数据挖掘时用到的宽表一般也要求是横表结构。纵表对从数据库到内存的映射效率是有影响的,但细一点说也要一分为二:纵表的初始映射要慢一些;纵表的变更的映射可能要快一些,如果只是改变了单个字段时,毕竟横表字段比纵表要多很多
记录

数据库的表中横的一行叫什么

3,哪里有SPSS Data Access Pack

如果你用SPSS安装光盘的话,应该是会有的access是microsoft的,和spss没关系
一、获取数据1、打开 ibm spss modeler 客户端,点击左下角的 server 按钮,选择要连接的 modeler server,这里需要说明的就是如果 sdap 装在和 modeler client 在一台机器,那么就选择 local server;如果不在同一台机器,而是和单独的 modeler server 装在一台机器,就选在添加按钮,输入机器的主机名或者 ip 地址,设置登录的用户名和密码,点击完成按钮,如图 7 所示:2、连接上 modeler server 之后,在源选项双击数据库节点,然后就可以添加数据库源节点到数据流工作区,双击节点,在数据项选择添加一个数据库连接,然后 modeler client 会将 modeler server 所在机器的所有 odbc 查询出来,找到需要连接的数据库连接信息,输入用户名和密码后,点击连接按钮,选择完成然后进入选择表,这里以 sql server 为例,如图 8 所示:3、点击完成按钮后,在表名列点击选择按钮,选择表名,这里以 dbo.modeler_drug1 为例,如图 9 所示:4、选择表后,节点自动读取表结构。用同样的方法再添加两个数据库节点,选择 odbc 为 db2 和 oracle, 输入用户名和密码之后,就可以选择要读取数据的表名了。这样就完成了用 modeler client 读取数据库数据的操作,然后要进行的就是对数据的处理。首先利用 modeler 的 merge 节点对 db2 和 oracle 中的两张表的数据进行合并,处理后的结果是得到的数据一部分来自 db2 数据库,一部分来自 oracle 数据库。对于来自 oracle 数据库的数据,取 3 个字段的值:对于来自 db2 数据库的数据,取 4 个字段:二、数据处理1、双击记录选项中的 merge 节点,然后将 db2 和 oracle 两个节点与之连接,双击 merge 节点,可以看到处理后的数据包括来自 db2 和 oracle 的 7 个字段:2、然后需要通过 modeler 的 append 节点将 merge 后的数据追加到来自 sql server 数据库的数据。双击记录选项中的 append 节点,在流工作区中将 merge 节点和 sql server 数据源节点与之连接,这样得到的就是来自三个数据库的数据了。还可以通过 modeler 的其他节点对数据进行进一步的处理,比如通过选择节点,可以设置条件来选择需要的数据,或者通过排序节点对某几个列进行排序等等。三、建模1、最后要做的就是对处理过的数据进行建模了,首先需要设定一个 target 列,也就是需要预测的列。通过 modeler 的 type 节点设置 target 列,在字段选项双击 type 节点,在流工作区中将 append 节点与之连接,双击 type 节点,修改 drug 列的角色为 target,其他默认为 input 。2、然后就是选择要使用的模型了,这里以神经网络为例,在模型选择中双击神经网络节点,在流工作区中将 type 节点与之连接,打开神经网络节点,可以看到是通过所有的角色为 input 的列来预测觉得为 target 的列,当然可以在这里修改 input 和 target,将年龄的角色从 input 修改为 target 。3、点击运行按钮,生成一个新的模型块,该模型块会被自动连接在流工作区,并带有指向创建它的建模节点的链接。要查看模型的详细信息,右键单击模型块并选择浏览(在模型选项板上)或编辑(在工作区上)。4、双击打开生成的模型块,可以看到哪些值对预测结果的影响最大,线条宽深说明影响越大。

哪里有SPSS Data Access Pack

4,访问网站为什么一时快一时慢

决定网站的速度有很多因素,我们这里提出主要的四个,具体如下: 1、网络的传输质量   事实上除正常重启外服务器是很少当机的,一年也难得碰上一回。但由于目前国内宽带用户的急剧增长,和不断出现的网络病毒,目前国内的网络并不是很好(相信大家都有感觉),到处都面临着线路切割和扩容。所以会出现部分地区暂时访问很慢甚至不能访问的情况。遇到这样的情况请不要着急,因为你不能访问并不表示人家不能访问,你慢并不表示人家也慢。如果都打不开,请先到我们网站首页看看有没有服务器维护的公告,最后再联系我们解决。    2、页面本身的因素   用户打开一个页面,服务器处理完程序后会把页面上的内容传给用户。用户接收完所有的数据以后才能完全打开页面。很明显,当然服务器处理程序很慢或者页面上的内容很大的时候,都会影响用户打开页面的速度。服务器处理程序的时间,就是很多论坛下面显示的页面执行时间,由于这个是体现服务器的运算时间,所以这个时间和用户的上网速度是无关的,就是说用户用MODEM和ADSL上网,这个执行时间应该是一样的。一般服务器处理程序的时间在1000毫秒以下的时候,用户基本上没任何感觉,因为服务器已经在1000毫秒(1000毫秒=1秒)内处理完所有的内容,剩余的时间都是在传递数据。如果你的页面上涉及的文件很大,比如有1MB的图片在做背景,浏览者和服务器之间,就算能达到100KB/S的速度,他也至少需要10秒钟才能打开这个页面。所以建议页面上尽量不要放置过多、过大的内容。这也是插件版本的论坛速度慢的原因之一,因为插件版用了大量的图片、FLASH对页面进行了美化,同时在页面上增加了很多显示的内容。    3、ACCESS数据库的原因   现在网上绝大多数网站都是ACCESS+ASP的形式,因为ACCESS结构简单容易处理,而且也能满足多数的网站程序要求。ACCESS是小型数据库,既然是小型就有他根本的局限性,以下几种情况下数据库基本上会吃不消: 1) 数据库过大,一般ACCESS数据库达到50M左右的时候性能会急剧下降! 2) 网站访问频繁,经常达到100人左右的在线。 3) 记录数过多,一般记录数达到10万条左右的时候性能就会急剧下降! 注:以上3条只是我们多年以来的经验结果,并不只绝对值,具体视情况不同浮动较大 ACCESS论坛(如动网)大了以后就很容易出现数据库方面的问题,当你的论坛数据库在30M以上,帖子5万左右,在线也在100人左右的时候,你的论坛基本上都在处理数据库上花时间,这个时候很可能就会出现数据库吃不消的情况,一般症状是所有涉及数据库的页面运行都慢的出奇(执行时间达到5秒以上甚至几十秒),涉及HTML和纯ASP运算的页面都正常,你可以用一般ASP探针测试一下,如果服务器的运算时间正常的话,就是数据库方面的问题了。    解决方法: 由于这是ACCESS本身的局限性,所以解决的方法除了减少数据量和更换大型的数据库论坛以外也没什么好办法,也就是现在常说的论坛危机,也是大型的论坛都不是ACCESS的原因。我们推荐以下方法: 1) 临时解决办法:定期删除多余的数据、压缩数据库,限制论坛灌水,甚至限制论坛注册。如果是动网论坛,可以使用论坛自带的分表储存功能,会有较好的效果 2) 比较长远办法:更换论坛和数据库,一般都采用sql商业版本+MSSQL 的方案来解决,不过这个需要比较大的投资。因为mssql2000和ACCESS相比需要更多的资源,光是占内存上,就可以达到每一个在线1M以上的程度,如果你的SQL论坛有100人在线就会吃掉服务器至少150M以上内存。 http://www.skyhosting.com.cn
首先是对方网站的服务器速度。其次是你本地网络的原因。。你那要是ADSL的话。。速度肯定要慢很多
与对方服务器有关

5,理解什么是数据库规范化

理解数据库规范化的意义 【techtarget中国原创】数据库规范化是由edgar frank codd提出的,他是ibm公司的一位计算机科学家,他在自己的论文《20世纪70年代大型共享数据银行数据关系模型》中首次提出这种说法。数据库规范化是一个过程,这个过程中需要对现存表结构进行修改,把表转化使遵循一系列先进的范式。 它着重于消除开发人员和他们项目的“电子表格综合症”。电子表格综合症是指开发人员倾向于在尽可能少的表中挤下尽可能多的信息。 早些时候,由于受电子表格的概念以及在电子表格中管理数据思路的影响,开发人员们一直采用与涉及电子表格相同的思路设计mysql数据库。现在,再用这种方法设计mysql数据库被认为是不明智的做法,因为这种电子表格综合症设计的表在每次数据库有很小的改变时,都要持续不断地进行重新设计。 在mysql中实现数据库规范化的好处 通过智能数据分类,降低存储空间使用量是对mysql实现数据库规范化的众多好处之一。它帮助实现了更好,更快,更强的搜索功能,因为它与早期基于混合实体的搜索方式相比,需要扫描更少的实体。通过数据库规范化,数据完整性也得以改善,因为它把所有数据分成单独的实体,并用关联数据在实体间建立强连接。 mike hillyer是之前mysql ab的一位技术作家,他解释说:“数据库规范化的目标是确保每个表中所有非键列都直接依赖于主键:整个都是键,除了键没有其它。有了这个目标,随之而来还有一些好处,我们降低了冗余,减少了异常,提高了效率。” 数据规范化很容易做到 下面的例子将说明数据库规范化如何帮助实现mysql中的良好设计。下面的表展示了需要在数据库中捕获的数据。 chad russell is a programmer and system administrator who owns his own internet hosting company. jon stephens is a member of the mysql ab documentation team. 在上面展示的例子中,如果任意一个条件作为识别主键的话,会有大量的存储空间被浪费掉。因此,数据库规范化是必不可少的。这是一个循序渐进的过程,不能随意进行。下面的步骤可以帮你在mysql中实现数据库规范化。转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
优点是降低冗余,利于保证数据的一致性和完整性;缺点是过度的规范化,易造成查询和统计时的效率下降,这主要是由于多表连接所造成的问题。适当的反规范化设计可以提高效率,但最好在那些数据不太发生变化的情况下使用。通常情况下,可以从两个方面来判断数据库是否设计的比较规范。一是看看是否拥有大量的窄表,二是宽表的数量是否足够的少。若符合这两个条件,则可以说明这个数据库的规范化水平还是比较高的。当然这是两个泛泛而谈的指标。为了达到数据库设计规范化的要求,一般来说,需要符合以下五个要求。   要求一:表中应该避免可为空的列。   虽然表中允许空列,但是,空字段是一种比较特殊的数据类型。数据库在处理的时候,需要进行特殊的处理。如此的话,就会增加数据库处理记录的复杂性。当表中有比较多的空字段时,在同等条件下,数据库处理的性能会降低许多。   所以,虽然在数据库表设计的时候,允许表中具有空字段,但是,我们应该尽量避免。若确实需要的话,我们可以通过一些折中的方式,来处理这些空字段,让其对数据库性能的影响降低到最少。   一是通过设置默认值的形式,来避免空字段的产生。如在一个人事管理系统中,有时候身份证号码字段可能允许为空。因为不是每个人都可以记住自己的身份证号码。而在员工报到的时候,可能身份证没有带在身边。所以,身份证号码字段往往不能及时提供。为此,身份证号码字段可以允许为空,以满足这些特殊情况的需要。但是,在数据库设计的时候,则可以做一些处理。如当用户没有输入内容的时候,则把这个字段的默认值设置为0或者为N/A。以避免空字段的产生。   二是若一张表中,允许为空的列比较多,接近表全部列数的三分之一。而且,这些列在大部分情况下,都是可有可无的。若数据库管理员遇到这种情况,笔者建议另外建立一张副表,以保存这些列。然后通过关键字把主表跟这张副表关联起来。将数据存储在两个独立的表中使得主表的设计更为简单,同时也能够满足存储空值信息的需要。   要求二:表不应该有重复的值或者列。     为了解决这个问题,有多种实现方式。但是,若设计不合理的话在,则会导致重复的值或者列。如我们也可以这么设计,把客户信息、联系人都放入同一张表中。为了解决多个联系人的问题,可以设置第一联系人、第一联系人电话、第二联系人、第二联系人电话等等。若还有第三联系人、第四联系人等等,则往往还需要加入更多的字段。     所以,在数据库设计的时候要尽量避免这种重复的值或者列的产生。笔者建议,若数据库管理员遇到这种情况,可以改变一下策略。如把客户联系人另外设置一张表。然后通过客户ID把供应商信息表跟客户联系人信息表连接起来。也就是说,尽量将重复的值放置到一张独立的表中进行管理。然后通过视图或者其他手段把这些独立的表联系起来。   要求三:表中记录应该有一个唯一的标识符。   在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID值。另外,这个ID值最好有数据库来进行自动管理,而不要把这个任务给前台应用程序。否则的话,很容易产生ID值不统一的情况。     要求四:数据库对象要有统一的前缀名。   一个比较复杂的应用系统,其对应的数据库表往往以千计。若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难。而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼。     其次,表、视图、函数等最好也有统一的前缀。如视图可以用V为前缀,而函数则可以利用F为前缀。如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象。   要求五:尽量只存储单一实体类型的数据。   这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型是指所需要描述对象的本身。笔者举一个例子,估计大家就可以明白其中的内容了。如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象。若用户要把这两个实体对象信息放在同一张表中也是可以的。如可以把表设计成图书名字、图书作者等等。可是如此设计的话,会给后续的维护带来不少的麻烦。    遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等。如此设计以后,以上遇到的所有问题就都引刃而解了。   以上五条是在数据库设计时达到规范化水平的基本要求。除了这些另外还有很多细节方面的要求,如数据类型、存储过程等等。而且,数据库规范往往没有技术方面的严格限制,主要依靠数据库管理员日常工作经验的累积。第一范式每个分量不可再分 第一范式消除了非主属性对键的部分函数依赖, 就是第二范式 第二范式消除了任何属性对键的传递依赖, 就是第三范式~

文章TAG:宽表数据库有哪些  SQL窄表变宽表  
下一篇