當前位置:首頁 » 文件管理 » 文件記錄項可以包含任意多個屬性
擴展閱讀
什麼應用可以測發型 2025-07-08 23:58:06

文件記錄項可以包含任意多個屬性

發布時間: 2022-02-08 18:39:18

Ⅰ 關於注冊表的問題

注冊表基本知識
死亡使者 發表於 2005-8-3 11:41:00

如今使用的Pc操作系統經歷了從DOS到 windows的發展過程。在DOS年代,系統中的硬體設備必須通過Confis.sys和Autoexec.bat兩個配置文件在系統初始化過程中載入驅動程序來運行。而軟體的配置信息,通常是由軟體的編寫者根據他自己所喜好的方式加以保存。隨後出現的windows 3.x系統,使得這種情況發生了改變。
在windows 3.x中,系統通過Win.ini、System.ini、Control.ini、program.ini等INI文件來保存所有有關操作系統和應用程序的配置信息。其中前兩者的作用尤為重要,System.ini負責配置硬體,而win.ini負責桌面設置和應用程序的運行等工作。 隨著windows的普及,一些開發者過去沒有注意到的問題也逐漸浮現出來。由於各個應用程序不斷地往INI文件中添加自己的配置信息,而從不負責刪除各INI文件中那些過時、無用的信息,所以隨著系統內應用程序數量不斷增加,INI文件就變得越來越大,在INI文件中查找相應信息的速度也越來越慢,再加上INI文件最大不能超過64KB,很快這種公用System.ini、Win.ini的管理方式就受到極大的挑戰與質疑。

於是,人們在原有基礎上提出了改進的方法。各個應用程序開始使用自己的INI文件來解決容量問題,比如Word 6.0就使用Word6.ini存放其配置信息。這樣一來,INI文件大小的限制被很好解決了。但這樣做又帶來了新的麻煩,系統中出現了太多的INI文件,要想集中管理,而且搞清楚它們之間的關系變成了非常困難的事情。INI文件的另外—個致命缺陷仍然沒有好的解決辦法。由於INI文件是—個文本文件,所以任何用戶都可以使用任意的文本編輯器來編輯它。如果用戶在編輯INI文件時不小心修改了它的內容和格式,或者被不負責任的程序胡亂修改了其他應用程序所需要的數據,就有可能導致非常嚴重的後果。系統會出現許多莫名其妙的錯誤,死機、無法啟動。因為這是系統結構性的弊端,所以在windows 95問世以前,大家都沒有很好的解決方法。

在windows 3.x的升級版Windows 95出現時,微軟決定把Windows NT中得到成功應用的注冊表概念引入進來。其實質就是利用一個功能強大的注冊表資料庫來統—集中地管理系統硬體設施、軟體配置等信息,從而方便管理並增強系統的穩定性

什麼是注冊表

注冊表(Registry)是一個什麼樣的表格呀?嘿嘿!傻了吧。注冊表它不是一個什麼表格,而是Windows的一個內部資料庫,是一個巨大的樹狀分層的資料庫,它是微軟專門為其32位操作系統(如Windows NT、Windows 98等)設計的一個系統管理資料庫。

注冊表記錄了用戶安裝在機器上的軟體和每個程序的相互關聯關系;記錄了計算機的硬體配置,包括自動配置的即插即用的設備和已有的各種設備。

注冊表中存放著各種參數,直接控制著 Windows 的啟動、硬體驅動程序的裝載以及一些 Windows 應用程序的運行,從而在整個系統中起著核心作用。它包括:

(1)軟、硬體的有關配置和狀態信息,注冊表中保存有應用程序和資源管理器外殼的初始條件、首選項和卸載數據。

(2)聯網計算機的整個系統的設置和各種許可,文件擴展名與應用程序的關聯,硬體部件的描述、狀態和屬性。

(3)性能記錄和其它底層的系統狀態信息,以及其它數據。

如果注冊表受到了破壞,輕者使 Windows 的啟動過程出現異常,重者可能會導致整個系統的完全癱瘓。因此正確地認識、使用,特別是及時備份以及有問題時恢復注冊表,對Windows用戶來說就顯得非常重要。

總的來說,注冊表實際上就是一個以層次結構保存和檢索的復雜的資料庫,它包含了應用程序和系統軟硬體的全部配置、初始化信息以及其他重要數據。從一般用戶的角度看,注冊表系統由注冊表資料庫和注冊表編輯器兩部分組成。

注冊表編輯器(Regedit.exe)是一個專門用來編輯注冊表的程序,沒有它我們根本無法進行注冊表的基本的瀏覽、編輯和修改。

注冊表作用

注冊表是windows操作系統中的一個核心資料庫,其中存放著各種參數,直接控制著windows的啟動、硬體驅動程序的裝載以及一些windows應用程序的運行,從而在整個系統中起著核心作用。 這些作用包括了軟、硬體的相關配置和狀態信息,比如注冊表中保存有應用程序和資源管理器外殼的初始條件、首選項和卸載數據等,聯網計算機的整個系統的設置和各種許可,文件擴展名與應用程序的關聯,硬體部件的描述、狀態和屬性,性能記錄和其他底層的系統狀態信息,以及其他數據等。

具體來說,在啟動Windows時,Registry會對照已有硬體配置數據,檢測新的硬體信息;系統內核從Resistry中選取信息,包括要裝入什麼設備驅動程序,以及依什麼次序裝入,內核傳送回它自身的信息,例如版權號等;同時設備驅動程序也向Registry傳送數據,並從Registry接收裝入和配置參數,一個好的設備驅動程序會告訴Resistry它在使用什麼系統資源,例如硬體中斷或DMA通道等,另外,設備驅動程序還要報告所發現的配置數據;為應用程序或硬體的運行提供增加新的配置數據的服務。配合INI文件兼容16位Windows應用程序,當安裝—個基於Windows 3.x的應用程序時,應用程序的安裝程序Setup像在windows中—樣創建它自己的INI文件或在Win.ini和System.ini文件中創建入口;同時windows還提供了大量其他介面,允許用戶修改系統配置數據,例如控制面板、設置程序等。

