当前位置:首页 » 数据仓库 » 多维数组数据库
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

多维数组数据库

发布时间: 2023-02-22 16:18:49

A. 如何把mysql 的数据 输出为多维数组,谢谢了!

<?
$host="localhost";//主机名
$user="root";//mysql用户名
$password="";//mysql密码
$database="doc";//mysql数据库
$tables="mclass";//表名
$conn=mysql_connect("$host","$user","$password")ordie("数据库打开出错");
mysql_select_db("$database");
$query="select*from$tables";
$result=mysql_query($query,$conn);
$i=0;
$j=0;
while($row=mysql_fetch_row($result)){
$array[$i][$j]=$row[0].$row[1];
$array2[$i][$j]=$row[0];
$j++;//echo$i.",".$j.$row[1]."<br>";
if($j==3){
$i++;
$j=0;
}//else{$j++;}
}
$amax=count($array);//获是数组内数据个数。
$rows=2;//设置列数
//开始显示数据
for($x=0;$x<=$amax-1;$x++){
for($y=0;$y<=$rows;$y++){
echo"<ahref=".$array2[$x][$y].">".$array[$x][$y]."</a>|";
}
echo"<p>";
}
/*
显示结果为
aaa|bbb|ccc
ddd|eee|fff
lll|mmm|nnn
.....
*/
?>

B. 多维视图的数据如何存储

多维数据库。
运用多维数据库存储,就是将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。
多维视图的数据被存储为一个立方体。1个维度下设有若干层。

C. 详解OLAP概念、基本内容、特点、分类

OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速分析技术;OLAP利用多维数据库技术使用户从不同角度观察数据;OLAP用于支持复杂的分析操作,侧重于对管理人员的决策支持,可以满足分析人员快速、灵活地进行大数据复量的复杂查询的要求,并且以一种直观、易懂的形式呈现查询结果,辅助决策。

(1)变量(度量)

变量是数据度量的指标,是数据的实际意义,即描述数据“是什么”。像示例中的人数。

(2)维度

维度是描述与业务主题相关的一组属性,单个属性或属性集合可以构成一个维。如示例中的学历、民族、性别等都是维度。

(3)维的层次

一个维往往可以具有多个层次,例如时间维度分为年、季度、月和日等层次,地区维可以是国家、地区、省、市等层次。这里的层次表示数据细化程度,对应概念分层。后面介绍的上钻操作就是由 低层 概念映射到高层概念。概念分层可除根据概念的全序和偏序关系确定外,还可以通过对数据进行离散化和分组实现。

(4)维的成员

若维是多层次的,则不同的层次的取值构成一个维成员。部分维层次同样可以构成维成员,例如“某年某季度”、“某季某月”等都可以是时间维的成员。

(5)多维数组

多维数组用维和度量的组合表示。一个多维数组可以表示为(维1,维2,……,维n,变量),例如(部门,职系、民族、性别,人数)组成一个多维数组。

(6)数据单元(单元格)

多维数组的取值。当多维数组中每个维都有确定的取值时,就唯一确定一个变量的值。数据单元可以表示为(维1成员,维2成员,……,维N成员,变量的值),例如(人事教育部,技能,回族,男,1人)表示一个数据单元,表示人事教育部职系是技能的回族男性有1人。

(7)事实

事实是不同维度在某一取值下的度量,例如上述人事教育部职系是技能的回族男性有1人就表示在部门、职系、民族、性别四个维度上企业人数的事实度量,并且在为人数事实中包含部门维度人事教育部这一个维度层次,如果将人数事实的所有维度考虑在内,就构成有关人数的多维分析立方体。

电子数据表与OLAP相比,不具备OLAP的多维性、层次、维度计算以及结构与视图分离等特点。

