怎么用HI隱藏文件
attrib指令用于修改文件的屬性,文件的常見屬性有:只讀、存檔、隱藏和系統
只讀屬性是指文件只可以做讀的操作,不能對文件進行寫的操作,就是文件的寫保護。
存檔屬性是用來標記文件改動的,即在上一次備份后文件有所改動,一些備份軟件在備份的時候會只去備份帶有存檔屬性的文件。
隱藏屬性顧名思義即為隱藏文件,在通常情況下,在資源管理器中不顯示帶有隱藏屬性的文件。
系統屬性是指標注文件為系統文件,是系統需要調用的文件。
attrib指令的格式和常用參數為
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 設置屬性。
- 清除屬性。
R 只讀文件屬性。
A 存檔文件屬性。
S 系統文件屬性。
H 隱藏文件屬性。
[drive:][path][filename]
指定要處理的文件屬性。
/S 處理當前文件夾及其子文件夾中的匹配文件。
/D 也處理文件夾。
隱含屬性和系統屬性的結合
如果文件同時具有隱含屬性和系統屬性,只需要一個ATTRIB信命令就可將它們全部清除。例如清除文件MAX360.TXT的的隱含屬性及系統屬性,可以輸入以下命令:
attrib -s -h max360.txt 或者 attrib max360.txt -s -h
對一組文件的處理
同顯顯示或修改一組文件的屬性,可使用通配符(?及*).如果文件具有隱含屬性或系統屬性,必須先行清除,然后才能修改它的其它屬性。
修改目錄的屬性
可以顯示或修改目錄的屬性。使用ATTRIB命令處理目錄屬性時,必須明顯指定目錄名,對目錄名不能使用通配符。例如:要把目錄c:\sunenze隱藏起來,輸入以下命令:
attrib +h c:\sunenze
下一命令使用通配符,故只對文件有效,對目錄不起作用。
attrib c:\*.*
文檔的存檔屬性
文檔初建或修改后均由系統賦予存檔屬性,文件BAKUP時,其存檔屬性取肖,如再修改,又賦予存檔屬性。所以存檔屬性主要用 于標記那些自上一次備份以來作過修改的文件MSBACKP,RESTORE,T XCOPY命令的使用關系到這一屬性。有關文件存檔屬性的說明,參閱MSBACKUP,RESTORE和XCOPY命令。
應用舉例
顯示當前目錄下CNIT128的屬性輸入如下命令
attrib cnit128
賦予文件cnit128.txt只讀屬性,輸入如下命令
attirb cnit128.txt +r
清除b:盤\sunenze\cnit128目錄下所有文件及\sunenze\cnit128所有子目錄下的文件的只讀屬性,輸入如下命令:
attrib b:\sunenze\cnit128\*.* -s -r
舉例:對D盤所有的文件和文件夾設置成隱藏那么就可以使用下面的命令:
首先在DOS下面進入系統的D盤
然后輸入:
attrib -s -a +h -r /s /d
除了/s遞歸處理外,還要再加參數/d,表示也處理文件夾(d是directory的縮寫)
關系數據庫有哪幾種完整性
3.1 SQL 中的完整性約束
SQL把各種完整性約束作為數據庫模式定義的一部分。既有效防止了對數據庫的意外破壞,提高了完整性檢測的效率,又可以減輕編程人員的負擔。
SQL對三種不同完整性約束的設置及檢測,采取了不同的方式加以實現。下面分別介紹。
3.1.1 實體完整性和主碼
實體完整性規定,主碼的任何屬性都不能為空,因為,概念模型中實體和聯系都是可區分的,而且它們以碼為唯一性標識。如果,主碼的屬性值可以為空,則意味著在概念模型中存在著不以碼為唯一性標識的實體。這顯然是前后矛盾的。
那么怎樣保證實體完整性呢?SQL中實體完整性是通過主碼來實現的。一旦某個屬性或屬性組被定義為主碼,該主碼的每個屬性就不能為空值,并且在關系中不能出現主碼值完全相同的兩個元組。
主碼的定義是在Create Table 語句中使用 Primary Key關鍵字來實現的。方法有兩種:
a) 在屬性定義后加上關鍵字 Primary Key;
b) 在屬性表定義后加上額外的定義主碼的子句:Primary Key(<主碼屬性名表>)
說明:
2 如果主碼僅由一個屬性組成,上述兩種方法都可定義,若由兩個或以上的屬性組成,則只能用上述第二種方法定義了。
2 對于候選碼的說明方法,可以用Unique說明該屬性的值不能重復出現。Unique的使用與Primary Key相似。
2 一個表中只能有一個主碼定義,但可以有多個Unique說明。
2 SQL中,并沒有強制為每個關系指定主碼,但為每個關系指定主碼通常會更好一些。(因為主碼的指定可以確保關系的實體完整性)
3.1.2 參照完整性約束與外部碼
參照完整性是對關系間引用數據的一種限制。即:若屬性組A是基本關系R1的外碼,它與基本關系R2的主碼K相對應,則R1中每個元組在A上的值必須:要么取空值,要么等于R2中某元組的主碼值。
一、外部碼約束的說明:
SQL中就是利用外部碼的說明來實現參照完整性約束,限制表中某些屬性的取值的。外部碼的說明也有兩種方法:
1、在該屬性的說明后直接加上關鍵字”REFERENCES <表名>(<屬性名>)”,其中表名稱為參照關系名,屬性名稱為參照關系的主碼。
2、在Create Table 語句的屬性清單后,加上外部碼說明子句,格式為:
FOREIGN KEY <屬性名表1> REFERENCES <表名>(<屬性名表2>)
上式中的屬性名表1和屬性名表2中屬性可以多于一個,但必須前后對應。
二、參照完整性約束的實現策略
前面講了,外部碼的取值只有兩種情況:要么取空,要么取參照關系中的主碼值。可是當用戶操作違反了這個規則時,如何保持此約束呢?
SQL提供了三種可選方案:
1、RESTRICT(限制策略):
當用戶對表進行違反了上述完整性約束、條件的插入、刪除或修改操作時,將會被系統拒絕。
2、CASCADE(級聯策略):
當對參照關系進行刪除和修改時,SQL所提供的一種方案。在這種策略下,當刪除或修改參照關系中某元組的主碼值時,被參照關系中,那些外部碼具有該值的元組也將被刪除或修改,以保證參照完整性。
3、SET NULL(置空策略):
置空策略也是針對參照關系的刪除或修改操作的。在這種策略下,當刪除參照關系中的某一元組或修改某一元組的主碼值時,被參照關系中外碼值等于該主碼值的元組在該外碼上的值將被置空
說明:
當用戶不指定參照完整性的實現策略時,一般被默認為RESTRICT(限制策略)。實現策略的說明通常被加在外部碼的說明后面,格式為:ON DELETE SET NULL ON UPDATE CASCADE。
3.1.3 用戶自定義完整性約束
對于用戶自定義完整性約束,SQL提供了非空約束、對屬性的CHECK約束、對元組的CHECK約束、觸發器等來實現用戶的各種完整性要求。
1、非空約束:
在CRETE TABLE 中的屬性定義后面加上NOT NULL關鍵字即定義了該屬性不能取空值。
2、基于屬性的CHECK約束
使用CHECK(檢查)子句可保證屬性值滿足某些前提條件。其一般格式為:
CHECK(<條件>)
它既可跟在屬性定義的后面,也可在定義語句中另增一子句加以說明。
如:CHECK(age>=18 AND age<=65);
CHECK(sex IN (“男”,”女”));
CHECK(dno IN(select dno from department));
從上例中可以看出,CHECK子句的條件中還可以帶子查詢。
3、基于元組的CHECK約束
基于元組的CHECK約束往往要涉及到表中的多個域。所以它是元組約束。在對整個元組完成插入或對某一元組的修改完成之后,系統將自動檢查是否符合CHECK條件表達式。若不符合條件,系統將拒絕該插入或修改操作。
基于元組CHECK約束的說明方法是在CREATE TABLE語句中的屬性表、主碼、外部碼的說明之后加上CHECK子句。
3.1.4 約束的更新
約束與數據庫中的表和視圖一樣,可以進行增、刪、改的更新操作。為了改和刪約束,需要在定義約束時對其進行命名,在各種約束的說明前加上關鍵字CONSTRAINT 和該約束的名稱即可。
例如:在employee表的create table語句中:
eno char(4) CONSTRAINT PK_employee PRIMARY KEY,
dno char(4)CONSTRAINT FK_employee FOREIGN KEY REFERENCES department(dno);
當對各種約束進行命名后,就可以用ALTER TABLE語句來更新與屬性或表有關的各種約束。如:
ALTER TABLE employee DROP CONSTRAINT FK_employee;
ALER TABLE Salary ADD CONSTRAINT RightSalary CHECK(Insure+Fund