如果注冊表受到了破壞,輕則使windOWS的啟動過程出現異常,重則可能會導致整個windows系統的完全癱瘓。因此正確地認識、使用,特別是及時備份以及有問題恢復注冊表對windows用戶來說就顯得非常重要。

注冊表與INI文件

INI文件是早期Windows 3.X系統下對系統軟體和硬體進行配置的文件,主要包括了System.ini和Win.ini,在其中保存了登錄硬體和軟體的各種初始化信息,以便系統建立符合要求的工作環境。因為每一個設備或者應用程序都可以建立自己的INI文件,所以造成INI文件眾多,為INI文件的管理增加了難度,特別是其配置都是採用局域化的方式,因此要在網路上實現遠程訪問幾乎是不可能的。

為了克服上述問題,從Windows95起引進了注冊表。為了保持Windows系統的向下兼容性,Windows9x中仍然保留了INI文件。在形式上,注冊表與INI文件的區別主要有以下幾點:

1、注冊表採用的是二進制數據,INI文件是簡單的文本形式;顯然INI文件能夠被眾多文本編輯器所修改,所以 用起來很方便,但穩固性卻由此喪失掉了,再加上文本組成的數據本身在組成更高級的數據結構方面有缺陷,許多在資料庫中很容易實現的功能,在這里就變得相當麻煩了,反觀二進制的方式由於必須經由專門的注冊表編輯軟體才能 夠查詢或修改信息,相對就更加安全可靠。

2、注冊表支持子關鍵字,各級子關鍵字都有自己的「鍵值」,INI文件支持小節以及小節中的設置行參數;

3、注冊表支持鍵下的子鍵,而INI文件不允許小節中再有小節;注冊表中每個鍵都可以包括子鍵,從而形成目錄樹的結構以方便使用, 而INI文件卻無法支持小節之間的嵌套,也就是說小節與小節之間都只能是平 行的關系,非常不利於信息的表達。

4、注冊表的鍵值項可以包含可執行代碼,而在INI文件中設置項只是簡單的字元串;

5、注冊表可以包含多擁護設置,而INI文件卻不能。在Windows 3.x時 代,我們幾乎沒有辦法在同一台計算機上實現有個性的多用戶使用,而到了 windows 9x以後,這樣的多用戶情形就變得非常普遍了

從功能上來說,注冊表相對於INI文件具有以下優點:

1、注冊表允許對軟硬體和配置參數進行跟蹤配置,以更好的適應軟硬體;

2、注冊表中登錄的硬體數據可以用來支持即插即用特性;通常是在安裝時進行這種檢測的,但windows 98啟動或原有配置改變時, 也要進行這種檢測。如安裝—一個新硬體時,Windows 98將檢查注冊表,以便確 定哪些資源已被佔用,這樣就可以避免新設備與原有設備之間的資源沖突。

3、注冊表中的配置數據由於可以靈活的改變,因此可以更好的適應網路發展。管理人員和用戶可以在網路上檢查系統的配置和設置, 使得遠程管理能夠得以實現

注冊表文件

Windows操作系統是由許多文件組成的,注冊表也不例外,對於Windows 9x系統,注冊表底層是由System.dat和User.dat兩個文件組成的。它們是二進制文件,不能用文本編輯器查看。它們一般存放於Windows目錄下,具有隱含、系統、只讀屬性。

System.dat包含了計算機特定的配置數據,User.dat包含了用戶特定的數據。User.dat文件的位置在以某個用戶名登錄時,其位於C:\u29992戶名目錄下,系統同時在C:目錄下保留了一個預設的User.dat文件,以備新用戶使用。

另外一個文件Config.pol影響著注冊表中用戶看到的設置,但其並不真正是注冊表的一部分。

Windows NT/2000/XP中的注冊表文件在多數情況下存放於%SystemRoots%文件夾中(%SystemRoot%指系統根目錄)。其中包括Default、Sam、security、Software、System和以log、sav為擴展名的同名文件。而每個計算機用戶的用戶配置文件信息(包括Ntuser.dat和Ntuser.dat.log)的位置在Windows NT中是%SystemRoot%,比如用戶public的Ntuser.dat文件就存放於C:。Windows 2000則取決於是全新安裝還是從windows 95/98或windows NT升級安裝。

在全新安裝以及從Windows 95/98升級安裝的情況下,Ntuser.dar和Ntuset.dar.log文件存儲在%SystemDriye%and Settings文件夾中。

在從 Windows NT升級的安裝中,Ntuser.dat和Ntuser.dat.log文件存儲在%SystemRoot%文件夾中。

註:System.和User.這兩個文件屬於Windows95,是注冊表的備份文件,它們在每次系統成功啟動後創建。在Windows98中,注冊表檢查器將備份文件作成CAB文件

注冊表文件

①、注冊表:是一個樹狀分層的資料庫。從物理上講,它是System.dat和User.dat兩個文件;從邏輯上講,它是用戶在注冊表編輯器中看到的配置數據。

②、HKEY :「根鍵」。Windows98將注冊表分為六個部分,並稱之為 HKEY_name,它意味著某一鍵的句柄。

③、key(鍵):它包含了附加的文件夾和一個或多個值。

④、subkey(子鍵):在某一個鍵(父鍵)下面出現的鍵(了鍵)。

⑤、branch(分支):代表一個特定的子鍵及其所包含的一切。一個分支可以從每個注冊表的頂端開始,但通常用以說明一個鍵和其所有內容。

⑥、value entry(值項):帶有一個名稱和一個值的有序值。每個鍵都可包含任何數量的值項。每個值項均由三部分組成:名稱,數據類型,數據。

