sql關係數據庫表的創建

學會sql數據庫關係圖
2012-08-14 0 個評論 收藏 我要投稿

學會sql數據庫關係圖

很久以前就知道微軟的Petshop的很經典,昨天抽出時間去學習,一開始還真的不適應,什麼成員資格,還真的看不太懂,運行petshop想從登陸學起,但是用戶名和密碼都不知道,後來發現有更註冊的頁面,自己註冊了一個頁面,才發現還得從數據庫出發。花了這麼多時間最終還是回到了數據庫,但是數據庫中一張一張的表格找不到腳本,也不是自己設計的數據庫,完全沒有一點頭緒,後來突然想起來sql有個數據庫關係圖,可以很快的適合數據庫程序員很快的掌握數據庫表之間的關係。於是開始了我的百度之旅,關於數據庫的關係圖的文章還真的很少,於是我開始根據petshop,然後建立數據庫關係圖,開始掌握數據庫關係圖。我點擊MSPetShop4Services這個數據庫,存放着用戶的信息。但是原版的是沒有數據庫關係圖。 www.2cto.com

  首先我們自己動手來新建一張數據庫關係圖吧,找到相應的數據庫(圖1),在第一行中有個數據庫關係圖,我們右擊選擇新建數據庫關係圖(N),如圖2:

這裏寫圖片描述      (圖1)
 這裏寫圖片描述      (圖2)
  這個時候會跳出一個添加表對話框,這裏我們可以選擇我們想要的表,如果想要全部選中,則這樣操作,先鼠標點重第一個然後按住shift+鼠標點重最後一個,來完成操作。最後表格位子整理一下,然後ctrl+s保存一下,數據關係圖的名字,那麼數據庫關係圖基本建立好了。接下來就是分析了。
這裏寫圖片描述
   
(添加表對話框圖)  
  這裏寫圖片描述                      (選中表對話框圖)
www.2cto.com

這裏寫圖片描述
  整個MSPetShop4Services數據庫的關係圖。整個這幅圖,是不是看着一張一張的表格瞭解表之間的關係舒服多了,當然我們還是要看懂整個表的意思,首先最上面的是表名,下面的都是字段,有些字段左邊有個鑰匙,那是主鍵的意思。在表之間有個線連着就說明這兩個表之間存在主鍵和外鍵的關係,其中一半都有鑰匙的指的是主鍵,一個無窮大的符號表示的外鍵。但是不知道細心的朋友有沒有發現一個問題,比如說aspnet_Paths和aspnet_PersonalizationAllUsers表之間的線的兩端都是鑰匙的,我也找了很久資料沒有找到,於是自己寫代碼測試了,到底是什麼意思。
通過自己的代碼瞭解圖中線的含義:
我自己定義是一個學生選課的關係圖:
sql腳本代碼如下:

CREATE TABLE Student
(
[Sid] INT NOT NULL PRIMARY KEY, –學生編號
SNAme VARCHAR(10)   NOT NULL –學生姓名
)

CREATE TABLE Course(
[Cid] INT NOT NULL PRIMARY KEY, –課程編號
CName VARCHAR(10) NOT NULL –課程名
)

CREATE TABLE SC(
[Sid] INT NOT NULL,
[Cid] INT NOT NULL,
Grade INT NOT NULL, –成績
FOREIGN KEY([SID]) REFERENCES Student2([Sid]),
FOREIGN KEY([CID]) REFERENCES Course2([Cid])
) www.2cto.com

  出來的關係圖如下:
這裏寫圖片描述

  這個數據圖是我們知道的主鍵外鍵的關係,也是符合我們思維的。
  接着我在代碼裏面改了一行代碼,圖就變調了,代碼如下:

CREATE TABLE Student2
(
[Sid] INT NOT NULL PRIMARY KEY, –學生編號
SNAme VARCHAR(10) NOT NULL –學生姓名
)

CREATE TABLE Course2(
[Cid] INT NOT NULL PRIMARY KEY, –課程編號
CName VARCHAR(10)      NOT NULL      –課程名
)

CREATE TABLE SC2(
[Sid] INT NOT NULL PRIMARY KEY,
[Cid] INT NOT NULL,
Grade INT NOT NULL, –成績
FOREIGN KEY([SID]) REFERENCES Student2([Sid]),
FOREIGN KEY([CID]) REFERENCES Course2([Cid])
) www.2cto.com
  對應的關係圖如下:
這裏寫圖片描述

  我相信你們看到了吧,兩個鑰匙的線段。好了那我們應該瞭解了吧,我們可以得出這樣的結論,如果一個表中是主鍵,而另一個表中卻是普通的字段,那顯示的效果是一個鑰匙一個無窮大,鑰匙指向主鍵,無窮大指向外鍵,但是當外鍵在另一張表中也作爲主鍵,那此時無窮大也變爲了鑰匙。此時我們不能看線了。那要怎麼分析主鍵和外鍵呢?別急往下看。這裏介紹兩個方法,第一個比較簡答,我們把鼠標放到這個線上面,他會跳出一行提示,在前面的表名是主鍵,後面的是外鍵,最後的是關係的名字(這個是我自己看錶得出的結論),還有一個方法,但是我們事先也要用這個方法,知道這個關係的名字,然後點擊兩個表中隨便的哪一張表,右擊選擇關係,找到相應的關係名,然後選擇右邊的表和列規範,裏面就寫明瞭主外鍵的關係了。好了就寫到這裏了。
  總結:
  遇到難的我們先不要怕,從最基本的做起,也可以自己建立測試數據來驗證遇到的新的知識。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章