iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
SideProject30

30天挑戰:從無到有,使用Vue.js和.NET建立一個Web登入系統系列 第 6

Day 6:環境篇 - 如何將.NET專案與SQL Server資料庫做連接 (上)

  • 分享至 

  • xImage
  •  

本篇重點:

  1. SQL Server如何新增資料庫
  2. SQL Server如何新增資料表
  3. UUID也具有唯一性,那為什麼不使用UUID當主KEY?(ID vs UUID)

在和.NET專案做連接前,我們需要在SQL Server中建立資料庫&資料表,這樣後續才能判斷是否有連接成功

1. SQL Server如何新增資料庫

在SQL Server SSMS中,點擊上方的「新增查詢(N)」,就會出現輸入SQL語法的視窗
https://ithelp.ithome.com.tw/upload/images/20230921/20141088q3VTZbFtKg.png

新增資料庫的語法為:Create database <欲建立的資料庫>,這裡我們的示範資料庫名稱為「VueNet」,所以我們就輸入Create database VueNet,並選取起來點擊「執行」,就會看到下方訊息顯示:「命令已成功完成」
https://ithelp.ithome.com.tw/upload/images/20230921/20141088l63pQNATMn.png

在左邊SQL Server的物件總管,就會看到資料庫Floder底下多了一個叫「VueNet」的資料庫
https://ithelp.ithome.com.tw/upload/images/20230921/201410883TwNtcm3BF.png

2. SQL Server如何新增資料表

那我們現在要將資料表新增在VueNet資料庫,所以要將操作SQL語法的環境,換成在VueNet資料庫底下
https://ithelp.ithome.com.tw/upload/images/20230921/20141088YjhGOc6D8e.png

SQL語法的新增資料表基本語法如下,只要照著格式改就可以新增資料表囉

-- 新增資料表的基本語法樣式
CREATE TABLE Stu
(
    column1_name type1,
    column2_name type2,
    .
    .
);

那因為我們要實作登入畫面,所以我們就新增一張名叫「UserProfile」的表,但我有多加上其他設定,譬如哪些欄位是主Key、值不能為空、數字自動往上加

Create table UserProfile (
	Id int IDENTITY(1,1) not null, --將ID設成自動遞增數值,且不得為空
	Username varchar(100) not null, --Username不得為空
	Uuid varchar(100) not null, --Uuid不得為空
	Phone varchar(100),
	Email varchar(100),
	Password nvarchar(256) not null, --Password不得為空
	Create_At datetime2,
	Update_At datetime2,
	primary key (id)  --將ID設為主KEY
)
  • ID:該資料庫的主KEY,使用IDENTITY(1,1),表示從1開始每次遞增1
    • IDENTITY:是一個在SQL語法中用於生成「自動遞增數值」的屬性,每次插入新資料時,該列的值就會自動增加,此值只會出現一次,不會重複,具有唯一性(就算前面有資料被刪除,也是繼續往後加)
  • UUID:是一種用於存儲全球唯一標識符的數據類型,它具有足夠的唯一性,以在分布式系統中保持每個實體的唯一識別

操作畫面如下:
https://ithelp.ithome.com.tw/upload/images/20230921/20141088mpLotjsn18.png

3. 題外話:UUID也具有唯一性,那為什麼不使用UUID當主KEY?

ID通常是整數或長整數,而UUID是128位的二進制數,通常以32個字符的16進制表示法呈現,長度較ID長。如果將UUID用作主鍵,則每個表都具有相對較大的索引,在規模較大的資料表裡,會對性能產生一些影響,可讀性上較差,所以我才會選擇ID當主KEY

那在執行完上面的SQL語法後,在左邊SQL Server的物件總管,「VueNet>資料表」底下會多了一個叫「UserProfile」的資料表
https://ithelp.ithome.com.tw/upload/images/20230921/20141088XkisCNzbYY.png

對它點擊右鍵,選擇「設計(G)」,就可以看到我們剛剛設定的資料類型&欄位囉
https://ithelp.ithome.com.tw/upload/images/20230921/20141088HCsN3s8yJF.png

如果在操作上有任何問題,都歡迎在下方留言提出喔!


上一篇
Day 5:環境篇 - 將SQL Server從Windows驗證改為SQL Server驗證
下一篇
Day 7:環境篇 - 如何將.NET專案與SQL Server資料庫做連接 (下)
系列文
30天挑戰:從無到有,使用Vue.js和.NET建立一個Web登入系統19
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言