1、第五章 数据库和数据仓库,第一节 数据管理 第二节 数据库与数据库管理系统 第三节 关系数据库模型 第四节 数据库的建立 第五节 数据仓库与数据挖掘 第六节 高级数据库技术和高级数据库应用,第一节 数据管理,数据组织的层次实体、属性和关键字数据管理的传统方法数据管理的数据库方法,数据组织的层次,数据按照层次方式进行组织由位、字节、字段、记录、文件和数据库组成位(Bit)位是计算机中最小的数据单位,其值为0或1,是一个二进位字节(Byte)字节是由若干位组成的,代表一个字符。字符是信息的最基本构架,包括字母、数字或其他符号。,数据组织的层次,字段(Field)多个字符组成一个词或者一个完整的数字
2、(如人名或年龄)字段是数据的最小单位也称作域或数据元素记录(Record)由与某个特殊对象或活动有关的所有字段组成。,数据组织的层次,文件(File)同一类型的所有记录组成一个文件文件就是与某个特定主题相关的数据记录的集合。数据库综合的相关文件的集合。,实体、属性和关键字,实体(entity)实体是所收集的数据相关的一类事物,在现实世界能保留信息的任一事物都可以叫实体,员工库存客户选课教室,实体、属性和关键字,属性Attribute属性是实体的某一方面的特征学生的姓名、学号、年龄、性别成绩是学生的属性库存号、说明、现有数量、在仓库中的位置等是库存的属性属性的特定值称为数据项,可用来描述实体记录
3、中的相应字段。,实体、属性和关键字,关键字 Primary Key (主键,码)关键字是用来识别记录的一个或一组数据项,学生文件中的学号,产品文件中的产品号,订单文件中的订单号辅助关键字 Secondary Key不能唯一表示一个记录的字段,数据管理的传统方法,利用文件管理数据为每个应用程序分别创建和存储数据文件的数据管理方法都称为传统方法,数据管理传统方法的不足,数据冗余大多个数据文件中重复出现相同的数据。数据与程序独立性不高数据文件和维护它的相关程序之间过分依赖。,数据管理的数据库方法,数据库是逻辑相关的记录和文件的集合。把所有存储在独立文件中的记录归并在一个数据库内,让不同的应用程序存取
4、。储存在数据库中的数据既独立于使用它的计算机程序,也独立于存储它的外部存储器的类型。,数据库管理系统,Database Management System,DBMS在数据库管理系统中,应用程序不能直接从存储介质获得所需的数据。它必须先将请求提交给DBMS,由DBMS负责从存储介质检索数据并提供给应用程序使用,基于数据库方法的优点,减少数据冗余,更有效利用存储空间并增强数据的完整性。也为组织提供了更大地利用数据的灵活性。两个文件中的数据放在了同一个数据库,可以多种方法定位数据并获得要处理的数据共享数据和信息资源,第二节数据库与数据库管理系统环境,数据库及其特征数据库管理系统数据库查询语言数据的逻
5、辑视图和物理视图,数据库及其特征,数据库的定义数据库(Database)是一个信息的集合,在这个集合中可以按照信息的逻辑结构对其进行组织与存取。数据库由两部分组成信息本身信息的逻辑结构,数据库特征,信息的集合,数据库特征,逻辑结构数据字典包含信息的逻辑结构,数据库的特征,信息中的逻辑联系建立信息间的联系或关系意味着找出文件之间的相互关系.主关键字数据库文件中的一个字段,唯一描述一个记录产品文件中的产品ID,供应商文件中的供应商编号外部关键字一个文件中的主关键字出现在另一个文件中就是外部关键字,数据库的特征,内在的完整性约束完整性约束是保证信息质量的一种规则比如产品ID不能重复产品文件中的供应商
6、ID不应该是供应商文件中没有的供应商ID,数据库管理系统,Database Management System是一组软件,允许组织集中并有效地管理数据以供应用程序访问相当与应用程序和物理数据文件之间的接口,数据库管理系统的组成,数据定义语言数据操作语言数据字典,数据库管理系统组成,数据定义语言描述数据库内容和结构的正式语言数据操作语言操作数据库中的数据,提供了一组提取数据的命令数据字典自动生成或者手工生成的文件,用来存储数据元素的定义和特性,如用途、物理表现、所属关系、授权和安全被动的和主动的数据字典,数据库查询语言,属于数据操作语言自然语言自然语言查询命令LIST THE NAMES AND
7、 ADDRESSES OF ALL SUPPLIERS WHO LIVE IN SHANGHAIQBEQuery By Example通过拖曳数据项等方法来查询数据,数据库查询语言,SQLStructured Query Language结构化查询语言标准利用SQL可以查询不同数据库管理系统下的数据基本形式SELECTFROMWHERESELECT 供应商ID, 供应商名称, 城市, 地址, 电话FROM 供应商WHERE 城市=上海,数据视图和逻辑视图,DBMS把数据的逻辑视图和物理视图分开逻辑视图以最终用户所使用的直观的方式来显示数据物理视图则显示了数据的实际组织形式以及它在物理存储介质上
8、的结构一个物理视图可支持多个逻辑视图DBMS使用专门的数据库管理软件,使得物理数据库可用于不同应用程序所需的不同的逻辑视图。,第三节 关系数据库模型,四种数据库模型层次型网状型关系型目前使用最为广泛面向对象,关系数据库模型,利用一系列的二维表或文件存储信息.在关系模型中,每个二维表都描述一种关系.关系是表的数学术语每一个表或关系所保存的信息都与一个特定的实体有关.每一行都对应一个记录,每一列都对应实体的一个属性,关系数据库模型,二维表使描述信息间的关系十分便利,容易处理二维表所包含的信息.northwind可以灵活地查询数据库和建立报表查询单个表和多个表不必建立数据项之间的所有连接,新的连接随
9、时可以建立.,第四节 关系数据库的建立,确定实体和关键字确定实体之间联系利用E_R图得到关系为每个关系确定信息(字段)用数据定义语言创建数据库,学生修课管理,需要根据学生所在的专业、课程的选修情况和学分来管理学生的信息。工作按下面的规定进行每位学生只能被安排到一个专业,一个专业中可拥有许多学生(也可能无学生)每个学生可选修多门课程,一门课程也会被许多学生选修,但并不一定每个学生都必须选修有课程(如新入学的学生)学生选修报告样本,确定实体和关键字,三个实体学生专业课程关键字学号专业号课程号,确定实体之间的联系-画实体联系图,实体联系图(Entity-Relationship Diagram, E
10、-R图)矩形表示实体菱形表示实体之间的联系直线表示连接1代表出现一次,M代表多次,确定实体之间的联系-画实体联系图,确定实体之间的联系-画实体联系图,先画上矩形填上实体名判断是否有联系有联系画上菱形,判断联系是1还是M,利用E-R图得到关系,将每一个实体都转化为一个关系学生、课程、专业将每一个多对多的联系都转换为一个关系。联系的名称为关系的名称-选修将每一个一对多的联系都转换为一个关系-分配合并具有相同关键字的关系:学生与分配合并,为每个关系确定信息(字段),确保每个关系中所含的信息确实处于正确的关系之中这组信息只依赖于所属关系的主关键字?专业名称信息不能从其他的信息中派生出来,用数据定义语言
11、创建数据库,根据前面四步的结果来,运用数据定义语言来创建关系,第五节 数据仓库与数据挖掘,数据往往放在不同的数据库系统中数据难以收集数据仓库是通过集成企业的关键运行数据,产生一致的、可靠的、易于访问的数据形式。,数据仓库,数据仓库(Data Warehouse)是信息的逻辑集合,这些信息来自于许多不同的业务数据库,并用于支持企业的分析活动和决策任务,数据仓库,数据仓库的特征数据仓库将来自于不同数据库的信息结合在一起(图5-16)数据仓库是多维的(图5-17)包含若干层的行列数据字典:信息的逻辑结构、信息的来源和处理方式数据仓库支持决策而不是事务处理联机分析处理(OLAP)联机事务处理(OLTP),数据挖掘工具,Data Mining Tools是用户对数据仓库进行信息生成的软件工具支持OLAP支持决策任务,数据挖掘工具,包括:查询与报表工具QBE,SQL,报表生成器智能代理应用各种像神经网络、模糊逻辑这样的人工智能工具形成OLAP信息发现的基础多维分析工具是一种横纵分割的技术,允许人们从不同的角度来观看多维信息,案例分析,某图书馆希望建立一个图书借阅管理的关系型的数据库,他们首先收集图书馆里的各种报表,主要的报表是如下的一个图书借阅表。请为该图书馆设计一个关系型的数据库,首先识别出该数据库包括那些实体,并利用ER图,画出实体之间的联系。并规定每个实体类包括哪些信息。,