⑴ 資料庫檢查約束怎麼寫
什麼時候添加都行。(你的標題意思不正確,說成資料庫中表的外鍵約束就對了) 主鍵作用:用以標識唯一一條記錄,也就是說用來區分行數據的標志。做資料庫里的一張數據表時,一般只要定義了列屬性,數據表就算是建立完成了。類似於/*創建StudentsInfo表*/ use Moonfox_db if exists(select * from sysobjects where name='StudentsInfo') drop table StudentsInfo create table StudentsInfo ( SName nvarchar(10) not null,--姓名 SID int identity (10000,1)primary key,--學號,主鍵 Gender nchar(2) not null check(Gender='男' or Gender='女'),--性別,添加限制 SClass nvarchar(10) not null,--班級 SBirthday datetime not null,--出生日期 SNative nvarchar(10),--籍貫 SPhoto image,--照片 Remarks nvarchar(200)--簡歷 ) 這些就是一張表裡的屬性,也就是我們通常意義上的列,只要把它做好了,表裡的數據你想什麼時候添加都行。
⑵ 如何檢查資料庫中數據的一致性
資料庫一致性檢查(dbcc)提供了一些命令用於檢查資料庫的邏輯和物理一致性。Dbcc主要有兩個功能:
使用checkstorage 或 checktable 及 checkdb 在頁一級和行一級檢查頁鏈及數據指針。
使用checkstorage, checkalloc, 或 checkverify, tablealloc, 及indexalloc
檢查頁分配。
在下列情況中需要使用 dbcc 命令: 作為資料庫日常維護工作的一部分, 資料庫內部結構的完整性決定於sa 或dbo 定期地運行
dbcc 檢查。 在系統報錯以後, 確定資料庫是否有損壞。 在備份資料庫之前, 確保備份的完整性。 如果懷疑資料庫有損壞時, 例如,
使用某個表時報出表損壞的信息, 可以使用 dbcc 確定資料庫中其他表是否也有損壞。
下面是dbcc的簡單用法: dbcc checktable (table_name) 檢查指定的表,
檢查索引和數據頁是否正確鏈接, 索引是否正確排序, 所有指針是否一致, 每頁的數據信息是否合理, 頁偏移是否合理。 dbcc
checkdb (database_name) 對指定資料庫的所有表做和checktable 一樣的檢查。 dbcc
checkalloc (database_name,fix|nofix) 檢查指定資料庫, 是否所有頁面被正確分配,
是否被分配的頁面沒被使用。當使用"fix"選項時,在檢查資料庫的同時會自動修復有問題的頁面。(若資料庫數據量很大,則該過程會持續很長時間。)
dbcc tablealloc (table_name,fix|nofix) 檢查指定的表, 是否所有頁面被正確分配,
是否被分配的頁面沒被使用。是 checkalloc 的縮小版本,
對指定的表做完整性檢查。當使用"fix"選項時,在檢查數據表的同時會自動修復數據表中有問題的頁面。
關於上述命令的其它選項及詳細使用方法和checkstorage, checkverify, indexalloc
的詳細使用方法, 請參閱有關命令手冊。 舉例1: Unix平台檢查pubs2資料庫的一致性 單用戶模式啟動Server:
$SYBASE/install startserver -f RUN_server_name -m
vi dbcc_db.sqluse mastergosp_dboption pubs2,"single user",truegouse pubs2gocheckpoint go dbcc checkdb(pubs2)godbcc checkalloc(pubs2,fix)godbcc checkcatalog(pubs2)gouse mastergosp_dboption pubs2,"single user",falsegouse pubs2gocheckpointgoquit go isql -Usa -Pxxxxxx -SSYBASE dbcc_db.out
grep Msg dbcc_db.out
舉例2: Unix平台檢查pubs2資料庫中titles表的一致性
⑶ 資料庫的默認約束和檢查約束區別!
1.寫法
默認:ALTER TABLE 表名 ADD CONSTRAINT DF_欄位 DEFAULT(欄位) FOR 默認值
檢查:ALTER TABLE 表名 ADD CONSTRAINT CK_欄位 CHECK(欄位 BETWEEN 1 AND 100)
2.環境
默認:一個欄位,一般情況下都是某個值,那麼這個欄位就應該添加默認約束。這個欄位插入
時比較方便省事。
檢查:一個欄位,有一定的限制,比如,上面的例子,如果是年齡,你該限制在1~150之間,
如果插入的數字小於0或者大於150,那麼就會插入失敗。
⑷ sql資料庫中,哪些是檢查子句,
select * from 表名 where willnum>3
⑸ 怎麼檢查資料庫的完整性約束
數據完整性
強制數據完整性可確保資料庫中的數據質量。例如,如果輸入了 employee_id 值為 123 的職員,那麼該資料庫不應允許其他職員使用同一 ID 值。如果計劃將 employee_rating 列的值范圍設定為從 1 到 5,則資料庫不應接受 6。如果表有一 dept_id 列,該列存儲職員的部門編號,則資料庫應只允許接受公司中的有效部門編號。
對表進行計劃有兩個重要步驟:標識列的有效值和確定如何強制列中的數據完整性。數據完整性有四種類型:
實體完整性
域完整性
引用完整性
用戶定義完整性
實體完整性
實體完整性將行定義為特定表的唯一實體。實體完整性強製表的標識符列或主鍵的完整性(通過索引、UNIQUE 約束、PRIMARY KEY 約束或 IDENTITY 屬性)。
域完整性
域完整性是指給定列的輸入有效性。強制域有效性的方法有:限制類型(通過數據類型)、格式(通過 CHECK 約束和規則)或可能值的范圍(通過 FOREIGN KEY 約束、CHECK 約束、DEFAULT 定義、NOT NULL 定義和規則)。
引用完整性
在輸入或刪除記錄時,引用完整性保持表之間已定義的關系。在 Microsoft® SQL Server™ 2000 中,引用完整性基於外鍵與主鍵之間或外鍵與唯一鍵之間的關系(通過 FOREIGN KEY 和 CHECK 約束)。引用完整性確保鍵值在所有表中一致。這樣的一致性要求不能引用不存在的值,如果鍵值更改了,那麼在整個資料庫中,對該鍵值的所有引用要進行一致的更改。
強制引用完整性時,SQL Server 禁止用戶進行下列操作:
當主表中沒有關聯的記錄時,將記錄添加到相關表中。
更改主表中的值並導致相關表中的記錄孤立。
從主表中刪除記錄,但仍存在與該記錄匹配的相關記錄。
⑹ 如何檢查和設置資料庫的基本屬性
1.Power script 語言里的事務處理對象怎麼理解
PowerBuilder程序與資料庫之間傳遞信息的一個結構變數,共有15個成員.你可以詳細列表它的所有成員看看它的組成.PB的應用程序會初始化一個全局的結構體變數,SQLCA,當然你也可以自定義一個自己的事務對象.
1 DBMS string 所使用的資料庫管理系統的名字,如Sybase,Oracle,ODBC。
2 Database string 要連接的資料庫名字。
3 UserID string 連接資料庫所用的用戶名。有的DBMS不需要此項。
4 DBPass string 用戶連接資料庫的口令。
5 Lock string 這是資料庫的保護級別,一般不必給出。
6 LogID string 登錄到資料庫伺服器上的用戶名,有的DBMS不需要此項,但Sybase和Oracle需要指定這個參數。
7 LogPass string 登錄到資料庫伺服器上的用戶口令。這個屬性可設可不設,但Sybase和Oracle需要指定口令。
⑺ 教你如何檢查Access資料庫中數據有效性
開發一個好的資料庫管理系統,關鍵是要確保錄入數據的完整性和准確性。Access提供了很多檢查錄入數據有效性的手段,筆者這里就簡單介紹兩種常用的方法。 一、 利用欄位屬性 1. 數據類型屬性 :數據類型決定了用戶能保存在此欄位中值的種類,如果用戶鍵入的數據與欄位規定的類型不一致,Access就不會存儲該數據。如「日期/時間」欄位,只允許輸入有效的日期與時間格式。 2. 欄位大小屬性 :對於「數字」型欄位,通過設置欄位的大小控制輸入值的類型和范圍;而對「文本」欄位,可以設置可輸入的最大字元數(最大為255)。 3. 必填欄位屬性 :資料庫中除「自動編號」欄位外(該欄位可自行生成數據)的其它欄位,都可利用設置必填欄位屬性值為「是」,要求欄位中必須有數據輸入,以避免一些重要信息的遺漏。 4. 輸入掩碼屬性 :該屬性可幫助用戶按照正確的格式輸入數據。如創建輸入掩碼顯示電話號碼的括弧、空格及連接符,輸入時只要在空格中填入即可。 5. 有效性規則屬性 :欄位有效性規則屬性用於在用戶離開欄位時,檢查輸入欄位的值是否符合要求。 表有效性規則與欄位有效性規則不同,當需要設置涉及表中多個欄位的有效性規則屬性時,可以設置表屬性的有效性規則。 二、 使用事件過程 在某些情況下,當有效性規則含有復雜的條件,並且需根據條件執行不同的操作時,往往很難寫出有效性規則,這時可以通過對如下的事件過程編寫代碼來代替有效性規則進行檢查。
⑻ oracle資料庫日常健康檢查會檢查哪些內容使用哪些命令
oracle檢測壞塊的方式:
1、利用oracle的RMAN工具
2、利用dbv工具檢測
3、利用 exp/imp工具檢測
其中2、3的方式無法徹底檢測所有壞塊,所以重點介紹下RMAN方式
RMAN>backup check logical validate datafile n ;
可以檢查數據文件是否包含壞塊,同時並不產生實際的備份輸出。
而且當使用Recovery Manager進行實際的資料庫備份時,同時也就進行了壞塊
檢查。但要注意的是,在線使用Recovery Manager掃描壞塊和備份時,需要數
據庫運行在歸檔模式(archive log),否則只能在資料庫未打開的情況下進行。
⑼ SQL...什麼是資料庫的檢查點
CKPT is responsible for:
• Signaling DBWn at checkpoints
• Updating data file headers with
checkpoint information
• Updating control files with
checkpoint information
Background Processes and Recovery: Checkpoint (CKPT)
To understand instance recovery, you need to understand the functioning of certain background
processes.
Every three seconds (or more frequently), the CKPT process stores data in the control file to
document which modified data blocks DBWn has written from the SGA to disk. This is called a
「checkpoint.」 The purpose of a checkpoint is to identify that place in the online redo log file
where instance recovery is to begin (which is called the 「checkpoint position」).
In the event of a log switch, the CKPT process also writes this checkpoint information to the
headers of data files.
Checkpoints exist for the following reasons:
• To ensure that modified data blocks in memory are written to the disk regularly so that data
is not lost in case of a system or database failure
• To rece the time required for instance recovery. Only the online redo log file entries
following the last checkpoint need to be processed for recovery.
• To ensure that all committed data has been written to data files ring shutdown
The checkpoint information written by the CKPT process includes checkpoint position, system
change number, location in the online redo log file to begin recovery, information about logs,
and so on.
ORACLE CHECKPOINT的作用
checkpoint是一個資料庫事件,它將已修改的數據從高速緩存刷新到磁碟,並更新控制文件和數據文件。
我們知道了checkpoint會刷新臟數據,但什麼時候會發生checkpoint呢?以下幾種情況會觸發checkpoint。
1.當發生日誌組切換的時候
2.當符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target參數設置的時候
3.當運行ALTER SYSTEM SWITCH LOGFILE的時候
4.當運行ALTER SYSTEM CHECKPOINT的時候
5.當運行alter tablespace XXX begin backup,end backup的時候
6.當運行alter tablespace ,datafile offline的時候;
你再好好看看文檔吧
⑽ 完整性約束對於資料庫數據檢查有何作用
1.資料庫完整性約束能夠防止合法用戶使用資料庫時向資料庫中添加不合語義的數據。
2.利用基於DBMS的完整性控制機制來實現業務規則,易於定義,容易理解,而且可以降低應用程序的復雜性,提高應用程序的運行效率。同時,基於DBMS的完整性控制機制是集中管理的,因此比應用程序更容易實現資料庫的完整性。
3.合理的資料庫完整性設計,能夠同時兼顧資料庫的完整性和系統的效能。
4.在應用軟體的功能測試中,完善的資料庫完整性有助於盡早發現應用軟體的錯誤