数据库是数据的集合;数据库系统是是由数据库及其管理软件组成的系统。数据库系统的主要目的是给用户提供数据的抽象视图。
特定时刻存储在数据库中的信息的集合称为数据库的一个实例(instance)。而数据库的总体设计称为数据库模式(schema). 一个数据库系统可以有多个数据库实例。
文本数据: 非结构化数据,和关系数据库中严格的结构化数据不同,查询非结构化的文本数据被称为信息检索(information retrieval)。
信息检索系统和数据库系统很大程度上是相同的,但重点不同,信息系统重点强调关键词的查询,文档的分析、分类和索引等。
模型是所研究的系统、过程、事物或概念的一种表达形式,也可指根据实验、图样放大或缩小而制作的样品,一般用于展览或实验或铸造机器零件等用的模子。
数据模型:一个描述数据、数据间联系、数据语义以及一致性约束的概念工具的集合。例如:关系模型、实体-联系模型、网状数据模型、层次数据模型。
关系型数据库基于关系模型,使用一系列表来表达数据及这些数据之间的联系。
数据库设计的初始阶段是全面刻画预期数据库用户的数据需求,包括数据量大小、数据的结构类型等。下一步选择一数据模型,并运用所选用数据模型的概念,将那些需求转换为一个数据库的概念模式,即概念设计。概念设计重点描述数据和它们之间的联系。之后,进行数据库实现的逻辑设计阶段,将概念设计转换为针对要实现数据库系统的数据模型上。
实体-联系模型:实体是现实世界中可区别于其他对象的一个事件或物体等。实体通过属性集合来描述。联系指的是几个实体之间的联系。同一类型所有实体的集合为实体集。
数据库的总体逻辑结构(模式)可以用E-R图进行图形化表示。有几种方法来画这样的图,最常用的是统一建模语言(UML)
关系模型中,关系用来指代表,元组(tuple)用来指代行。属性用来指代表中的列。关系实例,表示一个关系的特定实例,也就是所包含的一组特定行。可见,关系是元组的集合。
每个属性,都有允许取值的集合,该集合称为该属性的域。
主码:用来区别不同的元组,码是一个关系的一性质,而不是单个元组的一部分,要选择不经常变化的属性作为主码。
笛卡儿积:表A中有M个元组,B中有N个元组,结果有M*N个元组。它将第一个关系的每个元组和第二个关系的所有元组都进行连接。
数据表的连接有:
1、内连接(自然连接): 只有在两个表中,元组有属性值相匹配的行才能在结果集中出现
自然连接:只考虑那些在两个关系模式中都出现的属性上取值相同的元组对。
2、外连接: 包括
(1)左外连接:左元组全部列出,并只保留出现在左外连接运算之前(左边)的关系中的元组,将与左元组不匹配的右元组的属性值设为null
(2)右外连接: 右元组全部列出,并将与右元组不匹配的左元组值设为null
(3)全外连接:左连接和右连接结果的并集
3、自连接(连接发生在一张基表内)