• 1. DB2基础培训商业智能软件开发八部 王广帅
  • 2. 2课程设置DB2教育 DB2产品简介 DB2基础
  • 3. DB2教育 自学课程 认证考试 交流网站
  • 4. DB2 自学课程 可以下载及打印的书面材料 www.ibm.com/software/data/education/bookstore 学习指导 DB2 9 Fundamentals 978-1-58-347072-5 DB2 9 for Linux, UNIX, and Windows Database Administration 158347-077-8 DB2 9 for z/OS Database Administration 978-158347-074-9 DB2 9 for Linux, UNIX, and Windows Database Administration Upgrade 158347-078-6 书籍 DB2 9 for Linux, UNIX, and Windows – Sixth Ed. 0-13-185514-X Understanding DB2: Learning VisuallyReading Materials – online 手册: http://www-01.ibm.com/support/docview.wss?rs=71&uid=swg27015148 DB2 技术中心: http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/ IBM 红皮书: http://www.redbooks.ibm.com/ 及实例0-13-158018-3 DB2 9 for Developers 978-158347-071-9 Understanding DB2 9 Security 0-13-1345907 自学教程 www.ibm.com/software/data/education/selfstudy.html 如何移植到DB2 www.ibm.com/developerworks/db2/zones/porting/
  • 5. DB2 v9认证考试 管理认证考试网站:www.ibm.com/software/data/education 第一步: IBM Certified Database Associate for DB2 9 Fundamentals, Exam 730 Exam info: http://www-03.ibm.com/certify/tests/obj730.shtml Free tutorial: http://www.ibm.com/developerworks/offers/lp/db2cert/db2-cert730.html 第二步(选择) IBM Certified Database Administrator for DB2 9 DBA for LUW, Exam 731 Exam info: http://www-03.ibm.com/certify/tests/obj731.shtml Free tutorial: http://www.ibm.com/developerworks/offers/lp/db2cert/db2-cert731.html IBM Certified Database Administrator for DB2 9 DBA for z/OS, Exam 732 Exam info: http://www-03.ibm.com/certify/tests/obj732.shtml IBM Certified Application Developer for DB2 9, Exam 733 Exam info: http://www-03.ibm.com/certify/tests/obj733.shtml Free tutorial: http://www.ibm.com/developerworks/offers/lp/db2cert/db2-cert733.html 第三步 IBM Certified Advanced Database Administrator for DB2 9 DBA for LUW, Exam 734 Exam info: http://www-03.ibm.com/certify/tests/obj734.shtml
  • 6. 交流网站 DeveloperWorks www.ibm.com/developerworks/db2/ DB2百科大全 www.ibm.com/developerworks/wikis/display/DB2 DB2社区 www.ibm.com/software/data/db2/podcast/ 与DB2实验室专家交流 www.ibm.com/software/data/db2/9/labchats.html ChannelDB2 www.channeldb2.com
  • 7. 7课程设置DB2教育 DB2产品简介 DB2基础
  • 8. DB2产品简介 版本序列 产品介绍 工具介绍
  • 9. DB2 版本序列 DB2企业版(多分区) (DB2 Enterprise Server Edition with DPF) DB2企业版 (DB2 Enterprise Server Edition) DB2工作组版 (DB2 Workgroup Server Edition) 大型企业 DB2 Express Edition DB2个人版 (DB2 Personal Edition) 中小型企业 测试、系统开发
  • 10. DB2产品介绍DB2 Everyplace 主要运行在移动设备上,如PDA DB2 Personal Edition 单用户RDBMS,支持Windows和Linux操作系统 对PC机和笔记本电脑的部署是一个理想的选择 可以进行远程管理
  • 11. DB2产品介绍DB2 Express Edition v9 for Linux、UNIX and Windows 功能完备,一般用于中小型企业(SMB) 提供经简化的程序包,可在应用程序内进行透明安装 可以轻松升级到DB2v9的其他版本 具有和其他伸缩性更高的版本相同的自主管理特性 包含了本地XML数据存储,允许使用XQuery、XPath、SQL和标准报告生成工具来灵活的访问XML数据 具有2CPU和4GB内存限制 DB2 Express -C Express的免费版本,支持Windows和Linux操作系统 不支持高可用性灾难恢复(HDAR)、表分区、数据复制捕获等 具有2CPU和4GB内存限制
  • 12. DB2产品介绍 DB2 Workgroup Server Edition v9 for Linux、UNIX and Windows 满足数据服务部署工作组或中型企业环境的需要 包含了本地XML数据存储,允许使用XQuery、XPath、SQL和标准报告生成工具来灵活的访问XML数据 具有4CPU和16GB内存限制 HADR在v9.1需单独购买,v9.5包含此功能 MDCMQT(物化查询表)需单独购买 Governor在v9.1需单独购买,v9.5被Workload Management(工作负载管理)替换,但工作负载管理在工作组版本不支持 不支持表分区功能 不支持工作负载管理 不支持LBAC(基于标签的访问控制) 不支持表压缩(行压缩) pureXML需单独购买
  • 13. DB2产品介绍 DB2 Enterprise Server Edition(ESE) v9 for Linux、UNIX and Windows 满足数据库服务器处理大中型业务的需要,构建随需求变化的企业级解决方案的理想平台 可以部署在任意大小(1个或任意数目的CPU)的Linux、UNIX或 Windows服务器上 包含了本地XML数据存储,允许使用XQuery、XPath、SQL和标准报告生成工具来灵活的访问XML数据 具有可选功能部件,用来在如数据库分区、性能、安全性、数据联合以及数据库管理方面提供附加的高级产品功能 DB2 ESE v9还提供与其他 Enterprise DB2和Informix数据源的连通性、兼容性以及集成 DB2 Enterprise Server Edition(ESE) v9 for Linux、UNIX and Windows with PDF 可以构建数据库分区 可以构建基于MPP的集群结构 主要应用于高性能计算领域,如:数据仓库
  • 14. DB2产品介绍 Database Enterprise Developer Edition 为单一应用程序开发人员提供的特殊版本 包括所有DB2具有的特性 用于设计、构建和原型化应用程序 在任意IBM信息管理客户端和服务器平台上部署 可以面向DB2所有平台开发 数据访问和管理工具提供了DB2控制中心(Windows and Linux)和DB2命令行处理器(CLP)
  • 15. DB2产品介绍 DB2 V9客户端 DB2 v9 Runtime Client 如果只需要让应用程序能够访问DB2 v9数据服务器,那么这就是最佳选择 提供执行任务所需的API,但是这种客户端没有提高管理工具 DB2 v9 Client 标准的客户端,可以管理数据库 取代了DB2 v8 Application Development 和DB2 v8 Adiministrator Client中的功能 Java Common Client(JCC) 只有2MB,比较小 提供对DB2数据服务器的JDBC和SQLJ应用程序访问 如果要连接DB2for System i和DB2for System z数据服务器,仍需安装DB2 Connect产品 DB2 v9 Client Lite 用于CLI/ODBC应用程序 DB2 v9中新增,执行与JCC一样的功能,但 不支持对DB2数据服务器进行基于Java的访问 适合那些希望将连接功能嵌入应用程序,而不需要重新发布和维护DB2客户机代码的ISV
  • 16. DB2产品介绍DB2 各版本客户端变化DB2 v8.2客户端DB2 v9.1客户端DB2 v9.5客户端DB2 Administration ClientDB2 ClientDB2 Data Server ClientDB2 Application Development ClientDB2 Runtime ClientDB2 Data Server Runtime ClientJava Common ClientJDBC和SQLJ驱动(IBM db2 Driver for JDBC and SQLJ)JDBC和SQLJ驱动(IBM db2 Driver for JDBC and SQLJ)n/aODBC和CLI驱动(IBM DB2 Driver for ODBC and CLI)ODBC和CLI驱动(IBM DB2 Driver for ODBC and CLI)n/an/aODBC和CLI驱动,提供.net的数据驱动(只在Windows中)(IBM DB2 Driver for ODBC、CLI and .Net)IBM Database Add-ins for Visual Studio 2003IBM Database Add-ins for Visual Studio 2005IBM Database Add-ins for Visual Studio
  • 17. DB2产品介绍 DB2 Extender DB2扩展器使数据库应用程序能够超越传统的数字和字符数据,为底层数据服务器提供额外的功能 XMLExtender DB2v8已有此功能,通过XML/SQL函数访问,底层存储成LOB或者拆解成关系型列 与DB2v9的pureXML功能 不同,其采用第一代XML技术,而pureXML是第二代XML技术 在DB2v9中是免费的 DB2 Net Search Extender 提供高性能的内存搜索功能 提供全文检索 在DB2v9中免费,在DB2v8中付费
  • 18. DB2 ExtenderDB2 Spatial Extender 空间数据(多维)扩展器 可以在DB2中与文本和数字等传统数据一起存储、管理和分子空间数据—关于地理特征位置的信息 从DB2v9.1开始免费 DB2 Geodetic Extender 可以增强用DB2 Spatial Extender构建的应用程序类型 按照测地学的原理设计,考虑到地球的形状和大小(或用椭圆体建模的任何实体) 只能在DB2 Enterprise 9 中使用
  • 19. DB2产品介绍 DB2 Connect DB2 Connect用来提供从任何分布式平台上的DB2访问主机上的DB2的能力 通过DB2 Connect可以透明操作主机上的DB2数据,就像操作本地DB2数据一样 主机的类型包括DB2 for i5/OS、DB2 for MVS/ESA、DB2 for z/OS或DB2 for VSE/VM等 分布式平台包括Windows、Linux和UNIX平台等 DB2 Connect的版本很多,具体包括Personal Edition 、 Enterprise Edition、Application Server Edition、Unlimited Editions DB2 Connect可以添加到现有的DB2数据库服务器中,也可以单独运行 需单独购买(DB2企业版中提供了一些附赠的license)
  • 20. DB2工具介绍 控制中心 配置助手 命令工具 其他工具
  • 21. 控制中心命令:开始--> 运行--> 输入db2cc
  • 22. 控制中心 􀂄DB2 复制中心 ( DB2 Replication Center ) 􀂄DB2 卫星管理中心 ( DB2 Satellite Administration Center ) 􀂄DB2 命令编辑器 ( DB2 Command Center ) 􀂄DB2 任务中心 ( DB2 Task Center ) 􀂄DB2 运行状况中心 ( DB2 Health Center ) 􀂄DB2 日志 ( DB2 Journal ) 􀂄DB2 许可证中心 ( DB2 License Center ) 􀂄DB2 信息中心 ( DB2 Information Center )
  • 23. 配置助手
  • 24. 配置助手
  • 25. 配置助手
  • 26. 命令工具命令:开始--> 运行--> 输入db2cmd
  • 27. 其他工具􀂄可视化说明 (Visual Explain Explain) 􀂄快照监控程序和事件监控程序 􀂄工具设置 (Tool Settings Settings) 􀂄DB2 开发中心 (DB2 Development Center Center) 􀂄内存观察器 (Memory Visualizer Visualizer) 􀂄存储管理 (Storage Management Management) 􀂄不确定事务监控程序( In In-doubt Transaction Monitor Monitor) 􀂄SQL 助手 􀂄First Steps
  • 28. 28课程设置DB2教育 DB2产品简介 DB2基础
  • 29. 29DB2基础体系结构 实例 数据库 缓冲池 表空间 数据库对象
  • 30. 30DB2数据库体系结构DB2客户端DB2客户端环境变量全局注册变量认证权限 PortDB2实例实例级注册变量数据库管理配置文件(dbm cfg)实例目录系统数据库目录节点目录数据库配置文件(db cfg)logsBufferPools数据库 DB2系统编目 表空间系统临时 表空间Long数据数据表空间索引表空间数据库配置文件(db cfg)logsBufferPools数据库 DB2系统编目 表空间系统临时 表空间程序包 存储过程视图序列模式别名……set parameter =valuedb2 set parameter =value -gdb2 set parameter =value –i instancenamedb2 get dbm cfg db2 update dbm cfg using parameter valueDB2INSTPROF环境变量设置的目录存放实例相关配置文件db2 list db directory db2 catalog db dbname as alias at node nodenamedb2 list node directory db2 catalog tcpip node nodename remote hostname server serverportdb2 get db cfg for dbname db2 update db cfg using parament valuedb2 list tablespaces show detaildb2 describe indexes for table tablename show detaildb2 list tabes db2 describe table tablename
  • 31. 实例实例(instance) 从DB2体系结构方面,实例实际上就是DB2的执行代码和数据库对象的中间逻辑层 为数据库运行提供环境。数据库在运行时,实例用来为数据库提供安全、通信、内存分配和进程间通信等功能 本质上是由一组后台进程和共享内存组成 实例和数据库不同: 数据库是物理的,表、索引存放在数据库中占物理存储 实例是逻辑的,是共享内存、进程和一些配置文件的集合。当实例停止时,共享内存释放,进程停止
  • 32. 创建实例Windows平台 DB2安装过程中,如果没有实例名称为DB2,将自动创建一个名为DB2的数据库管理器初始实例 Linux和UNIX平台 用root权限登录 首先必须创建和实例名一样的用户及该用户所属的组 groupadd db2iadm1 (db2fadm1、db2idas1) useradd –m –g db2iadm1 –d /home/db2inst1 db2inst1 运行db2icrt命令 db2icrt –a AuthType –u FencedID Instname AuthType:实例的认证类型,可为server、client、server_encrypt、dcs_encrypt。默认值为server FencedID:用来运行受防护用户定义的函数和受防护存储过程的用户名。此用户和应用开发有关,一般用不到,但是创建实 例必须的 Instname:实例名必须与拥有实例的用户名相同 db2icrt -a server –u db2fenc1 db2inst1
  • 33. 实例目录 一个实例创建成功后,会生成一个实例目录,实例目录存储着一个与数据库实例相关的所有信息。实例一旦创建成功,就不能更改其位置。在Linux/UNIX中为了拥有实例目录,必须创建和实例名相同的用户,其目的是为了用这个用户的home目录作为实例目录。 实例目录包含: 数据库管理配置文件(db2systm) 系统数据库目录(SQLDBDIR) 节点目录(SQLNODIR) 节点配置文件(db2nodes.cfg) 诊断文件、数据库错误日志等 在Linux/UNIX操作系统上,实例目录位于INSTHOME/sqllib目录中 在Windows操作系统上,实例目录位于安装DB2数据库产品的目录下
  • 34. 实例相关命令-1创建实例 >db2icrt instance_name 删除实例 >db2idrop instance_name 列出实例 >db2ilist 查看实例配置参数 >db2 get dbm cfg 更新实例配置参数 >db2 update dbm cfg using… 将实例参数恢复为默认值 >db2 reset dbm cfg
  • 35. 实例相关命令-2迁移实例 >db2 imigr instance_name [ /?] --此用法信息 [ /q] --安静方式 [/a:authType] --实例的认证类型 [ /p:instance profile path] --迁移实例的实例概要文件路径 [/u:username,password] --DB2服务的用户名和密码。迁移分区实例时,此项是必需的 更新实例配置 >db2 iupdt instance_name [/u:username,password] --DB2服务的用户名和密码。创建分区数据库实例时,此项是必需的 [ /p:instance profile path] --指定更新实例的新实例概要文件路径 [ /r:baseport,endport] --指定当在MPP方式下运行时,分区数据库实例要使用的一系列TCP/IP端口 [ /h:hostname] -- 用于覆盖默认TCP/IP主机名 [ /?] --此用法信息 [ /q] --安静方式 [/a:authType] --实例的认证类型 示例: db2 iupdt –u db2fenc1 db2inst1
  • 36. 实例相关命令-3自动启动 在Windows系统上,默认情况下,安装期间创建的实例设置为自动启动。使用db2icrt创建的实例设置为手动启动。 在Linux和UNIX系统上, 允许一个实例在每次系统重启后自动启动: db2iauto -on instance_name 不允许一个实例在每次系统重启后自动启动: db2iauto -off instance_name 启动实例: 在正常业务操作中,可能需要启动或停止DB2数据库 db2start 连接、断开 连接:db2 attach to instance_name 断开:db2 detach 停止 在实例停止前,要停止与数据库连接的所有应用程序和用户,确保没有关键性或者极重要的应用程序在运行 停止:db2 stop 强制断开:db2 stop force
  • 37. 数据库数据库(database) 在DB2中,一个DB2实例可以同时管理多个DB2数据库,一个DB2数据库只能由一个DB2实例管理 DB2 数据库实际上由一个对象集合组成。 从用户的角度,数据库是一组通常以某种方式相关联的表 从DBA的角度,数据库包含许多逻辑对象和物理对象 表、视图、索引、模式、触发器、存储过程、程序包等数据库对象 缓冲池、日志文件、表空间 物理存储、表空间容器、目录、文件系统或裸设备
  • 38. DB2数据库存储模型DB2利用一个逻辑存储模型和一个物理存储模型来处理数据 数据的物理独立性:用户操作的实际数据放在表中。表由行和列组成,用户并不清楚数据的物理表示 表放在表空间中,一个表空间可以包含多个表 表空间物理上对应上若干个表空间容器,容器被分配给表空间,表空间可以跨许多容器。这意味着可以突破操作系统对于一个容器包含的数据量的限制 表空间作为逻辑设计的表和物理设计的容器之间一个桥梁,表通过表空间实实在在的将数据放到了容器中
  • 39. DB2数据库存储模型DB2物理存储和逻辑存储模型 InstanceDatabaseLong DMS tablespace 4 SMS tablespace 5 BufferpoolRegular DMS tablespace 1 Table ATable BTable CRegular DMS tablespace 2 Index 1 on Table AIndex 1 on Table BIndex 2 on Table ARegular DMS tablespace 3 Index 3 on Table CLOBS for Table ALOBS for Table CCatalogTempspace1Userspace1LogsDB_Config File_1Table DIndex 1 on Table DLOBS for Table DTable EIndex 1 on Table EContainer物理存储层
  • 40. 创建数据库使用命令创建 >db2 create db db_name >db2 create db db_name [automatic storage no|yes] [on path/drive] [dbpath on path/drive] [using codeset codeset territory territory ] 示例: create db test automatic storage yes on d:\ dbpath on d:\ using codeset GBK territory CN 使用向导创建 根据数据库创建向导提示创建
  • 41. 41缓冲池(bufferpool)缓冲池是内存中的一块存储区域,用于临时读入和更改数据库页。缓冲池指从磁盘读取高速缓存表和索引数据页或修改他们时分配给他们的主存储器 缓冲池的目的是改进系统性能,减少直接I/O 一个数据库至少有一个缓冲池。建议对每一种数据页大小的表空间分别创建一个缓冲池。缓冲池的页大小可以是4K、8K、16K、32K 默认情况下,应用程序使用缓冲池IBMDEFAULTBP 表空间的页面大小要和缓冲池保持一致
  • 42. 42缓冲池相关命令创建 create bufferpool BP1 immediate size 250 automatic pagesize 4K 修改 alter bufferpool IBMDEFAULTBP immediate size 250 automatic 删除 drop bufferpool BP1
  • 43. 表空间(tablespace)表空间由很多容器组成,容器由很多extent组成,extent是数据页(datapage)的整数倍 extent的大小在创建数据库和表空间的时候通过extentsize大小指定 extent = extentsize* datapage 表空间上面对的是数据库,向下是存放表的容器,面向的是表,因此表空间在数据库中扮演“承上启下”的角色,连接了物理存储模型和逻辑存储模型
  • 44. 表空间管理类型DB2支持3种表空间管理类型 SMS(系统管理表空间):这种表空间依赖底层操作系统来进行空间管理,由操作系统的文件系统管理器分配和管理空间。在DB2v9之前,如果创建数据库或表空间时不带任何参数,则所有表空间为SMS对象创建。 DMS(数据库管理表空间):由DB2数据库管理程序控制存储空间。表空间容器可使用文件系统或裸设备 DMS自动存储:引入DMS自动存储,简化表空间管理
  • 45. 表空间管理类型特性SMSDMS自动存储是否条带化(striping)是是是默认类型V8无V9对象管理操作系统DB2DB2空间分配按需增长/收缩预先分配:大小可以收缩和增长,但需DBA干预预先分配:可以自动增长管理的简便性最好:很少需要调优,甚至不需要好:需要一些调优,如:extentsize prefetchsize最好:很少需要调优,甚至不需要性能不太好很好,可通过利用裸设备多获得50%-10%的提高最好,但是不能使用裸设备表空间最大大小64GB(4KB页面)2TB(4KB页面)2TB(4KB页面)
  • 46. 创建表空间创建用户表空间 SMS:create tablespace mandged by system using (‘’) DMS:create tablespace mandged by database using (device|file’) 自动存储:create tablespace mandged by automatic storage 示例: create tablespace ts1 managed by system using (‘d:\tbsp’, ‘e:\tbsp’) create tablespace ts2 managed by database using (file ‘d:\tbsp’ 500, file ‘e:\tbsp’ 500) create tablespace ts3 managed by database using (device ‘/dev/rdblv6’ 500, device ‘/dev/rdblv7’ 500) 创建系统临时表空间 create system temporary tablespace tmp_tbsp managed by system using (‘d:\tbsp’, ‘e:\tbsp’) 创建用户临时表空间 create user temporary tablespace tmp_tbsp managed by database using (file ‘d:\tbsp’ 500, file ‘e:\tbsp’ 500)
  • 47. 表空间相关命令查看表空间 列出表空间 >db2 list tablespaces [show detail] 列出容器 >db2 list tablespace containers for tablespace ID 修改表空间 添加或扩展DMS容器 >db2 alter tablespace add (device ‘,file ‘) 调整DMS容器的大小 缩小 >db2 alter tablespace reduce (file ‘) 增大 >db2 alter tablespace resize (device ‘) 扩展 >db2 alter tablespace extend (file ‘) 删除或减少DMS容器 >db2 alter tablespace drop (file ‘’ , device ‘’ ) 重命名表空间 rename tablespace ts1 to ts2 删除表空间 删除用户表空间 > db2 drop tablespace ts1,ts2,ts3 (注:只能同时删除3个) 删除用户临时表空间> db2 drop tablespace tmp_tbsp 删除系统临时表空间> db2 drop tablespace tempspace1 改变表空间状态 将表空间从脱机状态切换至联机状态 >db2 alter tablespace swith online
  • 48. 48数据库对象表(table) 索引(index) 视图(view) 约束
  • 49. 表(table)默认情况下,表数据、索引和大字段将被存储在默认表空defaulttablespace中 如果显式的发出带 in tablespace_name的create table子句,则表数据、索引和大字段将被存储在指定的表空间 如果使用的表空间是DMS管理类型,那么可以在创建表时指定表数据存储在一个表空间中,索引数据存储在一个表空间中,大字段数据存储在一个表空间中
  • 50. 表相关命令创建表 create table TEST1 ( ID smallint not null, NAME varchar(100) ) in tbsp2 index in tbsp1 long on tbsp3 修改表 使用alter table 语句修改已经存在的表 删除表 drop table table_name
  • 51. 索引(index)索引 索引是一个或多个键列的组合,每个键指向表的一行(MDC块索引除外,MDC块索引是指向数据的扩展数据块;XML数据的XML索引除外,XML索引是引用特定的XML模式表达式为存储在单个列中的XML文档中的路径和值建立索引),SQL优化器可以自动选择最有效率的索引,从而快速的找到数据 五种类型:唯一索引、非唯一索引、聚簇索引、非聚簇索引以及MDC相关的块索引 唯一索引主要是用来确保一个表中没有两行数据的索引键列会相同 聚簇索引可以提高查询操作的性能 DB2中的主键索引默认不是聚簇的,主键索引和唯一索引很类似,不过增加了不能为空的限制 作用 索引主要由数据库管理器用来提高性能,减少直接I/O 索引还可以保证键列唯一
  • 52. 索引创建DB2 v9中默认情况下,创建的索引是允许双向扫描的(allow reverse scans) 索引不能修改,如果想要修改索引,需要先删除该索引,再重新创建,没有alter index语句 创建索引 create index index_name on table_name(col_name) 示例: 对T1表的ID列创建唯一索引: 默认为允许双向扫描:create unique index index1 on T1(ID) 不允许双向扫描:create unique index index1 on T1(ID desc) disallow reverse scans 对T2表的ID列创建聚簇索引:create index index2 on T2(ID) cluster 对T3表的ID列创建索引,同时在索引中包含name和age create index index3 on T3(ID) include (name,age) 可以使用rename语句来重新命名索引,语法如下: rename index 原索引名 to 新索引名
  • 53. 视图(view)视图不是实际的表,通过视图可以查看一个或多个表的数据。视图和表一样具有列和行,可以像使用表一样使用视图检索数据 对视图是否执行插入、更新和删除操作,取决于视图的定义 当视图的列是直接来自源表的列时,该视图列也要遵守该源表列的所有约束。如,源表的某列上有外键,通过视图插入时也要遵守该规定 根据视图允许操作不同,可分为: 可删除视图 可更新视图 可插入视图 只读视图
  • 54. 创建视图DB2使用with check option选项在视图上制定一个约束,当通过视图对数据进行插入或更新时,将强制执行该约束。 不能对以下视图指定with check option选项 只读视图 引用nodenumber或partition函数、非确定性函数或使用外部操作的函数视图 带类型的视图 示例 使用with check option选项定义视图 create view view1(ID,name,deptno) as (select num,name,deptno from table_name where deptno=123) with check option
  • 55. 约束约束被DB2用来对数据实施业务规则。在任何业务中,数据通常需要符合特定的限制或规则。 约束主要有5种 非空(NOT NULL)约束 唯一(UNIQUE)约束 主键(Primary Key)约束 外键(Foreign key)约束 表检查(Check)约束
  • 56. 约束约束只与表关联,是在创建表的过程中定义的,或者是在创建表之后追加定义的 NOT NULL约束 非空约束主要用来防止在列中输入空值 示例:creat table T1(ID int not null,name varchar(100)); UNIQUE约束 唯一约束用来确保一组列中的值对于表中所有行都是唯一的,且不能为空 示例: creat table T2(ID int ,name varchar(100) not null unique); Primary Key约束 主键约束是唯一约束的一种,但是一个表中只能由一个主键,而唯一键可以有多个 示例: creat table T3(ID int not null primary key,name varchar(100)); Foreign Key约束 外键约束,也被称为引用约束或引用完整性约束,主要用来定义表与表之间以及表内必需的关系 示例:create table t1(id int not null primary key,name varchar(100)) in userspaces1 create table t2(id int not null primary key, parent_id int,name varchar(100)) in userspaces1 alter table t2 add constraint fk1 foreign key (parent_id) references t1(id)
  • 57. 57ReviewDB2教育 自学课程 认证考试 交流网站 DB2产品简介 版本序列 产品介绍 工具介绍 DB2基础 体系结构 实例 数据库 缓冲池 表空间 数据库对象
  • 58. 58Exercise请创建实例DB2 ,并在实例DB2下创建数据库TEST,路径为D:\ 在数据库TEST1中创建缓冲池bfpl1,页大小为8k 创建DMS表空间tbsp1, 文件存放在D:\tbsp
  • 59. FAQQ&A
  • 60. 保密须知:本文件及其书面或其他任何形式的附件乃以保密形式提供,其著作权归属于本公司,仅供阁下内部使用。未经过本公司的审核、确认及书面授权,阁下不得以任何方式在任何媒体(包括互联网)上公开引用或在阁下的任何资料中引用本文件及其附件中的任何数据和信息,不得以任何方式将本文件及其附件中的任何内容提供、披露给其他单位或个人。敬希阁下与我们共同遵守法律。