PostgreSQL外键

操作方法

  • 01

    考虑一下下面的问题:你想确保没有人可以在 weather 表里插入一条在 cities 表里没有匹配记录的数据行。 这就叫维护你的表的参考完整性。 在简单的数据库系统里,实现(如果也叫实现)这个特性的方法 通常是先看看 cities 表里是否有匹配的记录, 然后插入或者拒绝新的 weather 记录。 这个方法有许多问题,而且非常不便,因此 PostgreSQL 可以为你做这些。 新的表声明看起来会象下面这样: CREATE TABLE cities (        city            varchar(80) primary key,        location        point ); CREATE TABLE weather (        city            varchar(80) references cities(city),        temp_lo         int,        temp_hi         int,        prcp            real,        date            date ); 然后我们试图插入一条非法的记录: INSERT INTO weather VALUES ('Berkeley', 45, 53, 0.0, '1994-11-28'); ERROR:  insert or update on table "weather" violates foreign key constraint "weather_city_fkey" DETAIL:  Key (city)=(Berkeley) is not present in table "cities". 外键的行为可以为你的应用仔细调节。在这份教程里我们就不再多说了,而是请你参考Chapter 5获取更多的信息。 正确使用外键无疑将改进你的数据库应用,所以我们强烈建议你学习它们。

(0)

相关推荐

  • mysql数据库中删除表外键的方法php通用

    mysql数据库中怎样删除表外键,很多时候我需要删除表外键. 首先给一个实例:alter table newexample drop foriegn key c_fk;这里我们是要删除表为newexa ...

  • mysql数据库外键怎么定义

    操作方法 01 首先建立一个主表,保存姓名. 02 新建一个从表,保存主表中的相对应的成绩. 03 点击congbiao右键,选择改变表,在标签栏选择外键.congbiao的zid列和zhubiao中 ...

  • SQL2008设置外键问题

    关于SQL2008设置外键问题 操作方法 01 首先打开Microsoft SQL Server 2008. 02 打开想要设置的数据表. 03 在想要设置成外键的字段上右键,在弹出的菜单上选择关系选 ...

  • SQL Server中如何给两个表建立主外键约束

    我们在使用SQL Server设计数据库时有时候需要为两张表建立主外键约束关系,以便能实现两张表的数据进行级联删除和级联更新,下面给大家介绍一下如何在SQL Server中给两张表建立主外键约束. 操 ...

  • 怎么通过sql命令建表和生成主外键约束

    我们在数据库中如果要建表的话,我们可能会直接去用鼠标点点,那样的话不仅速度慢,而且可能会出现一些问题.今天我们就来看看,怎么用SQL语句来轻松完成表的创建以及主外键约束的设置. 操作方法 01 我们首 ...

  • mysql 增加外键:(+创建主键)

    操作方法 01 MySQL是开源免费的数据库软件,是一款很优秀的软件,作为我们的学生或者科研人员在开发软件的时候,最好用也是最省钱的.所以MySQL学好是至关重要的! SQL语言包含4个部分: ※ 数 ...

  • sqlserver 界面 设置 主键 外键

    sqlserver界面上设置主键与外键的关联,由于比较隐藏,由于刚学习对命令不熟,所以找了界面上设置的方法 操作方法 01 打开sqlserver数据库软件,右键你要键主键与外键的表(你需要关联其它表 ...

  • 怎么为数据库表添加外键

    对于数据库操作来说,设置一个表的主键,相信大家都已经很熟悉了.那么怎么给表添加一个外键呢?我们来看看这个问题! 操作方法 01 我今天就以SqlSever2005数据库为例来讲讲操作方法,具体如下: ...

  • SQL数据库中的主键与外键介绍

    一.什么是主键.外键: 关系型数据库中的一条记录中有若干个属性,若其中某一个属性组(注意是组)能唯一标识一条记录,该属性组就可以成为一个主键比如 : 学生表(学号,姓名,性别,班级) 其中每个学生的学 ...