★ 名稱:不包括反斜杠的字元、數字、代表符、空格的任意組合。同一鍵中不可有相同的名稱。

★ 數據類型:包括字元串、二進制、雙字三種。

字元串:如「Hello World」,是一串文字或片語。注冊表總是在引號內顯示字元串。

二進制:如 F03D990000BC ,是沒有限制的二進制數值,用16進制顯示。

雙 字:如 D1234567 ,以8位16進制數表示的數。

★ 數據: 值項的具體值,它可以佔用到64KB。

⑦、 Default(預設值):每一個鍵至少包括一個值項,稱為預設值(Default),它總是一個字串

注冊表編輯器

注冊表本身就是一個大資料庫,必須要有專門的編輯器才能打開它,同時注冊表又很脆弱,它的一點問題都可能導致系統的崩潰,所以用好注冊表編輯器瀏覽、修改注冊表就成了一門基本功,這對提高使用注冊表的水平是必不可少的。

微軟為windows操作系統提供了兩個注冊表編輯器,一個是Regedit.exe,在Windows 95/98/Me/NT/2000中使用;另—個是Regedt32.exe,是一個純32位的程序,只在Windows NT/2000中使用。

這兩種windows自帶的注冊表編輯器各有所長。Regedit.exe的顯示界面更符合人們的使用習慣,搜索功能也比較強大;而Regedt32.exe支持的鍵值數據類型更多,功能也更完善。

當windows操作系統升級到Windows XP的時候,這兩個程序仍然存在,但實際上它們已經結合各自的長處合二為一了。這個新的注冊表編輯器結合了Regedit.exe瀏覽器的顯示界面、強大的搜索功能和Regedt32.exe提供的注冊表許可權控制兩方面的優勢

注冊表的備份與恢復

注冊表是系統的重要資料庫,如果它出現錯誤,輕者造成系統啟動錯誤或軟體不能使用,重者造成系統整個癱瘓。因此,定期維護、備份注冊表是您應養成的一個良好習慣。何時需要備份注冊表呢?並無一準確的要求。但一般應在下述情況下進行:

①、定期備份:根據您使用機器的情況,一般選擇一周、一月或多少天進行一次,以備系統出錯時能恢復最近的一個注冊表。

②、增加硬體:當您安裝一個新硬體時,有可能它的驅動程序會與系統不兼容,造成系統癱瘓,因此應事先備份注冊表。

③、安裝軟體:當您要安裝一個來歷不明的軟體或未使用過的軟體時,有可能它本身的缺陷或它與系統中的其他軟體沖突,造成系統癱瘓。

Windows98 系統中自帶了注冊表備份程序,它完全工作在後台,每日定期備份注冊表。Windows98 提供了該程序的兩種版本,一種是Windows 版本的 Scanregw.exe,該程序檢查注冊表的錯誤但不修復錯誤,它判斷是否需要優化注冊表但不完成優化操作,它拷貝注冊表文件到C:目錄下的CAB文件中,這是一個隱含的文件夾,第一個備份的文件名為:RB000.CAB,第二個文件名為:RB001.CAB,依次類推。該文件夾中可能包含十多個其他的配置文件,這些文件是在一個設置程序使用更高的版本更新時,系統拷貝到該文件夾中的。每一個CAB文件內包含四個文件:System.dat, System.ini, User.dat, Win.ini。用戶可以增加其他的文件到CAB文件中。

系統默認保留五個備份文件,用戶可以在Scanreg.ini文件中修改 MaxBackupCopies(最大備份數)的值。另一種是DOS版本的Scanreg.exe,如果Scanregw.exe檢測到一個錯誤或者必須優化注冊表,則其提示用戶重新啟動計算機,DOS版本的Scanreg.exe則嘗試修復注冊表。

恢復注冊表:不能用Scanregw.exe恢復注冊表備份,而必須使用實模式的Scanreg.exe,該程序位於C:目錄下。將系統啟動到MS-DOS方式,鍵入 Scanreg/restore後回車,然後從列出的備份表中選擇一個較近的備份,系統會重新啟動,並使用恢復的注冊表

Ⅱ 批處理參數詳解

FOR命令中的變數

FOR命令中有一些變數,他們的用法許多新手朋友還不太了解,今天給大家講解他們的用法!