1. 快速。 终端用户对于系统的快速响应有很高的要求。调查表明如果用户在30秒内得不到回应,就会变得不耐烦。因此OLAP平台彩用了多种技术提高响应速度,例如专门的数据存储格式、大量的预处理和特殊的硬件设计等,通过减小在线分析处理的动态计算,事先存储OLAP所需粒度的数据等主要手段来获得OLAP响应速度的提高,尽管如此,查询反应慢仍然是OLAP产品中经常被提及的问题。

2. 可分析。 用户可以应用OLAP平台分析数据,也可以使用其他外部分析工具,例如电子数据表,这些分析工具基本上都以直观的方式为用户提供了分析功能。

3. 共享。 由于人们认为OLAP是只读的,仅需要简单的安全管理,导致目前许多OLAP产品在安全共享方面还存在许多问题。因此当多个用户访问OLAP服务器时,系统就在适当的粒度上加锁。

4. 多维。 维是OLAP的核心概念,多维性是OLAP的关键属性,这与数据仓库的多维数据组织正好相互补充。为了使用户能够从多个维度、多个数据粒度查看数据,了解数据蕴含的信息,系统需要提供对数据的多维分析功能,包括切片、旋转和钻取等多种操作

按处理方式分类

按存储方式分类

由于ROLAP是用关系表来模拟多维数据的,因此其存取较MOLAP复杂。而MOLAP可以利用多维查询语言直接将用户查询转为MDDB可以处理的形式,但是多维数据存储大量数据时会由于数据稀疏而浪费大量存储空间;因此,许多OLAP服务提供商都采用混合OLAP技术。

篇幅有限,关于OLAP方面的内容就介绍到这了,大家有兴趣可以继续深入了解下OLAP引擎Mondrian。后面会分享更多devops和DBA方面内容,感兴趣的朋友可以关注下!

D. 数据库中数据写入多维数组,如何实现

往数据库中写入多维数组?实际上还是字符串的操作,我的做法是:将多位数组格式化为json字符串,当字符串保存在某列的某字段。或者将多维数组放到一个表中的多条记录中。

E. thinkphp 多维数组,变成可以插入数据库里的一维数组啊,请教~~~求助!!谢谢

$result=array();//新数组
foreach($dataas$vo){//$data是原数组
$temp=$vo;
unset($temp['busername']);
foreach($vo['busername']as$v){
$temp['busername']=$v;
array_push($result,$temp);
}
}

你测试一下看看对不对,有问题请反馈

F. mysql查询输出多维数组求助

