openGauss数据库实验教程 课件 第7章 表的创建与系统表实验_第1页
openGauss数据库实验教程 课件 第7章 表的创建与系统表实验_第2页
openGauss数据库实验教程 课件 第7章 表的创建与系统表实验_第3页
openGauss数据库实验教程 课件 第7章 表的创建与系统表实验_第4页
openGauss数据库实验教程 课件 第7章 表的创建与系统表实验_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章表的创建与系统表实验探索openGauss数据库表的创建与系统表机制目录实验介绍1.实验步骤3.实验讨论与总结5.实验原理2.实验结果4.1.实验介绍了解实验的整体背景和探究方向实验背景与目标01通过研究CREATETABLE语句源代码,引出openGauss系统表机制。探索源代码02了解每创建表都会在系统表存信息的机制。引出系统表机制03以pg_class等三个系统表为切入点深入了解数据库。以系统表为牵引04借助源代码解析掌握关系表定义相关内容。深入了解关系表定义05熟悉CREATETABLE与三个系统表中元数据的关联。掌握系统表关联性06知晓与实验相关的结构体和系统表源代码内容。了解重要结构体代码明确实验开展的原因和期望达成的成果实验具体目的明确各项需掌握的技能和知识掌握元数据关联性掌握CREATETABLE与三个系统表元数据的关联关系。01掌握系统表关键操作学会三个系统表的关键属性、关联与查询操作。02了解相关源代码了解与实验相关的重要结构体和系统表源代码。03理解代码输出原理明白添加代码输出CREATETABLE相关系统的原理。04熟悉系统表作用熟悉系统表在数据库管理和维护中的重要作用。052.实验原理深入理解实验背后的理论基础系统表概念0102040305系统表是存储数据库元数据的特殊数据表。系统表定义包含表、索引等数据库对象的描述信息。存储元数据内容与系统函数配合实现数据库管理和维护。配合函数管理数据库各字段代表不同元数据信息,如relname存表名。系统表字段意义由系统进程维护,数据库启动时自动加载。系统表加载方式认识系统表的基本定义和作用系统表关联系统表间复杂关联openGauss系统表间存在复杂协作关系。主外键表示关联如pg_class和pg_attribute用主外键关联。与其他对象相互关联系统表与用户定义表等对象相互关联。维护数据库一致性数据库操作会使系统表记录更新或删除。关联关系重要性研究关联关系有助于理解数据库内部机制。了解系统表之间的复杂关联关系相关结构体熟悉与实验相关的关键结构体FormData_pg_class定义表级元数据,存表名、OID、存储类型等信息。FormData_pg_attribute定义列级元数据,含列名、数据类型、OID等。FormData_pg_type描述数据类型信息,如名称、大小、对齐方式等。TupleDesc描述关系表元数据,存储所有列的信息。RelationData存关系所有元数据,包括TupleDesc等信息。HeapTupleData表示数据库元组,是存储数据的主要结构。3.实验步骤详细展示实验的具体操作流程创建关系模式学习使用CREATETABLE创建表启动数据库服务器执行gs_ctl命令启动openGauss数据库服务器。连接数据库通过gsql客户端连接openGauss数据库。创建users表执行相应CREATETABLE语句创建users表。删除users表使用DROPTABLE语句删除已创建的users表。创建列存表用WITH指定ORIENTATION为COLUMN创建列存表。行存表创建默认或指定ORIENTATION为ROW创建行存表。Users表创建实例查询系统表掌握查询系统表获取信息的方法pg_class存数据库对象元数据,含oid等重要字段。系统表pg_class介绍01pg_attribute存表中列元数据,如attname等。系统表pg_attribute介绍02通过连接操作查看users表各列元数据信息。查看users表列信息03连接多表查看users表各列类型元数据信息。查看users表类型信息04查看users表对应组合类型(行类型)的类型信息。查看组合类型信息05验证pg_class和pg_type之间的一对一关系。查看pg_class和pg_type关系06查询系统表pg_class系统表的部分列可以看到,刚刚建立的users表对应的元数据位于pg_class系统表的第3行。查询系统表pg_attribute系统表的部分列查询系统表通过pg_attribute表和pg_class表连接操作,查看users表的各个属性列的几个元数据信息查询系统表pg_type系统表的部分列查询系统表通过pg_attribute、pg_class和pg_type表连接操作,查看users表的各个属性列的元数据信息及其对应的类型元数据信息浏览源代码了解重要结构体和系统表的相关代码RelationData及其指针RelationData存关系信息,Relation是其指针。FormData_pg_class及其指针FormData_pg_class存关系元数据,Form_pg_class是指针。tupleDesc及其指针tupleDesc存元组描述信息,TupleDesc是指针。NameData及其指针NameData存数据库对象名称,Name是指针。FormData_pg_attribute及其指针FormData_pg_attribute存列元数据,Form_pg_attribute是指针。HeapTupleData及其指针HeapTupleData表示一行数据,HeapTuple是指针。FormData_pg_type及其指针FormData_pg_type存数据类型元数据,Form_pg_type是指针。输出相关信息01添加代码位置在heap.cpp中heap_create_with_catalog函数末尾添加代码。02添加代码内容定义变量、循环处理,输出表和列的相关信息。03编译安装与测试编译添加代码,启动数据库,创建表查看输出结果。04调试错误方法若有问题,用单步调试方法排除添加代码的错误。05代码添加目的输出新建表的信息,便于了解表的结构和属性。学习添加代码输出CREATETABLE相关信息4.实验结果展示实验最终达成的成果实验成果展示按照实验步骤成功创建了users行存表和列存表。创建行存和列存表根据系统表属性绘制了pg_class等表的ER图。绘制系统表ER图查看添加代码输出,确认表及列信息正确。验证代码输出效果呈现实验各项任务的完成情况5.讨论与总结对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论