當前位置:首頁 » 數據倉庫 » 多維數組資料庫
擴展閱讀
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);
}
}
}