- 浏览: 802162 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 696mysql,oracle,sql server中的默认事务隔离 ... -
创建前缀索引报长度超出错误
2018-07-25 15:44 1723表结构定义如下: CREATE TABLE `sku` ( ` ... -
Mysql Varchar字符长度
2018-07-25 15:23 1348`sku_name` VARCHAR(200) NOT NUL ... -
Mysql分表和分区的区别、分库分表介绍与区别
2017-06-14 20:32 1839Mysql分表和分区的区别、分库分表介绍与区别 http:// ... -
Nested Loop Join和子查询
2017-06-03 20:56 726这2个是不同的概念,不要混淆在一起了 Nested Loop ... -
oracle中rownum和rowid的区别
2017-06-03 20:55 1000oracle中rownum和rowid的区 ... -
分布式事务XA,JTA,两阶段提交,BASE
2016-06-27 21:45 5673关于分布式事务、两阶段提交、一阶段提交、Best Effort ... -
大数据技能图谱
2016-03-24 13:33 861http://mp.weixin.qq.com/s?__biz ... -
Java 方法(JdbcTransactionTemplate)与存储过程共享同一个事务
2016-01-12 19:24 1705如果要让java来管理事务,那么在存储过程里不能写提交(com ... -
Java 平台开发有效事务策略,数据库事务性能
2016-01-11 15:42 867Java 平台开发有效事务策略系列文章 http://www. ... -
SQL语句的where字句表达式顺序影响性能吗?
2015-09-09 13:45 1943比如下面的SQL语句性能有区别吗? select * from ... -
Sybase database Transaction mode: chained and unchained
2015-09-02 10:15 1443Support for Sybase database Tra ... -
聚集索引,非聚集索引,主键,索引类型及实现方式
2015-08-06 11:31 813聚集索引和非聚集索引(整理) http://www.cnblo ... -
Sybase性能调优建议清单
2015-03-17 15:57 1247http://stackoverflow.com/questi ... -
Sybase SQL性能诊断
2015-03-17 11:19 1695Performance and Tuning Series: ... -
left join时on条件与where条件的区别
2015-03-09 17:46 3426参考文章:http://cqujsjcyj.iteye.com ... -
Sybase常用命令,SQL语句
2014-10-22 16:44 4991SQL online sample http://sqlzoo ... -
乐观锁与悲观锁
2014-06-09 11:57 657Key points: 悲观锁的实现,往往依靠数据库提供的锁机 ... -
数据库事务,锁,隔离级别(Isolation Level)
2014-06-09 11:44 2187数据库的隔离级别2(repeaable read)可实现重 ... -
我的Oracle学习笔记
2014-05-18 13:31 0以前工作中整理的oracle学习笔记,虽然有些凌乱,但是时候自 ...
相关推荐
《数据库系统基本概念》主要介绍了数据库系统的基本概念、发展历程、特点以及其结构。数据库系统是管理和存储数据的软件系统,它使得数据的管理更加高效、可靠,并为用户提供了一种统一的方式来存储、检索和共享信息...
通过标题"**T1数据库系统基本概念.ppt**"我们可以推测这可能是一个关于T1数据库系统理论知识的演示文稿,涵盖了其核心理念、架构和操作。 首先,我们要理解数据库系统的概念。数据库系统(DBMS)是一组用于创建、...
【数据库系统基本概念】 数据库系统是现代信息技术中的核心组成部分,它负责组织、存储和管理数据。本讲座将深入探讨数据库系统的基本概念,包括其历史发展、数据管理技术的演变、数据库管理系统(DBMS)的功能以及...
总结来说,数据库系统基本概念涵盖了数据管理技术的历史沿革、数据库的各个发展阶段以及数据描述的层次。理解这些概念有助于我们更好地设计、管理和利用数据库,确保数据的安全、正确和可靠性。随着技术的不断进步,...
本章我们将深入探讨"第一章 数据库系统基本概念",并结合"第二章 关系数据库"的相关内容,来理解这一领域的核心原理和应用。 首先,让我们从数据库系统的定义开始。数据库系统(Database System,简称DBS)是指由...
数据库原理课件第1章 数据库系统基本概念
第1章02数据库系统基本概念.pptx
本文将深入探讨数据库系统的基本概念,包括数据、数据库、数据库管理系统、数据库应用、数据库管理员以及数据库系统本身。 首先,我们来理解“数据”这一基本概念。数据是描述现实世界事物的符号记录,它可以是各种...
本资料主要涵盖了数据库系统的基本概念、数据模型、设计方法、关系数据库、SQL语言、理论基础以及保护机制等内容。 首先,我们来看数据库系统的基本概念。数据是描述事物的符号记录,通常需要通过语义解释才能理解...
本篇PPT主要介绍了数据库系统的基本概念、数据模型、数据库设计、关系数据库以及SQL等相关知识。 首先,了解数据库系统的基本概念至关重要。数据是描述事物的符号记录,而数据库是存储在计算机内的有结构的大量共享...
1. **数据库系统基本概念**:书中首先介绍了数据库、数据库管理系统(DBMS)、数据库系统(DBS)的基本定义,解释了它们在信息存储和管理中的作用。同时,还探讨了数据模型的重要性,如关系数据模型、网络模型、层次...
1. **数据库系统基本概念**:数据库是一个组织和存储数据的系统,它提供了数据的创建、查询、更新和删除等操作。数据库系统包括数据库管理系统(DBMS)、数据库、数据库管理员(DBA)、用户以及硬件和软件环境。 2....
这本书深入浅出地介绍了数据库系统的基本概念、设计原理和实现技术,对于学习和理解数据库有极大的帮助。提供的习题答案则是读者检验自己学习效果的重要参考资料。 该习题答案为英文版,意味着可以提高读者的英文...
### 数据库系统基本概念 1. **数据模型**:数据模型是数据库系统的基础,用于描述数据结构、数据操作和数据完整性约束。常见的数据模型包括层次模型、网状模型、关系模型和面向对象模型。在试题中,通过具体的实体...
数据库系统概念第五版完整答案
数据库系统原理
数据库系统原理