資料庫表有兩種基本型別:
關係表物件表
關係表有三種特徵組織表
堆組織表 :不按照特定的順序排列
索引組織表:按照主鍵進行排列
外部表:唯讀表。元資料儲存在資料庫中,而資料儲存在資料庫外面
表要麼是永久的,要麼是臨時的。
永久的表生命週期表長
臨時表的生命週期是乙個事物或者乙個會話期間。臨時表只是儲存(某些應用程式在執行過程中由多個操作生成的)中間結果集。
建立表:
表名稱和列集組成。
當你建立乙個表的時候,給每列乙個列名稱,資料型別以及資料的寬度。
表可以包含乙個虛擬列,但是虛擬列跟非虛擬列不一樣,虛擬列不占用磁碟空間。資料庫通過計算一組使用者指定的表示式或者函式,
按需派生出虛擬的列值。
建立表:
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 提供定義完整...