- 浏览: 800349 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (480)
- Spring (12)
- Hibernate (8)
- Struts2 (4)
- Java 基础-JDK-类-接口-URI-专题研究 (27)
- 线程、线程池、多线程高并发高可用、Socket通信 (15)
- Oracle数据库 (20)
- 一般-前端js-html-其它 (25)
- JYSK-互联网金融、金融科技、支付、公司、新闻等等 (8)
- Ajax-jQuery开源框架 (7)
- Json-轻量级的数据交换格式 (14)
- JavaScript (15)
- Jsp、Servlet、Servlet+JSP+JavaBean开发模式(MVC) (18)
- Html-JavaScript-前端-调用接口 (12)
- Sql Server 2005 (6)
- 正则表达式 (2)
- Java tools (18)
- 加签与验签、加密与解密 (3)
- Ajax技术核心-xmlHttpRequest(简称XHR) (6)
- xml-数据交换格式 (3)
- 信息采集 (1)
- Http - Https - HttpClient - httpCore-SSL-TLS (10)
- HtmlParser (2)
- 标签库 (1)
- SMS (2)
- jxl-导入导出 (4)
- poi-导入导出 (2)
- 定时器Timer+Quartz (6)
- 工作流引擎JBPM3.2.3 (4)
- 工作流引擎JBPM4 (0)
- 数据源-JNDI (0)
- tomcat、weblogic等应用服务器 (6)
- 工作流引擎jbpm5 (1)
- 搜索引擎Lucene (1)
- ant (1)
- 大数据-HBase (2)
- bigtable (0)
- 数据库设计 (4)
- jquery tab (0)
- mybatis (5)
- jquery ui 1.10.3 (5)
- Jboss7 (1)
- 规则引擎drools (0)
- 工作流引擎Activiti5 (0)
- 数据库-用户自定义函数 (0)
- 数据库-存储过程 (2)
- 数据库-视图 (0)
- 数据库-触发器 (0)
- 数据库-sql (2)
- highcharts-图表工具 (1)
- sql server 2008 (6)
- 诗词-工作室 (2)
- 数据割接 (1)
- GIS-地理信息系统 (2)
- RS-遥感技术 (1)
- GPS-全球定位系统 (1)
- java整合flex_RIA开发 (3)
- C#编程语言 (5)
- webservice_axis2_cxf_soap_wsdl (2)
- sql语句 (3)
- Flex_WebService_GIS (25)
- PHP编程语言 (0)
- ExtJS4.2 (1)
- Spring mvc (5)
- EasyUI1.4.2 (16)
- 日期时间工具类 (4)
- 随机数 (1)
- Arcgis api for js (0)
- Mysql数据库 (9)
- 移动互联网 java html5/flash socket netty (0)
- API接口 (1)
- AndroidStudio (0)
- Git (2)
- Maven (5)
- IDEA (0)
- 大数据-Hadoop (2)
- JPA (0)
- Spring boot (4)
- JSF (0)
- nginx_lua_module_redis (2)
- Activiti (1)
- bootstrap (1)
- AngularJS (10)
- 数据库-索引 (1)
- Linux及其连接工具SSH (4)
- java日志管理 (2)
- islider滑动控件 (1)
- jquery (1)
- 异常处理Exception (1)
- 秒杀与类秒杀系统 (1)
- 连接数据库、数据库连接池 (4)
- 数据库-临时表 (1)
- 软件设计模式-单例、多例、代理、工厂、观察者 (3)
- 集合框架 (5)
- 人工智能--Artificial intelligence、神经网络算法、机器学习 (1)
- 分布式应用 (1)
- SOA服务-Dubbo框架-Thrift框架 (2)
- Zookeeper分布式服务框架 (2)
- intellij idea (1)
- python编程语言 (0)
- 消息队列_MQ (0)
- 消息队列_RabbitMQ (2)
- 消息队列_ActiveMQ (1)
- 消息队列_Kafka (2)
- 缓存_Redis (4)
- 缓存_Memcache (0)
- 缓存_Ehcache (0)
- ivy-ivyde (1)
- google-protocol buffers (1)
- 正向代理-正向代理服务器 (1)
- 反向代理-反向代理服务器 (1)
- JVM内存模型 (0)
- Thunder框架 (1)
- NIO-非阻塞式IO (0)
- 软件测试、性能测试 (1)
- 序列化、Serializable接口、Externalizable接口 (3)
- 线程池-ExecutorService-ThreadPoolExecutor (1)
- web.xml (1)
- java开发-java工具-实用工具网站 (6)
- 医疗 (1)
- Filter-过滤器 (2)
- Unicode码-双字节字符编码 (1)
- OpenResty (1)
- 计算机网络 (1)
- eclipse_myeclipse_intellij idea (3)
- Enum (1)
- 大数据--Big Data (1)
- 云计算--Cloud computing (1)
- Elastic-Job (1)
- Redis (2)
- 文件流-IO操作 (6)
- 计算机基础知识 (1)
- Hessian-二进制RPC协议 (1)
- String类 (3)
- BigDecimal类 (1)
- java重要接口 (1)
- ReactJS (1)
- 跨域问题 (0)
- Map (1)
- 注解 (1)
- ASCII码-单字节字符编码 (1)
- 微服务、微服务架构 (2)
- RPC协议、RPC服务、RPC框架 (0)
- java反射 (1)
- java项目之classpath (1)
- 经典算法-树 (1)
- listener-监听器 (1)
- Interceptor-拦截器 (1)
- pojo javabean (2)
- 计算机科学与技术-进阶 (1)
- 代码规范与文档编写 (1)
- UML-统一建模语言 (1)
- 对接微信、支付宝 (3)
- 压力测试 (1)
- 办公软件-Excel (1)
- 办公软件-PPT (0)
- UTF8、GBK编码 (1)
- 微服务架构:Spring Cloud架构-Dubbo架构 (6)
- Nginx (1)
- 点滴业务 (1)
- form表单-json数据-转换与接口调用 (1)
- Junit单元测试 (1)
- 大数据-Spark (1)
- 大数据-Storm (1)
- 数据库事务-Spring事务 (0)
- elasticsearch (1)
- windows (1)
最新评论
第 6 节:设计和创建表间关系
在这一课,您将学习如何使用外键来设计和创建表间关系。
有关更多信息,请参阅 " 表是由外键关联的 " 第 12 页。
虽然每个表都包含有关单个主题的信息,但两个或更多个表可能会包含
相关的信息。例如,职员是部门的成员,或者销售订单是一组产品的销
售订单。数据库中的关系可能表现为表间的外键关系,也可能自身就成
为独立的表。您将在本章中看到这两种情况的示例。
通过在数据库中创建关系,可以编写用于管理表中数据的规则或惯例的
代码。当关系置入数据库结构后,将不存在对例外情况的规定。
表间关系分为以下几个类别。
• 一对一关系 一个实体中的每个项都对应于另一个实体中的零个
或一个实体。例如,在示例数据库中,一个 职员管理一个 部门。
没有地方可以输入另一个部门经理。重复该部门条目会涉及到重
复部门 ID,由于部门 ID 列是主键,所以这是不可能的。
通常,最好将处于一对一关系的项组合到一个表中。 department
表中有一个 manager 列,而不是有一个单独的表名为 manager。
有关应该单独存放项的情况,请参阅 "ASA SQL 用户指南 > 设计
数据库 "。
多对一关系 多对一关系成为表间的外键关系。在多对一关系中,
一个 实体中的主键成为多个 表中的新外键列。
例如,在您刚创建的数据库中,一个 客户可以下多份 订单,但
每份订单只能由一个客户发出。若要表示一对多关系, sales_order
表中需要一个外键列 (cust_id),它映射到 customer 表中的主键列
(id)。通常,为这两个列指定相同的名称将会方便一些。
sales_order 表的 cust_id 列中的每一个条目都必须与 customer 表的 id
列中的一个条目相匹配。 sales_order 表 (包含关系中的外键)称
作外表或引用表。 customer 表 (包含被引用的主键)称作主表或
被引用表。
多对多关系 多对多关系由一个中间表来表示,而且从该中间表
到每个相关实体存在外键关系。
例如,在示例数据库中,产品和销售订单之间存在多对多关系。
一个销售订单可能包含多种产品,而一种产品可能会出现在多个
销售订单上。
product
id
name
integer
char(15)
id
id = prod_id
sales_order_items
integer
id = id
id
sales_order
integer
description char(30)
line_id
smallint
size char(18)
prod_id integer
order_date date
color
quantity
char(6)
integer
quantity integer
ship_date date
region
char(7)
unit_price numeric(15,2)
在某些情况下,中间表 (sales_order_items) 包含附加的信息,如已订
购产品的件数以及它们的发货日期。在本例中,中间表不包含任
何附加信息。
添加用于使数据库中的表相关联的外键。
添加以下外键:
• sales_order_items 中 id 列的外键,引用 sales_order 中的 id 列。该键
将销售订单和销售订单项之间的多对一关系置入数据库。
• sales_order_items 中的 prod_id 列的外键,它引用 product 中的 id 列。
该键将销售订单项和产品之间的多对一关系置入数据库。
• sales_order 中的 cust_id 列的外键,它引用 customer 中的 id 列。该键
将销售订单和客户之间的多对一关系置入数据库。
前两个外键一起将销售订单和产品之间的多对多关系置入数据库。
❖ 创建外键:
1 单击要为其创建外键的表。
2 打开 " 外键 " 文件夹。
3 双击 " 添加外键 " 以打开 " 新建外键 " 向导。
4 遵循向导中的指导操作。
至此,您就学完了有关设计和建立关系数据库的入门章节。本书的其余
章节将介绍如何在数据库中添加数据和从数据库中检索数据。这些章节
将使用 Adaptive Server Anywhere 示例数据库,该数据库比您刚创建的
数据库大一些。
发表评论
-
字符串脱敏
2022-10-27 14:08 282public static void main(S ... -
html模板文件
2020-04-29 22:03 234<!DOCTYPE html> <html& ... -
基于阿里云服务器给部署的IIS应用服务器安装SSL证书
2020-04-15 11:05 312在IIS服务器上安装SSL证书 效果:将阿里云服务器上I ... -
中文字符转拼音
2019-02-20 16:34 6461、中文字符转拼音和首字母,英文数字符号不转 参考博客: -- ... -
跨域问题:js调用服务端接口
2018-03-02 14:16 605引用参考: --什么是跨 ... -
将博客搬至CSDN
2017-03-22 17:58 14接iteye最新通告,特将博客搬家到CSDN! -
图片images样式- 圆形显示
2017-01-16 18:45 622<!DOCTYPE html> < ... -
myEclipse2013破解方法
2014-02-11 09:11 3引自:http://www.cnblogs.com/timen ... -
ntko打开文件,区分图片和office
2013-10-23 09:35 1599引用<s:if test="url.toLow ... -
前台使用js的encodeURIComponent编码后,java解析乱码问题的解决方法
2013-09-02 15:28 2662问题描述: 前台使用encodeURIComponent把地址 ... -
主题类别列表导航显示备份
2013-08-13 12:17 883// $(function(){ $ ... -
div实现帖子的推荐、置顶、精华
2013-08-05 17:08 1355效果: 样式: <style type=" ... -
jquery select option 设置selected属性
2013-07-31 18:12 1352//jquery选中select function sele ... -
window.location.Reload()和window.location.href 区别
2013-07-26 14:57 1140参考:http://blog.csdn.net/cqkxzyi ... -
js常用操作2020
2013-07-24 09:33 9651、获取通用url前缀 //配置 function co ... -
老代码备份
2013-07-11 10:11 821<form id="selectForm&qu ... -
div样式
2013-07-05 16:50 731.white_Div { displ ... -
jquery checkbox 全选 取消 demo
2013-07-02 11:54 923第一种: function checkFunction(){ ... -
js获取ckeditor的值
2013-06-19 15:55 1680// 按版块名称查询 $(function(){ $( ... -
java基础-03 复习boolean和Boolean,类似int和Integer
2013-05-14 17:00 8831、step A boolean是基本数据类型Boolean是 ...
相关推荐
创建表间关系的步骤如下: 1. 首先,确保所有相关表都处于关闭状态,因为打开的表可能会干扰关系的建立。 2. 通过工具菜单选择"关系",或者直接点击"关系"按钮,打开关系窗口。 3. 使用"显示表"对话框,首次打开时会...
【实验报告 数据库创建表】涉及的知识点主要集中在SQL Server 2005数据库管理系统中,包括数据库的创建、表的构建、约束的设定、表间关系的建立以及数据库关系图的创建。以下是对这些知识点的详细解释: 1. **...
在Access中,表间的关系是通过关联字段建立的,例如,一个客户可能有多个订单,客户表和订单表之间可以通过“客户代码”字段建立一对一或一对多的关系。这种关系管理使得数据的检索和更新更加高效。 表设计器还提供...
8. **数据库设计原则**:在创建数据库和表时,学生应遵循数据库设计的最佳实践,如最小冗余、规范化和数据完整性,以确保数据库的高效性和一致性。 9. **实验报告**:实验完成后,学生需要编写实验报告,记录实验...
6. **实现与优化**:根据设计创建数据库,编写SQL脚本创建表、索引等对象。在系统运行后,根据性能监控和调优,可能需要调整索引、分区策略或者重构查询语句,以提高查询速度和整体系统效率。 实际案例中的数据库...
数据库创建表模型工具是数据库设计过程中不可或缺的一部分,它帮助开发者和数据库管理员可视化地构建和管理数据库结构。在数据库系统的设计初期,这样的工具可以用来定义数据实体、属性以及它们之间的关系,确保数据...
"国家开放大学 MySQL数据库应用实验训练1 在MySQL中创建数据库和表" 本实验训练旨在让学生掌握 MySQL 中的数据库...本实验训练旨在让学生掌握 MySQL 中的数据库和表的创建过程,提高学生的实践能力和数据库设计能力。
5. **表间联结**: Access支持表之间的关联,通过设置外键(通常是主键的一个副本)实现。在查询设计视图中,可以直观地拖拽字段建立联结,这有助于合并来自多个表的数据。 6. **参照完整性**: 参照完整性是...
通过对业务实体对象到数据库表的映射关系的深入探讨,我们可以发现,合理的设计能够极大地提高系统的可维护性和扩展性。UML作为一种强大的建模工具,在这个过程中发挥了不可或缺的作用。同时,采用合理的分层架构和...
关系数据库设计包括确定表结构、字段属性和表间关系等。 1. 表(Table):存储数据的基本单位,每个表有唯一的表名。 2. 字段(Field):表的列,表示数据项的名称和类型。 3. 记录(Record):表的一行,包含一...
在IT领域,尤其是在数据库管理和数据分析中,报表是一个至关重要的部分,它可以帮助我们有效地展示和理解数据。...通过创建合适的关系和报表设计,我们可以有效地整合和呈现多表数据,为决策提供直观且详尽的信息支持。
9. **表间关系** - 在Access中,多个表可以通过关系连接起来,建立一对一、一对多或多对多的关系。 - 关系有助于数据的管理和查询,例如通过外键实现两个表之间的关联。 10. **导入/导出数据** - Access支持导入...
为了满足这些需求,需要对数据库进行详细的设计和规划,包括数据库的物理结构设计、表设计、表之间的关联设计、存储过程设计和触发器设计等。 数据库设计的主要目标是满足系统的数据存储和管理需求,确保数据的完整...
本文将深入讲解数据库表结构设计的关键步骤和操作。 首先,设计数据库始于分析数据需求。这是设计过程的基础,需要明确数据库的目的,理解需要从数据库中获取哪些信息。这通常包括识别主要的主题,也就是将要创建的...
Access2000”指的是使用编程语言(如VBA,Visual Basic for Applications)在Microsoft Access数据库中创建数据表间的关系。Access97和Access2000是两个不同的版本,前者是1997年发布的,后者是2000年发布的。在...
任务实践部分将指导读者创建“学生选课系统”数据库,创建studentInfo表,创建studentInfo表与scoreInfo表间的关系等知识点。 本资源摘要信息涵盖了SQL Server 2008数据库设计的高级案例教程项目,包括数据库存储...
在Access中,数据库的设计和表的创建是核心技能,尤其对于开发数据库应用系统至关重要。 首先,教学目标明确指出,学生需要掌握数据库应用系统的分析和设计,以及数据库设计的基本过程。这意味着课程不仅关注技术...
在这个场景中,我们将深入探讨如何使用C#编程语言来创建Access数据库和表。 首先,为了连接到Access数据库,我们需要使用ADO.NET框架中的`System.Data.OleDb`命名空间,其中包含了`OleDbConnection`、`OleDbCommand...
标题中的“表创建规划设计共18页.pdf.zip”暗示了一个关于数据库设计的文档,它可能包含了一份详尽的表格创建和规划的方案,总计18页。这份文档可能涵盖了数据库设计的基础理论,如关系数据库模型,以及实际操作中的...
- **创建关系表**:根据实体和关系定义,创建对应的关系表,并确定表的结构,包括字段类型和长度。 ##### Sybase数据库表的创建与理解 在Sybase数据库中创建表,需要熟悉SQL语句,尤其是`CREATE TABLE`语句。表的...