外键
考虑下面的问题:你想确保没有人可以在 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".外键的行为可以根据你的应用仔细调节。在这份教程里我们就不再多说了,正确使用外键无疑将改进你的数据库应用,所以我们强烈建议你学习它们。
分享到:
相关推荐
在SQL(结构化查询语言)中,外键约束是一种重要的关系数据库完整性机制,它用于确保数据的一致性和准确性。外键约束是两个表之间的一...在实际应用中,合理规划和实施外键约束是提升数据库性能和数据质量的关键步骤。
### 获取SQL外键集合知识点详解 #### 一、概述 在数据库设计中,外键(Foreign Key)是一种用于建立表间关系的重要机制。通过定义一个表中的列与另一个表中的主键之间的链接,可以实现数据的一致性和完整性。在...
本主题将深入探讨如何利用T-SQL进行数据库构建、表设计以及应用不同类型的约束,包括主键、外键、检查约束和唯一性约束,并演示数据的插入方法。 1. **创建数据库**: 在T-SQL中,使用`CREATE DATABASE`语句来创建...
在SQL Server 2005中,主键与外键是数据库设计中非常重要的概念,它们主要用于确保数据的完整性和一致性。特别是在复杂的数据关系管理中,复合主键的应用更是能够帮助我们有效地处理多对多的关系或者是更为复杂的...
SQL Server 是一款由微软公司开发的关系型...通过深入学习以上知识点,并结合"SQL Server应用与开发教程"提供的实践案例,你将能够熟练地掌握SQL Server的基本操作和开发技巧,为后续的数据库管理工作打下坚实的基础。
在数据库设计中,外键(Foreign Key)是一个...在实际应用中,选择合适的外键添加方式取决于具体的需求和数据库设计策略。在设计数据库时,应充分考虑数据的关联性和完整性,合理使用外键,以优化数据存储和查询效率。
《SQL Server 应用开发》课程旨在教授学员如何利用SQL Server进行高效的数据管理和应用开发。在本课程中,我们将深入探讨一系列关键概念和技术,包括数据完整性、数据操作、查询技术以及高级查询技巧。 数据完整性...
《SQL Server 2000 应用系统开发教程》是一部深入浅出的教程,结合了PPT演示和源码示例,旨在帮助初学者掌握使用VB(Visual Basic)与SQL Server 2000进行应用程序开发的核心技能。在本教程中,我们将探讨以下几个...
本文档旨在提供一系列关于SQL语言中常用操作指令的汇总,并特别聚焦于表间关系的管理上,如主键、外键和各种约束的应用。这些知识点对于数据库的设计、维护以及优化都有着重要的意义。 #### 基础概念 在进行更深入...
SQL Server 应用开发 SQL Server 应用开发是指使用SQL Server数据库管理系统来创建应用程序的过程。SQL Server是一种关系数据库管理系统,由微软公司开发,广泛应用于各种行业。 数据库基础 在SQL Server中,...
Grails是一个基于Groovy语言的开源Web应用框架,它提供了一种便捷的方式来创建数据库表结构,包括外键关联。在开发过程中,我们经常需要对数据库的结构进行管理和维护,例如通过DDL(Data Definition Language)脚本...
在这个“SQL的简单应用”主题中,我们将深入探讨SQL在创建和管理数据库中的基础应用。 首先,让我们从创建表开始。在SQL中,`CREATE TABLE`语句用于定义数据库中的新表格结构。例如,假设我们正在创建一个用于记录...
7、动态创建SQL外键约束。 8、动态创建SQL触发器。 9、自定义SQL数据库登录校验窗体。 10、不用设置BDE的SQL数据库连接。 11、动态窗体创建。 12、MDI编程。 13、利用Field的OnSetText事件检查输入值是否存在...
"数据挖掘-04-外键SQL语句的编写.ev4.rar" 文件很可能是某个教学资源或课程的一部分,专门讲解如何在数据挖掘中利用SQL来处理外键。 外键是关系数据库设计中的一个关键概念,它用于建立和维护两个表之间的关联。当...
重新创建所有外键的脚本则需要先保存每个外键的定义,然后在删除后重新应用这些定义。这可以通过查询系统目录视图并构造CREATE TABLE语句来完成。以下是一个示例: ```sql DECLARE @sql NVARCHAR(MAX) = N''; ...
《SQL Server 2000应用系统开发教程》是一份专为数据库开发人员设计的教育资源,旨在深入浅出地介绍如何使用SQL Server 2000进行高效的应用系统开发。SQL Server 2000是微软公司推出的一款企业级关系型数据库管理...
下面通过具体的例子来进一步理解外键的应用场景。 ##### 示例 1:基础外键设置 假设我们有两个表,一个是 `parent` 表,另一个是 `child` 表。其中 `child` 表中的 `parent_id` 字段作为外键,参照 `parent` 表中...