外键的作用很重要,最好在数据库中使用。举一个例子比较明白。
比如有两张表格,一个是学生档案,另一个是上学期间的成绩单
档案中会有:学号,姓名。(学号为主键)
成绩单有(简化过的):学期号,学号,平均分数(学期号,学号两个同时为主键,学号同时为外键)
为了保证成绩单上的数据有效,所以要求录入学号时,必需保证档案中有这个学号,否则就不能录入。
从而保证了成绩单上的成绩数据的引用完整,否则将会是垃圾数据。
用程序控制,有很多缺点;录入成绩单时为了保证学号有效,首先要搜索档案,当档案很大时会影响效率。程序控制并不能保证百分之百引用完整性,尤其是并发操作。
说一个特例(主要是说明程序控制不好):
A录入成绩单,B在编辑档案。
当A录入张三的成绩,保存时,搜索张三存在,于是程序下一步就要存盘,但这时B恰好把张三删除了。但A那边的程序并不知道,于是就把一条垃圾数据存进数据库中了。
此例的操作流程正确与否不重要,但说明了程序控制并不是好方法。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xianyu_0418/archive/2009/08/21/4469072.aspx
比如有两张表格,一个是学生档案,另一个是上学期间的成绩单
档案中会有:学号,姓名。(学号为主键)
成绩单有(简化过的):学期号,学号,平均分数(学期号,学号两个同时为主键,学号同时为外键)
为了保证成绩单上的数据有效,所以要求录入学号时,必需保证档案中有这个学号,否则就不能录入。
从而保证了成绩单上的成绩数据的引用完整,否则将会是垃圾数据。
用程序控制,有很多缺点;录入成绩单时为了保证学号有效,首先要搜索档案,当档案很大时会影响效率。程序控制并不能保证百分之百引用完整性,尤其是并发操作。
说一个特例(主要是说明程序控制不好):
A录入成绩单,B在编辑档案。
当A录入张三的成绩,保存时,搜索张三存在,于是程序下一步就要存盘,但这时B恰好把张三删除了。但A那边的程序并不知道,于是就把一条垃圾数据存进数据库中了。
此例的操作流程正确与否不重要,但说明了程序控制并不是好方法。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/xianyu_0418/archive/2009/08/21/4469072.aspx
发表评论
-
myeclipes8.6 反编译插件的安装
2011-04-13 11:25 916如下步骤是在网上找的但是有两个地方有问题: 1 jad的路径问 ... -
JVM的理解
2011-02-16 09:57 653躁动的绵羊的 《深入JVM概要》我觉得写的挺好 可以到他的博 ... -
JVM启动类加载器加载些什么
2011-02-14 10:20 788Bootstrap里加载的是<JAVA_RUNTIME_ ... -
使用异常机制的建议
2010-12-02 17:12 6871 异常处理不能代替简单测试 只在异常情况下使用异常机制 ... -
静态导入
2010-12-01 17:15 641import java.lang.System.*; 可以使用 ... -
初始化块
2010-12-01 16:17 5993种两种初始化数据域的方法: 1 在构造器中设置值 2 在声明 ... -
杂七杂八的记了些笔记 回头看看
2010-11-19 23:28 679经常听人 要向前看 现在我得回头看 -
Java 反射机制的补充(转自 凯旋人生)
2010-11-19 23:01 650Java的反射机制是运行时的环境。 Reflection是j ... -
java反射机制
2010-11-19 22:54 697反射机制:所谓的反射机制就是java语言在运行时拥有一项自观的 ... -
系统基本业务流程
2010-11-19 14:51 711系统的基本业务流程: 在表示层中,首先通过JSP页面实现交互 ... -
ssh生命周期
2010-11-19 11:41 620... -
ssh 的简单认识
2010-11-19 10:47 713【转自 Java虫 】 Struts、spring、Hiber ... -
控制可见性的访问修饰符
2010-11-01 17:05 889private--仅对本类可见 public-- 对所有类可 ... -
final类和方法
2010-11-01 16:47 799有时候,可能希望阻止人们利用某个类来定义子类,不允许扩展的类被 ... -
类的设计技巧
2010-11-01 16:31 6981 将数据设计为私有 2 一定要将数据进行私有化 3 不要在类 ... -
静态块
2010-11-01 15:41 664public class NoMain { public ... -
默认域 初始化
2010-11-01 15:00 695如果在构造器中没有显示的给予域 赋初始化值,那么系统会自动的赋 ... -
参数调用
2010-11-01 14:40 676Java程序设计语言总是采用只调用。也就是说,方法得到的是所有 ... -
静态导入
2010-11-01 14:31 715静态导入 一般写法: public class Test { ... -
静态域 和 静态方法
2010-11-01 14:21 9761.静态域 如果将域定义 ...
相关推荐
2. 关系数据库:关系数据库是基于关系数据模型的数据库,其中的数据以表格形式存在,每个表格代表一个实体,表格间的关联通过外键实现。实验中可能要求我们设计简单的ER(实体-关系)图,并将其转换为SQL表。 3. ...
1. **创建数据库**:首先,在DBMS中创建一个名为“实验六_简单数据库设计”的数据库。 2. **建立表结构**:接着,建立学生表(student)、寝室表(dormitory)和管理员表(admin)。 - **学生表(student)**:包含字段学号...
### MySQL入门知识点详解 #### 一、数据库概述 1. **数据存储方式**:数据库是组织、存储和处理数据的一种重要工具。...对于初学者来说,这些知识点足够建立起对MySQL的基础认识,并能够进行简单的数据库操作。
2. 数据挖掘:比方我说自己做过哪些课程设计,他们就会挑感兴趣让你细说,以及谈到了毕业设计也问了很多,还问了我想学习的方向,比方数据挖掘,导师就问我对大数据有什么认识等等。 英语面试 1. 自我介绍:每人一...
索引与外键 同一字段,多个索引 系统生成键 索引访问的不同特点 4 机动灵活:思考SQL语句 SQL的本质 掌握SQL艺术的五大要素 过滤 5 了如指掌:理解物理实现 物理结构的类型 冲突的目标 把索引当成数据仓库 记录强制...
在这个课程设计任务中,学生被要求使用一种高级编程语言实现一个简单的数据库管理系统(DBMS)。设计的主要目标包括创建表、修改表以及插入数据,这些都是数据库操作的基础功能。以下是这个任务涉及的一些关键知识点...
对于初学者而言,这种组合易于理解和操作,因为ASP提供了与Access数据库交互的API,如ADODB连接对象和Recordset对象,使得数据操作变得简单直观。 在学习和使用这个整站项目时,你将接触到以下几个关键知识点: 1....
- 能够对小型项目进行简单的需求分析。 - 学会规范化设计技术,能够应用“规范化设计的 6 步实施法”设计符合 3NF 规范的数据结构。 - 学会采用 SQL 语句创建数据库和表,不再依赖于图形界面工具。 - 学会采用 ...
在此过程中,了解到表的设计对整个数据库的影响至关重要,需要考虑到数据的具体性和实用性,避免过于复杂或过于简单。 实习内容主要包括:创建数据库和表、管理角色(管理员、订餐用户、餐馆)以及使用编程语言(如...
(1)认识几种常见的数据库管理系统,熟悉它们的使用界面; (2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作; (3)会用 SQL 语言进行基本表的结构的定义、修改、删除。 二、实验内容 ...
7. 外键与关系:了解外键的作用,理解其在维持数据一致性中的角色。 8. 主键与索引:认识主键的唯一性,学习创建和管理索引以提高数据检索速度。 四、查询与报表 9. 查询功能:利用查询进行数据汇总、分组统计,...
它可以是简单的文件系统或高度复杂的软件应用。 - **关系型数据库**: MySQL 是一个广泛使用的开源关系型数据库管理系统(RDBMS)。 #### 二、MySQL 基本操作 ##### 1. 认识数据库 - **数据库** (Database): 存储...
在表方面,大表分区不善、没有主键、外键缺少索引、主子表设计不合理等问题都会影响性能。 在索引方面,未建索引、索引无效、索引不可见、索引设计不合理以及索引过于冗余等问题同样会导致性能下降。统计信息的重要...
通过这个项目,我们认识到良好的需求分析和系统设计对于确保系统的实用性和可扩展性至关重要。同时,理解并掌握数据库管理系统和开发工具的应用,是提升软件开发效率的关键。 总结,超市数据库管理系统是一个集成的...
Java作业2——影院在线订票系统是一个基于JSP和MySQL技术构建的简易应用程序,主要用于学习和实践Java Web开发。在这个项目中,学生被...不过,这个简单的订票系统已经能够帮助学生建立起对Java Web开发的初步认识。
理解实体、属性、键(主键和外键)以及完整性约束(实体完整性、参照完整性和用户定义完整性)是核心内容。 3. **ER(实体-关系)模型**:在设计阶段,通常会先画出ER图来表示数据实体及其关系。实体代表现实世界中...
1. **表结构设计**:EZDML提供了直观的图形界面,用户可以通过拖拽的方式创建字段,设置数据类型、长度、默认值等属性,方便地调整表间关系,如外键约束。 2. **代码模板生成**:一旦数据库模型设计完成,EZDML可以...
- **了解数据完整性**:认识并使用约束(如唯一性约束、外键约束)来维护数据的完整性和一致性。 - **熟悉数据定义语言**:能够使用DDL命令(如CREATE TABLE、ALTER TABLE)来创建和修改数据库对象。 **总结**:...
这涉及到SQL语言,包括表的创建、字段定义、索引、外键以及数据插入等操作,对数据库的设计和优化有着重要作用。 5. **RuoYi**:ruoyi文件夹可能包含了SpringBoot应用的部分或全部代码,RuoYi是一个常见的...
存储设备的认识 - **硬盘**:文档中的第一题指出“硬盘装在机箱内面,属于内存储器。”这是不正确的。硬盘虽然位于计算机内部,但它实际上是**外存储器**的一部分,而非内存储器(如RAM)。内存储器主要用于临时...