自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

數(shù)據(jù)庫的創(chuàng)建、修改和刪除

數(shù)據(jù)庫
數(shù)據(jù)庫在當(dāng)代社會可以說是必不可少的,數(shù)據(jù)庫的出現(xiàn)為社會的發(fā)展進(jìn)步起到了推動的作用。那么掌握好數(shù)據(jù)庫的創(chuàng)建、修改和刪除就是一門人人都需要知道的知識,下面我將帶領(lǐng)大家一起去探索數(shù)據(jù)庫的奧秘。

導(dǎo)讀:數(shù)據(jù)庫是企業(yè)管理數(shù)據(jù)信息的一種手段,保護(hù)好自己的信息,以防被對手知道。數(shù)據(jù)庫的出現(xiàn),也大大簡便了工作人員的工作,工作人員用數(shù)據(jù)庫可以很輕松的將數(shù)據(jù)保存而且方便下次查找,下面為大家重點(diǎn)介紹一下數(shù)據(jù)庫的創(chuàng)建、修改和刪除。

一、創(chuàng)建數(shù)據(jù)庫

創(chuàng)建數(shù)據(jù)庫需要一定的許可,在默認(rèn)情況下,只有系統(tǒng)管理員和數(shù)據(jù)庫擁有者可以創(chuàng)建數(shù)據(jù)庫。當(dāng)然,也可以授權(quán)其他用戶這種許可。數(shù)據(jù)庫被創(chuàng)建后,創(chuàng)建數(shù)據(jù)庫的用戶自動成為該數(shù)據(jù)庫的所有者。

每個(gè)數(shù)據(jù)庫都由以下幾個(gè)部分的數(shù)據(jù)庫對象所組成:關(guān)系圖、表、視圖、存儲過程、用戶、角色、規(guī)則、默認(rèn)、用戶自定義數(shù)據(jù)類型和用戶自定義函數(shù)。SQLServer使用這樣一個(gè)公共模板來創(chuàng)建數(shù)據(jù)庫,每個(gè)服務(wù)器中最多可以創(chuàng)建32767個(gè)數(shù)據(jù)庫。

創(chuàng)建數(shù)據(jù)庫的過程實(shí)際上就是為數(shù)據(jù)庫設(shè)計(jì)名稱、設(shè)計(jì)所占用的存儲空間和存放文件位置的過程。數(shù)據(jù)庫的基本信息存儲在Master數(shù)據(jù)庫中的sysdatabases系統(tǒng)表中,因而可以使用SELECT語句來查詢數(shù)據(jù)庫信息。

創(chuàng)建數(shù)據(jù)庫的方法有以下三種:使用向?qū)?chuàng)建數(shù)據(jù)庫、使用企業(yè)管理器(Enterprise Manager)創(chuàng)建數(shù)據(jù)庫和使用Transact-SQL語句創(chuàng)建數(shù)據(jù)庫。

(a)使用向?qū)?/p>

(b)使用企業(yè)管理器

(c)使用Transact-SQL語句

使用CREATE DATABASE命令來創(chuàng)建數(shù)據(jù)庫的語法如下:

