表的基本操作(一)
表的构建语句,基本都会。
核心在于构建表时,要指定上一些约束。
一、约束
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
构建一个删除学生分数的触发器函数。
开始构建触发器,在学生信息表删除时,执行前面声明的触发器函数

约束触发器延迟
三、表空间
在存储数据时,数据肯定要落到磁盘上,基于构建的tablespace,指定数据存放在磁盘上的物理地址。
如果没有自己设计tablespace,PGSQL会自动指定一个位置作为默认的存储点。
可以通过一个函数,查看表的物理数据存放在了哪个磁盘路径下。

这个位置是在$PG_DATA后的存放地址
41000其实就是存储数据的物理文件
构建表空间,指定数据存放位置


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

其实指定表空间的存储位置后,PGSQL会在$PG_DATA目录下存储一份,同时在咱们构建tablespace时,指定的路径下也存储一份。
这两个绝对路径下的文件都有存储表中的数据信息。
进一步会发现,其实在PGSQL的默认目录下,存储的是一个link,连接文件,类似一个快捷方式









暂无评论内容