- 浏览: 782324 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (360)
- Java (101)
- JPA/Hibernate (10)
- Spring (14)
- Flex/BlazeDS (37)
- Database (30)
- Lucene/Solr/Nutch (0)
- Maven/Ant (25)
- CXF/WebService (3)
- RPC/RMI/SOAP/WSDL (1)
- REST (6)
- TDD/BDD/JUnit (1)
- Servlet/JSP (2)
- AI/MachineLearning (3)
- Resource (1)
- 字符编码 (2)
- OOA/OOPS/UML (5)
- DesignPattern (8)
- 算法与数据结构 (11)
- Web&App Server (13)
- 并发&异步&无阻塞 (7)
- Entertainment (4)
- JavaScript/ExtJS (45)
- CodeStyle&Quality (1)
- svn/git/perforce (8)
- JSON (2)
- JavaScriptTesting (4)
- Others (6)
- RegularExpression (2)
- Linux/Windows (12)
- Protocal (2)
- Celebrities (1)
- Interview (1)
- 计算机语言 (1)
- English (2)
- Eclipse (5)
- TimeZone/时区 (1)
- Finance (1)
- 信息安全 (1)
- JMS/MQ (2)
- XSD/XML/DTD (3)
- Android (4)
- 投资 (3)
- Distribution (3)
- Excel (1)
最新评论
-
qdujunjie:
如果把m换成具体的数字,比如4或者5,会让读者更明白
m阶B树中“阶”的含义 -
java-admin:
不错,加油,多写点文章
关于Extjs的mixins和plugin -
xiehuaidong880827:
你好,我用sencha cmd打包完本地工程后,把app.js ...
ExtJS使用Sencha Cmd合并javascript文件为一个文件 -
KIWIFLY:
lwpan 写道inverse = "true&qu ...
Hibernate中什么时候使用inverse=true -
luedipiaofeng:
good
消除IE stop running this script弹出框
数据模型(Data Model)是描述数据、数据联系、数据语义以及一致性约束的概念工具的集合。
关系模型(Relational Model)用表(table)的集合来表示数据和数据间的联系。
关系数据库是表(table)的集合,每个表都有唯一的名字。表中一行代表的是一系列值之间的联系。表就是这种联系的一个集合,表这个概念和数学上的关系概念是密切相关的,这也正是关系数据库名称的由来。
表包含列头(column header)组成,列头就称为属性(attribute)。每个属性有一组允许的值,称为属性的域(domain)。
假设有n个属性域(domain),D1, D2, ..., Dn,一般地说,有n个属性的表(table)是
D1 x D2 x ... x D(n-1) x Dn 的一个子集。
数学家将关系(relation)定义为一系列域上的笛卡尔积的子集。这一定义域我们对表的定义几乎是全部相符的。我们用数学名称关系(relation)和元组(tuple)来代替表(table)和行(row)。 元组变量(tuple variable)就是代表元组的变量。
数据库模式(database schema)是数据库的逻辑设计。
数据库实例(database instance)是给定时刻数据库中数据的一个快照。
关系的概念对应于程序设计语言中变量的的概念,而关系模式(relation schema)的概念对应于程序设计语言中类型定义的概念。
我们通常给关系模式一个名字,正如我们在程序设计语言中给类型定义一个名字一样。在我们采用的表示法中,关系的名字由小写字母组成,关系模式的名字以大写字母开头。根据这样的表示法,我们用Account_schema表示关系account的关系模式。因此,
Account_schema = (account_number, branch_name, balance)
我们用account(Account_schema)表示account是Account_schema上的关系。
超码(super key)是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识一个元组(行)。
超码中可能包含一些无关紧要的属性。如果K是一个超码,那么K的任意超集也是超码。
候选码(candidate key):我们通常只对这样一些超码感兴趣,它们的任意真子集都不能成为超码。这样的最小超码称为候选码。
几个不同的属性集都可以做候选码的情况是存在的。假设customer_name和customer_street的组合足以区分customer关系的各个成员,那么{customer_id}和{customer_name, customer_street}都是候选码。虽然属性customer_id和customer_name组合起来能区分customer元组,但它们的组合并不能成为候选码,因为单独的customer_id属性已是候选码。
主码(primary key):我们用主码来代表被数据库设计者选中的、用来在同一关系中区分不同元组的候选码。码(主码、候选码或超码)是整个关系的性质,而不是一个个元组的性质。
关于连接, 可参考http://www.cnblogs.com/huangfr/archive/2012/06/20/2555530.html
自然连接:首先形成它的两个关系的笛卡尔积,然后基于两个关系模式中都出现的属性上的相等性进行选择,最后还要去除重复属性。
内连接与自然连接基本相同,不同之处在于自然连接只能是同名属性的等值连接,而内连接可以使用using或on子句来指定连接条件,连接条件中指出某两字段相等(可以不同名)。
左外连接(left outer join),先自然连接,然后取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到自然连接的结果上。
右外连接
全外连接(full outer join) 完成左外连接和右外连接运算,并把结果都加到自然连接的结果上。
函数依赖
如果存在模式(loan_number, amount),则loan_number可以作为主码,该规则定义为函数依赖
loan_number -> amount
关系模型(Relational Model)用表(table)的集合来表示数据和数据间的联系。
关系数据库是表(table)的集合,每个表都有唯一的名字。表中一行代表的是一系列值之间的联系。表就是这种联系的一个集合,表这个概念和数学上的关系概念是密切相关的,这也正是关系数据库名称的由来。
表包含列头(column header)组成,列头就称为属性(attribute)。每个属性有一组允许的值,称为属性的域(domain)。
假设有n个属性域(domain),D1, D2, ..., Dn,一般地说,有n个属性的表(table)是
D1 x D2 x ... x D(n-1) x Dn 的一个子集。
数学家将关系(relation)定义为一系列域上的笛卡尔积的子集。这一定义域我们对表的定义几乎是全部相符的。我们用数学名称关系(relation)和元组(tuple)来代替表(table)和行(row)。 元组变量(tuple variable)就是代表元组的变量。
数据库模式(database schema)是数据库的逻辑设计。
数据库实例(database instance)是给定时刻数据库中数据的一个快照。
关系的概念对应于程序设计语言中变量的的概念,而关系模式(relation schema)的概念对应于程序设计语言中类型定义的概念。
我们通常给关系模式一个名字,正如我们在程序设计语言中给类型定义一个名字一样。在我们采用的表示法中,关系的名字由小写字母组成,关系模式的名字以大写字母开头。根据这样的表示法,我们用Account_schema表示关系account的关系模式。因此,
Account_schema = (account_number, branch_name, balance)
我们用account(Account_schema)表示account是Account_schema上的关系。
超码(super key)是一个或多个属性的集合,这些属性的组合可以使我们在一个关系中唯一地标识一个元组(行)。
超码中可能包含一些无关紧要的属性。如果K是一个超码,那么K的任意超集也是超码。
候选码(candidate key):我们通常只对这样一些超码感兴趣,它们的任意真子集都不能成为超码。这样的最小超码称为候选码。
几个不同的属性集都可以做候选码的情况是存在的。假设customer_name和customer_street的组合足以区分customer关系的各个成员,那么{customer_id}和{customer_name, customer_street}都是候选码。虽然属性customer_id和customer_name组合起来能区分customer元组,但它们的组合并不能成为候选码,因为单独的customer_id属性已是候选码。
主码(primary key):我们用主码来代表被数据库设计者选中的、用来在同一关系中区分不同元组的候选码。码(主码、候选码或超码)是整个关系的性质,而不是一个个元组的性质。
关于连接, 可参考http://www.cnblogs.com/huangfr/archive/2012/06/20/2555530.html
自然连接:首先形成它的两个关系的笛卡尔积,然后基于两个关系模式中都出现的属性上的相等性进行选择,最后还要去除重复属性。
内连接与自然连接基本相同,不同之处在于自然连接只能是同名属性的等值连接,而内连接可以使用using或on子句来指定连接条件,连接条件中指出某两字段相等(可以不同名)。
左外连接(left outer join),先自然连接,然后取出左侧关系中所有与右侧关系的任一元组都不匹配的元组,用空值填充所有来自右侧关系的属性,再把产生的元组加到自然连接的结果上。
右外连接
全外连接(full outer join) 完成左外连接和右外连接运算,并把结果都加到自然连接的结果上。
函数依赖
如果存在模式(loan_number, amount),则loan_number可以作为主码,该规则定义为函数依赖
loan_number -> amount
发表评论
-
mysql,oracle,sql server中的默认事务隔离级别
2018-08-02 17:03 639mysql,oracle,sql server中的默认事务隔离 ... -
创建前缀索引报长度超出错误
2018-07-25 15:44 1645表结构定义如下: CREATE TABLE `sku` ( ` ... -
Mysql Varchar字符长度
2018-07-25 15:23 1295`sku_name` VARCHAR(200) NOT NUL ... -
Mysql分表和分区的区别、分库分表介绍与区别
2017-06-14 20:32 1767Mysql分表和分区的区别、分库分表介绍与区别 http:// ... -
Nested Loop Join和子查询
2017-06-03 20:56 673这2个是不同的概念,不要混淆在一起了 Nested Loop ... -
oracle中rownum和rowid的区别
2017-06-03 20:55 953oracle中rownum和rowid的区 ... -
分布式事务XA,JTA,两阶段提交,BASE
2016-06-27 21:45 5621关于分布式事务、两阶段提交、一阶段提交、Best Effort ... -
大数据技能图谱
2016-03-24 13:33 817http://mp.weixin.qq.com/s?__biz ... -
Java 方法(JdbcTransactionTemplate)与存储过程共享同一个事务
2016-01-12 19:24 1653如果要让java来管理事务,那么在存储过程里不能写提交(com ... -
Java 平台开发有效事务策略,数据库事务性能
2016-01-11 15:42 808Java 平台开发有效事务策略系列文章 http://www. ... -
SQL语句的where字句表达式顺序影响性能吗?
2015-09-09 13:45 1883比如下面的SQL语句性能有区别吗? select * from ... -
Sybase database Transaction mode: chained and unchained
2015-09-02 10:15 1388Support for Sybase database Tra ... -
聚集索引,非聚集索引,主键,索引类型及实现方式
2015-08-06 11:31 759聚集索引和非聚集索引(整理) http://www.cnblo ... -
Sybase性能调优建议清单
2015-03-17 15:57 1211http://stackoverflow.com/questi ... -
Sybase SQL性能诊断
2015-03-17 11:19 1648Performance and Tuning Series: ... -
left join时on条件与where条件的区别
2015-03-09 17:46 3370参考文章:http://cqujsjcyj.iteye.com ... -
Sybase常用命令,SQL语句
2014-10-22 16:44 4918SQL online sample http://sqlzoo ... -
乐观锁与悲观锁
2014-06-09 11:57 611Key points: 悲观锁的实现,往往依靠数据库提供的锁机 ... -
数据库事务,锁,隔离级别(Isolation Level)
2014-06-09 11:44 2132数据库的隔离级别2(repeaable read)可实现重 ... -
我的Oracle学习笔记
2014-05-18 13:31 0以前工作中整理的oracle学习笔记,虽然有些凌乱,但是时候自 ...
相关推荐
数据库系统原理及应用教程 1数据库系统基本概念
T1数据库系统基本概念.ppt//T1数据库系统基本概念.ppt
第一章数据库系统基本概念.ppt
数据库系统基本概念论述.pptx
数据库系统基本概念.docx
数据库系统基本概念及其设计(doc-63页).ppt
数据库原理课件第1章 数据库系统基本概念
2022年数据库系统基本概念及其设计(共62张PPT).pptx
数据库系统基本概念及其设计.pptx
第1章02数据库系统基本概念.pptx
数据库系统概念第五版完整答案
数据库系统原理
数据库系统原理及应用基础 “十一五”主要建设内容:信息化建设 总投资规模:约150亿 公共网络基础设施的建设与完善 数据信息资源平台的建设与完善 政府和公共管理服务信息化建设
数据库系统原理
数据库系统原理
数据库系统原理