PostgreSQL基础(七):表的基本操作(一)

表的基本操作(一)

表的构建语句,基本都会。

核心在于构建表时,要指定上一些约束。

一、约束

1、主键

2、非空

3、唯一

4、检查

5、外键

目前国内很多公司不玩这个,坑比较多,最好不要玩,真需要可以查询文档。

6、默认值

一般公司内,要求表中除了主键和业务字段之外,必须要有5个字段

created,create_id,updated,update_id,is_delete

二、触发器

触发器Trigger,是由事件出发的一种存储过程

当对标进行insert,update,delete,truncate操作时,会触发表的Trigger(看触发器的创建时指定的事件)

构建两张表,学生信息表,学生分数表。

在删除学生信息的同时,自动删除学生的分数。

先构建表信息,填充数据

为了完成级联删除的操作,需要编写pl/sql。

先查看一下PGSQL支持的plsql,查看一下PGSQL的plsql语法

构建一个存储函数,测试一下plsql

在简单了解了一下plpgsql的语法后,编写一个触发器函数。

触发器函数允许使用一些特殊变量

NEW

OLD

构建一个删除学生分数的触发器函数。

开始构建触发器,在学生信息表删除时,执行前面声明的触发器函数

docx image

约束触发器延迟

三、表空间

在存储数据时,数据肯定要落到磁盘上,基于构建的tablespace,指定数据存放在磁盘上的物理地址。

如果没有自己设计tablespace,PGSQL会自动指定一个位置作为默认的存储点。

可以通过一个函数,查看表的物理数据存放在了哪个磁盘路径下。

docx image

这个位置是在$PG_DATA后的存放地址

41000其实就是存储数据的物理文件

构建表空间,指定数据存放位置

docx image

docx image

构建数据库,以及表,指定到这个表空间中

docx image

其实指定表空间的存储位置后,PGSQL会在$PG_DATA目录下存储一份,同时在咱们构建tablespace时,指定的路径下也存储一份。

这两个绝对路径下的文件都有存储表中的数据信息。

进一步会发现,其实在PGSQL的默认目录下,存储的是一个link,连接文件,类似一个快捷方式

docx image

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容