先把FOR的變數全部列出來:
~I - 刪除任何引號("),擴展 %I
%~fI - 將 %I 擴展到一個完全合格的路徑名
%~dI - 僅將 %I 擴展到一個驅動器號
%~pI - 僅將 %I 擴展到一個路徑
%~nI - 僅將 %I 擴展到一個文件名
%~xI - 僅將 %I 擴展到一個文件擴展名
%~sI - 擴展的路徑只含有短名
%~aI - 將 %I 擴展到文件的文件屬性
%~tI - 將 %I 擴展到文件的日期/時間
%~zI - 將 %I 擴展到文件的大小
%~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴展
到找到的第一個完全合格的名稱。如果環境變數名
未被定義,或者沒有找到文件,此組合鍵會擴展到
空字元串

我們可以看到每行都有一個大寫字母"I",這個I其實就是我們在FOR帶入的變數,我們FOR語句代入的變數名是什麼,這里就寫什麼.
比如:FOR /F %%z IN ('set') DO @echo %%z
這里我們代入的變數名是z那麼我們就要把那個I改成z,例如%~fI改為%~fz
至於前面的%~p這樣的內容就是語法了!

好開始講解:

~I - 刪除任何引號("),擴展 %I
這個變數的作用就如他的說明,刪除引號!
我們來看這個例子:

首先我們在桌面建立一個名字為temp.txt文本文件,在裡面輸入這些內容
"1111
2222"
"3333"
44"44
然後在建立個BAT文件代碼如下:

FOR /F "delims=" %%i IN (temp.txt) DO @echo %%~i
pause

執行後,我們看CMD的回顯如下:
1111
2222"
3333
44"44
和之前temp.txt中的內容對比一下,我們會發現第一行和第三行的引號都消失了,這就是刪除引號~i的作用了!
刪除引號規則如下(BAT兄補充!)
1、若字元串首尾同時存在引號,則刪除首尾的引號;
2、若字元串尾不存在引號,則刪除字元串首的引號;
3、如果字元串中間存在引號,或者只在尾部存在引號,則不刪除。

%~fI - 將 %I 擴展到一個完全合格的路徑名
看例子:
把代碼保存放在隨便哪個地方,我這里就放桌面吧.
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~fi
pause

執行後顯示內容如下
C:\Documents and Settings\Administrator\桌面\test.bat
C:\Documents and Settings\Administrator\桌面\test.vbs
當我把代碼中的 %%~fi直接改成%%i
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%i
pause

執行後就會顯示這些內容
test.bat
test.vbs

通過對比,我們很容易就看出沒有路徑了,這就是"將 %I 擴展到一個完全合格的路徑名"的作用
也就是如果%i變數的內容是一個文件名的話,他就會把這個文件所在的絕對路徑列印出來,而不只單
單列印一個文件名,自己動手動實驗下就知道了!

%~dI - 僅將 %I 擴展到一個驅動器號
看例子:
代碼如下,我還是放到桌面執行!
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~di
pause
執行後我CMD里顯示如下
C:
C:
我桌面就兩個文件test.bat,test.vbs,%%~di作用是,如果變數%%i的內容是一個文件或者目錄名,他就會把他這文件
或者目錄所在的盤符號列印出來!

%~pI - 僅將 %I 擴展到一個路徑
這個用法和上面一樣,他只列印路徑不列印文件名字
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~pi
pause

我就不打結果了,大家自己復制代碼看結果吧,下面幾個都是這么個用法,代碼給出來,大家自己看結果吧!

%~nI - 僅將 %I 擴展到一個文件名
只列印文件名字
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ni
pause

%~xI - 僅將 %I 擴展到一個文件擴展名
只列印文件的擴展名
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~xi
pause

%~sI - 擴展的路徑只含有短名
列印絕對短文件名
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~si
pause

%~aI - 將 %I 擴展到文件的文件屬性
列印文件的屬性
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ai
pause

%~tI - 將 %I 擴展到文件的日期/時間
列印文件建立的日期
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~ti
pause

%~zI - 將 %I 擴展到文件的大小
列印文件的大小
FOR /F "delims==" %%i IN ('dir /b') DO @echo %%~zi
pause

%~$PATH:I - 查找列在路徑環境變數的目錄,並將 %I 擴展
到找到的第一個完全合格的名稱。如果環境變數名
未被定義,或者沒有找到文件,此組合鍵會擴展到
空字元串
這是最後一個,和上面那些都不一樣,我單獨說說!
我們先在桌面建立一個temp.txt文件,裡面寫上這些內容
c:\windows
c:\windows\system32
c:\windows\teett

然後在把這些代碼保存為批處理,放在桌面.
FOR /F "delims==" %%i IN (temp.txt) DO @echo %%~$PATH:i
pause

執行後CMD顯示如下內容
c:\WINDOWS
c:\WINDOWS\system32
ECHO 處於打開狀態。

為什麼會這樣呢,還有一行c:\windows\teett呢?
我們直接在CMD里輸入echo %path% 會顯示C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
%%~$PATH:i也就是在文本里尋找匹配這個PATH變數值的內容,如果裡面的內容和PATH變數相同,就列印出來
如果不相同,就顯示一個空行!

只能適用於PATH變數,其他變數不行,如果要比較很多值,可嘗試把值賦予給PATH變數,我沒測試!

好了,FOR的的變數就介紹到這了!

Ⅲ 文件屬性

分比較多:看了別人回答,我也來說兩句:

1,回答你第一個問題。為什麼顯示不同。FAT及FAT32分區與NTFS分區的區別。大家都回答了,

2,相互轉換的問題,普通fat格式的文件,我們可以通過convert命令完成。
這個命令在2000系統後支持。包括2000系統。以D盤為例:

convert D: /FS:NTFS

完成後,需要要重新啟動電腦時,更改成NTFS

這個是無損的。對現有文件沒有任何影響。反過來就無法無損從NTFS轉成FAT格式,這個意思是我們可以將文件保存下來。移到其他磁碟。然後對磁碟進行格式化,然後選擇fat32格式,有損是這個意思。

格式轉化後,屬性自然是你要的。

3,最後一個問題,是最難度的問題。下面詳細說明。要仔細看一下才以理解。只有用過備份軟體的人,才有所理解。當然在NTFS分區也是有這種屬性,只是沒有存檔的標簽而已,主要在理解存檔屬性是用於什麼方面和怎麼用?

通常存檔文件屬性只在2000以下的系統中見到,也就是FAt32格式文件屬性中看到,當時的用處是配合備份軟體來標記文件的屬性。
以2000下的NTbackup為例,其他備份軟體類似:

分區格式是FAT32格式,NTFS也經內置了存檔屬性。因為他與普通用戶操作屬性無關,主要用於企業系統中的備份。
下面列表說明各個備份方式對存檔的標記。你勾不勾沒什麼影響。只和備份軟體有關系,只有這個標簽,備份軟體才能認識這個文件的狀態。要不要備份,以何種方式備份:

正常備份 清除存檔屬性
說明:清除後,表示已經備份,下次更改文件後,重新會有存檔標記,

副本備份 不清除存檔
說明:這種備份完全將文件作為一個副本來操作,不改動原文件任何屬性,一般在備份軟體策略中的特殊備份。比如月度備份計劃中,想對一份文件單獨備份出來使用,不影響已有的備份的策略計劃

差異備份 不清除存檔
說明:將以正常備份的存檔屬性為參照。進行備份已經變化的文檔。但是不清除這些記錄。注意一點是永遠與上次正常備份為參照:(包括參考下面的增量。下面的增量可以視為正常備份的一個補充)

增量備份 清除存檔
說明:增量備份也是與正常備份為參照的。不過他可以理解為正常備份的一個附加,正常備份的一個增加,也是正常備份的操作,只是備份增加變化的部分。這個和前面差異有點關系,當我們增量備份做完了。再作差異備份時,備份的理與這次增量+上次正常備份為參考。

總的來說差異備份的量會小的多。因為正常備份的時間點已經推後了。與現在差異更近了。不好理解。但是我覺得已經說的很清楚了。

每日備份 不清除存檔
說明:副本備份的一個特殊時間段備份。

Ⅳ 文件中可存取數據的基本單位是什麼A.文件B記錄C屬性D數據項。很真誠的要真正的答案…

資料庫系統中數據的最小存取單位是數據項,文件系統中數據的最小存取單位是記錄。

Ⅳ 資料庫 名詞解釋:單值屬性和多值屬性

單值屬性,指—個實體只有一個值的屬性,例如:實體「書」的價格只有一個(如 ¥38.5)。對於具體的實體來說,大多數實體是單值屬性。

多值屬性,對於一個實體可以有多個值的屬性。例如:一張學生信息的表裡有一項關於興趣的屬性,一個學生可能有幾個興趣 ,如運動、電影、旅遊,學習等,這些學生可以只擁有「運動」的興趣,或者同時擁有「運動、電影、旅遊,學習」這四個興趣,所以興趣就是一個多值屬性。



(5)文件記錄項可以包含任意多個屬性擴展閱讀

屬性數據的錄入與編輯一般是在屬性數據處理模塊中進行的,文檔數據資料的錄入一般是通過鍵盤直接鍵入數據文件或屬性資料庫。也可以將另一個資料庫中的有關數據直接傳輸到屬性資料庫中。但為了建立屬性描述數據與幾何圖形的聯系,通常需要在圖形編輯系統中設計屬性數據的編輯功能。

主要是將一個實體的屬性數據直接連接到相應的幾何目標上,這項工作可在數字化及建立圖形拓撲關系的同時或之後,對照一個幾何目標直接輸人屬性數據,並可對數據進行修改、刪除、拷貝等編輯操作。

屬性數據的錄人隨著VGI的出現,呈現出了一種全新的方式。人們可以通過互聯網GIS平台上傳自己感興趣的數據,除了位置信息之外,還可以貢獻很多的屬性數據,其形式也表現的多種多樣,如照片、視頻、音頻等。

Ⅵ 一個關系模式中包含有若干個屬性,其數目多少稱為關系的什麼

關系模型中,欄位稱為屬性,欄位值稱為屬性值,記錄類型稱為關系模型。關系模式名是r。記錄稱為元組,元組的集合稱為關系或實例。一般用大寫字母a、b、c、……表示單個屬性,用小寫字母表示屬性值。關系中屬性的個數稱為「元數」,元組的個數稱為「基數」。例子的關系元數為5,基數為2。有時也稱關系為表格,元組為行,屬性為列。

Ⅶ 關系資料庫中資料庫,表,欄位及元組的概念及相互之間的關系

一、概念

(1)關系資料庫的表採用二維表格來存儲數據,是一種按行與列排列的具有相關信息的邏輯組,它類似於Excle工作表。一個資料庫可以包含任意多個數據表。

(2)關系資料庫:在一個給定的應用領域中,所有實體及實體之間聯系的集合構成一個關系資料庫。它是一種以關系模式為基礎存儲數據以及用數字方法處理資料庫組織的方法,是目前最為流行的一種數據組織形式。

(3)元組(記錄)。表中的一行即為一個元組,或稱為一條記錄。

(4)欄位,數據表中的每一列稱為一個欄位,表是由其包含的各種欄位定義的,每個欄位描述了它所含有的數據的意義,數據表的設計實際上就是對欄位的設計。創建數據表時,為每個欄位分配一個數據類型,定義它們的數據長度和其他屬性。欄位可以包含各種字元、數字、甚至圖形。

二、關系

一個資料庫可以包含若干張表;一張表有若干個欄位;每張表又有若干條記錄(元組),每條記錄(元組)對應每個欄位都有一個值。

(7)文件記錄項可以包含任意多個屬性擴展閱讀

關系資料庫,是建立在關系資料庫模型基礎上的資料庫,藉助於集合代數等概念和方法來處理資料庫中的數據。

同時也是一個被組織成一組擁有正式描述性的表格,該形式的表格作用的實質是裝載著數據項的特殊收集體,這些表格中的數據能以許多不同的方式被存取或重新召集而不需要重新組織資料庫表格。

關系資料庫的定義造成元數據的一張表格或造成表格、列、范圍和約束的正式描述。每個表格(有時被稱為一個關系)包含用列表示的一個或更多的數據種類。 每行包含一個唯一的數據實體,這些數據是被列定義的種類。

Ⅷ sql 語句問題

修改資料庫的時候應該可以添加的是 附屬主數據文件 ,文件的擴展名是 ndf 文件,下面誰 SQL SERVER2000的幫助文檔

Transact-SQL 參考

ALTER DATABASE
在資料庫中添加或刪除文件和文件組。也可用於更改文件和文件組的屬性,例如更改文件的名稱和大小。ALTER DATABASE 提供了更改資料庫名稱、文件組名稱以及數據文件和日誌文件的邏輯名稱的能力。

ALTER DATABASE 支持資料庫選項的設置。在早期版本的 Microsoft® SQL Server™ 中,這些選項可以通過 sp_dboption 存儲過程來設置。在此次發布的版本中,SQL Server 繼續支持 sp_dboption存儲過程,但在未來版本中可能不再支持。可使用 DATABASEPROPERTYEX 函數檢索資料庫選項的當前設置。

語法
ALTER DATABASE database
{ ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP filegroup_name ]
| ADD LOG FILE < filespec > [ ,...n ]
| REMOVE FILE logical_file_name
| ADD FILEGROUP filegroup_name
| REMOVE FILEGROUP filegroup_name
| MODIFY FILE < filespec >
| MODIFY NAME = new_dbname
| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }
| SET < optionspec > [ ,...n ] [ WITH < termination > ]
| COLLATE < collation_name >
}

