① TaskBuilder跟VSCode、Eclipse等開發工具有什麼區別
一、Visual Studio Code(簡稱「VS Code」 )是Microsoft在2015年4月30日Build開發者大會上正式宣布一個運行於 Mac OS X、Windows和 linux 之上的,針對於編寫現代Web和雲應用的跨平台源代碼編輯器, 可在桌面上運行,並且可用於Windows,macOS和Linux。它具有對javaScript,TypeScript和Node.js的內置支持,並具有豐富的其他語言(例如C++,C#,Java,python,php,Go)和運行時(例如.NET和Unity)擴展的生態系統。
二、Eclipse :集成開發環境,是一個開放源代碼的、基於Java的可擴展開發平台。Eclipse 是使用Java語言開發的,但它的用途並不限於Java語言,現在也支持諸如C/C++、COBOL、 PHP、 android等編程語言的插件已經可用。
三、TaskBuilder屬於低代碼開發工具,通過圖形化界面和拖拽操作即可實現數據建模、界面設計、顯示樣式和業務邏輯設置。不需要專業的軟體研發知識,只要有一定的計算機操作基礎,經過簡單的培訓,即可開發各種管理應用,讓企業在面對快速變化的市場和管理需求時,能以較低成本迅速響應。
四、VSCode和Eclipse是專業的軟體開發工具,適合懂編程的程序員,而TaskBuilder是低代碼開發工具,不懂編程的人也可以用,懂編程的會用得更好,能實現更復雜的功能。
② 誰能向我詳細介紹一下eclipse這個軟體
Eclipse是著名的跨平台的自由集成開發環境(IDE)。最初主要用來Java語言開發,但是目前亦有人通過插件使其作為C++、Python、PHP等其他語言的開發工具。
Eclipse的本身只是一個框架平台,但是眾多插件的支持,使得Eclipse擁有較佳的靈活性。許多軟體開發商以Eclipse為框架開發自己的IDE。
歷史
Eclipse最初是由IBM公司開發的替代商業軟體Visual Age for Java的下一代IDE開發環境,2001年11月貢獻給開源社區,現在它由非營利軟體供應商聯盟Eclipse基金會(Eclipse Foundation)管理。 2003年,Eclipse 3.0選擇OSGi服務平台規范為運行時架構。 2007年6月,穩定版3.3發布;2008年6月發布代號為Ganymede的3.4版;2009年6月發布代號為Galileo的3.5版;2010年6月發布代號為Helios的3.6版
架構
Eclipse的基礎是富客戶機平台(Rich Client Platform,即RCP)。RCP包括下列組件:
核心平台(啟動Eclipse,運行插件)
OSGi(標准集束框架)
SWT(可移植構件工具包)
JFace(文件緩沖,文本處理,文本編輯器)
Eclipse工作台(即Workbench ,包含視圖(views)、編輯器(editors)、視角(perspectives)、和向導(wizards))
Eclipse採用的技術是IBM公司開發的(SWT),這是一種基於Java的窗口組件,類似Java本身提供的AWT和Swing窗口組件;不過IBM聲稱SWT比其他Java窗口組件更有效率。Eclipse的用戶界面還使用了GUI中間層JFace,從而簡化了基於SWT的應用程序的構建。
Eclipse的插件機制是輕型軟體組件化架構。在富客戶機平台上,Eclipse使用插件來提供所有的附加功能,例如支持Java以外的其他語言。 已有的分離的插件已經能夠支持C/C++(CDT)、PHP、Perl、Ruby,Python、telnet和資料庫開發。插件架構能夠支持將任意的擴展加入到現有環境中,例如配置管理,而決不僅僅限於支持各種編程語言。
Eclipse的設計思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加於Eclipse核心之上。Eclipse基本內核包括:圖形API (SWT/Jface), Java開發環境插件(JDT),插件開發環境(PDE)等。
Eclipse計劃
Eclipse由各種不同的計劃組成。以下列出了部分計劃,更完整全面的列表在此(英文)。
Eclipse計劃:本身包括Eclipse平台,Eclipse富客戶端平台(RCP)和Java開發工具(JDT)。
Eclipse測試和性能工具平台(TPTP):提供一個允許軟體開發者構建諸如測試調試、概況分析、基準評測等測試和性能工具的平台。
Eclipse Web工具平台計劃(WTP):用Java企業版Web應用程序開發工具來擴展Eclipse平台。它由以下部分組成:HTML、JavaScript、CSS、JSP、SQL、XML、DTD、XSD和WSDL的源代碼編輯器;XSD和WSDL的圖形界面編輯器;Java企業版的「項目性質」(project nature)、建構器(builder)和模型(model),與一個Java企業版的導航(navigator);一個Web服務(Web service)向導和瀏覽器,還有一個WS-I測試工具;最後是資料庫訪問查詢的工具與模型。
Eclipse商業智能和報表工具計劃(BIRT):提供Web應用程序(特別是基於Java企業版的)的報表開發工具。
Eclipse可視化界面編輯器計劃(VEP):一個Eclipse下創建圖形用戶界面代碼生成器的框架。
Eclipse建模框架(EMF):依據使用XMI描述的建模規格,生成結構化數據模型的工具和其他應用程序的代碼。
圖形化編輯器框架(GEF):能讓開發者採用一個現成的應用程序模型來輕松地創建富圖形化編輯器。
UML2:Eclipse平台下的一個UML 2.0元模型的實現,用以支持建模工具的開發。
AspectJ:一種針對Java的面向側面語言擴展。
Eclipse通訊框架(ECF):專注於在Eclipse平台上創建通訊應用程序的工作。
Eclipse數據工具平台計劃(DTP)
Eclipse設備驅動軟體開發計劃(DSDP)
C/C++開發工具計劃(CDT):努力為Eclipse平台提供一個全功能C和C++的集成開發環境(IDE),它使用GCC作為編譯器。
PHP開發工具計劃(PDT):努力為Eclipse平台提供一個全功能PHP的集成開發環境(IDE)。
Eclipse平台COBOL集成開發環境子計劃(COBOL):將構建一個Eclipse平台上的全功能COBOL集成開發環境。
並行工具平台(PTP):將開發一個對並行計算機架構下的一組工具進行集成的平行工具平台,而且這個平台是可移植的,可伸縮的並基於標準的。
嵌入式富客戶端平台(eRCP):計劃將Eclipse富客戶端平台擴展到嵌入式設備上。這個平台主要是一個富客戶端平台(RCP)組件子集的集合。它能讓桌面環境下的應用程序模型能夠大致同樣地能運用在嵌入式設備上。
發行版本
版本代號 發行日期 平台版本 計劃名稱
Callisto(卡利斯托) 2006年6月30日 3.2 Callisto projects
Europa(歐羅巴) 2007年6月29日 3.3 Europa projects
Ganymede(伽倪墨得斯) 2008年6月25日 3.4 Ganymede projects
Galileo(伽利略) 2009年6月24日 3.5 Galileo projects
Helios(赫利俄斯) 2010年6月23日 3.6 Helios Projects
Indigo(靛青) 2011年6月 3.7 Indigo Projects
③ mysql_query()執行之後沒有結果,MySQL資料庫中數據表還為空
管理最有效的手段。
資料庫設計是指:對於一個給定的應用環境,構造最優的資料庫模式,建立資料庫及其應用系統,有效存儲數據,滿足用戶信息要求和處理要求。
資料庫設計的各階段:
A、需求分析階段:綜合各個用戶的應用需求(現實世界的需求)。
B、在概念設計階段:形成獨立於機器和各DBMS產品的概念模式(信息世界模型),用E-R圖來描述。
C、在邏輯設計階段:將E-R圖轉換成具體的資料庫產品支持的數據模型,如關系模型,形成資料庫邏輯模式。然後根據用戶處理的要求,安全性的考慮,在基本表的基礎上再建立必要的視圖(VIEW)形成數據的外模式。
D、在物理設計階段:根據DBMS特點和處理的需要,進行物理存儲安排,設計索引,形成資料庫內模式。
1. 需求分析階段
需求收集和分析,結果得到數據字典描述的數據需求(和數據流圖描述的處理需求)。
需求分析的重點:調查、收集與分析用戶在數據管理中的信息要求、處理要求、安全性與完整性要求。
需求分析的方法:調查組織機構情況、各部門的業務活動情況、協助用戶明確對新系統的各種要求、確定新系統的邊界。
常用的調查方法有: 跟班作業、開調查會、請專人介紹、詢問、設計調查表請用戶填寫、查閱記錄。
分析和表達用戶需求的方法主要包括自頂向下和自底向上兩類方法。自頂向下的結構化分析方法(Structured Analysis,簡稱SA方法)從最上層的系統組織機構入手,採用逐層分解的方式分析系統,並把每一層用數據流圖和數據字典描述。
數據流圖表達了數據和處理過程的關系。系統中的數據則藉助數據字典(Data Dictionary,簡稱DD)來描述。
2. 概念結構設計階段
通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型,可以用E-R圖表示。
概念模型用於信息世界的建模。概念模型不依賴於某一個DBMS支持的數據模型。概念模型可以轉換為計算機上某一DBMS支持的特定數據模型。
概念模型特點:
(1) 具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識。
(2) 應該簡單、清晰、易於用戶理解,是用戶與資料庫設計人員之間進行交流的語言。
概念模型設計的一種常用方法為IDEF1X方法,它就是把實體-聯系方法應用到語義數據模型中的一種語義模型化技術,用於建立系統信息模型。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
2.1 第零步——初始化工程
這個階段的任務是從目的描述和范圍描述開始,確定建模目標,開發建模計劃,組織建模隊伍,收集源材料,制定約束和規范。收集源材料是這階段的重點。通過調查和觀察結果,業務流程,原有系統的輸入輸出,各種報表,收集原始數據,形成了基本數據資料表。
2.2 第一步——定義實體
實體集成員都有一個共同的特徵和屬性集,可以從收集的源材料——基本數據資料表中直接或間接標識出大部分實體。根據源材料名字表中表示物的術語以及具有 「代碼」結尾的術語,如客戶代碼、代理商代碼、產品代碼等將其名詞部分代表的實體標識出來,從而初步找出潛在的實體,形成初步實體表。
2.3 第二步——定義聯系
IDEF1X模型中只允許二元聯系,n元聯系必須定義為n個二元聯系。根據實際的業務需求和規則,使用實體聯系矩陣來標識實體間的二元關系,然後根據實際情況確定出連接關系的勢、關系名和說明,確定關系類型,是標識關系、非標識關系(強制的或可選的)還是非確定關系、分類關系。如果子實體的每個實例都需要通過和父實體的關系來標識,則為標識關系,否則為非標識關系。非標識關系中,如果每個子實體的實例都與而且只與一個父實體關聯,則為強制的,否則為非強制的。如果父實體與子實體代表的是同一現實對象,那麼它們為分類關系。
2.4 第三步——定義碼
通過引入交叉實體除去上一階段產生的非確定關系,然後從非交叉實體和獨立實體開始標識侯選碼屬性,以便唯一識別每個實體的實例,再從侯選碼中確定主碼。為了確定主碼和關系的有效性,通過非空規則和非多值規則來保證,即一個實體實例的一個屬性不能是空值,也不能在同一個時刻有一個以上的值。找出誤認的確定關系,將實體進一步分解,最後構造出IDEF1X模型的鍵基視圖(KB圖)。
2.5 第四步——定義屬性
從源數據表中抽取說明性的名詞開發出屬性表,確定屬性的所有者。定義非主碼屬性,檢查屬性的非空及非多值規則。此外,還要檢查完全依賴函數規則和非傳遞依賴規則,保證一個非主碼屬性必須依賴於主碼、整個主碼、僅僅是主碼。以此得到了至少符合關系理論第三範式的改進的IDEF1X模型的全屬性視圖。
2.6 第五步——定義其他對象和規則
定義屬性的數據類型、長度、精度、非空、預設值、約束規則等。定義觸發器、存儲過程、視圖、角色、同義詞、序列等對象信息。
3. 邏輯結構設計階段
將概念結構轉換為某個DBMS所支持的數據模型(例如關系模型),並對其進行優化。設計邏輯結構應該選擇最適於描述與表達相應概念結構的數據模型,然後選擇最合適的DBMS。
將E-R圖轉換為關系模型實際上就是要將實體、實體的屬性和實體之間的聯系轉化為關系模式,這種轉換一般遵循如下原則:一個實體型轉換為一個關系模式。實體的屬性就是關系的屬性。實體的碼就是關系的碼。
數據模型的優化,確定數據依賴,消除冗餘的聯系,確定各關系模式分別屬於第幾範式。確定是否要對它們進行合並或分解。一般來說將關系分解為3NF的標准,即:
表內的每一個值都只能被表達一次。
表內的每一行都應該被唯一的標識(有唯一鍵)。
表內不應該存儲依賴於其他鍵的非鍵信息。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
4. 資料庫物理設計階段
為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。根據DBMS特點和處理的需要,進行物理存儲安排,設計索引,形成資料庫內模式。
5. 資料庫實施階段
運用DBMS提供的數據語言(例如SQL)及其宿主語言(例如C),根據邏輯設計和物理設計的結果建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行。 資料庫實施主要包括以下工作:用DDL定義資料庫結構、組織數據入庫 、編制與調試應用程序、資料庫試運行 ,(Data Definition Language(DDL數據定義語言)用作開新數據表、設定欄位、刪除數據表、刪除欄位,管理所有有關資料庫結構的東西)
●Create (新增有關資料庫結構的東西,屬DDL)
●Drop (刪除有關資料庫結構的東西,屬DDL)
●Alter (更改結構,屬DDL)
6. 資料庫運行和維護階段
在資料庫系統運行過程中必須不斷地對其進行評價、調整與修改。內容包括:資料庫的轉儲和恢復、資料庫的安全性、完整性控制、資料庫性能的監督、分析和改進、資料庫的重組織和重構造。
7. 建模工具的使用
為加快資料庫設計速度,目前有很多資料庫輔助工具(CASE工具),如Rational公司的Rational Rose,CA公司的Erwin和Bpwin,Sybase公司的PowerDesigner以及Oracle公司的oracle Designer等。
ERwin主要用來建立資料庫的概念模型和物理模型。它能用圖形化的方式,描述出實體、聯系及實體的屬性。ERwin支持IDEF1X方法。通過使用 ERwin建模工具自動生成、更改和分析IDEF1X模型,不僅能得到優秀的業務功能和數據需求模型,而且可以實現從IDEF1X模型到資料庫物理設計的轉變。ERwin工具繪制的模型對應於邏輯模型和物理模型兩種。在邏輯模型中,IDEF1X工具箱可以方便地用圖形化的方式構建和繪制實體聯系及實體的屬性。在物理模型中,ERwin可以定義對應的表、列,並可針對各種資料庫管理系統自動轉換為適當的類型。
設計人員可根據需要選用相應的資料庫設計建模工具。例如需求分析完成之後,設計人員可以使用Erwin畫ER圖,將ER圖轉換為關系數據模型,生成資料庫結構;畫數據流圖,生成應用程序。
二、資料庫設計技巧
1. 設計資料庫之前(需求分析階段)
1) 理解客戶需求,包括用戶未來需求變化。
2) 了解企業業務類型,可以在開發階段節約大量的時間。
3) 重視輸入(要記錄的數據)、輸出(報表、查詢、視圖)。
4) 創建數據字典和ER 圖表
數據字典(Data Dictionary,簡稱DD)是各類數據描述的集合,是關於資料庫中數據的描述,即元數據,不是數據本身。(至少應該包含每個欄位的數據類型和在每個表內的主外鍵)。
數據項描述: 數據項名,數據項含義說明,別名,數據類型,長度,取值范圍,取值含義,與其他數據項的邏輯關系
數據結構描述: 數據結構名,含義說明,組成:[數據項或數據結構]
數據流描述: 數據流名,說明,數據流來源,數據流去向, 組成:[數據結構],平均流量,高峰期流量
數據存儲描述: 數據存儲名,說明,編號,流入的數據流,流出的數據流,組成:[數據結構],數據量,存取方式
處理過程描述: 處理過程名,說明,輸入:[數據流],輸出:[數據流],處理:[簡要說明]
ER 圖表和數據字典可以讓任何了解資料庫的人都明確如何從資料庫中獲得數據。ER圖對表明表之間關系很有用,而數據字典則說明了每個欄位的用途以及任何可能存在的別名。對SQL 表達式的文檔化來說這是完全必要的。
5) 定義標準的對象命名規范
資料庫各種對象的命名必須規范。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
2. 表和欄位的設計(資料庫邏輯設計)
表設計原則
1) 標准化和規范化
數據的標准化有助於消除資料庫中的數據冗餘。標准化有好幾種形式,但Third Normal Form(3NF)通常被認為在性能、擴展性和數據完整性方面達到了最好平衡。簡單來說,遵守3NF 標準的資料庫的表設計原則是:「One Fact in One Place」即某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。
2) 數據驅動
採用數據驅動而非硬編碼的方式,許多策略變更和維護都會方便得多,大大增強系統的靈活性和擴展性。
舉例,假如用戶界面要訪問外部數據源(文件、XML 文檔、其他資料庫等),不妨把相應的連接和路徑信息存儲在用戶界面支持的表裡。如果用戶界面執行工作流之類的任務(發送郵件、列印信箋、修改記錄狀態等),那麼產生工作流的數據也可以存放在資料庫里。角色許可權管理也可以通過數據驅動來完成。事實上,如果過程是數據驅動的,你就可以把相當大的責任推給用戶,由用戶來維護自己的工作流過程。
3) 考慮各種變化
在設計資料庫的時候考慮到哪些數據欄位將來可能會發生變更。
4) 表名、報表名和查詢名的命名規范
(採用前綴命名)檢查表名、報表名和查詢名之間的命名規范。你可能會很快就被這些不同的資料庫要素的名稱搞糊塗了。你可以統一地命名這些資料庫的不同組成部分,至少你應該在這些對象名字的開頭用 Table、Query 或者 Report 等前綴加以區別。如果採用了 Microsoft Access,你可以用 qry、rpt、tbl 和 mod 等符號來標識對象(比如 tbl_Employees)。用 sp_company 標識存儲過程,用 udf_ (或者類似的標記)標識自定義編寫的函數。
欄位設計原則:
1) 每個表中都應該添加的3 個有用的欄位。
dRecordCreationDate,在SQL Server 下默認為GETDATE()
sRecordCreator,在SQL Server 下默認為NOT NULL DEFAULT USER
nRecordVersion,記錄的版本標記;有助於准確說明記錄中出現null 數據或者丟失數據的原因
時效性數據應包括「最近更新日期/時間」欄位。時間標記對查找數據問題的原因、按日期重新處理/重載數據和清除舊數據特別有用。
2) 對地址和電話採用多個欄位
描述街道地址就短短一行記錄是不夠的。Address_Line1、Address_Line2 和Address_Line3 可以提供更大的靈活性。還有,電話號碼和郵件地址最好擁有自己的數據表,其間具有自身的類型和標記類別。
3) 表內的列[欄位]的命名規則(採用前綴/後綴命名)、採用有意義的欄位名
對列[欄位]名應該採用標準的前綴和後綴。如鍵是數字類型:用 _N 後綴;字元類型:_C 後綴;日期類型:_D 後綴。再如,假如你的表裡有好多「money」欄位,你不妨給每個列[欄位]增加一個 _M 後綴。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
假設有兩個表:
Customer 和 Order。Customer 表的前綴是 cu_,所以該表內的子段名如下:cu_name_id、cu_surname、cu_initials 和cu_address 等。Order 表的前綴是 or_,所以子段名是:
or_order_id、or_cust_name_id、or_quantity 和 or_description 等。
這樣從資料庫中選出全部數據的 SQL 語句可以寫成如下所示:
Select * From Customer, Order Where cu_surname = "MYNAME" ;
and cu_name_id = or_cust_name_id and or_quantity = 1
在沒有這些前綴的情況下則寫成這個樣子(用別名來區分):
Select * From Customer, Order Where Customer.surname = "MYNAME" ;
and Customer.name_id = Order.cust_name_id and Order.quantity = 1
第 1 個 SQL 語句沒少鍵入多少字元。但如果查詢涉及到 5 個表乃至更多的列[欄位]你就知道這個技巧多有用了。
5) 選擇數字類型和文本類型的長度應盡量充足
假設客戶ID 為10 位數長。那你應該把資料庫表欄位的長度設為12 或者13 個字元長。但這額外占據的空間卻無需將來重構整個資料庫就可以實現資料庫規模的增長了。
6) 增加刪除標記欄位
在表中包含一個「刪除標記」欄位,這樣就可以把行標記為刪除。在關系資料庫里不要單獨刪除某一行;最好採用清除數據程序而且要仔細維護索引整體性。
7) 提防大小寫混用的對象名和特殊字元
採用全部大寫而且包含下劃符的名字具有更好的可讀性(CUSTOMER_DATA),絕對不要在對象名的字元之間留空格。
8) 小心保留詞
要保證你的欄位名沒有和保留詞、資料庫系統或者常用訪問方法沖突,比如,用 DESC 作為說明欄位名。後果可想而知!DESC 是 DESCENDING 縮寫後的保留詞。表裡的一個 SELECT * 語句倒是能用,但得到的卻是一大堆毫無用處的信息。
9) 保持欄位名和類型的一致性
在命名欄位並為其指定數據類型的時候一定要保證一致性。假如欄位在表1中叫做「agreement_number」,就別在表2里把名字改成 「ref1」。假如數據類型在表1里是整數,那在表2里可就別變成字元型了。當然在表1(ABC)有處鍵ID,則為了可讀性,在表2做關聯時可以命名為 ABC_ID。
10) 避免使用觸發器
觸發器的功能通常可以用其他方式實現。在調試程序時觸發器可能成為干擾。假如你確實需要採用觸發器,你最好集中對它文檔化。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
3. 選擇鍵和索引(資料庫邏輯設計)
參考:《SQL優化-索引》一文
4. 數據完整性設計(資料庫邏輯設計)
1) 完整性實現機制:
實體完整性:主鍵
參照完整性:
父表中刪除數據:級聯刪除;受限刪除;置空值
父表中插入數據:受限插入;遞歸插入
父表中更新數據:級聯更新;受限更新;置空值
DBMS對參照完整性可以有兩種方法實現:外鍵實現機制(約束規則)和觸發器實現機制用戶定義完整性:
NOT NULL;CHECK;觸發器
2) 用約束而非商務規則強制數據完整性
採用資料庫系統實現數據的完整性。這不但包括通過標准化實現的完整性而且還包括數據的功能性。不要依賴於商務層保證數據完整性;它不能保證表之間(外鍵) 的完整性所以不能強加於其他完整性規則之上。如果你在數據層確實採用了約束,你要保證有辦法把更新不能通過約束檢查的原因採用用戶理解的語言通知用戶界面。
3) 強制指示完整性
在有害數據進入資料庫之前將其剔除。激活資料庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。
4) 使用查找控制數據完整性
控制數據完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。某些公共數據特別適合查找:國家代碼、狀態代碼等。
5) 採用視圖
為了在資料庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等於在處理資料庫變更時給你提供了更多的自由。
6) 分布式數據系統
對分布式系統而言,在你決定是否在各個站點復制所有數據還是把數據保存在一個地方之前應該估計一下未來 5 年或者 10 年的數據量。當你把數據傳送到其他站點的時候,最好在資料庫欄位中設置一些標記,在目的站點收到你的數據之後更新你的標記。為了進行這種數據傳輸,請寫下你自己的批處理或者調度程序以特定時間間隔運行而不要讓用戶在每天的工作後傳輸數據。本地拷貝你的維護數據,比如計算常數和利息率等,設置版本號保證數據在每個站點都完全一致。
7) 關系
如果兩個實體之間存在多對一關系,而且還有可能轉化為多對多關系,那麼你最好一開始就設置成多對多關系。從現有的多對一關系轉變為多對多關系比一開始就是多對多關系要難得多。
8) 給數據保有和恢復制定計劃
考慮數據保存策略並包含在設計過程中,預先設計你的數據恢復過程。採用可以發布給用戶/開發人員的數據字典實現方便的數據識別同時保證對數據源文檔化。編寫在線更新來「更新查詢」供以後萬一數據丟失可以重新處理更新。
9) 用存儲過程讓系統做重活
提供一整套常規的存儲過程來訪問各組以便加快速度和簡化客戶程序代碼的開發。資料庫不只是一個存放數據的地方,它也是簡化編碼之地。
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
5. 其他設計技巧
1) 避免使用觸發器
觸發器的功能通常可以用其他方式實現。在調試程序時觸發器可能成為干擾。假如你確實需要採用觸發器,你最好集中對它文檔化。
2) 使用常用英語(或者其他任何語言)而不要使用編碼
在創建下拉菜單、列表、報表時最好按照英語名排序。假如需要編碼,可以在編碼旁附上用戶知道的英語。
3) 保存常用信息
讓一個表專門存放一般資料庫信息非常有用。在這個表裡存放資料庫當前版本、最近檢查/修復(對Access)、關聯設計文檔的名稱、客戶等信息。這樣可以實現一種簡單機制跟蹤資料庫,當客戶抱怨他們的資料庫沒有達到希望的要求而與你聯系時,這樣做對非客戶機/伺服器環境特別有用。
4) 包含版本機制
在資料庫中引入版本控制機制來確定使用中的資料庫的版本。時間一長,用戶的需求總是會改變的。最終可能會要求修改資料庫結構。把版本信息直接存放到資料庫中更為方便。
5) 編制文檔
對所有的快捷方式、命名規范、限制和函數都要編制文檔。
採用給表、列、觸發器等加註釋的 資料庫工具。對開發、支持和跟蹤修改非常有用。
對資料庫文檔化,或者在資料庫自身的內部或者單獨建立文檔。這樣,當過了一年多時間後再回過頭來做第2 個版本,犯錯的機會將大大減少。
6) 測試、測試、反復測試
建立或者修訂資料庫之後,必須用用戶新輸入的數據測試數據欄位。最重要的是,讓用戶進行測試並且同用戶一道保證選擇的數據類型滿足商業要求。測試需要在把新資料庫投入實際服務之前完成。
7) 檢查設計
在開發期間檢查資料庫設計的常用技術是通過其所支持的應用程序原型檢查資料庫。換句話說,針對每一種最終表達數據的原型應用,保證你檢查了數據模型並且查看如何取出數據。
三、資料庫命名規范
1. 實體(表)的命名
1) 表以名詞或名詞短語命名,確定表名是採用復數還是單數形式,此外給表的別名定義簡單規則(比方說,如果表名是一個單詞,別名就取單詞的前4 個字母;如果表名是兩個單詞,就各取兩個單詞的前兩個字母組成4 個字母長的別名;如果表的名字由3 個單片語成,從頭兩個單詞中各取一個然後從最後一個單詞中再取出兩個字母,結果還是組成4 字母長的別名,其餘依次類推)
對工作用表來說,表名可以加上前綴WORK_ 後面附上採用該表的應用程序的名字。在命名過程當中,根據語義拼湊縮寫即可。注意:將欄位名稱會統一成大寫或者小寫中的一種,故中間加上下劃線。
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
舉例:
定義的縮寫 Sales: Sal 銷售;
Order: Ord 訂單;
Detail: Dtl 明細;
則銷售訂單明細表命名為:Sal_Ord_Dtl;
2) 如果表或者是欄位的名稱僅有一個單詞,那麼建議不使用縮寫,而是用完整的單詞。
舉例:
定義的縮寫 Material Ma 物品;
物品表名為:Material, 而不是 Ma.
但是欄位物品編碼則是:Ma_ID;而不是Material_ID
3) 所有的存儲值列表的表前面加上前綴Z
目的是將這些值列表類排序在資料庫最後。
4) 所有的冗餘類的命名(主要是累計表)前面加上前綴X
冗餘類是為了提高資料庫效率,非規范化資料庫的時候加入的欄位或者表
5) 關聯類通過用下劃線連接兩個基本類之後,再加前綴R的方式命名,後面按照字母順序羅列兩個表名或者表名的縮寫。
關聯表用於保存多對多關系。
如果被關聯的表名大於10個字母,必須將原來的表名的進行縮寫。如果沒有其他原因,建議都使用縮寫。
舉例:表Object與自身存在多對多的關系,則保存多對多關系的表命名為:R_Object;
作者: 小靈, 出處:論壇, 責任編輯: 李書琴, 2007-09-27 15:17
本文詳細解析了資料庫設計過程、設計技巧以及總結了資料庫命名規范……
2. 屬性(列)的命名
1) 採用有意義的列名
表內的列要針對鍵採用一整套設計規則。每一個表都將有一個自動ID作為主健,邏輯上的主健作為第一組候選主健來定義;
A、如果是資料庫自動生成的編碼,統一命名為:ID
B、如果是自定義的邏輯上的編碼則用縮寫加「ID」的方法命名,即「XXXX_ID」
C、如果鍵是數字類型,你可以用_NO 作為後綴;
D、如果是字元類型則可以採用_CODE 後綴
E、對列名應該採用標準的前綴和後綴。
舉例:銷售訂單的編號欄位命名:Sal_Ord_ID;如果還存在一個資料庫生成的自動編號,則命名為:ID。
2) 所有的屬性加上有關類型的後綴
注意,如果還需要其它的後綴,都放在類型後綴之前。
注: 數據類型是文本的欄位,類型後綴TX可以不寫。有些類型比較明顯的欄位,可以不寫類型後綴。
3) 採用前綴命名
給每個表的列名都採用統一的前綴,那麼在編寫SQL表達式的時候會得到大大的簡化。這樣做也確實有缺點,比如破壞了自動表連接工具的作用,後者把公共列名同某些資料庫聯系起來。
3. 視圖的命名
1) 視圖以V作為前綴,其他命名規則和表的命名類似;
2) 命名應盡量體現各視圖的功能。
4. 觸發器的命名(盡量不使用)
觸發器以TR作為前綴,觸發器名為相應的表名加上後綴,Insert觸發器加'_I',Delete觸發器加'_D',Update觸發器加'_U',如:TR_Customer_I,TR_Customer_D,TR_Customer_U。
5. 存儲過程名
存儲過程應以'UP_'開頭,和系統的存儲過程區分,後續部分主要以動賓形式構成,並用下劃線分割各個組成部分。如增加代理商的帳戶的存儲過程為'UP_Ins_Agent_Account'。
6. 變數名
變數名採用小寫,若屬於片語形式,用下劃線分隔每個單詞,如@my_err_no。
7. 命名中其他注意事項
1) 以上命名都不得超過30個字元的系統限制。變數名的長度限制為29(不包括標識字元@)。
2) 數據對象、變數的命名都採用英文字元,禁止使用中文命名。絕對不要在對象名的字元之間留空格。
3) 小心保留詞,要保證你的欄位名沒有和保留詞、資料庫系統或者常用訪問方法沖突
4) 保持欄位名和類型的一致性,在命名欄位並為其指定數據類型的時候一定要保證一致性。假如數據類型在一個表裡是整數,那在另一個表裡可就別變成字元型了。
參考資料:開發者在線
④ 用php開發網站的步驟是什麼
1、首先你得搭建PHP運行環境。建議使用PHP開發速成搭建工具包xampp。集成php+phpmyadm+mysql
2、第二步,寫需求,如圖書管理系統。是否需要會員系統(會員是否分等級如普通、VIP分等級的話,那麼有這些等級之間有什麼差別)、是否需要文章發布、是否需要圖書信息發布、是否需要在線購買書籍、是否要對書籍進行留言評論、是否要有在線試讀。
3、針對上面列出的需求,進行資料庫的表設計。表的設計要根據以上的需求來。
4、確定怎麼對網站進行架構,因為這是一個系統了。是一個系統化的東西,而不是其中某一個小模塊功能。你必須要對自己的網站來做一個架構。以使將來有可能網站進行功能模塊增加、網站風格改版提供支持,如果只是單純的PHP寫法,將來網站維護改版會很麻煩的,前期一個好的系統架構很重要。這就是為什麼很多好的程序員都會喜歡用自己熟悉的某一PHP框架來進行編程了。當然,你也可以自己構思自己的框架,當然這個是需要有對PHP這門語言相當熟練,在通過自己的理解,自己的需要編寫適合自己或大眾的框架。如zend framework 、thinphp、qeephp、smarty、cakephp等等,要知道一個好的框架不是一天就能寫出來的,都是日積月累的。
5、程序實現了你自己的需求,然後就是測試了。測試,可以分的很細了。如數據完整性驗證。數據有效性、操作步驟一致性、
6、以上則完成。
⑤ 自動化測試的工具有哪些
商業工具:
1、RFTRational Functional Tester 的基礎是針對於Java、.NET的對象技術和基於 Web 應用程序的錄制、回放功能。工具為測試者的活動提供的自動化的幫助,如數據驅動測試。IBM RFT是一個用於功能和回歸測試的數據驅動的測試平台。它支持大范圍的應用,例如.Net、Java、SAP、Flex和Ajax。RFT使用Visual Basic。Net和Java作為腳本語言。RFT有一個獨特的功能,稱為 Storyboard 測試,用戶的動作被記錄下來,並通過應用截圖在 Storyboard 格式中可視化。RFT的另一個有趣特性是它與IBM Jazz應用生命周期管理系統(如IBM Rational Team Concert和Rational Quality Manager)的集成。
2、kylinTOP:這是一款國產的自動化測試工具,支持WEB和APP的自動化測試,其中元素智能定位是這款自動化軟體主要特點,是設計理念比較超前的測試工具,算是國內眾多自動化測試工具中,做的比較突出的一款。與傳統的RFT和UFT相比,的確有過人之處,算是後起之秀,使用起來,簡單高效、穩定。這樣描述估計也沒幾個人能體會到的。說白一點就是一個人可以干三個人的活,使用者只需關注業務即可。
3、UFT:UFT(別名:QuickTest Professional簡稱QTP)是一種自動化測試工具,以VBScirpt為內嵌語言,其前身是QTP。UFT支持功能測試和回歸測試自動化,可用於軟體應用程序和環境的測試。UFT自動化測試的基本功能包括:創建測試、檢驗數據、增強測試、運行測試腳本、分析測試結果、維護測試;UFT支持兩種視圖,一種是Keyword View(關鍵字視圖),另一種是Expert View(專家視圖)。是一款老牌的自動化測試工具。
4、SilkTest:這個也是比較相對著名的工具,不過同樣還是沒有了解過,對於商業的工具,因為其佔地面積大,還要破解等麻煩事,最關鍵的是使用的公司少,所以只使用過QTP,其它的一概未了解過
開源工具:1、Selenium:這個應該大多數人都知道的,現在也是大多數互聯網公司在使用的測試框架;selenium僅支持web的UI級別測試,但是其優點在於:a、支持多種語言編寫測試腳本,比如:java、python、ruby、perl等;同時也就意味著其後的支持類庫也是很多的b、支持多瀏覽器,如:ie,ff,safari、chrome等c、支持多平台,如:windows、linux、MAC、android、iphone等d、支持分布式執行,一套測試用例可以同時分布到不同的測試機上執行,而且還可以進行任務細化,比如:針對liunx執行系統只分配linux下需要執行的用例此外還有錄制工具支持,簡單也說,web類測試基本上是首選,不過對flash的支持好像不是太好其主要分2個版本,1.X版本是以js驅動來進行自動化實現的;2.X重新開發了webdriver來代替js驅動,直接調用瀏覽器底層介面來完成自動化實現的前提:如果使用remote或者RC功能,需安裝jre下載地址:http://seleniumhq.org/download/
2、EFT【easy function testing】:這個是在.net3.0 的UIAutomatuon的基礎上封裝的一個dll文件,同樣還封裝了部分windows api以實現滑鼠和鍵盤事件。所以這個只能叫測試類庫,且僅支持windows程序,而且同樣支持uiautomain所支持的WPF程序的測試。前提:安裝了.net3.0使用:引入該文件,uiautomation 相關dll,VS環境下編寫測試用例
3、UIAutomation:這個是微軟提供的UI自動化框架,當然它的初衷並不僅僅是為自動化測試而產生的,它的任務是給更多的開發或者應用去調用windows的UI控制項,不過還是可以用於自動化測試的;因為之前微軟就有類似的工具,而這個是重新設計的ui操作類框架,其目的是為了兼容支持windows系列操作系統的UI自動化操作【xp,vista,server2003】,還有就是天然支持WPF。當然其設計與通常的自動化工具就不一樣了,比如:沒有把控制項支持的方法綁定在控制項對象本身,沒有提供專門的滑鼠/鍵盤事件,但是卻提供了特定控制項對象的事件響應監聽及處理方法的定製。其工作流程大概是這樣的:a、先獲取特定的元素對象,有多種方法。如:句柄,屬性值b、獲取這個元素對象的模式。模式是這個框架的設計的獨具之處,成就了它的靈活性,統一性c、通過這個模式在進行具體的方法調用,屬性值獲取等d、監聽指定對象的特定事件,一旦發生則執行指定的事件處理函數
4、Robot FrameworkRobot Framework是一個完全基於關鍵字測試驅動的框架,它即能夠基於它的一定規則,導入你需要的測試庫(例如:其集成了selenium的測試庫,即可以理解為操作web控制項的測試底層庫),然後基於這些測試庫,你能應用HTML、TXT等文檔形式編寫自己的關鍵字(這些關鍵字即你的庫組成),之後,再編寫測試用例(測試用例由測試關鍵字組成)進行測試。例如:一個簡單的登陸測試由:登陸+輸入密碼+登出三個關鍵字組成,也可以由一個關鍵字登陸組成,關鍵字顆粒的大小可以自行定製。
⑥ mysql一般用什麼管理工具
1. Inction
Inction是一款用於理解數據關系的開源管理工具,它可用來探索行/列,運行查詢和數據可視化等方面。該工具支持多種資料庫,包括PostgreSQL,MySQL,SQLite,Redis以及MongoDB。此外,Inction還可以通過編寫添加其他新的適配器。
2. Pinba
Pinba 是一種MySQL存儲引擎,用於PHP實時監控和數據伺服器的MySQL只讀介面。它整理並處理通過UDP發送的數據,並以可讀的簡單報告的形式統計顯示多個PHP進程。為了獲取下一代更為復雜的報告和統計數據,Pinba提供了原始數據的只讀介面。
3. DB Ninja
DbNinja是一款先進的基於Web的MySQL資料庫管理與開發應用程序。它是遠程訪問託管伺服器的必然之選。DbNinja支持所有最新的功能,包括觸發器、事件、視圖、存儲過程和外鍵等。此外,它還可以導入和備份數據、MySQL對象結構以及管理用戶等。DbNinj的用戶界面功能完備且清新美觀,可安全地運用於任何瀏覽器及任何操作系統中。
4. DB Tools Manager
DBManager是一款功能強大的數據管理應用程序。作為最先進的應用程序,DBManager內置支持MySQL、PostgreSQL、Interbase/Firebird、 SQLite,DBF表、MSAccess,MSSQL伺服器,Sybase,Oracle和ODBC資料庫引擎等一些新特性。DBManager目前擁有個人和企業兩個版本,用戶可按需選擇使用。
5. Dbeaver
DBeaver是一款免費的資料庫管理應用程序,可運用於多種不同的引擎,包括MySQL,MSSQL,Oracle、SQLite、Sybase和Firebird等等。由Java編寫而成,該應用程序適用於所有主流操作系統(Windows、Mac和Linux)。它能處理包括元數據編輯(表、列、鍵、索引)、自定義SQL執行、用戶管理、多連接等在內的所有主要任務。
6. SqlWave
SQLWave是一種簡單、快速且易用的MySQL客戶端。用戶可通過該工具輕松地連接到遠程主機。SqlWave支持所有MySQL的最新版本,包括它用來管理資料庫結構的所有最新功能,如工作表、視圖、存儲過程、函數、事件、外鍵和觸發器等。
7. MyWebSQL
MyWebSQL主要用於管理基於Web的MySQL資料庫。與桌面應用程序的借口工作流程相似,用戶無需切換網頁即可完成一些簡單的操作。如果您正在操作桌面,只用登資料庫,就可以管理您的資料庫了。
8. Navicat
Navicat是MySQL和MariaDB資料庫管理與開發理想的解決方案。它可同時在一個應用程序上連接MySQL和MariaDB資料庫。這種兼容前端為資料庫提供了一個直觀而強大的圖形界面管理、開發和維護功能,為初級MySQL和MariaDB開發人員和專業開發人員都提供了一組全面的開發工具。
9. SQLyog
SQLyog是一款功能最強大的MySQL管理工具,它綜合了MySQL工作台、php MyAdmin和其他MySQL前端及MySQL GUI工具的特點。該款應用程序可以同時連接任意數量級的MySQL伺服器,用於測試和生產。所有流程僅需登錄MySQL root以收集數據,用戶無需安裝在MySQL伺服器上。
10. Sequel Pro
Sequel Pro是基於MySQL資料庫的一種快速易用的Mac資料庫管理應用程序。用戶可通過Sequel Pro在本地和遠程伺服器上直接訪問MySQL資料庫。不過,Sequel Pro的最新版本開始添加全屏支持內置。
11. HeidiSQL
HeidiSQL是一種專為web開發人員設計的有用且可靠的工具,可用於當前最受歡迎的MySQL伺服器,微軟SQL資料庫和PostgreSQL。該工具可提供瀏覽和編輯數據、創建和編輯表格、視圖、過程、觸發器和日誌安排等事件。此外,您還可以導出結構和數據至SQL文件、剪貼板或其他伺服器。
12. MyDB Studio
MyDB Studio是一款免費的MySQL資料庫管理器應用程序。該工具強大到您幾乎可以獲取到任何想要的功能,並能夠連接到無限量級的資料庫。通過創建、編輯或刪除資料庫、表格和記錄,就可以備份/恢復並導出為多個格式。
13. SQL Lite Manger
SQL Lite Manager是一款基於web的開源應用程序,用於管理無伺服器、零配置SQL Lite資料庫。該程序是用PHP寫成,除了記錄和應用表格格上的每一步操作,還可以控制多個資料庫。SQL Lite Manager可用於查詢數據,將MySQL查詢轉化為兼容SQL Lite資料庫,並能創建和編輯觸發器。SQL Lite Manager有多種皮膚選項,是一個含現成語言文件的多語言資源。
14. Database Master
Database Master是一個現代的、強大的、直觀且易用的資料庫管理程序。它以一個一致而現代的界面適用於MongoDB、MySQL、PostgreSQL、FireBird、 SQL Lite、MS SQL Server、SQL Azure、Oracle、IBM DB2、IBM Informix、Netezza、Ingres以及EffiProz等資料庫。Database Master簡化了管理、查詢、編輯、可視化、設計和報告資料庫系統。用戶可以通過ODBC與OleDB連接任何資料庫系統,也可以訪問MS Access,MS FoxPro Database、Dbase和XML文件。
15. Chive
Chive由PHP搭建而成,是一款基於web的開源MySQL管理應用程序。此款應用程式有一個內置的編輯器,當運行復雜的查詢或易用的界面時,可用於快速瀏覽。
⑦ 數據可視化的工具有哪些
開門見山,不說廢話!Hightopo是由廈門圖撲軟體科技有限公司獨立自主研發,專注於2D和3D 圖形界面組件數據可視化領域,用戶遍及電信、電力、政府、交通、水利、公安、國防、醫療、金融、科研等行業。提供從 SDK 的 API 組件庫到行業圖標和三維模型資源庫,構成了一站式的數據可視化解決方案。
建立1:1高保真模擬,通過數字工廠三維場景為基礎,展現礦業各個生產廠區的建設、運行情況、安全配備以及注意事項,達到逼真震撼的視覺效果。
可以構建現代化的,跨桌面和移動終端的企業應用,無需擔憂跨平台兼容性,及觸屏手勢交互等棘手問題。
⑧ 大數據可視化工具哪個做出來最漂亮
經研究表明,人類大腦對視覺信息的處理優於對文本的處理。因此,數據可視化是使用圖表、圖形和設計元素把數據進行可視化,把相對復雜、抽象的數據通過可視的方式以人們更易理解的形式展示出來的一系列手段。數據可視化可以使人們更有效率地完成某些任務,我們可以理解為三點優勢:
>美觀展示:用數據展示企業特色,大會展台,媒體現場展示等
>數據驅動:實時查看業務概況、監控預警、驅動內部快速響應
>發掘價值:可視化數據呈現後,帶來的視覺感受會幫助人發現新的因素
在圖撲軟體(Hightopo,以下簡稱 HT )技術支持下,數據可視化除了「可視」,還有可交流、可互動的特點。設計帶來的不僅是瞬息處理海量數據搭配酷炫的可視化樣式所引起的視覺震撼,更應注重為業務需求服務,設計出符合不同行業需求的個性定製可視化,利於企業做出正確的商業決策,以有根據的數據呈現而幫助企業進行更科學的判斷而避免決策的失誤。
圖撲軟體(Hightopo)
農業可視化案例嘗試了 low poly 風格,以簡潔插畫風與略抽象畫的模型濃縮了農業的運作場景,色調以貼近植物的綠色為主,設計出可愛的動畫風格可視化效果。
同時在設計時因為使用的設備不同,大屏有它自己獨特的解析度、屏幕組成、色彩顯示以及運行、展示環境,這里的很多問題只有設計稿投到大屏上才能夠被發現,所以這一步在樣圖溝通確認環節非常重要,有時候需要開發出demo,反復測試多次來修改協調最終上屏效果。在測試時從設計上可以重點注重以下幾點:
之前確立的布局在放入設計內容後是否依然合適
確立的圖表類型帶入數據後是否仍然客觀准確
根據關鍵元素、色彩、結構、質感打造出的頁面風格是否基本傳達出了預期的氛圍和感受
已有的樣式、數據內容、動效等在開發實現方面是否存在問題
大屏是否存在色差、文字內容是否清晰可見、頁面是否存在變形拉伸等現象