- 浏览: 1162134 次
- 性别:
- 来自: nibiru
文章分类
- 全部博客 (407)
- lucene (1)
- java (147)
- j2se (1)
- javascript (2)
- spring (5)
- hibernate (1)
- mysql (1)
- oracle (10)
- 工作 (10)
- JPA (13)
- 网站 (5)
- xml (2)
- mina (3)
- 思想 (16)
- httpclient (10)
- JFreeChart (1)
- 多线程 (0)
- swing (2)
- socket (0)
- 网络 (3)
- protocol buffer (0)
- jmx (2)
- jboss/weblogic (1)
- flex3 (12)
- 设计模式 (1)
- apache (0)
- php (4)
- struts1&2 (2)
- oracle SOA (2)
- 微博短链接的生成算法(Java版本) (1)
- htmlparser (3)
- quartz (2)
- mail (1)
- 乱码 (2)
- txt (1)
- eclipse (7)
- 分类 (0)
- 数据库 (1)
- svn (1)
- 日志 (1)
- struts2 (4)
- jquery (2)
- 编码 (1)
- 路径,java (1)
- SOHO (1)
- 娱乐 (2)
- frameset (1)
- maven (1)
- 反射 (1)
- truts2 (1)
- 敏捷,scrum (1)
- OA (1)
- english (1)
- oralce (1)
- wampserver (1)
- 会计 (1)
- springmvc (1)
- js (1)
- CMA (1)
最新评论
-
ludabing:
[/color][color=yellow]
spring @component的作用 -
netwelfare:
EL表达式中null和empty的区别,可以看这篇文章:htt ...
EL表达式中empty的用法 -
wjs王结胜:
...
spring @component的作用 -
di1984HIT:
哈哈。真不错啊。~
微博短链接的生成算法(Java版本) -
di1984HIT:
不错,不错。。。
spring @component的作用
子表,父表的定义: 拥有外键的表是子表。主键被<a target="_self"><span style="text-decoration: underline;">其它</span></a>表引用的表是父表。<br>换句话说:因为父表的标识被很多个子表中的记录引用,所以叫父表。<br>拥有外键关系,并且可以随便删除数据,不影响其它表的数据的那个表叫子表。<br><br>使用的时候谁做为谁的外键,主要从以下两点考虑:<br> 1/,删除是如何相互影响的,删除记录受约束的那个是父表,不受约束的那个是子表;<br> 2/,记录必须先存在的是父表;
<span>关于外键、关系以</span><br><br>两种用途:<br>1/, 最常用的一种: 减少重复数据.表a中拥有外键,表b的数据基本是不允许删除的.这时选择对 insert 和 update 强制关系即可.<br>2/,其次,是增加一个从属表. 如果表a删除一条记录时,表b中也随着删除一条相关联的记录,那么外键关系中,表a的主键是表b的外键。这种关系,实际上表b是表a的从属表(即表a是父表),选择对 insert 和 update 强制关系时,如果向表b中插入数据,表a中必须已经存在对应的记录。选择级联删除相关的字段时,删除表a中的一条记录,就会删除对应的表b中的一条记录。<br><br><br>参考资料:<br><br>1,sql2000 中 ,设计表>管理关系中 关于外键的5个选项都起什么作用?<br><br>创建中检查现存数据<br><br>创建关系时将关系应用于外键表中的现有数据。如果选定该对话框,一个错误信息将会通知您有违反约束的数据。<br><br>对 insert 和 update 强制关系<br><br>如果选择该选项,则只要使用这些语句在外键表中添加或更新数据时都将强制约束。<br><br>对复制强制关系<br><br>如果选择该选项,则无论何时将外键表复制到一个不同的<a target="_self"><span style="text-decoration: underline;">数据库</span></a>,都将强制关系的引用完整性。<br>级联更新相关的字段<br><br>无论何时更新主键值,都指示数据库将新的键值传播到相应的外键字段。<br><br>级联删除相关的字段<br><br>无论何时删除主表中的行,都指示数据库从外键表中删除相应的行。<br><br>2,cascade 有 什么作用?<br><br>on delete {cascade | no action}<br> <br>指定当表中被更改的行具有引用关系,并且该行所引用的行从父表中删除时,要对被更改行采取的操作。默认设置为 no action。 <br> <br>如果指定 cascade,则从父表中删除被引用行时,也将从引用表中删除引用行。如果指定 no action,sql server 将产生一个错误并回滚父表中的行删除操作。<br> <br>如果表中已存在 on delete 的 instead of 触发器,那么就不能定义 on delete 的cascade 操作。<br> <br>例如,在 northwind 数据库中,orders 表和 customers 表之间有引用关系。orders.customerid 外键引用 customers.customerid 主键。<br> <br>如果对 customers 表的某行执行 delete 语句,并且为 orders.customerid 指定 on delete cascade 操作,则 sql server 将在 orders 表中检查是否有与被删除的行相关的一行或多行。如果存在相关行,那么 orders 表中的相关行将随 customers 表中的被引用行一同删除。<br> <br>反之,如果指定 no action,若在 orders 表中至少有一行引用 customers 表中要删除的行,则 sql server 将产生一个错误并回滚 customers 表中的删除操作。<br> <br>on update {cascade | no action}<br> <br>指定当表中被更改的行具有引用关系,并且该行所引用的行在父表中更新时,要对被更改行采取的操作。默认设置为 no action。 <br> <br>如果指定 cascade,则在父表中更新被引用行时,也将在引用表中更新引用行。如果指定 no action,sql server 将产生一个错误并回滚父表中的行更新操作。<br> <br>如果表中已存在 on delete 的 instead of 触发器,那么就不能定义 on delete 的cascade 操作。<br> <br>例如,在 northwind 数据库中,orders 表和 customers 表之间有引用关系。orders.customerid 外键引用 customers.customerid 主键。<br> <br>如果对 customers 表的某行执行 update 语句,并且为 orders.customerid 指定 on update cascade 操作,则 sql server 将在 orders 表中检查是否有与被更新行相关的一行或多行。如果存在相关行,那么 orders 表中的相关行将随 customers 表中的被引用行一同更新。<br> <br>反之,如果指定了 no action,若在 orders 表中至少存在一行引用 customers 表中要更新的行,那么 sql server 将引发一个错误并回滚 customers 表中的更新操作。<br>3,一个sql创建外键的例子:<br><br>/*建库,名为student_info*/<br>create database student_info<br>/*使用student_info*/<br>use student_info<br>go<br>/*建student表,其中s_id为主键*/<br><span style="color: #008000;">create table student<br>(<br>s_id int identity(1,1) primary key,<br>s_name varchar(20) not null,<br>s_age int<br>)<br></span>go<br>/*建<a target="_self"><span style="text-decoration: underline;">test</span></a>表,其中test_no为主键*/<br><span style="color: #008000;">create table test<br>(<br>test_no int identity(1,1) primary key,<br>test_name varchar(30),<br>nax_marks int not null default(0),<br>min_marks int not null default(0)<br>)<br></span>go<br>/*建marks表,其中s_id和test_no为外建,分别映射student表中的s_id和test表中的test_no*/<br><span style="color: #008000;">create table marks<br>(<br>s_id int not null,<br>test_no int not null,<br>marks int not null default(0),<br>primary key(s_id,test_no),<br>foreign key(s_id) references student(s_id),<br>foreign key(test_no) references test(test_no)<br>)<br></span><span style="color: #000000;">go</span>
<span>关于外键、关系以</span><br><br>两种用途:<br>1/, 最常用的一种: 减少重复数据.表a中拥有外键,表b的数据基本是不允许删除的.这时选择对 insert 和 update 强制关系即可.<br>2/,其次,是增加一个从属表. 如果表a删除一条记录时,表b中也随着删除一条相关联的记录,那么外键关系中,表a的主键是表b的外键。这种关系,实际上表b是表a的从属表(即表a是父表),选择对 insert 和 update 强制关系时,如果向表b中插入数据,表a中必须已经存在对应的记录。选择级联删除相关的字段时,删除表a中的一条记录,就会删除对应的表b中的一条记录。<br><br><br>参考资料:<br><br>1,sql2000 中 ,设计表>管理关系中 关于外键的5个选项都起什么作用?<br><br>创建中检查现存数据<br><br>创建关系时将关系应用于外键表中的现有数据。如果选定该对话框,一个错误信息将会通知您有违反约束的数据。<br><br>对 insert 和 update 强制关系<br><br>如果选择该选项,则只要使用这些语句在外键表中添加或更新数据时都将强制约束。<br><br>对复制强制关系<br><br>如果选择该选项,则无论何时将外键表复制到一个不同的<a target="_self"><span style="text-decoration: underline;">数据库</span></a>,都将强制关系的引用完整性。<br>级联更新相关的字段<br><br>无论何时更新主键值,都指示数据库将新的键值传播到相应的外键字段。<br><br>级联删除相关的字段<br><br>无论何时删除主表中的行,都指示数据库从外键表中删除相应的行。<br><br>2,cascade 有 什么作用?<br><br>on delete {cascade | no action}<br> <br>指定当表中被更改的行具有引用关系,并且该行所引用的行从父表中删除时,要对被更改行采取的操作。默认设置为 no action。 <br> <br>如果指定 cascade,则从父表中删除被引用行时,也将从引用表中删除引用行。如果指定 no action,sql server 将产生一个错误并回滚父表中的行删除操作。<br> <br>如果表中已存在 on delete 的 instead of 触发器,那么就不能定义 on delete 的cascade 操作。<br> <br>例如,在 northwind 数据库中,orders 表和 customers 表之间有引用关系。orders.customerid 外键引用 customers.customerid 主键。<br> <br>如果对 customers 表的某行执行 delete 语句,并且为 orders.customerid 指定 on delete cascade 操作,则 sql server 将在 orders 表中检查是否有与被删除的行相关的一行或多行。如果存在相关行,那么 orders 表中的相关行将随 customers 表中的被引用行一同删除。<br> <br>反之,如果指定 no action,若在 orders 表中至少有一行引用 customers 表中要删除的行,则 sql server 将产生一个错误并回滚 customers 表中的删除操作。<br> <br>on update {cascade | no action}<br> <br>指定当表中被更改的行具有引用关系,并且该行所引用的行在父表中更新时,要对被更改行采取的操作。默认设置为 no action。 <br> <br>如果指定 cascade,则在父表中更新被引用行时,也将在引用表中更新引用行。如果指定 no action,sql server 将产生一个错误并回滚父表中的行更新操作。<br> <br>如果表中已存在 on delete 的 instead of 触发器,那么就不能定义 on delete 的cascade 操作。<br> <br>例如,在 northwind 数据库中,orders 表和 customers 表之间有引用关系。orders.customerid 外键引用 customers.customerid 主键。<br> <br>如果对 customers 表的某行执行 update 语句,并且为 orders.customerid 指定 on update cascade 操作,则 sql server 将在 orders 表中检查是否有与被更新行相关的一行或多行。如果存在相关行,那么 orders 表中的相关行将随 customers 表中的被引用行一同更新。<br> <br>反之,如果指定了 no action,若在 orders 表中至少存在一行引用 customers 表中要更新的行,那么 sql server 将引发一个错误并回滚 customers 表中的更新操作。<br>3,一个sql创建外键的例子:<br><br>/*建库,名为student_info*/<br>create database student_info<br>/*使用student_info*/<br>use student_info<br>go<br>/*建student表,其中s_id为主键*/<br><span style="color: #008000;">create table student<br>(<br>s_id int identity(1,1) primary key,<br>s_name varchar(20) not null,<br>s_age int<br>)<br></span>go<br>/*建<a target="_self"><span style="text-decoration: underline;">test</span></a>表,其中test_no为主键*/<br><span style="color: #008000;">create table test<br>(<br>test_no int identity(1,1) primary key,<br>test_name varchar(30),<br>nax_marks int not null default(0),<br>min_marks int not null default(0)<br>)<br></span>go<br>/*建marks表,其中s_id和test_no为外建,分别映射student表中的s_id和test表中的test_no*/<br><span style="color: #008000;">create table marks<br>(<br>s_id int not null,<br>test_no int not null,<br>marks int not null default(0),<br>primary key(s_id,test_no),<br>foreign key(s_id) references student(s_id),<br>foreign key(test_no) references test(test_no)<br>)<br></span><span style="color: #000000;">go</span>
发表评论
-
DISCUE盖楼器
2013-10-24 13:34 1232package com.soft.hr.per.service ... -
svn文件影响编译速度解决办法
2011-11-05 10:06 1689在eclipse开发环境中正常编译java文件时,eclip ... -
项目经理,产品经理,架构师
2011-08-29 12:54 2032理想:产品经理设计出简单好用的产品,并能理解技术约束和 ... -
题目
2011-08-28 13:01 17内容22222222222222222222222222222 ... -
如何用QTP录制鼠标右键点击事件
2011-08-25 17:09 1677qtp录制鼠标右键单击事件要通过模拟键盘操作来实现st ... -
Eclipse中要导出jar包中引用了第三方jar包怎么办【】
2011-08-25 15:17 3582单击菜单栏中 ... -
面试题整理2
2011-08-25 12:13 718现有n个人和m个桌子.当每桌做3个人时,多出来2个人. ... -
java把下载html批量换成chm电子书
2011-08-25 10:11 1374利用微软的hhc.exe来把需要转换成chm的htm ... -
java用链表解约瑟夫环问题
2011-08-25 09:36 10791到20的数围成一个圈,隔两个取出一个,直到所有的数都 ... -
CKEditor用法
2011-08-25 09:23 1504config.js ckeditor.editor ... -
工作难题
2011-08-24 15:00 1151function showitem(oid,order ... -
Rational.Rose7.0系统软件
2011-08-24 14:13 3056ibm.rational.rose7.0系统软件01. ... -
[] 探索建立私人的科技资料检索系统
2011-08-23 10:42 1344由于经济条 ... -
一、Java字节代码的操纵
2011-08-22 14:54 631<address style="tex ... -
线程状态的换
2011-08-22 13:09 1004<div><div>scjp5 ... -
线程的调度—优先级
2011-08-22 12:53 1149<div>与线程休眠类似,线程的优先级仍然 ... -
类 Hibernate Session DBUtil
2011-08-22 12:16 1245package com.core.util;impor ... -
利用Annotation构建针对POJO进行增删改操作
2011-08-22 12:12 1147package com.core.annotation ... -
360 Or QQ
2011-08-22 08:48 1178前几天,360忽然跳 ... -
XML JAVA解析 -- DOM
2011-08-19 14:27 1335dom : document object model ...
相关推荐
外键(Foreign Key)则是引用另一个表的主键,用于建立两个表之间的关系,确保数据的一致性和参照完整性。 步骤1:创建概念数据模型(Conceptual Data Model,CDM) 打开PowerDesigner,选择“文件”>“新建”>...
在关系数据库中,外键用于建立和加强两个表之间的联系,确保引用的完整性。本文将详细讲解MySQL中外键的使用及其重要性。 首先,理解外键的定义:外键(Foreign Key)是一个字段,它的值来源于另一个表的主键。这个...
在关系型数据库中,外键是一个字段,它的值来源于另一个表的主键,用于建立和维护两个表之间的关联。级联操作是指当主表中的记录被添加或删除时,根据外键约束,从表的相关记录也会自动进行相应的添加或删除。 在C#...
SQL2005数据库系统是微软公司推出的一款重要的关系型数据库管理系统,对于初学者和专业人士来说,都是一个深入了解数据库管理、查询和优化的良好平台。本课件“SQL2005数据库学习课件 讲解详细”正是针对这一主题,...
本教程旨在帮助初学者及有经验的用户深入理解SQL Server 2000,通过详细讲解与实际操作相结合的方式,让大家能够熟练地建立和管理数据库。 1. **SQL Server 2000概述**:SQL Server 2000是由Microsoft开发的数据库...
### 数据库原理与SQL Server 2021详解...以上是关于数据库原理与SQL Server 2021的详细介绍,涵盖了数据库的基础概念、关系数据库的基本术语、范式理论、E-R模型、SQL Server 2021的新增功能及管理工具等方面的知识点。
SQL Server是一款由微软公司开发的关系型数据库管理系统,广泛应用于企业数据存储、管理和分析。本教程专为初学者设计,旨在帮助你快速掌握SQL Server的基本概念、安装与配置、数据库管理以及查询语言SQL。 1. SQL ...
本篇将详细讲解外键约束的含义、作用以及如何在实际应用中设置。 首先,外键(Foreign Key,简称FK)是一种数据库约束,用于建立并维护两个表之间的关联。它指向另一个表的主键(Primary Key,简称PK),这个“另一...
在SQL Server中,数据以表格形式存储,每个表格称为一个表,表之间可以通过键(如主键和外键)建立关系,形成了关系型数据库的基础。学习SQL Server,首先要理解实体、属性、关系等数据库设计的基本概念。 【安装与...
SQL Server 2000是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理、分析和应用程序开发中扮演着重要角色。本教程通过丰富的图解,使得复杂的数据库概念变得易于理解,非常适合对数据库技术感兴趣的...
接着,教程将带领读者熟悉SQL Server 2000的安装与配置过程,包括服务器的启动、停止以及设置安全性选项,如登录账户、权限管理和角色分配。这部分内容对于确保数据库系统的稳定运行至关重要。 数据库的设计和创建...
此外,还会讲解如何配置SQL Server服务、设置安全选项以及连接到数据库引擎。 2. **数据库设计**:数据库设计是整个应用的基础,本教程将涵盖关系数据库理论,如实体关系模型(ER模型),以及如何使用SQL Server ...
这一章会详细阐述如何安装SQL Server 2000,包括硬件和软件需求、安装选项以及安装过程中的注意事项。同时,也会讲解配置服务器和数据库的步骤,确保系统能够正常运行。 第三章:数据库和表的管理 本章将深入讨论...
本教程将详细讲解如何在SQL Server 2005中进行这些操作,并通过两个实际的例子来展示如何设置关系、主键、约束和默认值。 首先,我们来创建一个新的数据库。在SQL Server Management Studio (SSMS) 中,选择“对象...
以下将详细讲解SQL Developer的一些核心功能和操作技巧。 1. **创建SQL脚本文件** - **方法一**:在SQL Developer的“文件”菜单中,选择“新建”>“SQL脚本”,即可创建一个新的SQL编辑窗口,然后在此窗口中编写...
2. 关系数据库:详细讲解关系理论,包括实体、属性、键、外键等概念,以及第一范式(1NF)、第二范式(2NF)和第三范式(3NF)等规范化原则。 3. SQL语言:SQL(Structured Query Language)是用于管理和处理关系...
- **建立数据库时的选项:** 设定数据库参数。 - **设计数据库:** 规划数据库结构。 - **建立数据字典:** 管理数据库元数据。 - **建立关键字段:** 定义主键、外键等。 - **CREATETABLE语句:** 创建新表。 - **...
2. 安装与配置:详述SQL Server 2000的安装步骤,包括硬件需求、软件环境配置、安装选项选择以及服务器的启动与停止。 3. 数据库管理:讲解如何创建、修改和删除数据库,理解数据库文件的类型(如MDF、NDF、LDF)...
《SQL Server实例大全》是一本全面讲解SQL Server数据库管理系统的实用教程,包含了各种实际操作案例,旨在帮助读者深入理解和熟练掌握SQL Server的核心功能。通过丰富的实例和详尽的注释,本书旨在提升读者在数据库...