< filespec > ::=

( NAME = logical_file_name
[ , NEWNAME = new_logical_name ]
[ , FILENAME = 'os_file_name' ]
[ , SIZE = size ]
[ , MAXSIZE = { max_size | UNLIMITED } ]
[ , FILEGROWTH = growth_increment ] )

< optionspec > ::=

<state_option>
| < cursor_option >
| < auto_option >
| < sql_option >
| < recovery_option >

< state_option > ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
| { OFFLINE | ONLINE }
| { READ_ONLY | READ_WRITE }

< termination > ::=
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT

< cursor_option > ::=
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }

< auto_option > ::=
AUTO_CLOSE { ON | OFF }
| AUTO_CREATE_STATISTICS { ON | OFF }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }

< sql_option > ::=
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }

< recovery_option > ::=
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }

參數
database

是要更改的資料庫的名稱。

ADD FILE

指定要添加文件。

TO FILEGROUP

指定要將指定文件添加到的文件組。

filegroup_name

是要添加指定文件的文件組名稱。

ADD LOG FILE

指定要將日誌文件添加到指定的資料庫。

REMOVE FILE

從資料庫系統表中刪除文件描述並刪除物理文件。只有在文件為空時才能刪除。

ADD FILEGROUP

指定要添加文件組。

filegroup_name

