你做好程序以后,把數據庫導出成sql文件(這個文件里就已經有了一下創建數據表,添加數據記錄等的一些sql語句了)
成都創新互聯長期為上千家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為永安企業提供專業的網站設計制作、成都網站設計,永安網站改版等技術服務。擁有10余年豐富建站經驗和眾多成功案例,為您定制開發。
新建一個安裝文件:
1、連接數據庫(安裝的時候不是要填寫一些數據庫連接參數等嗎)
2、讀取這個sql文件里的sql語句,并執行
3、生成一個數據庫連接參數的php文件
就這么簡單,思路是這樣啊,具體這么實現,你自己慢慢研究
你做好程序以后,把數據庫導出成sql文件
1、連接數據庫
2、讀取這個sql文件里的sql語句,并執行
3、生成一個數據庫連接參數的php文件
?php
$con?=?mysql_connect("localhost","peter","abc123");
if?(!$con)
{
die('Could?not?connect:?'?.?mysql_error());
}
if?(mysql_query("CREATE?DATABASE?my_db",$con))
{
echo?"Database?created";
}
else
{
echo?"Error?creating?database:?"?.?mysql_error();
}
mysql_close($con);
?
?php
class?ReadSql?{
//數據庫連接
protected?$connect?=?null;
//數據庫對象
protected?$db?=?null;
//sql文件
public?$sqlFile?=?"";
//sql語句集
public?$sqlArr?=?array();
public?function?__construct($host,?$user,?$pw,?$db_name)?{
$host?=?empty($host)???C("DB_HOST")?:?$host;
$user?=?empty($user)???C("DB_USER")?:?$user;
$pw?=?empty($pw)???C("DB_PWD")?:?$pw;
$db_name?=?empty($db_name)???C("DB_NAME")?:?$db_name;
//連接數據庫
$this-connect?=?mysql_connect($host,?$user,?$pw)?or?die("Could?not?connect:?"?.?mysql_error());
$this-db?=?mysql_select_db($db_name,?$this-connect)?or?die("Yon?can?not?select?the?table:"?.?mysql_error());
}
//導入sql文件
public?function?Import($url)?{
$this-sqlFile?=?file_get_contents($url);
if?(!$this-sqlFile)?{
exit("打開文件錯誤");
}?else?{
$this-GetSqlArr();
if?($this-Runsql())?{
return?true;
}
}
}
//獲取sql語句數組
public?function?GetSqlArr()?{
//去除注釋
$str?=?$this-sqlFile;
$str?=?preg_replace('/--.*/i',?'',?$str);
$str?=?preg_replace('/\/\*.*\*\/(\;)?/i',?'',?$str);
//去除空格?創建數組
$str?=?explode(";\n",?$str);
foreach?($str?as?$v)?{
$v?=?trim($v);
if?(empty($v))?{
continue;
}?else?{
$this-sqlArr[]?=?$v;
}
}
}
//執行sql文件
public?function?RunSql()?{
foreach?($this-sqlArr?as?$k?=?$v)?{
if?(!mysql_query($v))?{
exit("sql語句錯誤:第"?.?$k?.?"行"?.?mysql_error());
}
}
return?true;
}
}
//范例:
header("Content-type:text/html;charset=utf-8");
$sql?=?new?ReadSql("localhost",?"root",?"",?"log_db");
$rst?=?$sql-Import("./log_db.sql");
if?($rst)?{
echo?"Success!";
}
?
數據字典是什么
進行數據庫設計的時候,對數據庫元素進行的解釋說明就是數據字典。舉個例子吧,假設有下面這個設計出來的數據庫表:
player(fname, lname, account, pwd, email)
對應的數據字典就是:
player:玩家信息表
fname:玩家名
lname:玩家姓
account:賬戶名
pwd:密碼
email:聯系電郵
這里只是一個針對某一表的數據字典,還有針對表與表之間關系的數據字典、表內字段屬性的數據字典等等。越是大型的數據庫設計,越是需要數據字典來輔助進行設計說明,幫助設計人員之間的溝通與交流。
SQL數據庫數據字典怎么生成的?
數據字典是關于數據的信息的 *** ,也就是對數據流圖中包含的所有元素的定義的 *** 。
數據庫數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中。
數據庫數據字典不僅是每個數據庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問數據庫數據字典。
生成數據庫參考代碼如下:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:
-- Create date: 2014-09-19
-- Description:
-- =============================================
CREATE PROCEDURE [dbo].[CreateDatabaseDictionarie]
AS
BEGIN
DECLARE @TableName nvarchar(35),@htmls varchar(8000)
DECLARE @字段名稱 VARCHAR(200)
DECLARE @類型 VARCHAR(200)
DECLARE @長度 VARCHAR(200)
DECLARE @數值精度 VARCHAR(200)
DECLARE @小數位數 VARCHAR(200)
DECLARE @默認值 VARCHAR(200)
DECLARE @允許為空 VARCHAR(200)
DECLARE @外鍵 VARCHAR(200)
DECLARE @主鍵 VARCHAR(200)
DECLARE @描述 VARCHAR(200)
SET NOCOUNT ON;
DECLARE Tbls CURSOR
FOR
Select distinct Table_name
FROM INFORMATION_SCHEMA.COLUMNS
order by Table_name
OPEN Tbls
PRINT ''
PRINT ''
PRINT ' '
PRINT ' ......
數據字典的組成
數據字典的組成:1、數據項2、數據結構3、數據流4、數據存儲5、處理過程數據字典數據字典是數據庫的重要組成部分。它存放有數據庫所用的有關信息,對用戶來說是一組只讀的表。數據字典內容包括:1、數據庫中所有模式對象的信息,如表、視圖、簇、及索引等。2、分配多少空間,當前使用了多少空間等。3、列的缺省值。4、約束信息的完整性。5、用戶的名字。6、用戶及角色被授予的權限。7、用戶訪問或使用的審計信息。8、其它產生的數據庫信息。數據庫數據字典是一組表和視圖結構。它們存放在SYSTEM表空間中。數據庫數據字典不僅是每個數據庫的中心。而且對每個用戶也是非常重要的信息。用戶可以用SQL語句訪問數據庫數據字典。關于數據的信息 *** ,是一種用戶可以訪問的記錄數據庫和應用程序元數據的目錄,是對數據庫內表信息的物理與邏輯的說明
數據字典與數據庫設計之間有什么關系?
正文
1 引言
1.1編寫目的
說明編寫這份數據庫設計說明書的目的,指出預期的讀者。
1.2背景
說明:
a.說明待開發的數據庫的名稱和使用此數據庫的軟件系統的名稱;
b.列出該軟件系統開發項目的任務提出者、用戶以及將安裝該軟件和這個數據庫的計算站(中心)。
1.3定義
列出本文件中用到的專門術語的定義、外文首字母組詞的原詞組。
1.4參考資料
列出有關的參考資料:
a.本項目的經核準的計劃任務書或合同、上級機關批文;
b.屬于本項目的其他已發表的文件;
c.本文件中各處引用到的文件資料,包括所要用到的軟件開發標準。
列出這些文件的標題、文件編號、發表日期和出版單位,說明能夠取得這些文件的來源。
2 外部設計
2.1標識符和狀態
聯系用途,詳細說明用于唯一地標識該數據庫的代碼、名稱或標識符,附加的描述性信息亦要給出。如果該數據庫屬于尚在實驗中、尚在測試中或是暫時使用的,則要說明這一特點及其有效時間范圍。
2.2使用它的程序
列出將要使用或訪問此數據庫的所有應用程序,對于這些應用程序的每一個,給出它的名稱和版本號。
2.3約定
陳述一個程序員或一個系統分析員為了能使用此數據庫而需要了解的建立標號、標識的約定,例如 用于標識數據庫的不同版本的約定和用于標識庫內各個文卷、、記錄、數據項的命名約定等。
2.4專門指導
向準備從事此數據庫的生成、從事此數據庫的測試、維護人員提供專門的指導,例如將被送入數據 庫的數據的格式和標準、送入數據庫的操作規程和步驟,用于產生、修改、更新或使用這些數據文卷的操 作指導。 如果這些指導的內容篇幅很長,列出可參閱的文件資料的名稱和章條。
2.5支持軟件
簡單介紹同此數據庫直接有關的支持軟件,如數據庫管理系統、存儲定位程序和用于裝入、生成、修 改、更新數據庫的程序等。說明這些軟件的名稱、版本號和主要功能特性,如所用數據模型的類型、允許 的數據容量等。列出這些支持軟件的技術文件的標題、編號及來源。
3 結構設計
3.1概念結構設計
說明本數據庫將反映的現實世界中的實體、屬性和它們之間的關系等的原始數據形式,包括各數據項、記錄、系、文卷的標識符、定義、類型、度量單位和值域,建立本數據庫的每一幅用戶視圖。
3.2邏輯結構設計
說明把上述原始數據進行分解、合并后重新組織起來的數據庫全局邏輯結構,包括所確定的關鍵字和屬性、重新確定的記錄結構和文卷結構、所建立的各個文卷之間的相互關系,形成本數據庫的數據庫管理員視圖。
3.3物理結構設計
建立系統程序員視圖,包括:
a.數據在內存中的安排,包括對索引區、緩沖區的設計;
b.所使用的外存設備及外存空間的組織,包括索引區、數據塊的組織與劃分;
c.訪問數據的方式方法。
4 運用設計
4.1數據字典設計
對數據庫設計中涉及到的各種項目,如數據項、記錄、系、文卷、模式、子模式等一般要建立起數據字典,以說明它們的標識符、同義名及有關信息。在本節中要說明對此數據字典設計的基本考慮。
4.2安全保密設計
說明在數據庫的設計中,將如何通過區分不同的訪問者、不同的訪問類型和不同的數據對象,進行分別對待而獲得的數據庫安全保密的設計考慮。...
mysql數據庫數據字典表怎么寫
你導出 rmation_schema 數據庫里的所有表就OK了 新特性啊,以前只有ORACLE才有的
數據字典包括哪些內容
你好!
我用的是考研參考書,上面的答案是:
數據字典是數據庫中描述信息和控制信息的 *** ,他是數據庫設計和管理的有力工具。數據字典包含(1.數據項,2數據流,3.數據結構.4.數據存儲.5.處理過程)五個部分。同時也是詳細數據收集和數據分析的結果。
SQL怎么創建數據字典表,最好舉個例子!
我的理解數據字典表就是普通的表,例如性別的數據字典表
而這個字典表即可以包含, xmdm(代碼),xmmc(名稱),xm *** (說明) 三列,可根據使用情況增加或減少列,里面的數據,即包含了 男,女,未知,三個選擇 這男,女等就是字典
是可以列舉完全的。
數據庫中的字典是什么意思?
數據字典即為數據庫說明。包含完整的表結構介紹。
數據字典是特殊的數據庫數據庫類型是按什么
數據庫設計方法、規范與技巧
一、數據庫設計過程
數據庫技術是信息資源管理最有效的手段。數據庫設計是指對于一個給定的應用環境,構造最優的數據庫模式,建立數據庫及其應用系統,有效存儲數據,滿足用戶信息要求和處理要求。
數據庫設計中需求分析階段綜合各個用戶的應用需求(現實世界的需求),在概念設計階段形成獨立于機器特點、獨立于各個DBMS產品的概念模式(信息世界模型),用E-R圖來描述。在邏輯設計階段將E-R圖轉換成具體的數據庫產品支持的數據模型如關系模型,形成數據庫邏輯模式。然后根據用戶處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(VIEW)形成數據的外模式。在物理設計階段根據DBMS特點和處理的需要,進行物理存儲安排,設計索引,形成數據庫內模式。
1. 需求分析階段
需求收集和分析,結果得到數據字典描述的數據需求(和數據流圖描述的處理需求)。
需求分析的重點是調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。
需求分析的方法:調查組織機構情況、調查各部門的業務活動情況、協助用戶明確對新系統的各種要求、確定新系統的邊界。
常用的調查方法有: 跟班作業、開調查會、請專人介紹、詢問、設計調查表請用戶填寫、查閱記錄。
分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。自頂向下的結構化分析方法(Structured Analysis,簡稱SA方法)從最上層的系統組織機構入手,采用逐層分解的方式分析系統,并把每一層用數據流圖和數據字典描述。
數據流圖表達了數據和處理過程的關系。系統中的數據則借助數據字典(Data Dictionary,簡稱DD)來描述。
數據字典是各類數據描述的 *** ,它是關于數據庫中數據的描述,即元數據,而不是數據本身。數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程五個部分(至少應該包含每個字段的數據類型和在每個表內的主外鍵)。
數據項描述={數據項名,數據項含義說明,別名,數據類型,長度,
取值范圍,取值含義,與其他數據項的邏輯關系}
數據結構描述={數據結構名,含義說明,組成:{數據項或數據結構}}
數據流描述={數據流名,說明,數據流來源,數據流去向,
組成:{數據結構},平均流量,高峰期流量}
數據存儲描述={數據存儲名,說明,編號,流入的數據流,流出的數據流,
組成:{數據結構},數據量,存取方式}
處理過程描述={處理過程名,說明,輸入:{數據流},輸出:{數據流},
處理:{簡要說明}}
2. 概念結構設計階段
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,可以用E-R圖表示。
概念模型用于信息世界的建模。概念模型不依賴于某一個DBMS支持的數據模型。概念模型可以轉換為計算機上某一DBMS支持的特定數據模型。
概念模型特點:
(1) 具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識。
(2) 應該簡單、清晰、易于用戶理解,是用戶與數據庫設計人員之間進行交流的語言。
概念模型設計的一種常用方法為IDEF1X方法,它就是把實體-聯系方法應用到語義數據模型中的一種語義模型化技術,用于建立系統信息模型。
使用IDEF1X方法創建E-R模型的步驟如下所示:
2.1 第零步——初始化工程
這個階段的任務是從目的描述和范圍描述開始,確定建模目標,開發建模計劃,組織建模......
求一PHP算法,字典生成。時間一到再加100分。如:字符:0-9,長度:1,
那就生成0,1,2,3,4,5,6,7,8,9
長度:2,就會生成00-99
現在要求字符可以包括a-z,或者其他特殊符號,求一高效的生成算法。
參考答案一
function get_string($strlen){
$source='0123456789'; //任意字符
$len = strlen($source); //長度
$return = array();
for($i = 0 ;$i $len;$i++){
for($j = 0;$j $strlen;$j++){
$return[$i] .= $i;
}
}
return implode(',', $return);
}
如果輸入長度2: 輸出結果就是:
00,11,22,33,44,55,66,77,88,99
參考答案二
優化了進位算法:
PHP code =0;$no--){ $word=$source{$series[$no]}.$word; $series[$no]+=$tonext_value; if($no0){ if($series[$no]==$len){ $series[$no]=0; $tonext_value=1; }else{ $tonext_value=0; } } } echo "$word "; } } gene_dic(2); ?
簡單的說,我會把這個理解為0-9(十進制)下十個數字生成兩位數字、可重復的排列問題。
排列算法我自己建立過的就是簡單的N進制下的+1算法,保證可以遍歷。
即:
初始化到0,
1. +1
2. 是否超過要生成的位數?否,則回到1;
3. 輸出
參考答案三
PHP code =0;$no--){//循環遍歷數組每次從源字串中取一個字符,為便于進位運算,取字符是從后往前取 $word=$source{$series[$no]}.$word;//先取出一個字符 //取出一個字符后就要判斷當前數組元素如何如果改變值,為下一次“大循環”做準備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了“老大”是只進不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結果OK。
參考答案四
PHP code =0;$no--){//循環遍歷數組每次從源字串中取一個字符,為便于進位運算,取字符是從后往前取 $word=$source{$series[$no]}.$word;//先取出一個字符 //取出一個字符后就要判斷當前數組元素如何如果改變值,為下一次“大循環”做準備 if($no==$n-1){//末位的判斷,它比較特殊,每次大循環都要增值 if($series[$no]==$len-1){ $series[$no]=0; $tonext_value=1;//歸零時就進位 }else{ $series[$no]+=1; $tonext_value=0;//未歸零就增值,不進位 } }elseif($no$n-1){//中間位的進位判斷 $series[$no]+=$tonext_value;//先取得上一位的進位值 if($series[$no]==$len){ $series[$no]=0; $tonext_value=1;//歸零了就繼續進位 }else{ $tonext_value=0;//不歸零就不進位 } }else{ $series[$no]+=$tonext_value;//大循環次數決定了“老大”是只進不出的。 } } echo "$word ";//輸入單詞 } } gene_dic(2);//測試,結果OK。
參考答案五
應該是:
function get_string($strlen){
$source='0123456789';
$len = strlen($source);
$return = array();
for($i = 0 ;$i $len;$i++){
for($j = 1;$j = $strlen;$j++){
$return[$i] .= substr($source,$i,1);
}
}
return implode(',', $return);
}
【拓展閱讀】如何開始一門語言的學習
一門語言從發明到演進必有原因。
現在還有很多人推薦學習不同的語言。通過比較,了解它的發展史,
創始人的初心等因素都需要留意。多個思考,這個語言在5年,在10年后還是否保持活力?
當有幾個類似的語言被選擇時,我們不妨對它們做一個Swat分析。
列出這些語言的共同點,還有它們之間的規則差異。
了解語言的發展史
開發語言從匯編開始,如最早的計算機ENIAC,使用的就是它來編程。
再到Fortarin,再到C語言,Cobol,Basic。每一個語言都與當時發展的階段有點密切關聯。
人類的每個發明都與懶惰有關,語言也是為便捷性而生。有的語言
C是除匯編外最重視效率的語言,擴展的C++也繼承了此特性。Perl是做文本處理效率最佳的語言,雖然它的發展有點慢。PHP做Web開發,是“世界上最好的.語言”,Python的閱讀性和大數據處理都做得樣樣俱佳。
當了解語言的歷史沿革后,會讓我們對其創始人有很強烈的興趣,成為忠實的腦殘粉,學習該語言的興趣會更濃烈。
人們常常說某個語言比哪個好,這其實沒有必要。不必要為其它人的語言所惑,需要你自己做出選擇。
語言的共通點
這個星球的人都是一個鼻子兩雙只水汪汪的大眼睛,與人們的模樣一般,編程語言也有一個大致相同的長相。
語法:這是開發此語言定義的規則“套路”:
運算符順序,變量常量定義/作用域,表達式定義,字符串定義,行尾結束符等。
流程控制:循環控制
這些語法都是成對的,如if,for,while,foreach,有的語言還提供goto這樣類似匯編語言的語法。
函數與方法
一些能夠復用的高質量代碼組合。函數執行后有返回,有遞歸,有嵌套,還有干完活就完事的簡單任務。有靜態函數和動態函數區分。
容器
數組,哈希表(也叫散列),字典等用來保存數據的容器。
錯誤/例外處理
現代編程語言基本都支持出錯的拋出,除了C語言之外。
比如硬盤不足,網絡出錯,黑客攻擊等情形。就像購物中心里出現煤氣泄露時,監測設備,物聯網設備能夠及時記錄與傳遞給指揮中心。
沒有錯誤拋出的語言,需要自己考慮盡可能出錯的場景并處理,比如:
if(is_overfllow)
//處理
if(network_error)
//處理
可以還有不少需要關注的維度,這會讓代碼變得艱澀難懂,也難以維護。
我們可以用這樣的方式,讓其更簡潔:
on error goto ERROR
ERROR:
..//
但這總是會需要我們照顧很多情形。于是C++推出了一個語法:
try{
//可能會出錯的代碼
//可能會出錯的代碼
}catch{
//處理出錯的邏輯
//處理出錯的邏輯
}finally{
//出不出錯都要執行的代碼
}
最后一句是微軟公司給業界提供貢獻的finally代碼塊。
以上這些成為語言處理異常機制的基礎。
容器
容器是很重要的一節,所以我們單獨再提出來。很多邏輯處理,使用容器保存數據,該語言會提供便捷的方法來提供存取。
比如C、Perl、PHP、Ruby中均提供的數組和關聯數組,LISP提供的列表,Java、Python提供的元組、鏈表等。
雖然名字相同,但是實現方式卻是完全不同,使用方法當然也不一樣。
沒有萬能的容器,只有最合適的。可以從節省內存,節約時間還是編碼效率等綜合考慮。
字符串與字符編碼
是否支持unicode編碼。從摩斯碼到ASCII到統一的Unicode編碼支持。
并發處理
有的語言在設計時并無此方面的考慮,或者天生設計存在缺陷。
即多線程,多進程的概念。包括共享,鎖,事備等特性。
面向對象
支持類,繼承,模塊,包,命名空間,閉包等。有這些特性才會讓人們的工作變得更便利、更有效率。
小結
學習一門語言的關鍵,需要我們在平靜地心緒下,帶著濃厚的興趣去學習,在比較中學習,在歷史中學習。
有時候感覺還是不夠通暢,先做知識的搬運工也是不錯。另外,不斷的實踐會讓我們的信心更足。
當前題目:php怎么生成數據庫字典 php怎么寫數據庫
網站鏈接:http://vcdvsql.cn/article46/ddigseg.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、外貿建站、網站內鏈、ChatGPT、關鍵詞優化、App開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