CREATE DATABASE database_name
[ON [PRIMARY] [<filespec>[,..n] [,<filegroupspec> [,..n] ] ]
[LOG ON {<filespec>[,..n]} ]
[FOR RESTORE]

<filespec>::= ([NAME=logicol_file_name,]
FILENAME='os_file_name'
[,SIZE=size]
[,MAXSIZE={max_size | UNLIMITED}]
[,FILEGROWTH=growth_increment] ) [,..n]

<filegroupspec>::=FILEGROUP filegroup_name <filespec> [,..n]

各參數(shù)說明如下

database_name:數(shù)據(jù)庫的名稱,最長為128個(gè)字符;單個(gè)SQL Server系統(tǒng)可以管理的數(shù)據(jù)庫最多為32767個(gè)。
PRIMARY:該選項(xiàng)是一個(gè)關(guān)鍵字,指定主文件組中的文件。主文件組不僅包含數(shù)據(jù)庫系統(tǒng)表中的全部內(nèi)容,而且還包含用戶文件組中沒有包含的全部對象。一個(gè)數(shù)據(jù)庫只能有一個(gè)主文件,默認(rèn)情況下,如果不指定時(shí),則在命令中列出的***個(gè)文件將被默認(rèn)為主文件。
LOG ON:指明事務(wù)日志文件的明確定義。如果沒有時(shí),則系統(tǒng)會自動產(chǎn)生一個(gè)文件名前綴與數(shù)據(jù)庫名相同,容量為所有數(shù)據(jù)庫文件大小1/4的事務(wù)日志文件。
NAME:指定數(shù)據(jù)庫的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫在SQL Server中的標(biāo)識符。
FILENAME:指定數(shù)據(jù)庫所在文件的操作系統(tǒng)文件名稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一一對應(yīng)。
SIZE:指定數(shù)據(jù)庫的初始容量大小。若沒有指定主文件的大小,則SQL Server默認(rèn)其與模板數(shù)據(jù)庫中的主文件大小一致,其他數(shù)據(jù)庫文件和事務(wù)日志文件則默認(rèn)為1MB。指定大小的數(shù)字可以使用KB、MB、GB和TB為后綴,默認(rèn)為MB。不能使用小數(shù),最小值為512KB,默認(rèn)為1MB。主文件的size不能小于模板數(shù)據(jù)庫中的主文件。
MAXSIZE:指定操作系統(tǒng)文件可以增長到的***尺寸。沒有指定時(shí),則文件可以不斷增長,直至充滿磁盤。
FILEGROWTH:指定文件每次增加容量的大小,當(dāng)指定為0時(shí),表示文件不增加。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比來表示。默認(rèn)后綴為MB。如果沒有指定時(shí),則默認(rèn)值為10%,每次擴(kuò)容的最小值為64KB。
使用CREATE DATABASE命令創(chuàng)建數(shù)據(jù)庫的過程中,SQLServer用模板數(shù)據(jù)庫來初始化新建的數(shù)據(jù)庫。在模板數(shù)據(jù)庫中的所有用戶定義的對象和數(shù)據(jù)庫的設(shè)置都會被復(fù)制到新數(shù)據(jù)庫中。理想的情況下,只有有限的用戶被授權(quán)可創(chuàng)建數(shù)據(jù)庫。系統(tǒng)安裝后,只有系統(tǒng)管理員有這個(gè)特權(quán),系統(tǒng)管理員可以通過GRANT CREATE DATABASE語句將這個(gè)特權(quán)授予其他用戶。數(shù)據(jù)庫的創(chuàng)建者被默認(rèn)為數(shù)據(jù)庫的所有者,可以通過系統(tǒng)存儲過程sp_changedbowner來更改數(shù)據(jù)庫所有者。

例:創(chuàng)建了一個(gè)Company數(shù)據(jù)庫,該數(shù)據(jù)庫的主數(shù)據(jù)文件邏輯名稱為Company_data,物理名稱為Company.mdb,初始大小為10MB,***尺寸為無限,增長速度為10%;數(shù)據(jù)庫的日志文件邏輯名稱為Company_log,物理文件名為Company.ldf,初始大小為1MB,***尺寸為5MB,增長速度為1MB。

程序如下:

create database company on primary
(name=company_data,filename='d:\mssql7\data\company.mdf',
size=10,
maxsize=unlimited,
filegrowth=10%)
log on
(name=company_log,
filename='d:\mssql7\data\company.ldf',
size=1,
maxsize=5,
filegrowth=1)

輸出為:

The CREATE DATABASE process is allocating 10.00 MB on disk 'company_data'.
The CREATE DATABASE process is allocating 1.00 MB on disk 'company_log'.

例:創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫。該數(shù)據(jù)庫名稱為employees,有1個(gè)10MB和1個(gè)20MB的數(shù)據(jù)文件和2個(gè)10MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱為employee1和employee2,物理文件名為employee1.mdf和employee2.mdf。主文件是employee1,由primary指定,兩個(gè)數(shù)據(jù)文件的***尺寸分別為無限大和100MB,增長速度分別為10%和1MB。事務(wù)日志文件的邏輯名為employeelog1和employeelog2,物理文件名為employeelog1.ldf和employeelog2.ldf,***尺寸均為50MB,文件增長速度為1MB。

程序如下:

create database employees on primary
(name=employee1,
filename='d:\mssql7\data\employee1.mdf',
size=10,
maxsize=unlimited,
filegrowth=10%),
(name=employee2,
filename='d:\mssql7\data\employee2.mdf',
size=20,
maxsize=100,
filegrowth=1)
log on
(name=employeelog1,
filename='d:\mssql7\data\employeelog1.ldf',
size=10,
maxsize=50,
filegrowth=1),
(name=employeelog2,
filename='d:\mssql7\data\employeelog2.ldf',
size=10,
maxsize=50,
filegrowth=1)

輸出結(jié)果為:

The CREATE DATABASE process is allocating 10.00 MB on disk 'employee1'.
The CREATE DATABASE process is allocating 20.00 MB on disk 'employee2'.
The CREATE DATABASE process is allocating 10.00 MB on disk 'employeelog1'.
The CREATE DATABASE process is allocating 10.00 MB on disk 'employeelog2'.

#p#

二、修改數(shù)據(jù)庫

數(shù)據(jù)庫創(chuàng)建以后,可以在企業(yè)管理器中利用數(shù)據(jù)庫的屬性設(shè)置,來更改創(chuàng)建時(shí)的某些設(shè)置和創(chuàng)建時(shí)無法設(shè)置的屬性。也可以用ALTER DATABASE語句來修改數(shù)據(jù)庫。

(a)利用企業(yè)管理器修改數(shù)據(jù)庫

在企業(yè)管理器中,右擊所要修改的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“屬性”選項(xiàng),出現(xiàn)如圖所示的數(shù)據(jù)庫屬性設(shè)置對話框。各頁面內(nèi)容如下:

常規(guī)頁框中,可以看到數(shù)據(jù)庫的狀態(tài)、所有者、創(chuàng)建日期、大小、可用空間、備份和維護(hù)等信息。

數(shù)據(jù)文件和事務(wù)日志兩個(gè)頁框中,可以看到類似于創(chuàng)建數(shù)據(jù)庫時(shí)的對話框,此時(shí)可以象在創(chuàng)建數(shù)據(jù)庫時(shí)那樣重新指定數(shù)據(jù)庫文件和事務(wù)文件的名稱、存儲位置、初始容量大小等屬性。

文件組頁框中,可以添加或刪除文件組,但是如果文件組中的文件不為空時(shí),則不能被刪除,必須先將文件移出文件組后再刪除。

選項(xiàng)頁框中,可以設(shè)置數(shù)據(jù)庫的很多屬性,如訪問、故障還原、兼容性等。其中限制訪問屬性中的“db_owner,dbcreator或sysadmin的成員”選項(xiàng)表示只有數(shù)據(jù)庫的所有者、數(shù)據(jù)庫創(chuàng)建者和系統(tǒng)管理員才有權(quán)使用數(shù)據(jù)庫。“單用戶”表示數(shù)據(jù)庫在同一時(shí)間只能供一個(gè)用戶使用。其中的各項(xiàng)說明如下:

ANSI NULL默認(rèn)設(shè)置:允許在數(shù)據(jù)庫表中的每一列缺省值為空值。
遞歸觸發(fā)器:控制是否允許在觸發(fā)器中啟動其他觸發(fā)器。
自動更新統(tǒng)計(jì)信息:任何***化查詢所需的統(tǒng)計(jì)數(shù)據(jù)過期后,會在***化時(shí)自動更新。
殘缺頁檢測:允許自動檢測有損壞的分頁。頁是數(shù)據(jù)庫內(nèi)容的基本存儲單位,每個(gè)頁的大小為8KB。由于SQL Server對頁的讀寫單位是大小為512字節(jié)的扇區(qū),當(dāng)每個(gè)頁的***個(gè)扇區(qū)被成功寫入后,系統(tǒng)認(rèn)為此頁已成功寫入。但若寫完***個(gè)扇區(qū)后發(fā)生突發(fā)事件,產(chǎn)生有損壞的頁,則需要通知備份來恢復(fù)數(shù)據(jù)庫。
自動關(guān)閉:當(dāng)數(shù)據(jù)庫中無用戶使用時(shí),自動關(guān)閉該數(shù)據(jù)庫,并將所占用的資源交還給操作系統(tǒng)。對那些不間斷使用的數(shù)據(jù)庫不要使用此選項(xiàng),否則增加系統(tǒng)的開銷。
自動收縮:允許定期對數(shù)據(jù)庫進(jìn)行檢查,當(dāng)數(shù)據(jù)庫文件或日志文件中未用空間超過其大小的25%時(shí),系統(tǒng)將會自動縮減文件的大小,使其未用空間等于25%。當(dāng)文件大小沒有超過其建立時(shí)的初始大小時(shí),不會縮減文件??s減后的文件不小于初始值。
自動創(chuàng)建統(tǒng)計(jì)信息:任何***化查詢所需的統(tǒng)計(jì)數(shù)據(jù)丟失后,會在***化時(shí)自動重新建立。
使用被引用的標(biāo)識符:使用的標(biāo)識符必須用雙引號括起來,單引號中的文字表示字符串。
權(quán)限頁框中,可以設(shè)置用戶對該數(shù)據(jù)庫的使用權(quán)限,有關(guān)的權(quán)限設(shè)置將在后面的單節(jié)中詳細(xì)介紹。

(b)使用語句ALTER DATABASE修改數(shù)據(jù)庫

ALTER DATABASE語句可以增加和刪除數(shù)據(jù)庫中的文件,也可以修改數(shù)據(jù)庫文件的屬性。但必須注意,只有數(shù)據(jù)庫管理員或具有CREATE DATABASE權(quán)限的數(shù)據(jù)庫所有者才有權(quán)執(zhí)行該語句。語法形式如下:

ALTER DATABASE databasename
{ add file <filespec>[,..n] [to filegroup filegroupname]
| add log file <filespec>[,..n]
| remove file logical_file_name [with delete]
| modify file <filespec>
| modify name=new_databasename
| add filegroup filegroup_name
| remove filegroup filegroup_name
| modify filegroup filegroup_name
{filegroup_property | name=new_filegroup_name}
}

這個(gè)語句允許創(chuàng)建和修改數(shù)據(jù)庫文件、事務(wù)日志文件和文件組。三個(gè)子句add file,remove file和modify file分別指定創(chuàng)建、刪除和修改已有的文件。此外,也可以使用to filegroup選擇項(xiàng)把新文件賦給已有的文件組。add filegroup子句創(chuàng)建新的文件組,而remove filegroup從系統(tǒng)中刪除文件組。add log file子句創(chuàng)建新的事務(wù)日志并將其添加到已有的數(shù)據(jù)庫事務(wù)日志中。Filespec,..n表示文件說明,它包含像文件邏輯名和物理名這樣的進(jìn)一步選擇項(xiàng)。

例:為sales數(shù)據(jù)庫新增一個(gè)邏輯名為“saledata2”的數(shù)據(jù)文件,其大小及其***值分別為10MB和50MB。輸入的SQL語句和執(zhí)行結(jié)果如下:

Alter Database sales
ADD FILE(
NAME=saledata2,
FILENAME='d:\mssql7\data\saledata2.mdf',沈陽數(shù)據(jù)恢復(fù),
Size=10MB,
Maxsize=50MB,
Filegrowth=5MB
)

例:將一個(gè)包含兩個(gè)數(shù)據(jù)文件的文件組和一個(gè)事務(wù)日志文件添加到employees數(shù)據(jù)庫中。

程序清單如下:

Alter database employees
Add filegroup data1
Alter database employees
add file
(name=employee3,
filename='d:\mssql7\data\employee3.ndf',
size=1,
maxsize=50,
filegrowth=1),
(name=employee4,
filename='d:\mssql7\data\employee4.ndf',
size=2,
maxsize=50,
filegrowth=10%)
to filegroup data1
Alter database employees
add log file
(name=employeelog3,
filename='d:\mssql7\data\employeelog3.ldf',
size=1,
maxsize=50,
filegrowth=1)

輸出結(jié)果為

Extending database by 1.00 MB on disk 'employee3'.
Extending database by 2.00 MB on disk 'employee4'.
Extending database by 1.00 MB on disk 'employeelog3'.

 

三、刪除數(shù)據(jù)庫


對于不再需要的數(shù)據(jù)庫,可以刪除它,釋放其在磁盤上所占用的空間。刪除數(shù)據(jù)庫有兩種方式,即使用企業(yè)管理器和使用Drop語句。

(a)利用企業(yè)管理器刪除數(shù)據(jù)庫

在企業(yè)管理器中,右擊所要?jiǎng)h除的數(shù)據(jù)庫,從彈出的快捷菜單中選擇“刪除”或直接按下鍵盤上的Delete按鈕即可刪除數(shù)據(jù)庫,也可以選擇數(shù)據(jù)庫文件夾或圖標(biāo)后單擊工具欄中的圖標(biāo)來刪除數(shù)據(jù)庫。

