`

DB2第三章 使用SQL-表, 临时表,约束,视图,索引,数据类型

阅读更多

            DB2第三章 使用SQL-表, 临时表,约束,视图,索引,数据类型

            作者:魏华超   联系方式:weihuachao@sina.com
1. 表的概念:
   
   (1) 表是未排序的数据记录的集合,行由多列组成(通常称为记录).每个列都有一个数据类型.
   (2) 表有三中类型:
      A. 永久表
      B. 临时(声明)表
      C. 临时(派生)表
 2.永久表:
 (1)永久表的创建:
    CREATE TABLE EMPLOYEE
    (
         EMPNO INT NOT NULL,
         NAME VARCHAR(20),
         SALARY NUMERIC(8,2)
    )
 (2)表中标识列的生成:标识列是由DB2系统自动生成的序列号或者其它值.
    --按照默认的方式生成自动增长的序列:(初始值为1,自动增长为1)
    create table employee
   (
       EMPNO integer generated always as identity ,
       EMPName varchar(30) not null
   )

  --自定义序列的增长.
      create table employee
   (
       EMPNO integer generated always as identity(start with 100,increment 10) ,
       EMPName varchar(30) not null
   )

 (3)默认值的创建:
    CREATE TABLE EMPLOYEE
    (
     EMPNO INTEGER NOT NULL,
     EMPNAME VARCHAR(30) NOT NULL WITH DEFAULT ' ',
     EMPSALARY NUMERIC(8,2)WITH DETAULT 0.0
    )
 (4)GENERATED的第二种用法:
  用于列的计算
   CREATE TABLE EMPLOYEE
   (
     EMPNO integer generated always as identity(start with 100,increment 10) ,
     EMPName varchar(30) not null,
     EMPSALARY INT,
     EMPBONUS INT,
     EMPPAY  INT GENERATED ALWAYS AS (EMPSALARY+EMPBONUS)
   )
 3.表的约束:
   (1)表的约束,就是数据库管理器实施的规则:有三种约束:
      A.唯一性约束--确保表中键值的唯一性.
      B.引用性约束--对插入.更新.以及删除操作强制进行引用约束
      C.表检查约束--检查更改过的数据是否违反了表在创建或者更该时制定的条件.
   (2)唯一性约束:
      A.唯一性约束中每一组成键的列必须都定义为NOT NULL.
      B.唯一性约束使用primary key和unique来保证.
   (3)引用性约束
      A.主表和从表的区别:
      B.引用约束要求主表被引用的列必须唯一.
      C.引用约束的执行对于一些依赖于表示主表还是从表的SQL操作具有特殊的含义.数据库管理器根据

引用完整性规则在系统间强制进行引用约束,这些规则是:
      INSERT规则
      UPDATE规则
      DELETE规则
   (4)当插入一个外键是就隐含了INSERT规则:INSERT规则要求在从表插入数据时,外键的值在主表必须存

在或者为空,否则不能在从表中插入记录.如果多行插入中,一行失败则所有的插入的行都从数据库中删除.
   (5)UPDATE规则:数据库管理器禁止更新父表中的行.当更新从表的外键时,如外键设置为NOT NULL,则外

键的值必须和主表的值相匹配.有两个选项:
   RESTRICT  ------如果从表中的某行匹配键的原始值,将拒绝对父表的更新
   NO ACTION -----在更新语句结束时,如果从表中的任意行没有相应的父键,将拒绝对父键的更新.这个 

          是默认设置.
   (6)DELETE规则:当从父表中删除一行时,数据库管理器将检查在依赖表是否存有与外键值相符的依赖行

.如果发现依赖行,将执行系统采用的动作:
   RESTRICT(限制)--这个规则在发现有依赖关系的行后防止父表中的行被删除.如果要删除主表和从表的

行,必须先删除从表.
   NO ACTION(无动作)---这个规则要求在所有引用约束应用后每一个子行都有对应的父行.这个是默认设

置.

   CASCADE (级联)---当删除主表中的记录时,同时删除从表中依赖的相关行.
   SET  NULL(置空)---如果从表允许空,则删除主表行时,从表中的依赖行的外键置空.
  
 
    
     

分享到:
评论

相关推荐

    DB2 SQL-Reference

    此外,《DB2 SQL Reference》还提供了错误处理和异常情况的解决方案,以及如何正确解读和使用DB2系统表和管理命令的指南,对于日常的数据库运维工作具有重要的参考价值。 总之,DB2 SQL Reference是DB2用户不可或缺...

    DB2 Universal Database for iSeries SQL Reference V5R3

    《DB2 Universal Database for iSeries SQL Reference V5R3》是一本详尽介绍了IBM DB2 Universal Database在iSeries平台上使用的SQL语言特性及其功能的手册。本书针对的是版本5、发布3、修改版0的IBM操作系统/400...

    SQL Reference DB2

    - **第一章**:介绍DB2 SQL的基本概念,包括关系型数据库、SQL语言等。 - **第二章**:深入探讨DB2 SQL的关键概念和技术细节。 - **后续章节**:详细讲解SQL语句的语法、示例以及最佳实践。 ##### 1.4 语法图示阅读...

    IBM DB2 UDB for AS400 SQL Programming

    根据给定的信息,本文将详细解释“IBM DB2 UDB for AS400 SQL Programming”的核心概念和技术要点,包括但不限于数据库结构、SQL语句类型、SQL对象等方面。 ### 关于DB2 UDB for AS400 SQL编程 IBM DB2 Universal ...

    DB2使用经验积累

    - **使用临时表取代一条一条插入**:当需要插入大量数据时,使用临时表可以显著提高插入速度。 - **循环次数很多时注意减少执行语句**:通过减少循环体内的SQL语句执行次数来提高程序性能。 - **看程序执行时间及...

    DB2 SQL Reference

    DB2 SQL Reference是一本详尽的指南,不仅介绍了SQL语言的基础语法,还深入讲解了DB2数据库中高级特性的使用方法,包括静态和动态SQL、CLI、JDBC、SQLJ、交互式SQL等。此外,它还详细阐述了数据库设计的核心概念,如...

    DB2数据库用户手册

    - **使用临时表取代一条一条插入**:对于大量数据的插入,使用临时表可以提高效率。 - **循环次数很多时注意减少执行语句**:优化循环内部的代码以减少不必要的执行开销。 - **看程序执行时间及结果DB2BATCH**:使用...

    db2 SQL优化

    - **监控性能指标**:使用DB2提供的工具和视图来监控散列连接的性能,如查看连接操作的时间消耗和资源使用情况。 #### 五、实验结果 为了验证散列连接的实际效果,可以设计一系列实验来测试不同场景下的性能表现。...

    SQL Reference

    - **数据库 (Databases)**: 数据库是包含一系列相互关联的数据集的集合,通常包括表、视图、索引等。 - **目录 (Catalog)**: 目录是一种特殊的表,用于存储数据库元数据,例如表、索引和其他数据库对象的信息。 - **...

    DB2 V8数据库基础 V1.0.20060426.doc

    **3.1 DB2数据类型**:DB2支持多种数据类型,包括数值类型、字符串类型、日期时间类型等。 **3.2 DDL数据定义语言** - **3.2.1 数据库**:虽然数据库本身不属于DDL语言,但创建和管理数据库的操作通常是通过DDL命令...

    DB2到GreenPlum/PostgreSQL的转换指南

    - **XML类型**:DB2支持`XML`类型,而GreenPlum/PostgreSQL也支持XML数据类型的存储,但可能需要使用不同的函数来处理XML数据。 此外,还需要注意的是,DB2有一些内置的函数和操作用于处理特殊数据类型,而在...

    DB2 学习笔记

    - `SELECT * FROM SYSIBM.SYSDATATYPES`:查询DB2支持的所有数据类型。 - **查询缓冲池信息:** - `SELECT * FROM SYSIBM.SYSBUFFERPOOLS`:查询所有缓冲池的信息。 #### 六、数据库对象修改与查看 - **修改表...

    DB2数据库基础

    - **获取表结构以及索引的信息:** 使用DB2的元数据视图。 - **检查数据库连接有关的错误:** 使用DB2提供的错误日志或诊断工具。 - **在恢复数据库遇到SQL2542错误:** 需要检查恢复过程中的参数设置。 - **使用IMPORT...

    db2资料需要这么详细吗

    DB2是IBM开发的一款关系型数据库管理系统,广泛应用于企业级数据存储和管理。在学习和使用DB2的过程中,是否需要详细深入地了解其各种特性和功能,这取决于你的实际需求和工作角色。对于DB2的专业用户,如数据库管理...

    db2 sql 参考1.pdf

    ### DB2 SQL 参考知识点概述 #### 一、关于本书 本书《DB2 SQL Reference Volume 1》是IBM公司出版的专业技术文档,主要针对IBM DB2 Universal Database V8版本的SQL语言进行了详尽的介绍与说明。该文档旨在为用户...

    db2重点解析课件1-9

    3. **SQL语句**:SQL是与DB2交互的基础,课程可能详细讲解了DML(数据操纵语言)如SELECT、INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER和DROP等语句的使用。 4. **数据库对象**:DB2支持多种...

    新手学习SQL必看-SQL基础知识.doc

    ### SQL基础知识概览 #### 一、SQL简介 SQL(Structured Query Language)是一种标准化的数据库查询和管理语言,广泛应用...在实际应用中,合理选择数据类型、优化SQL语句以及有效使用索引都是提升数据库性能的关键。

    编程(db2)使用技巧

    与Sybase或Oracle不同,DB2的临时表在会话结束时自动删除,因此适合于存储临时数据,但不适用于跨会话的数据存储。 #### 1.3 获取当前行 在DB2中,获取当前行可以通过`FETCH FIRST`子句实现。例如: ```sql SELECT...

    DB2数据库经验教训

    - **使用临时表**:临时表用于存储中间结果,可以提高某些操作的效率,尤其是在处理大量数据时。 - **游标的使用**:游标允许程序逐行处理结果集,但需注意其对性能的影响,尤其是在处理大数据量时。 - **类型转换...

Global site tag (gtag.js) - Google Analytics