<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            php語言

            PHP數據庫Oracle數據完整性

            時間:2025-05-05 12:54:28 php語言 我要投稿
            • 相關推薦

            PHP數據庫Oracle數據完整性

              學習是艱苦的,只要熬過學習期就會有大大的收獲。以下是百分網小編精心為大家整理的PHP的相關學習內容Oracle數據完整性,希望對大家學習有所幫助!更多內容請關注應屆畢業生網!

              一、數據完整性

              數據完整性要求數據庫中的數據具有準確性。準確性是通過數據庫表的設計和約束來實現的。為了實現數據完整性,數據庫需要做兩方面的工作:

              確保每行的數據符合要求。

              去報沒咧的數據符合要求。

              為了實現以上要求,Oracle提供了一下4種類型的約束(Constraint)。

              1、實體完整性約束

              實體完整性要求表中的每一行數據都反映不同的實體,不能存在相同的數據行。通過主鍵約束,唯一約束來實現實體完整性。

              (1)主鍵約束:

              表中的一列或者紀略組合的值能用來唯一的表示表中的每一行,這樣的一列或者多列的組合叫做表的主鍵。

              主鍵自帶唯一性,并且不能為空,一個表只能有一個主鍵,主鍵確保了表中數據行的唯一,同一張表中,可以使用多個列共同作為主鍵。在選擇主鍵時,應遵循兩個原則,最少性和穩定性。

              (2)唯一約束:

              保證數據行中的某一列的數據是唯一的,不重復的。這樣可以添加唯一約束。

              唯一約束和主鍵的區別:

              主鍵不能為空,唯一可以為空,但只允許有一個空值。

              主鍵一張表中只有一個,而唯一可以有多個。

              主鍵可以由多個表來組成,唯一只能是單列。

              主鍵可以作為其他表的外鍵,唯一不可以。

              2、域完整性:

              與完整性是指給定咧的輸入的有效性。通過數據類型、檢查約束、輸入格式、外鍵約束、默認值、非空約束等方法來實現。

              3、引用完整性:

              引用完整性是指為兩個表中存在一定的聯系,從而保證數據的完整性。例如:班級和學生,學生所在班級一定是在班級表中所存在的,不然就會出現不準確。引用完整性我們可以通過外鍵約束來實現。

              4、自定義完整性:

              用戶自己定義約束規則。主要通過存儲過程和觸發器對象來實現。

              二、添加約束

              在創建表時,我們可以再字段后添加各種約束。這里分為列級定義和表級定義:

              1、列級定義

              列級定義是指在定義列的同時定義定義約束。

              如在t_class表定義主鍵和唯一約束

            1
            2
            3
            --創建班級表 CREATE TABLE t_class
            (
              cid NUMBER CONSTRAINT pk_cid PRIMARY KEY, --為cid添加主鍵約束 cname VARCHAR2(20) constraint uq_sortname UNIQUE --為cname添加唯一約束 )

              說明:在列級定義時,加不加constraint pk_department都是可以的,區別是不加的話,系統會自動分配一個主鍵約束名稱,可讀性差。

              2、表級定義

              表級定義是指在定義了所有列后,再定義約束。需要注意:not null只能在列級上定義。

              以在建立學生和班級表時定義主鍵約束和外鍵約束為例:

            1
            2
            3
            4
            5
            6
            7
            8
            --創建學生表 create table t_student(
                stuID number(4),
                stuname varchar2(20) NOT NULL,
                stupass varchar2(20) NOT NULL,
                cid NUMBER NOT NULL, constraint uq_username UNIQUE(stuname), --創建唯一約束 
                constraint ck_userpass Check(LENGTH(stupass) > 3), --創建檢查約束(密碼長度大于3位)     
                constraint pk_uid primary key(stuID), --主鍵約束     
                constraint fk_cid foreign key(cid) references t_class(cid) --外鍵約束   );

              3、創建表后,我們也可以在已經建好的表上添加約束,需要使用ALTER TABLE語句。

              語法:ALTER TABLE ADD CONSTRAINT 約束名 約束類型 具體的約束說明。

            1
            2
            3
            4
            ALTER TABLE t_student ADD CONSTRAINT uq_username UNIQUE(stuname) --創建唯一約束 
            ADD CONSTRAINT ck_userpass Check(LENGTH(stupass) > 3) --創建檢查約束(密碼長度大于3位)   
            ADD CONSTRAINT pk_uid primary key(stuID) --主鍵約束   
            ADD CONSTRAINT fk_cid foreign key(cid) references t_class(cid) --外鍵約束

              三、刪除約束

              語法:ALTER TABLE DROPCONSTRAINT 約束名

            1
            ALTER TABLE t_student DROP CONSTRAINT PK_UID

              四、查看約束

              查看T_STUDENT表中所有的約束。注意:這里的表明必須全大寫否則查不到結果。

            1
            SELECT * FROM USER_CONSTRAINTS WHERE table_name = 'T_STUDENT'

            【PHP數據庫Oracle數據完整性】相關文章:

            PHP訪問數據庫11-02

            PHP如何插入數據庫06-09

            PHP數據庫連接的方法09-22

            PHP如何創建數據庫07-18

            php數據庫備份腳本05-25

            PHP插入數據庫的方法07-03

            PHP怎么插入數據庫07-09

            php向Mysql數據庫保存數據的代碼09-12

            PHP向MySQL數據庫保存數據代碼10-25

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院