刪除數(shù)據(jù)庫時(shí)一定要慎重,因?yàn)橄到y(tǒng)無法輕易恢復(fù)被刪除的數(shù)據(jù),除非做過數(shù)據(jù)庫的備份。每次只能刪除一個(gè)數(shù)據(jù)庫。

(b)利用Drop語句刪除數(shù)據(jù)庫

Drop語句可以從SQL Server中一次刪除一個(gè)或多個(gè)數(shù)據(jù)庫。語法如下:

DROP DATABASE database_name[,..n]

例:刪除創(chuàng)建的數(shù)據(jù)庫Company

輸出結(jié)果為:

Deleting database file 'd:\mssql7\data\company.ldf'.
Deleting database file 'd:\mssql7\data\company.mdf'.

并不是所有的數(shù)據(jù)庫在任何時(shí)候都是可以被刪除,只有處于正常狀態(tài)下的數(shù)據(jù)庫,才能使用Drop語句刪除。當(dāng)數(shù)據(jù)庫處于以下狀態(tài)時(shí)不能被刪除:數(shù)據(jù)庫正在使用;數(shù)據(jù)庫正在恢復(fù);數(shù)據(jù)庫包含用于復(fù)制的已經(jīng)出版的對象。

以上就是我要為大家介紹的有關(guān)數(shù)據(jù)庫的創(chuàng)建、修改和刪除的全部內(nèi)容,希望能對大家學(xué)習(xí)數(shù)據(jù)庫有用。