是要添加或除去的文件組名稱。

REMOVE FILEGROUP

從資料庫中刪除文件組並刪除該文件組中的所有文件。只有在文件組為空時才能刪除。

MODIFY FILE

指定要更改給定的文件,更改選項包括 FILENAME、SIZE、FILEGROWTH 和 MAXSIZE。一次只能更改這些屬性中的一種。必須在 <filespec> 中指定 NAME,以標識要更改的文件。如果指定了 SIZE,那麼新大小必須比文件當前大小要大。只能為 tempdb 資料庫中的文件指定 FILENAME,而且新名稱只有在 Microsoft SQL Server 重新啟動後才能生效。

若要更改數據文件或日誌文件的邏輯名稱,應在 NAME 選項中指定要改名的邏輯文件名稱,並在 NEWNAME 選項中指定文件的新邏輯名稱。

示例如下:

MODIFY FILE (NAME = logical_file_name, NEWNAME = new_logical_name...)。

可同時運行幾個 ALTER DATABASE database MODIFY FILE 語句以實現多個修改文件操作時性能最優。

MODIFY NAME = new_dbname

重命名資料庫。

MODIFY FILEGROUP filegroup_name { filegroup_property | NAME = new_filegroup_name }

指定要修改的文件組和所需的改動。

如果指定 filegroup_name 和 NAME = new_filegroup_name,則將此文件組的名稱改為 new_filegroup_name。

如果指定 filegroup_name 和 filegroup_property,則表示給定文件組屬性將應用於此文件組。filegroup_property 的值有:

READONLY
指定文件組為只讀。不允許更新其中的對象。主文件組不能設置為只讀。只有具有排它資料庫訪問許可權的用戶才能將文件組標記為只讀。

READWRITE
逆轉 READONLY 屬性。允許更新文件組中的對象。只有具有排它資料庫訪問許可權的用戶才能將文件組標記為讀/寫。

DEFAULT
將文件組指定為默認資料庫文件組。只能有一個資料庫文件組是默認的。CREATE DATABASE 語句將主文件組設置為初始的默認文件組。如果在 CREATE TABLE、ALTER TABLE 或者 CREATE INDEX 語句中沒有指定文件組,則新表及索引將在默認文件組—中創建。
WITH <termination>

指定當資料庫從一種狀態轉換到另一種狀態時,何時回滾未完成的事務。只能指定一條 termination 子句,而且該子句應跟在 SET 子句後面。

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE
設定是在指定秒數之後回滾還是立即回滾。如果省略了 termination 子句,那麼將允許事務自主提交或回滾。

NO_WAIT
指定如果請求的資料庫語句或選項更改只有等待事務自主提交或回滾才能立即完成,該請求將失敗。
COLLATE < collation_name >

指定資料庫的排序規則。排序規則名稱既可以是 Windows 排序規則名稱,也可以是 SQL 排序規則名稱。如果沒有指定排序規則,則將 SQL Server 實例的默認排序規則指派為資料庫的排序規則。

有關 Windows 和 SQL 排序規則名稱的更多信息,請參見 COLLATE。

<filespec>

控制文件屬性。

NAME
指定文件的邏輯名稱。

logical_file_name
是在 Microsoft SQL Server 中引用文件時所用的名稱。該名稱在資料庫中必須唯一,並應遵循標識符規則。該名稱可以是字元或 Unicode 常量、常規標識符或定界標識符。有關更多信息,請參見使用標識符。

FILENAME
指定操作系統中的文件名。當和 MODIFY FILE一起使用時,只能對 tempdb 資料庫中的文件指定 FILENAME。新 tempdb 文件名只有在 SQL Server 停止並重新啟動後才能生效。

'os_file_name'
由操作系統使用的文件的路徑和文件名。該文件必須駐留在安裝 SQL Server 的伺服器上。數據文件和日誌文件不應置於壓縮的文件系統中。
如果文件位於原始分區上,那麼 os_file_name 必須僅指定該原始分區的驅動器字母。每個原始分區上只能存放一個文件。原始分區上的文件不會自動增長;因此,os_file_name 指定原始分區時,不需要指定 MAXSIZE 和 FILEGROWTH 參數。

