`
luzl
  • 浏览: 568852 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

DB2 创建外键时的选项

    博客分类:
  • DB2
DB2 
阅读更多
今天研究了下创建外键的选项:
1.创建测试表:
drop table student;
drop table class;
drop table student_class;
Create table student(student_id integer not null,student_name varchar(200), CONSTRAINT P_KEY_1 primary key (student_id))  in luzl_32k_tb index in luzl_32k_tb ;
Create table class(class_id integer not null,class_name varchar(200), CONSTRAINT P_KEY_2 primary key (class_id))  in luzl_32k_tb index in luzl_32k_tb ;
Create table student_class(student_class_id integer,student_id integer,class_id integer) in luzl_32k_tb index in luzl_32k_tb;
alter table student_class add constraint if_class foreign key(class_id) references class(class_id) ON DELETE cascade ON UPDATE RESTRICT;
alter table student_class add constraint if_student foreign key(student_id) references student(student_id) ON DELETE cascade ON UPDATE RESTRICT;
Insert into student(student_id,student_name) values(1,'luzl');
Insert into class(class_id,class_name) values(1,'db2');
Insert into student_class(student_class_id,student_id,class_id) values(1,1,1);
2.On Delete 的选项有
Restrict/no action/cascade/set null.其中cascade选项指定的话,如果删除父记录,依赖于他的子记录也会自动删除.相当于级联删除.如果指定no action和cascade都会报错,因为还有子记录所以无法删除该记录.set nul允许删除父记录并且l会将子表中与父表关联的字段设置为null.
3.On Update 只有两个选项 no action/restrict.他俩在更新和删除时感觉没有区别:如果与子表关联不允许删除.
4.另外需要注意一点,父表中的字段必须是主键,才能做为子表的外键。
分享到:
评论

相关推荐

    DB2 701 考试题库

    DB2 701 考试题库涵盖了IBM的数据库管理产品DB2的相关知识,主要涉及权限管理、视图创建、表空间操作、索引构建、外键约束以及系统目录等多个方面。以下是对这些知识点的详细说明: 1. **用户权限与表空间管理**: ...

    Toad_for_DB2_使用指南

    1. **创建连接**:通过“文件”菜单中的“连接”选项或使用工具栏上的相应按钮来创建新的数据库连接。用户需要输入数据库服务器的相关信息,如主机名、端口号、数据库名称以及登录凭证。 2. **断开连接**:“文件”...

    db2V9730认证练习五(表,视图,索引)借鉴.pdf

    在DB2中,使用FOREIGN KEY约束可以创建外键关系,保证表中的数据与其他表中的数据相符合。其中,ON UPDATE NO ACTION选项意味着当被引用表中的数据被更新时,引用这些数据的外键列不允许进行更新操作。 以上便是...

    DB2认证的复习题目

    - 对于小型创业公司,理想的DB2版本可能是DB2 Express-C(问题01),它是一个经济高效的选项。 - 连接到远程数据库时,需要先编目远程节点和数据库(问题03)。 - DB2 Enterprise、Workgroup等版本具有不同的特性...

    DB2 sample test

    通过这一权限,USER7可以定义表间的参照完整性约束,将表T.T1的COL1列作为父键使用,从而在创建外键时引用该列。这有助于保持数据库中相关表之间数据的一致性和完整性。 #### 删除规则(Deletion Rules)与数据一致...

    db2 错误码 大全

    - **描述**: 当数据库表之间的外键约束关系不一致时触发此错误。 ##### 4. 数据库状态异常 - **SQLCODE**: +09801 - **SQLSTATE**: 568 - **描述**: 表示数据库处于一种不正常的运行状态,可能会影响数据的一致性和...

    使用db2 utility CHECK DATA 中的问题

    例如,当创建或修改分区表空间、创建或修改分区索引、插入新数据,或者创建二级索引时,都会触发这个状态。在这种状态下,管理员通常需要执行 REORG(重组)操作以优化数据布局。在对这些对象进行 REORG 之前,应先...

    DB2 Version 9.1 for zOS AdministrationAdministration Guide

    这一步骤通常涉及创建ER图,其中包含实体、属性和关系,并定义主键和外键,以确保数据的完整性和一致性。 #### 推荐的逻辑数据建模策略 - **规范化**:通过分解数据以减少冗余和依赖,提高数据的完整性和一致性。 ...

    DB2+DBA手册+

    此外,DB2提供了用户自定义数据类型(UDT)功能,但过度使用UDT可能导致编程时的数据类型转换,进而降低应用性能,故需谨慎使用。 #### 合理使用索引策略 索引是提升数据库查询效率的关键结构。合理的索引设计可以...

    DB2入门培训讲义.rar

    - 安装过程:讲解如何在不同操作系统上安装DB2,包括下载、安装选项选择、环境变量设置等。 - 实例创建与配置:理解DB2实例的概念,学会创建、启动和停止数据库实例。 3. **数据库对象** - 表的创建与管理:学习...

    IBM 中文的db2基础教程

    3. **表和数据操作**:在DB2中,你可以创建各种类型的表,定义列、主键、外键等约束。通过INSERT语句插入数据,UPDATE和DELETE语句修改和删除数据,SELECT语句用于查询数据。此外,还可以使用JOIN操作连接多个表,...

    IBM DB2 课堂讲义

    10. **云集成**:随着云计算的发展,IBM DB2也提供了云部署选项,如IBM Cloud上的DB2 on Cloud,实现了数据库的云端管理和扩展。 通过深入学习“IBM DB2 课堂讲义”,无论是数据库管理员、开发人员还是系统分析师,...

    DB2错误信息中文对照说明

    这份文档详尽地列举了各种DB2数据库在执行SQL语句时可能出现的错误代码及其对应的SQLSTATE,以及相关的错误信息。下面,我们将对其中的一些常见错误进行解析: 1. 错误代码00000:表示SQL语句成功完成,没有任何...

    DB2错误码大全

    - **+626 (01529)**:删除UNIQUE约束时,如果该约束是某个外键的唯一参照,则不能删除。 - **+645 (01528)**:尝试在NOT NULL列上设置NULL值。 - **+650 (01538)**:无法在非事务上下文中执行某些操作。 - **+653 ...

    db2的入门手册压缩包

    该文档可能详细介绍了DB2的安装过程,包括硬件和软件需求,以及安装选项的选择。此外,它还可能涵盖了数据库实例的创建、配置,以及数据库对象如表、视图、索引的管理。 "quicklab5"、"quicklab14a"、"quicklab4...

    db2错误代码查看.

    - **描述**:在创建2型索引时设置了SUBPAGES参数,这通常是不允许的。 - **处理方法**:移除SUBPAGES语句或确保其符合规范。 **8. +11701525 - 要插入的值的个数不等于被插入表的列数** - **描述**:插入操作时...

    DB2 学习笔记

    - 实际操作时需要注意匹配文件格式与导入命令中的选项。 #### 二、DB2 表与视图操作 - **创建临时表:** - `create table temp_bas (select * from table_a where ...)`:基于`table_a`表创建一个名为`temp_bas`...

    db2通用数据库自学教程

    - 表操作:创建、修改(ALTER)和删除(DROP)表,定义字段类型、主键和外键等。 - 插入数据:INSERT语句用于向表中添加新记录。 - 查询数据:SELECT语句是获取数据的主要工具,支持WHERE条件、JOIN操作、聚合...

Global site tag (gtag.js) - Google Analytics