亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

淺談數(shù)據(jù)庫的完整性

系統(tǒng) 1970 0

數(shù)據(jù)庫操作的時候必須要實現(xiàn)數(shù)據(jù)庫的完整性,在實現(xiàn)數(shù)據(jù)庫的完整性的時候,有兩種方式都可以實現(xiàn)數(shù)據(jù)庫的完整性,第一種是通過完整性的約束實現(xiàn)數(shù)據(jù)庫的完整性,第二種就是通過用戶創(chuàng)建自定義的觸發(fā)器實現(xiàn)數(shù)據(jù)庫的完整性。

一、完整性約束實現(xiàn)數(shù)據(jù)庫的完整性

(一)主鍵約束

談到主鍵約束的話,我就通過幾個例子來實現(xiàn)創(chuàng)建主鍵約束

(1)?對 student 表添加主鍵約束

      
        alter
      
      
        table
      
      
         student 


      
      
        add
      
      
        constraint
      
       PK1 
      
        primary
      
      
        key
      
      (sno)
    

?(2)?對 sc 表添加主鍵約束

      
        alter
      
      
        table
      
      
         sc


      
      
        add
      
      
        constraint
      
       PK3 
      
        primary
      
      
        key
      
      (sno,cno)
    

(二)外鍵約束

創(chuàng)建sc表的外鍵約束

      
        alter
      
      
        table
      
      
         sc


      
      
        add
      
      
        constraint
      
       PK4 
      
        foreign
      
      
        key
      
      (sno) 
      
        references
      
      
         student(sno);


      
      
        alter
      
      
        table
      
      
         sc


      
      
        add
      
      
        constraint
      
       PK5 
      
        foreign
      
      
        key
      
      (cno) 
      
        references
      
       course(cno);
    

?(三)check 約束

修改student表,使用Check約束,使Sex列只能接受“男”或“女”,以強制執(zhí)行域數(shù)據(jù)完整性。

      
        alter
      
      
        table
      
      
         student


      
      
        add
      
      
        constraint
      
       c1 
      
        check
      
      (ssex 
      
        in
      
      (
      
        '
      
      
      
        '
      
      ,
      
        '
      
      
      
        '
      
      ))
    

?

(四)刪除約束

刪除SC表中的C3,C4外鍵約束。

      
        alter
      
      
        table
      
      
         sc 


      
      
        drop
      
      
        constraint
      
      
         pk4


      
      
        alter
      
      
        table
      
      
         sc 


      
      
        drop
      
      
        constraint
      
       pk5
    

?

二、創(chuàng)建自定義觸發(fā)器實現(xiàn)數(shù)據(jù)庫完整性

(一)創(chuàng)建一個修改用戶記錄的觸發(fā)器

創(chuàng)建觸發(fā)器 trigger_t1 ,實現(xiàn)當修改學(xué)生表 (student) 中的學(xué)生姓名時,顯示提示信息“學(xué)生姓名被修改了 !!! ”。

      
        create
      
      
        trigger
      
      
         trigger_t1 


      
      
        on
      
      
         student 


      
      
        for
      
      
        update
      
      
        as
      
      
        if
      
      
        update
      
      
        (sname)


      
      
        begin
      
      
        print
      
      
        '
      
      
        觸發(fā)器執(zhí)行
      
      
        '
      
      
        end
      
    

? 驗證觸發(fā)器:UPDATE?STUDENT?SET?SNAME='55555'?WHERE??SNO='95001'

(二)創(chuàng)建一個刪除用戶記錄的觸發(fā)器

在學(xué)生成績庫中創(chuàng)建觸發(fā)器 trigger_t2 ,實現(xiàn)如下功能:當在學(xué)生表( student )中刪除一條學(xué)生信息后,自動實現(xiàn)刪除該學(xué)生在學(xué)生選課表( sc )中的選課信息。

      
        create
      
      
        trigger
      
      
         trigger_t2


      
      
        on
      
       student 
      
        for
      
      
        delete
      
      
        as
      
      
        declare
      
      
        @sno_del
      
      
        varchar
      
      (
      
        10
      
      
        ) 


      
      
        select
      
      
        @sno_del
      
      
        =
      
      sno 
      
        from
      
      
         deleted


      
      
        delete
      
      
        from
      
       sc 
      
        where
      
       sno 
      
        =
      
      
        @sno_del
      
    

? 驗證觸發(fā)器:delete?from?student?where?sno='95001'

(三)創(chuàng)建一個級聯(lián)修改用戶信息的觸發(fā)器

創(chuàng)建觸發(fā)器 trigger_t3 ,實現(xiàn)當修改學(xué)生表( student )中的某個學(xué)生的學(xué)號時,對應(yīng)學(xué)生成績表( sc )中的學(xué)號也作修改。

      
        create
      
      
        trigger
      
      
         trigger_t3


      
      
        on
      
       student 
      
        for
      
      
        update
      
      
        as
      
      
        if
      
      
        update
      
      
        (sno)


      
      
        begin
      
      
        declare
      
      
        @sno_new
      
      
        varchar
      
      (
      
        10
      
      ),
      
        @sno_old
      
      
        varchar
      
      (
      
        10
      
      
        )


      
      
        select
      
      
        @sno_old
      
      
        =
      
      sno 
      
        from
      
      
         deleted


      
      
        select
      
      
        @sno_new
      
      
        =
      
      sno 
      
        from
      
      
         inserted


      
      
        update
      
       sc 
      
        set
      
       sno
      
        =
      
      
        @sno_new
      
      
        where
      
       sno 
      
        =
      
      
        @sno_old
      
      
        end
      
    

? 驗證觸發(fā)器:update?student?set?sno='123456'?where?sno=?'95002?'

?

淺談數(shù)據(jù)庫的完整性


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产午夜免费视频 | 欧美日韩在线视频播放 | www深夜视频在线观看高清 | 亚洲在线一区二区 | 国产精品亚洲一区二区麻豆 | 欧美一级毛片不卡免费观看 | 色视频在线 | 杨幂国产精品福利在线观看 | 国产不卡视频在线 | 日韩一区二区久久久久久 | 国产综合色香蕉精品五月婷 | 爽爽影院免费观看视频 | 色网址在线观看 | 精品久久中文网址 | 国产精品视频一区牛牛视频 | 日本免费人做人一区在线观看 | 亚洲视频91 | 欧洲免费无线码二区5 | 成人在线观看不卡 | 青春草禁区视频在线观看 | 国产ww久久久久久久久久 | 99精品亚洲 | 免费真实播放国产乱子伦 | 久操综合| 性欧美成人免费观看视 | 99久久亚洲国产高清观看 | 玖玖影院在线观看 | 欧美成人国产 | 欧美久久亚洲精品 | 欧美操片在线观看 | 日韩成人小视频 | 久久精品99| 亚洲狠狠| 国产在线成人精品 | 久久中文字幕亚洲精品最新 | 国产日韩久久久精品影院首页 | 国内精品久久久久影院中国 | 久草青青 | 九热这里只有精品 | 天天碰夜夜操 | 一级片免费网站 |