SIZE
指定文件大小。

size
是文件的大小。後綴 KB、MB、GB 和 TB 可用於指定千位元組、兆位元組、千兆位元組或兆兆位元組。默認值為 MB。指定一個整數,不要包含小數位。size 的最小值是 512 KB,如果 size 未指定,默認值是 1 MB。當隨 ADD FILE 一起指定時,size 是文件的初始大小。當隨 MODIFY FILE 一起指定時,size 是文件的新大小,而且必須大於文件的當前大小。

MAXSIZE
指定最大的文件大小。

max_size
是最大的文件大小。後綴 KB、MB、GB 和 TB 可用於指定千位元組、兆位元組、千兆位元組或兆兆位元組。默認值為 MB。指定一個整數,不要包含小數位。如果沒有指定 max_size,那麼文件大小將一直增長,直至磁碟填滿為止。當磁碟即將填滿時,Microsoft Windows NT® 應用程序日誌將向管理員發出警告。

UNLIMITED
指定文件大小可一直增加直至磁碟已滿。

FILEGROWTH
指定文件增長的增量。

growth_increment
每次需要新的空間時為文件添加的空間大小。值為 0 表示不增長。該值可按 MB、KB 或 % 的形式指定。指定一個整數,不要包含小數位。如果指定了 %,那麼文件增量為文件發生增長時文件大小的指定百分比。如果未在數量後面指定 MB、KB 或 %,則默認值為 MB。如果 FILEGROWTH 未指定,默認值為 10%,且最小值為 64 KB。指定的大小舍入為最接近的 64 KB 的倍數。
<state_option>

控制用戶對資料庫的訪問,資料庫是否處於聯機狀態,以及是否允許寫操作。

SINGLE_USER | RESTRICTED_USER | MULTI_USER
控制哪些用戶可以訪問資料庫。如果指定為 SINGLE_USER,那麼同一時間只能有一個用戶訪問資料庫。如果指定為 RESTRICTED_USER,那麼只有 db_owner、dbcreator 或 sysadmin 角色的成員可以使用資料庫。MULTI_USER 使資料庫返回到正常操作狀態。

OFFLINE | ONLINE
控制資料庫是聯機還是離線。

READ_ONLY | READ_WRITE
指定資料庫是否處於只讀模式。在只讀模式下,用戶可以從資料庫中讀取數據,但不能修改數據。當指定 READ_ONLY 時,資料庫不能處於使用狀態。master 資料庫是一個例外,當該資料庫設置為 READ_ONLY 時,只有系統管理員才能使用該資料庫。READ_WRITE 使資料庫返回到讀寫操作狀態。
<cursor_option>

控制游標選項。

CURSOR_CLOSE_ON_COMMIT ON | OFF
如果指定為 ON,在事務提交或回滾時所有打開的游標都將關閉。如果指定為 OFF,那麼在事務提交時打開的游標仍保持打開;而回滾事務時關閉所有除定義為 INSENSITIVE 或 STATIC 之外的游標。

CURSOR_DEFAULTLOCAL | GLOBAL
控制游標作用域默認為 LOCAL 還是 GLOBAL。
<auto_option>

控制自動選項。

AUTO_CLOSE ON | OFF
如果指定為 ON,那麼最後一個用戶退出後,資料庫將干凈地關閉,其佔用的資源將釋放。如果指定為 OFF,那麼最後一個用戶退出後資料庫仍保持打開。

AUTO_CREATE_STATISTICS ON | OFF
如果指定為 ON,那麼所有優化查詢需要但缺少的統計信息都會在查詢優化時自動生成。

AUTO_SHRINK ON | OFF
如果指定為 ON,資料庫文件將定期自動收縮。

AUTO_UPDATE_STATISTICS ON | OFF
如果指定為 ON,所有查詢優化所需的過時的統計信息在都將在優化時自動重建。如果指定為 OFF,統計信息必須手工更新。
<sql_option>

控制 ANSI 遵從性選項。

ANSI_NULL_DEFAULT ON | OFF
如果指定為 ON,CREATE TABLE 在確定列是否允許空值時遵從 SQL-92 規則。

ANSI_NULLS ON | OFF
如果指定為 ON,所有與空值的比較運算結果為 UNKNOWN。如果指定為 OFF,非 UNICODE 值與空值的比較運算在兩者均為 NULL 時結果為 TRUE。

ANSI_PADDING ON | OFF
如果指定為 ON,在比較或插入前,字元串將填充為同一長度。如果指定為 OFF,字元串將不填充。

ANSI_WARNINGS ON | OFF
如果指定為 ON,當出現諸如被零除的情況時將產生錯誤或警告。

ARITHABORT ON | OFF
如果指定為 ON,在執行查詢時如果發生溢出或被零除,該查詢將終止。

CONCAT_NULL_YIELDS_NULL ON | OFF
如果指定為 ON,當串聯操作的兩個操作數中任意一個為 NULL 時,結果也為 NULL。如果指定為 OFF,空值將按空字元串對待。默認設置為 OFF。

QUOTED_IDENTIFIER ON | OFF
如果指定為 ON,雙引號將可用於包含定界標識符。

NUMERIC_ROUNDABORT ON | OFF
如果指定為 ON,當表達式中出現精度損失時將產生錯誤。

RECURSIVE_TRIGGERS ON | OFF
如果指定為 ON,將允許遞歸激發觸發器。RECURSIVE_TRIGGERS OFF(默認值)只禁止直接遞歸。若要也禁用間接遞歸,請使用 sp_configure 將 nested triggers 伺服器選項設置為 0。
<recovery_options>

控制資料庫恢復選項。

