oracle 如何创建表外键

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何创建表外键相关的知识,希望对你有一定的参考价值。

参考技术A --使用表级约束
CREATE TABLE table_name
(column_1 datatype ,
column_2 datatype ,
...
CONSTRAINT fk_column
FOREIGN KEY (column_1, column_i, ... column_n)
REFERENCES parent_table (column_1, column_i, ... column_n)
);

--使用列级约束
CREATE TABLE table_name
(column_1 datatype ,
column_2 datatype CONSTRAINT fk_column REFERENCES parent_table (column_name),
...
);
参考技术B alter table XXXXX add constraint [foreignKey name] FOREIGN KEY ([column_1,column_2....]) FEFERENCES [parent_table name] ([column_1,column_2....]) using index tablespace XXXXX

注意 parent_table里指定的列必须是主键
参考技术C alter table t_stu add constraint fk_name foreign key (kch) references t_kc(kcid) ;
这句话的意思是在学生表(t_stu)的课程号上建个外外键,引用课程表(t_kc)的课程主键课程的id(kcid)
参考技术D create table tbname
(
id number ,
cd number,
name varchar2(20),
primary key(id,cd),
foreign key(cd) references 你的外表(cd)
);714439306希望有所提示,有空到365testing,测评网,51cto进一步交流!

django_4数据库2——表外键

表关系:

  • many to one
  • many to many
  • one to one

many to one


记录是如何创建出来的?      先创建one,在在创建many,创建时加入ForeignKey

from django.db import models

# Create your models here.
class Enter(models):
    name = models.CharField(max_length=30)
    
    def __str__(self):
        return self.name
        
    __repr__ = __str__
    
class Blog(models):
    name = models.CharField(max_length=30)
    entry = models.ForeignKey(Enter)      #参数为one项的类名
    
    def __str__(self):
        return self.name
        
    __repr__ = __str__   

 

使用交互进行检索

In [1]: from blog.models import Entry, Blog

In [2]: entry1 = Entry.objects.create(name=alen)            #创建对应的one项(Entry)

In [3]: entry2 = Entry.objects.create(name=max)

In [4]: entry3 = Entry.objects.create(name=carl)

In [6]: blog1 = Blog.objects.create(name=alen_blog1, entry=entry1)  #创建对应many项

In [8]: blog1.entry          #(many)从many端进行检索到one
Out[8]: alen

In [9]: blog1.entry_id
Out[9]: 1

In [10]: entry1.blog_set        #(one)它所对应的blog(many)都有哪些
Out[10]: <django.db.models.fields.related_descriptors.create_reverse_many_to_one_manager.<locals>.RelatedManager at 0x7f438ce2db00>

In [11]: entry1.blog_set.all()
Out[11]: <QuerySet [alen_blog1]>

 

如何把这这种对应的结果关系如何在web界面实现?

 

以上是关于oracle 如何创建表外键的主要内容,如果未能解决你的问题,请参考以下文章

Oracle外键需要建索引吗?

Oracle系统表外键的更名

django_4数据库2——表外键

oracle为表建立外键时没有命名FOREIGN KEY约束,现在想删外键怎么办??

sql 添加外键语句

主索引列上的 MySQL 表外键索引