主外键和索引唯一性约束

目标;第一步;创建两张表 用户表和文章表

        第二步;发表文章

  1,建表;

    ---用户表 BlogUsers
    --userID唯一的
    --userName
    --pwd
    --sex
        

    create table BlogUsers(
        userID number(10)  primary key not null,
        userName varchar2(20),
        pwd varchar2(20)
    
    )
    

---文章表  Article
    --articleID唯一
    --articleTittle
    --articleContent
    --UpTime  时间
    --userID    发表文章的用户ID
      
   create table Article(
        articleID number(10)  primary key not null,
        articleTittle varchar2(40),
       articleContent varchar2(4000),
       UpTime Date,
        userID  number(10)  
    );

 2,      建立索引;索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息

        --建立索引 
     根据blogusers中的表创建索引,以便快速的根据username字段快速的查找

   create unique index CUS_uniquel on BLOGUSERS (username);

3,联机删除;

 cascade : 删除子表中所有的相关记录  

set null : 将所有相关记录的外部码字段值设置为
 no action: 不做任何操作

4,     设置主外键和联机删除(由于在建表时就已经设置了主键,现在只需要设置外键即可);

   

               文章表的userid就是用户表中的userid只用主外键关联起来,文章表示属于某个用户的,发表文章前需要指定用户的存在

    

        主键;唯一标示

       外键;外键中的数据就是主键中的数据

    

        alter table ARTICLE
  add constraint CUS_FOREIGN foreign key (USERID)
  references BLOGUSERS (USERID) on delete cascade;

        

5,插入数据;

insert into article values(2,'我在这里','是否会存在这样的事情呢?',to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') ,1182);

    此时会提示找不到父级

   原因是没有创建用户

    创建用户

insert into blogusers values(1181,'王辉','wanghui');

 再执行发表文章

insert into article values(1,'我在这里','是否会存在这样的事情呢?',to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mi:ss') ,1181);

查询插入的数据;

 select * from blogusers;
 
     USERID USERNAME             PWD
----------- -------------------- --------------------
       1181 王辉                wanghui   

 select * from article;
 
  ARTICLEID ARTICLETITTLE                            ARTICLECONTENT                                                                   UPTIME           USERID
----------- ---------------------------------------- -------------------------------------------------------------------------------- ----------- -----------
          1 我在这里                                 是否会存在这样的事情呢?                                                          2005/1/1 13        1181

猜你喜欢

转载自baihe747.iteye.com/blog/2119739