【編輯推薦】

  1. 淺析SQL Server數(shù)據(jù)庫在項(xiàng)目中的備份與還原
  2. 企業(yè)選型數(shù)據(jù)庫系統(tǒng)的五點(diǎn)建議
  3. SQL Server數(shù)據(jù)庫六種數(shù)據(jù)移動方法
責(zé)任編輯:迎迎 來源: 和訊網(wǎng)
相關(guān)推薦

2017-09-22 09:20:06

數(shù)據(jù)庫索引

2010-05-21 10:01:11

MySQL數(shù)據(jù)庫

2011-07-20 13:18:01

SQLite數(shù)據(jù)庫修改和刪除數(shù)據(jù)

2015-07-23 17:02:55

oracle創(chuàng)建數(shù)據(jù)庫

2009-11-04 12:37:32

ADO.NET SQL

2011-08-25 11:22:39

SQL Server數(shù)據(jù)庫字段說明

2011-03-30 08:56:42

Zabbix數(shù)據(jù)庫

2009-06-11 13:16:57

JBPM數(shù)據(jù)庫

2023-12-20 12:49:05

索引數(shù)據(jù)檢索數(shù)據(jù)庫

2011-05-26 15:03:47

catalog數(shù)據(jù)庫

2010-05-06 09:30:16

Oracle創(chuàng)建數(shù)據(jù)庫

2010-10-22 15:42:59

SQL Server創(chuàng)

2011-05-24 14:13:20

Oracle數(shù)據(jù)庫

2010-08-19 11:11:17

DB2手工添加數(shù)據(jù)庫

2009-05-08 09:56:37

MaxDBMySQL數(shù)據(jù)庫管理

2023-09-05 08:40:57

刪除數(shù)據(jù)庫Oracle

2011-04-13 14:58:16

Oracle數(shù)據(jù)庫刪除

2011-05-26 12:54:31

數(shù)據(jù)庫數(shù)據(jù)庫名

2011-05-26 14:18:49

Oracle數(shù)據(jù)庫字段屬性

2010-11-10 13:54:27

SQL SERVER自
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號