關於SqlServer那些事1(迴歸基礎)
即將實習,迴歸基礎總結,希望可以再好好打磨一下基礎的一些東西
關於如何在重新修改表結構時該變其許可權設定
步驟:
- 點選工具
- 進入選項
- 設計器
- 取消勾選阻止儲存要求重新建立表的更改
關於建立建立資料庫以及資料庫檔案(.mdf)和日誌檔案(.ldf)
建立資料庫有“有很笨的”方法就是不寫指令碼自動建立,右鍵建立資料庫,點選新建資料庫,就會出現如下示例圖:
講講mdf和ldf的理解吧!
mdf也就是資料庫主檔案,主要是對處理一些業務資料,它是存放在硬盤裡的,如你所見你可以去設定它的一個初始化的值(5MB),也可以檢視它建立後儲存的路徑
ldf也就是日誌檔案,通俗地講就是會記錄使用者什麼時間,做了什麼操作,誰在操作等進行一系列的記錄和儲存,比如說資料庫檔案的建立時間或者是使用者登入資料庫的時間等等
對了,需要注意的一點是,對於mdf和ldf兩個檔案最好都儲存在同一個資料夾路徑,本質上來說就算存放在不同資料夾在做資料庫附加時也不會受到影響,但是這樣想想儲存在不同資料夾是極不容易後期維護和檢視的!
關於資料庫分離
如果你想將資料庫檔案和日誌檔案進行打包或者複製到其他碟符,你也可以對它進行資料庫的分離操作
步驟:
- 右鍵準備分離的資料庫
- 任務
- 分離
- 確定
為什麼要勾選刪除連線,可能準備分離的資料庫此時處於執行狀態也就是和資料庫保持連線的狀態,需要刪除連線操作然後進行分離,不然可能會出現操作失誤等報錯
分離完成後,可以去存放資料庫主檔案的資料夾檢視已被分離出來的檔案,此時已完成資料庫分離操作!
關於資料庫附加
所謂附加就是將分離出來的資料庫檔案重新再連線,進而保證資料庫業務邏輯和成績的表結構資料在分離後不會丟失。
步驟:
- 右鍵資料庫
- 附加
- 新增
選擇你剛剛分離出來的資料庫檔案(這裡主要是附加mdf檔案)
但是在附加的過程中,你可能會出現類似這樣的報錯資訊:“作業系統錯誤,拒絕訪問...”,不要心急這種問題可能是伺服器對於附加的資料庫檔案沒有許可權
解決方案:
找到對應的準備附加的資料庫資料夾,右鍵屬性—》安全—》編輯—》新增(新增你自己命名的即可)—》勾選完全控制即可
其實還有一種辦法就是在不分離資料庫的情況下進行mdf的拷貝操作,那就是進行離線處理。其實離線原理也就是脫離資料庫的連線,等完成之後進行聯機即可
關於建立新的資料庫使用者
- 安全性
- 登入名
- 右鍵新建登入名
- 選擇SqlServer身份驗證
- 取消勾選強制密碼實施策略
注意:切勿對系統資料庫進行修改或者是其他違規操作,不然很可能會導致資料庫系統奔潰的
關於採用自寫指令碼建立資料庫
以上第一建立資料庫的方式,作為小白初次可以這樣去建立,但是個人覺得最好一次都不要嘗試,個人覺得也比較low,知道有這種建立方式就好了!
go:你可以理解成分批次執行SQL
--首先判斷資料庫是否已經存在 if exists(select * from Sysdatabases where name ='mydb') --存在就刪除 drop database mydb --執行完畢 go --建立資料庫 create database mydb go --使用資料庫 use mydb go
對了,使用以上指令碼建立資料庫僅僅限於開發環境下使用!!!不然可能會導致不明所以的資料庫丟失,等同於刪庫!!!
關於資料的三種完整性約束
域完整性:某個欄位的資料合法性約束(check約束、限制資料型別)
實體完整性:某一資料列的資料合法性約束
引用完整性:表與表之間引用是否合法的合法性約束(主鍵約束、唯一約束、主外來鍵,一對一、一對多、多對多、分清楚誰是主表誰是從表!)
唯一約束(可null,null也是資料)、主鍵約束(唯一,不為null)、標識列(這一列的資料可自增、可設定起始的數值)
標識列:現有10條資料,刪除後7條,存在1,2,3工3條資料,這樣再去重新自增,這個時候標識列的起始值就從10開始一直加,假設自增值為1,這樣就不會出現重複!
以上就是對SqlServer基礎的一些總結,希望今年的實習階段能夠順利,加油!!!