`
dingyuan
  • 浏览: 30374 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

外键概念

阅读更多

weathercities 表。考虑一下下面的问题:你想确保没有人可以在 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".
分享到:
评论

相关推荐

    (mysql面试题)MySQL中的索引、主键和外键的概念及其作用及代码展示.txt

    通过外键,可以实现表与表之间的关联,例如,一个订单表和一个客户表可以通过外键关联,表示某个订单属于哪个客户。外键的作用主要有以下几点: - 确保数据的一致性和完整性,通过外键约束可以

    MySQL的DML语言操作实例

    补充说明,外键:不要使用外键,一切外键概念都在应用层解决。 补充说明,数据库的列,也就是字段名,尽量带上飘符号` 数据库存在的意义:数据存储和数据管理。 数据库:行(数据),列(字段) 注意:本页是解决了行的...

    django-dfk:Django 的延迟外键

    延迟外键在概念上类似于通用外键,不同之处在于它们在运行时解析为真正的外键,并导致在数据库中创建正确的外键。 这个包允许你做两件事: * Declare that a model's foreign key field is 'deferrable', and ...

    mysql外键基本功能与用法详解

    主要介绍了mysql外键基本功能与用法,结合实例形式详细分析了mysql外键的基本概念、功能、用法及操作注意事项,需要的朋友可以参考下

    MySQL约束(主键,唯一,非空,外键)

    概念: 对表中的数据进行限定,保证数据的正确性、有效性和完整性。 分类: 1. 主键约束:primary key 2. 非空约束:not null 3. 唯一约束:unique 4. 外键约束:foreign key 目录MySQL约束(主键,唯一,非空,外键...

    Mysql数据库中数据表的优化、外键与三范式用法实例分析

    主要介绍了Mysql数据库中数据表的优化、外键与三范式用法,结合实例形式较为详细的分析了Mysql数据库中数据表的优化、外键与三范式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下

    E-R模型设计实例.doc

    试画出ER图,并在图上注明属性,联系的类型。再转换成关系模式集,并指出每个关系模式的主键和外键。

    postgresql-11.4-2-osx.dmg

    POSTGRES的许多领先概念只是在比较迟的时候才出现在商业网站数据库中。PostgreSQL支持大部分的SQL标准并且提供了很多其他现代特性,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制等。同样,...

    mysql数据库设计(1).pdf

    mysql数据库设计 数据库设计 约束 约束 * 概念: 对表中的数据进⾏限定,保证数据的正确性、有效性和完整性。 * 分类: 1. 主键约束:primary key 1. 注意: 1. 含义:⾮空且唯⼀ 2. ⼀张表只能有⼀个字段为主键 3. ...

    数据库原理测试题.docx

    基本概念: 考核测试对象对于数据库的基本概念的理解,如数据库管理系统(DBMS)、数据库模型(关系型、NoSQL 等)、数据表、字段、主键、外键等。 SQL 查询语言: 考查测试对象是否能够编写基本的 SQL 查询语句,...

    报销数据库设计.doc

    对象的转换: "对象 "概念模型 "逻辑模型 "物理模型 " "实体 "实体 "实体 "实体 " "属性 "属性 "属性 "字段 " "关系 "关系(1-1,1-2,"关系 "外键 " " "2-2) " " " "关系 "一对多,多对一 "实体 "表 " " ", " " ...

    SQL2005入门到精通(12)

    第12章 约束 256 12.1 约束概述 256 12.1.1 数据完整性 256 12.1.2 约束的概念和类型 257 12.2 设计约束 258 12.2.1 定义约束的方式 258 12.2.2 定义约束的语法结构 258 12.3 主键约束 259 ...

    [详细完整版]20数据库.doc

    三个世界 现实世界 概念世界 工具:ER图 实体 实体型 属性 码 关系:一对一、一对多、多对多 概念世界与机器世界的对应 实体及实体间的联系对应到表 属性对应表中的字段 码对应表中的主键或唯一索引 域对应表中字段...

    jbpm3.2表说明

    JBPM_MODULEDEFINITION JBPM_MODULEDEFINITION FK_MODDEF_PROCDEF PROCESSDEFINITION_ 一个流程可能处在很多的模块(模块概念不理解) JBPM_DELEGATION JBPM_DELEGATION FK_DELEGATION_PRCD PROCESSDEFINITION_ 一...

    售票系统设计方案.pdf

    字段名称 字段名称 字段类型 字段类型 字段描述 字段描述 urId int 主键 userId int ⽤户主键【外键】 roleId int ⾓⾊主键【外键】 字段名称 字段名称 字段类型 字段类型 字段描述 字段描述 trainSequenceId int ...

    SQL Server零基础学起你必会(二)表和约束概念详解,用SQL命令建表和约束

    SQL Server零基础学起你必会(二)表和约束概念详解,用SQL命令建表和约束利用SQL命令建表和约束六大约束实战指令合集实例流程关系实战指令合集实例流程查看数据关系的建立关系图总结主键外键先删主键表还是外键表...

    MYSQL常见的面试题带答案

    外键是一种关系型数据库的概念,它用于保证不同表之间的数据一致性。外键是另一个表的主键,它可以限制某个表中的数据只能引用另一个表中的数据。 6. 什么是联合索引? 联合索引是一种由多个列组成的索引。它支持...

    数据库课程设计--图书管理系统.doc

    首先选择局部应用画出分E-R图,最终形成系统的E-R图 3、完成系统逻辑结构设计 按照E- R图转换成关系模式的规则,将CDM转换成逻辑数据模型,并为每个关系模式设计主键、 外键。分析关系模式中的依赖关系,对关系模式...

    《数据库应用实验》-数据完整性约束

    实验目的 1、掌握数据完整性的概念和分类。 2、掌握主键、候选键、自增、外键、默认值和CHECK约束的概念和创建方法。

    酒店管理系统数据库设计.pdf

    数据库概念设计 餐台和菜系是本系统中最简单的实体,在本系统中用来描述餐台信息 的只有台号和座位数,描述菜系的主要是名称。餐台信息表的E-R图如 图1所示,菜系信息表的E-R图如图2所示。 图2.菜系信息表E-R图 在...

Global site tag (gtag.js) - Google Analytics