Visio2010建立ER圖並直接匯出為SQL語句
建立資料庫時我們需要考慮資料之間的關係,為了理清資料之間的關係我們需要對資料進行統一的整理。對於較複雜的資料庫我們需要建立資料庫模型,具體可分為兩步:首先對資料庫進行結構分析並使用樹、表等描述資料,然後分析資料庫的操作方法,規定資料庫的增刪改查操作,這兩個步驟就構成了我們通常所說的資料庫模型。
資料庫模型有多重分類,通常所說的ER圖是圖模型,除此之外還有層次模型、網狀模型、關係模型等。這其中比較簡單的當數ER圖,也稱實體-聯絡圖(Entity RelationshipDiagram),它提供了表示實體型別、屬性和聯絡的方法,用來描述現實世界的概念模型。一般的ER圖畫法是採用圓、正方形、菱形來描述實體及他們之間的關係,這三者在圖中分別代表了屬性、實體、聯絡,如下圖為一般ER圖。
對ER圖進行建模時提倡使用PowerDesigner(功能強大,形式多樣),因為PowerDesigner能夠直接將ER圖匯出為T-SQL程式碼。PowerDesigner能夠做到Visio就不能嗎?其實Visio本身沒有太大的毛病,而且操作簡單,但是功能相對較少和其他開發程式互動較弱。
一、Visio繪製ER圖
1、Visio繪製一般的ER圖
Visio沒有提供專門的模板來繪製一般的ER圖,有一種比較折中的辦法:先在“更多形狀”-->“流程圖”-->“基本流程圖”中找到長方形和菱形,分別右鍵“新增到我的形狀”-->“新增到新模具”
新增完成後,我們就可以在畫ER圖時開啟該模具(檔案->形狀->開啟模具),ER圖所有的元素都會在一個模具中顯示出來了。
2、用Visio自帶的資料庫模型模型圖畫ER圖
Visio提供了兩種形式繪製ER圖,一種是通過資料庫選項卡內的反向工程,它通過Visio和其他資料庫驅動器進行互動,將已有的資料庫架構轉換為ER圖;另一種是通過圖形工具自己建立ER圖。下面以一個收費系統的資料庫的ER圖為例,為大家介紹visio繪製ER圖的方法。
開啟Visio後選擇“檔案”-->“新建”-->“軟體和資料庫”,然後雙擊建立資料庫模型圖。建立後的控制面板左邊分別有三個針對資料庫ER模型的七個專用工具,最常用的是最上面的兩個分別代表了資料庫表及外來鍵關係。操作簡單在使用時只需將實體拖到頁面上,隨後會在下面出現數據庫屬性,在其中新增或修改資料表的一些屬性。
可以通過更改實體的屬性進行增加列、設定列資料型別、設定主鍵等功能。下圖建立了一個名為T_Admin的實體,主鍵為chSerial。
提示:如果想實體圖顯示實體的資料型別,可以通過資料庫----管理----顯示選項----表----資料型別---顯示物理的,進行設定
。
實體間的關係,在visio中有兩種表示表示方法;分別為下圖所示:
visio預設為第一種形式,箭頭的指向為實體的父表。可以通過資料庫----管理----顯示選項----文件----同時選中關係和魚尾紋進行設定改變為第二種顯示方式。
使用關係連線線連線後,會自動生成外來鍵。生成的外來鍵會在從表中自動建立父表中的主鍵列,可通過“資料庫屬性”----“定義”----選中兩表中相互關聯的列----“斷開連線”來斷開列,同樣也可以使用該方法來連線兩表中的列作為外來鍵。效果圖如下圖所示:
使用Visio畫的ER圖基本的操作步驟已介紹完畢,在使用Visio建模時一定要細心,在畫圖前期一定要分析好每個實體及實體屬性的命名規範。
上面的方法是通過使用圖形工具來自己建立ER圖,另外一種方法是通過“資料庫”----“反響工程”自動生成某個資料庫的ER圖,操作簡單、方便,建議大家使用下並和自己建立的ER圖進行比較來糾正自己的使用誤區。
二、Visio資料庫模型圖匯出成SQL指令碼
Visio沒有提供直接的匯出方法,想要將畫好的ER圖匯出為SQL指令碼只依賴Visio是遠遠不夠的,而要使用其他工具。一種方法是使用Visio的匯入/匯出功能,將模型圖匯出為ERwin檔案,然後使用PowerDesigner或者ERwin開啟,最後轉換為SQL即可,但是這種方法在Visio2010中已不存在,Visio2010不支援將ER圖匯出為ERwin格式,只支援匯入。這就需要我們的第二種方法。
另外一種方法是使用OrthogonalToolBox小工具,它是專門負責VisioER轉出的小工具,這個工具會通過XSLT模板來產生對應的SQLScript。
使用方法:
2.把下載下來的xslt文件Copy到:C:\Program Files(X86)\OrthogonalSoftware Corporation\Orthogonal Toolbox\StyleSheets;
3.若在Visio工具列沒有看到OrthogonalToolbox,在目前的工具列上檢視 - 工具列 – OrthogonalToolbox 打勾,便可看到;
4. 選擇“載入項”-->“OrthogonalToolbox”-->選中需要匯出的ER圖-->“Export XML”-->選中Set StyleSheet-->並選中OTERtoSQL.xslt模板
5.按下 Export會產生一個xml檔案,使用IE開啟該XML檔案即可看見我們建立資料庫的SQL指令碼。
有問題就會有解決方法,我們需要耐心去找到它,有時幾分鐘,有時甚至幾小時又或者幾天,解決問題的關鍵在於是否有耐心,在這個過程中學到的知識比結果更重要。
相關推薦
Visio2010建立ER圖並直接匯出為SQL語句
建立資料庫時我們需要考慮資料之間的關係,為了理清資料之間的關係我們需要對資料進行統一的整理。對於較複雜的資料庫我們需要建立資料庫模型,具體可分為兩步:首先對資料庫進行結構分析並使用樹、表等描述資料,然後分析資料庫的操作方法,規定資料庫的增刪改查操作,這兩個步
頁面直接匯出為PDF檔案,支援分頁與頁邊距
將WEB頁面直接匯出為pdf檔案是經常會用到的一個功能,尤其是各種報表系統。總結了一下目前幾種主流的做法: 在後端用程式碼生成pdf檔案,比如iText一類; 在後端抓取頁面並生成pdf檔案,比如phantomjs一類; 在前端用js直接生成pdf檔案; 方案3的優勢在於前端直接
Java建立單鏈表並直接選擇排序輸出
RT 寫Java也一年左右了,第一次用Java寫單鏈表。。。 廢話少說,程式碼如下: import java.util.Scanner; public class Exp1 { public s
PCL1.8建立深度圖並儲存成png格式圖片程式碼(生成深度圖的原理一般就是透視投影或者正交投影)
PCL建立深度圖(官網有建立深度圖例子)並儲存成png格式圖片: 主要程式碼: //①以下生成點雲cloud2在某個角度下的深度圖 float angularResolution = (float)(1.0f * (M_PI / 180.0f)); // 1.0 de
PHP建立MySQL並引入後執行sql語句
一:建立sql.php檔案 <?php function sqlMethod($sql){ $servername = "localhost"; $username = "root"; $password = "root";// 建立連線 $conn = mysqli_con
C# 讀取指定文件夾中的全部文件,並按規則生成SQL語句!
fun .text line -m ava inf hid 語句 ade 本實例的目的在於: 1 了解怎樣遍歷指定文件夾中的全部文件 2 控制臺怎樣輸入和輸出數據 代碼: using System; using System.IO; nam
將excel表格數據轉換為sql語句
name value 表格 當前 type 懸停 csv 填充 單元格 今天剛從經理那學到的,迫不及待寫下來,以後肯定用得上 1.首先是將excel文件另存為csv格式文件 2.在當前行的最後新增一列,輸入下面函數(其中表字段因人而異) =CONCATENATE(
mysql 遍歷所有的庫並根據表和sql語句備份
建庫、使用者語句 create database test_hb; create user ' test_hb'@'%' identified by '123456'; grant all privileges on test_hb.* to ' test_hb'@'%'; grant a
.net mvc3 直接執行oracle sql語句
備忘錄1) SQL語句查詢實體var members = crmDB.Members.SqlQuery( "select * from Member").ToList();2) SQL語句查詢非實體型別注意不要把型別指定錯了,這裡返回的一
Excel資料轉換為Sql語句
開啟使用者提供的excel資料,滑鼠定位到第一行資料的最後一個單元格(這裡是F2單元格), 輸入="",在雙引號裡面寫入INSERT語句指令碼,這裡舉例oracle語句的insert into語句,格式如 INSERT INTO USER(USER_CODE,USER_NAME,USER_T
Java將檔案中的內容轉換為sql語句(和併發定時讀取檔案)
資料檔案內容data.txt {USER_TYPE=1,CREATE_USER=ZHANG,UPDATE_USER=li,OPER_NUM=D001,SRC=2,UPDATE_TIME=2018-11-11 18:08:08.0,TABLE_NUM=T17,OPTIONS=FIND,
利用EXCEL將多列多行資料轉換為SQL語句【新增、刪除、修改同理】
語句如下: 按照下列標識進行替換,該語句可以快速生成對應資料的SQL插入語句,批量刪除,批量修改同理! =CONCATENATE("INSERT INTO 【表名】(【欄位名A】,【欄位名B】) V
react-native-android-unity(二)建立unity專案,並匯出為android程式碼包,嵌入android專案中
1.建立unity專案 給Main Camera新增指令碼Android,使用C#開發,指令碼內容如下: using System.Collections; using System.Colle
Unity動態建立的Mesh,匯出為Obj模型檔案,並生成Prefab檔案
Unity執行時,動態建立的Mesh掛載到MeshFilter元件上,並不能儲存到本地Prefab檔案裡。在執行的場景裡,拖拽正確配置的MeshFilter物件到Unity資源管理器。生成的Prefab檔案,裡面的Mesh物件會missing。所以,我們需要在執行狀態,匯
C#建立數字證書並匯出為pfx,並使用pfx進行非對稱加解密
我的專案當中,考慮到安全性,需要為每個客戶端分發一個數字證書,同時使用數字證書中的公私鑰來進行資料的加解密。為了完成這個安全模組,特寫了如下一個DEMO程式,該DEMO程式包含的功能有: 1:呼叫.NET2.0的MAKECERT建立含有私鑰的數字證書,並存儲到個人證書區;
Unity3D 動態建立的Mesh,匯出為Obj模型檔案,並生成Prefab檔案
Unity執行時,動態建立的Mesh掛載到MeshFilter元件上,並不能儲存到本地Prefab檔案裡。在執行的場景裡,拖拽正確配置的MeshFilter物件到Unity資源管理器。生成的Prefab檔案,裡面的Mesh物件會missing。所以,我們需要在執行狀態,匯出
AWS EC2例項Linux系統建立root使用者並更改為root使用者登入
對於剛建立AWS EC2例項,或者經常使用AWS 例項的小夥伴們來說,剛建立的EC2例項是沒有ROOT許可權的,因此不能直接使用ROOT使用者去登陸例項,也無法獲取到root許可權。一般情況下,EC2例項預設是以ec2-user為使用者名稱去登陸的(除了Ubuntu系統例項,它的預設使用者名稱是ubunt
介面的表格匯出為excel,並下載
最近,公司做了一個介面上的表格匯出為excel並下載的一個功能.下面將具體的做法記錄一下,以便後面複習. 首先先說一下需求 一.介面上有一個表格: 就上面這個表格,我是寫死的,要在介面上方有一個按鈕,匯出並下載的功能,上圖中我還沒有整理,見諒. 二.先做匯出,我用
JS前端建立html或json檔案並瀏覽器匯出下載
https://www.zhangxinxu.com/wordpress/2017/07/js-text-string-download-as-html-json-file/ 侵刪 一、HTML與檔案下載 如果希望在前端側直接觸發某些資源的下載,最方便快捷的方法就是使用HT
LINUX 新增的磁碟不建立分割槽,直接建立檔案系統並掛載怎麼辦?
LINUX下新增的磁碟不建立分割槽,直接建立檔案系統並掛載: 不是都要先使用FDISK進行分割槽的麼?怎麼直接跳過了這步,直接建立檔案系統,並掛載了呢? 解決方法: 假設新硬碟是 /dev/sdcfdisk操作的是/dev/sdc ,分割槽後才會有/dev/sdc1 /