<?
$host = "localhost"; //主机名
$user = "root"; //mysql用户名
$password = ""; //mysql密码
$database = "doc"; //mysql数据库名
$tables = "mclass"; //表名
$conn=mysql_connect("$host","$user","$password") or die("数据库打开出错");
mysql_select_db("$database");
$query="select * from $tables";
$result=mysql_query($query,$conn);
$i=0;
$j=0;
while($row=mysql_fetch_row($result)){

G. PHP多维数组存入数据库。。。。

悬赏高吗?

HTML 代码开始
<form action="biao.php" method="post">
<select id="content" name="title" >
<option value="qq">QQ</option>
<option value="sina">新浪</option>
<option value="ifeng">凤凰</option>
</select>
<input type="checkbox" name="list[]" value="a" />国内
<input type="checkbox" name="list[]" value="b" />国际
<input type="checkbox" name="list[]" value="c" />军事
<input type="checkbox" name="list[]" value="d" />社会
<input type="checkbox" name="list[]" value="e" />历史
<input type="submit" value="Submit" />
</form>
HTML 代码结束

PHP代码开始 把PHP代码放入 biao.php
<?php
$title = $_POST['selse'];
$listz = implode($_POST['list'],',');
$conn=mysql_connect("localhost","root","root");
mysql_select_db("test",$conn);
$sql="INSERT INTO biao(title,list)VALUES('$title','$listz')";
if(!mysql_query($sql,$conn)){
echo "添加数据失败:".mysql_error();
} else {
echo "添加数据成功!";
}
?>
PHP代码结束

H. tp框架怎么遍历出数据库二维数组或多维数组指定ID信息,回答请用代码加注释谢谢!

TP中的每一个xxxAction.class.php文件代表着一个应用模块,此Action中的每一个方法(function)代表着一个操作,操作分为有输出到模板的操作和只具执行不需要输出的操作。
1 在TP开发中,要增加一个应用模块,就在Action文件夹里建立一个类,类的文件命名格式是模块名称+Action.class.php。例如我们这里的应用模块是Index,所以定义文件名为IndexAction.class.php

2 应用模块类的定义要继承框架的Action类。要为这个应用模块添加一个操作,则定义一个以此操作为命名的function.例如上面的index操作。

通常一个应用模块中,会有若干操作(function)需要有与用户交互的页面,这就需要用到模板输出,
TP本身已内置了一套具有TP特色的,很强大易扩展但应用非常方便兼简单的模板引擎。
1 在Myapp/Tpl/default/下建立一个文件夹,根据应用模块的名称,我们将这个文件夹命名为Index

2 在Myapp/Tpl/default/Index/下建立一个html文件,根据操作名称,我们命名该文件为index.html

3 打开Myapp/Lib/Action/IndexAction.class.php文件,修改代码为

<?php

class IndexAction extends Action{

public function index(){

$value

=

'hello,ThinkPHP';

$this->assign('name',$value);

$this->display();

I. 多维数据库是什么

多维数据库(Multi Dimensional Database,MDD)可以简单地理解为:将数据存放在一个n维数组中,而不是像关系数据库那样以记录的形式存放。因此它存在大量稀疏矩阵,人们可以通过多维视图来观察数据。多维数据库增加了一个时间维,与关系数据库相比,它的优势在于可以提高数据处理速度,加快反应时间,提高查询效率。
目前有两种MDD 的OLAP产品:基于多维数据库的MOLAP和基于关系数据库的ROLAP。ROLAP建立了一种新的体系,即星型结构。
MDD并没有公认的多维模型,也没有像关系模型那样标准地取得数据的方法(如SQL、API等)。基于MDD的OLAP产品,依据决策支持的内容使用范围也有很大的不同。
在低端,用户使用基于单用户或小型LAN的工具来观察多维数据。这些工具的功能性和实用性可能相当不错,但由于受到规模的限制,它们不具备OLAP的所有特性。这些工具使用超立方结构,将模型限制在n维形态。当模型足够大且稀疏数据没有控制好时,这种模型将会不堪一击。这些工具使用数据库的大小是以MB来计量的,而不是以GB计量的,因此只能进行只读操作,且具备有限的复杂计算。
在高端,OLAP工具用4GL提供了完善的开发环境、统计分析、时间序列分析、财政报告、用户接口、多层体系结构、图表等许多其他功能。尽管不同的OLAP工具都使用了它们自己的多维数据库,但它们在不同程度上也利用了关系数据库作为存储媒体。因为关系数据库和OLAP工具同时在高端服务器上处理,所以速度和效率仍然很快。
纯多维数据库引擎也被开发出来。尽管这些工具缺乏4GL及充分的开发环境,但却有比高端MDD工具所使用的数据库更为复杂的数据库。这些工具也具有统计分析、财务分析和时间序列分析等功能,并有自己的API,允许其对前端的开发环境开放。
MDD能提供优良的查询性能。存储在MDD中的信息比在关系数据库中的信息具有更详细的索引,可以常驻内存。MDD的信息是以数组形式存放的,所以它可以在不影响索引的情况下更新数据。因此MDD非常适合于读写应用。

J. thinkphp 多维数组,如何转成以为一维数组,然后写入数据库

$result=array();//新数组
foreach($dataas$vo){//$data是原数组
foreach($voas$k=>$v){
if($k!=='username'){
$temp=$v;
$temp['username']=$vo['username'];
array_push($result,$temp);
}
}
}