資料庫表及其完整性約束

2022-07-19 03:36:14 字數 1313 閱讀 8120

資料庫表有兩種基本型別:

關係表物件表

關係表有三種特徵組織表

堆組織表 :不按照特定的順序排列

索引組織表:按照主鍵進行排列

外部表:唯讀表。元資料儲存在資料庫中,而資料儲存在資料庫外面

表要麼是永久的,要麼是臨時的。

永久的表生命週期表長

臨時表的生命週期是乙個事物或者乙個會話期間。臨時表只是儲存(某些應用程式在執行過程中由多個操作生成的)中間結果集。

建立表:

表名稱和列集組成。

當你建立乙個表的時候,給每列乙個列名稱,資料型別以及資料的寬度。

表可以包含乙個虛擬列,但是虛擬列跟非虛擬列不一樣,虛擬列不占用磁碟空間。資料庫通過計算一組使用者指定的表示式或者函式,

按需派生出虛擬的列值。

建立表:

create table employees(

employee_id number(6),

first_name varchar2(20),

last_namme varchar2(25) constraint emp_last_name_un not null,

constraint emp_salary_min check(salary > 0),

constraint emp_email_uk unique(email)

);emp_last_name_un 是對last_name進行約束,使用者自己定義的非空約束名。否則由oracle會自動生成隨機的名字,這樣,使用者在取消

約束的時候不能夠確定約束名字是什麼,就必須去查詢約束名進行取消約束,這樣就增加了工作量.但一般來講不會給非空約束取名字的。

因為非空約束太普遍了,乙個表的很多欄位都會要求非空。這樣,如果給每個非空約束命名,就會顯得很繁瑣。

如果建表的命令中沒有命名,oracle會自動命名,所有的約束都是這樣。這些問題是屬於資料庫程式設計規範的範圍,目的就是提高程式和

**的可讀性、可維護性、效能,等等。

但主鍵約束,外來鍵約束,唯一約束和檢查約束一般應命名。

補:建立儲存過程的時候可以create or replace,那麼,建立表的時候就不可以了,表裡面有資料,儲存過程只是**,兩者有本質區別。

那麼只能是刪除資料表了,但是對錶的操作要小心,如果是生產資料庫,不能直接刪除表的。要對錶的結構進行修改,使用alter table來完成

。按照資料庫的目的來區分:

生產資料庫,測試資料庫,開發資料庫。

開發資料庫是軟體開發人員使用的,測試資料庫是測試人員使用的,生產資料庫是客戶使用的。但開發庫和測試庫是還沒有定型的,

發現問題還要修改的,最後修改的成品交給客戶也就是部署到系統中。

資料庫 完整性約束

問題描述 現有乙個商店的資料庫 shopping 記錄客戶及其購物情況,由以下四個關係組成 a 客戶表customer 儲存客戶資訊,包括客戶號customerid 客戶姓名cname 位址address 電子郵件email 性別gender 身份證號cardid 號碼telcode。b 商品表go...

資料庫 資料完整性約束

資料完整性 儲存在資料庫中的所有資料值均正確的狀態。完整性約束 防止不符合規範的資料進入資料庫,在使用者對資料進行插入 修改 刪除等操作時,dbms自動按照一定的約束條件對資料進行監測,使不符合規範的資料不能進入資料庫,以確保資料庫中儲存的資料正確 有效 相容。1.實體完整性 實體完整性是對主鍵的約...

資料庫概論 完整性約束

一 資料庫的完整性約束 資料的正確性和相容性 注 資料的完整性和安全性是兩個不同的概念。資料庫的完整性是為了防止資料庫中含有不符合語義的的資料,也就是防止資料庫中含有不正確的資料。資料庫中的安全性是為了保護資料庫防止惡意的破壞和非法的訪問。二 為維護資料庫的完整性,dbmx必須能夠 1 提供定義完整...