RECOVERY FULL | BULK_LOGGED | SIMPLE
如果指定為 FULL,系統將對介質錯誤提供完全保護。如果數據文件損壞,介質恢復可以還原所有已提交的事務。
如果指定為 BULK_LOGGED,將在介質錯誤保護程度與某些大規模或大容量操作的最優性能及日誌存儲空間最少佔用量之間進行權衡。這些操作包括 SELECT INTO、大容量裝載操作(bcp 和 BULK INSERT)、CREATE INDEX 以及文本和圖象操作(WRITETEXT 和 UPDATETEXT)。

在大容量日誌記錄恢復模型下,對整個類只做最少的日誌記錄,並且無法逐個操作地控制日誌記錄行為。

如果指定為 SIMPLE,系統將提供佔用日誌空間最小的備份策略。伺服器故障恢復不再需要的日誌空間可被自動重用。

重要 簡單恢復模型比其它兩種模型更容易管理,但數據文件損壞時造成數據丟失的可能性更大。最近的資料庫備份或差異資料庫備份之後的更改都將丟失,必須手工重新輸入。

默認恢復模型由 model 資料庫的恢復模型確定。若要更改新資料庫的默認值,請用 ALTER DATABASE 設置 model 資料庫的恢復選項。

TORN_PAGE_DETECTION ON | OFF
如果指定為 ON,將可以檢測到未完成的頁。默認設置為 ON。
注釋
若要刪除資料庫,請使用 DROP DATABASE 語句。若要更改資料庫名稱,請使用 sp_renamedb。有關減小資料庫大小的更多信息,請參見 DBCC SHRINKDATABASE。

在對資料庫應用不同的或新的排序規則時,應確保符合以下條件:

您是當前資料庫的唯一用戶。

沒有依賴資料庫排序規則的架構綁定對象。
如果資料庫中存在以下依賴資料庫排序規則的對象,則 ALTER DATABASE database COLLATE 語句將失敗。SQL Server 將針對每一個阻塞 ALTER 操作的對象返回一個錯誤信息:

通過 SCHEMABINDING 創建的用戶定義函數和視圖。

計算列。

CHECK 約束。

表值函數返回包含字元列的表,這些列繼承了默認的資料庫排序規則。
改變資料庫的排序規則不會在任何數據對象的系統名稱中產生重復名稱。
如果改變排序規則後出現重復的名稱,則下列命名空間可能導致改變資料庫排序規則的操作失敗:

對象名(如過程、表、觸發器或視圖)。

架構名(如組、角色或用戶)。

標量類型名(如系統和用戶定義類型)。

全文目錄名稱。

對象內的列名或參數名。

表范圍內的索引名。
由新的排序規則產生的重復名稱將導致改變操作失敗,SQL Server 將返回錯誤信息,指出重復名稱所在的命名空間。

當 BACKUP 語句正在執行時,不能添加或刪除文件。

若要在 size 參數中指定兆位元組的分數,應通過乘以數字 1024 將該值轉換為千位元組。例如,應指定 1536 KB 而不是 1.5MB(1.5 x 1024 = 1536)。

許可權
ALTER DATABASE 許可權默認授予 sysadmin 和 dbcreator 固定伺服器角色成員以及 db_owner 固定資料庫角色成員。這些許可權是不可傳遞的。

示例
A. 向資料庫中添加文件
下例創建資料庫,並更改該資料庫以添加一個 5 MB 大小的新數據文件。

USE master
GO
CREATE DATABASE Test1 ON
(
NAME = Test1dat1,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat1.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
GO
ALTER DATABASE Test1
ADD FILE
(
NAME = Test1dat2,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat2.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
GO

B. 向資料庫中添加由兩個文件組成的文件組
下例在示例 A 中所創建的 Test1 資料庫中創建一個文件組,並將兩個 5 MB 的文件添加到該文件組。然後下例將 Test1FG1 設置為默認文件組。

USE master
GO
ALTER DATABASE Test1
ADD FILEGROUP Test1FG1
GO

ALTER DATABASE Test1
ADD FILE
( NAME = test1dat3,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat3.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB),
( NAME = test1dat4,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\t1dat4.ndf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
TO FILEGROUP Test1FG1

ALTER DATABASE Test1
MODIFY FILEGROUP Test1FG1 DEFAULT
GO

C. 向資料庫中添加兩個日誌文件
下例向資料庫中添加兩個 5 MB 大小的日誌文件。

USE master
GO
ALTER DATABASE Test1
ADD LOG FILE
( NAME = test1log2,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test2log.ldf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB),
( NAME = test1log3,
FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\test3log.ldf',
SIZE = 5MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB)
GO

D. 從資料庫中刪除文件
下例將示例 B 中添加到資料庫 Test1 中的一個文件刪除。

USE master
GO
ALTER DATABASE Test1
REMOVE FILE test1dat4
GO

E. 更改文件
下例將示例 B 中添加到資料庫 Test1 中的一個文件增加大小。

USE master
GO
ALTER DATABASE Test1
MODIFY FILE
(NAME = test1dat3,
SIZE = 20MB)
GO

F. 將主文件組設置為默認文件組
假定原來另一個文件組設置為默認文件組,下例將主文件組設置為默認文件組。

USE master
GO
ALTER DATABASE MyDatabase
MODIFY FILEGROUP [PRIMARY] DEFAULT
GO

請參見

CREATE DATABASE

DROP DATABASE

sp_helpdb

sp_helpfile

sp_helpfilegroup

sp_renamedb

sp_spaceused

使用恢復模型

&;1988-2000 Microsoft Corporation。保留所有權利。

Ⅸ 用戶可設置的文件屬性有哪些

隱藏、存檔、只讀。

一般電腦桌面點擊新建就可以建立一個新文件,只不過不同行業的朋友平時所需要的文件類型不同,比如TXT文件、WORD文件、EXECEL文件等等。不過雖然這些文件的類型不同,但是文件屬性都是差不多的。

系統屬性、隱藏屬性、只讀屬性和歸檔屬性都是常見文件的屬性。