`

外键的简单认识

阅读更多
外键的作用很重要,最好在数据库中使用。举一个例子比较明白。

比如有两张表格,一个是学生档案,另一个是上学期间的成绩单

档案中会有:学号,姓名。(学号为主键)  
成绩单有(简化过的):学期号,学号,平均分数(学期号,学号两个同时为主键,学号同时为外键)  
为了保证成绩单上的数据有效,所以要求录入学号时,必需保证档案中有这个学号,否则就不能录入。  
从而保证了成绩单上的成绩数据的引用完整,否则将会是垃圾数据。



用程序控制,有很多缺点;录入成绩单时为了保证学号有效,首先要搜索档案,当档案很大时会影响效率。程序控制并不能保证百分之百引用完整性,尤其是并发操作。



说一个特例(主要是说明程序控制不好):  
A录入成绩单,B在编辑档案。  
当A录入张三的成绩,保存时,搜索张三存在,于是程序下一步就要存盘,但这时B恰好把张三删除了。但A那边的程序并不知道,于是就把一条垃圾数据存进数据库中了。  
此例的操作流程正确与否不重要,但说明了程序控制并不是好方法。



本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xianyu_0418/archive/2009/08/21/4469072.aspx
分享到:
评论

相关推荐

    数据库实验 - 实验一 认识DBMS

    2. 关系数据库:关系数据库是基于关系数据模型的数据库,其中的数据以表格形式存在,每个表格代表一个实体,表格间的关联通过外键实现。实验中可能要求我们设计简单的ER(实体-关系)图,并将其转换为SQL表。 3. ...

    实验二 SJK数据库设计与应用开发

    1. **创建数据库**:首先,在DBMS中创建一个名为“实验六_简单数据库设计”的数据库。 2. **建立表结构**:接着,建立学生表(student)、寝室表(dormitory)和管理员表(admin)。 - **学生表(student)**:包含字段学号...

    MySQL入门很简单-学习笔记_20110913.pdf

    ### MySQL入门知识点详解 #### 一、数据库概述 1. **数据存储方式**:数据库是组织、存储和处理数据的一种重要工具。...对于初学者来说,这些知识点足够建立起对MySQL的基础认识,并能够进行简单的数据库操作。

    贵州大学计算机学院研究生复试上机考试题目分享.pdf

    2. 数据挖掘:比方我说自己做过哪些课程设计,他们就会挑感兴趣让你细说,以及谈到了毕业设计也问了很多,还问了我想学习的方向,比方数据挖掘,导师就问我对大数据有什么认识等等。 英语面试 1. 自我介绍:每人一...

    SQL语言艺术

    索引与外键 同一字段,多个索引 系统生成键 索引访问的不同特点 4 机动灵活:思考SQL语句 SQL的本质 掌握SQL艺术的五大要素 过滤 5 了如指掌:理解物理实现 物理结构的类型 冲突的目标 把索引当成数据仓库 记录强制...

    选择一种高级语言实现一个简单的DBMS

    在这个课程设计任务中,学生被要求使用一种高级编程语言实现一个简单的数据库管理系统(DBMS)。设计的主要目标包括创建表、修改表以及插入数据,这些都是数据库操作的基础功能。以下是这个任务涉及的一些关键知识点...

    某asp企业整站,简单方便 自己改改使用或学习都可以。

    对于初学者而言,这种组合易于理解和操作,因为ASP提供了与Access数据库交互的API,如ADODB连接对象和Recordset对象,使得数据操作变得简单直观。 在学习和使用这个整站项目时,你将接触到以下几个关键知识点: 1....

    《MySQL 数据库实战应用》课程教学.docx

    - 能够对小型项目进行简单的需求分析。 - 学会规范化设计技术,能够应用“规范化设计的 6 步实施法”设计符合 3NF 规范的数据结构。 - 学会采用 SQL 语句创建数据库和表,不再依赖于图形界面工具。 - 学会采用 ...

    SQL实习总结四篇.doc

    在此过程中,了解到表的设计对整个数据库的影响至关重要,需要考虑到数据的具体性和实用性,避免过于复杂或过于简单。 实习内容主要包括:创建数据库和表、管理角色(管理员、订餐用户、餐馆)以及使用编程语言(如...

    实验二 使用SQL语言进行建表和修改表结构.doc

    (1)认识几种常见的数据库管理系统,熟悉它们的使用界面; (2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作; (3)会用 SQL 语言进行基本表的结构的定义、修改、删除。 二、实验内容 ...

    Access数据库教材

    7. 外键与关系:了解外键的作用,理解其在维持数据一致性中的角色。 8. 主键与索引:认识主键的唯一性,学习创建和管理索引以提高数据检索速度。 四、查询与报表 9. 查询功能:利用查询进行数据汇总、分组统计,...

    数据库操作笔记.docx

    它可以是简单的文件系统或高度复杂的软件应用。 - **关系型数据库**: MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS)。 #### 二、MySQL 基本操作 ##### 1. 认识数据库 - **数据库** (Database): 存储...

    怀晓明-算法为王的SQL优化

    在表方面,大表分区不善、没有主键、外键缺少索引、主子表设计不合理等问题都会影响性能。 在索引方面,未建索引、索引无效、索引不可见、索引设计不合理以及索引过于冗余等问题同样会导致性能下降。统计信息的重要...

    课程设计超市数据库管理系统.doc

    通过这个项目,我们认识到良好的需求分析和系统设计对于确保系统的实用性和可扩展性至关重要。同时,理解并掌握数据库管理系统和开发工具的应用,是提升软件开发效率的关键。 总结,超市数据库管理系统是一个集成的...

    java作业2 影院在线订票

    Java作业2——影院在线订票系统是一个基于JSP和MySQL技术构建的简易应用程序,主要用于学习和实践Java Web开发。在这个项目中,学生被...不过,这个简单的订票系统已经能够帮助学生建立起对Java Web开发的初步认识。

    数据库课设,期末课设

    理解实体、属性、键(主键和外键)以及完整性约束(实体完整性、参照完整性和用户定义完整性)是核心内容。 3. **ER(实体-关系)模型**:在设计阶段,通常会先画出ER图来表示数据实体及其关系。实体代表现实世界中...

    表结构设计器(包含使用说明)

    1. **表结构设计**:EZDML提供了直观的图形界面,用户可以通过拖拽的方式创建字段,设置数据类型、长度、默认值等属性,方便地调整表间关系,如外键约束。 2. **代码模板生成**:一旦数据库模型设计完成,EZDML可以...

    Head First Sql

    - **了解数据完整性**:认识并使用约束(如唯一性约束、外键约束)来维护数据的完整性和一致性。 - **熟悉数据定义语言**:能够使用DDL命令(如CREATE TABLE、ALTER TABLE)来创建和修改数据库对象。 **总结**:...

    行走书店电商大作业源码(vue+SpringBoot)

    这涉及到SQL语言,包括表的创建、字段定义、索引、外键以及数据插入等操作,对数据库的设计和优化有着重要作用。 5. **RuoYi**:ruoyi文件夹可能包含了SpringBoot应用的部分或全部代码,RuoYi是一个常见的...

    2021-2022计算机二级等级考试试题及答案No.12863.docx

    存储设备的认识 - **硬盘**:文档中的第一题指出“硬盘装在机箱内面,属于内存储器。”这是不正确的。硬盘虽然位于计算机内部,但它实际上是**外存储器**的一部分,而非内存储器(如RAM)。内存储器主要用于临时...

Global site tag (gtag.js) - Google Analytics