cocktail74@sina.com1《数据库基础》主讲:王浩江西先锋软件职业技术学院cocktail74@sina.com2第1章数据库基础知识1.1数据库基本概念1.2数据模型1.3概念模型1.4数据库设计1.5数据库技术新发展江西先锋软件职业技术学院请先看我们下面的两副图片,你能想到它和我们要学习的数据库有什么关系吗?1.1数据库技术概述实际上,我们生活中处处都有数据库的身影,我们去消费刷卡,银行存款,到网上购物和网络聊天,等等。数据库技术是计算机发展的一个重要领域,为计算机应用领域拓展出一片崭新的、广阔的空间。1、信息(information)1.1数据库技术概述信息是客观事物属性的反映。它是经过加工处理并对人类客观行为产生影响的事物属性的表现形式。我们可以通过身边的语言、文字、图像、声音等来获取信息。1.1数据库技术概述2.数据(DATA)数据是反映客观事物属性的记录,是可存储在某种介质上的信息。它是能被计算机处理的对象,如数字、符号、文字、图形、图像和声音等。数据库中常说的数据都是指数据表中的记录。1.1数据库技术概述3.信息与数据的关系信息是数据的内涵,数据是信息的载体。4.信息与数据的区别客观事物=加工处理=具有知识性=形成信息信息=记录存储=介质=数据(计算机能识别处理的符号)1.1数据库技术概述5.数据处理数据处理也称信息处理,是原始数据经过计算最后得到有用数据的过程。数据处理过程:采集=整理=存储=分类=排序=检索=维护=加工=统计=传输数据处理的核心是数据管理。1.1数据库技术概述6.数据库系统数据库系统是由数据库、数据库管理系统、数据库应用系统、数据库管理员和用户构成的数据处理系统。数据库管理系统是数据库系统的核心组成部分。用户用户用户应用程序数据库管理系统数据库管理员操作系统数据库1)数据库DB数据库(database)是以一定的数据结构将相关的数据组织在一起,存放在计算机外存储器上形成的,能为多个用户共享,且与应用程序彼此独立的一组相关数据的集合。简单的说数据库是按照数据结构来组织、存储和管理数据的仓库1.1数据库技术概述2)数据库管理系统DBMS数据库管理系统(databasemanagementsystem)是利用数据库进行信息处理,掌握、管理、操纵数据库的数据资源的系统。DBMS主要功能有:数据定义DDL、数据操纵DML和数据保护DCL功能。DBMS的核心就是是结构化查询语言,即SQL(StructuredQueryLanguage)。常用的DBMS有ACCESS、SQLSERVER、MYSQL、ORACLE、DB2等。1.1数据库技术概述1.1数据库技术概述3)数据库应用系统数据库应用系统(databaseapplicationsystems)是指在数据库管理系统的基础上由用户根据自己的实际需要自行开发的应用程序。1.1数据库技术概述4)数据库系统人员数据库系统人员是指管理、开发和使用数据库系统的全部人员,主要包括数据库管理员DBA(DataBaseAdministrator)、应用程序开发人员和用户。数据库管理员负责管理和控制数据库系统。应用程序开发人员负责应用系统的程序模块、编写应用程序。用户通过应用系统提供的用户界面使用数据库。1.1数据库技术概述7、数据库管理经历的三个阶段人工管理=文件管理=数据库管理1)人工管理阶段直接在裸机上操作,应用程序中不仅要设计数据的逻辑结构,还要阐明数据在存储器上的存储地址,数据与应用程序之间相互结合不可分割。2)文件管理阶段把有关的数据组织成一种文件,这种数据文件可以脱离程序而独立存在,由一个专门的文件系统实施统一管理,数据文件高度依赖于其对应的应用程序。3)数据库管理阶段对所有的数据实行统一规划管理,形成一个数据中心,构成一个数据“仓库”,数据与应用程序之间完全独立。。1.2数据模型1、数据模型的含义数据模型是对客观事物及其联系的数据描述,即对现实世界(存在于人脑之外的客观世界)的模拟。例:桌子、笔等在数据库中用数据模型来抽象、表示和处理现实世界中的数据和信息。1.2数据模型2、数据模型的类型1)概念模型(用户模式、外模式)2)逻辑模型(逻辑模式、模式)3)物理模型(存储模式、内模式)要将现实世界转变为机器能够识别的形式,必须经过两次抽象。1.2数据模型1)概念模型概念模型是一种独立于计算机系统的数据模型,是现实世界到信息世界的第一层抽象,也是现实世界到机器世界的一个中间层次。概念模型是按照用户的观点对信息世界的建模,不注重数据的组织结构,强调数据模拟的语义表达能力,使数据更接近于现实世界,便于用户理解,是用户和数据库设计人员之间交流的工具。概念模型的表示方法是实体联系图(ER图):用于描述信息世界的概念数据模型。它通过画图将实体以及实体间的联系刻画出来,为客观事物建立概念数据模型。1.2数据模型2)逻辑模型逻辑模型就是要将概念模型具体化。要实现概念模型所描述的东西,需要那些具体的功能和处理那些具体的信息。这就到了需求分析的细化阶段。逻辑模型是用户在数据库中所看到的数据模型,它由概念数据模型转换得到。逻辑模型主要包括:字段、记录、关键字、表。只表明系统要实现什么,但怎样实现,用什么工具实现还没有讲,后者属于物理模型范围。1.2数据模型3)物理模型物理模型描述数据在物理存储介质上的组织结构,它与具体的DBMS相关,也与操作系统和硬件相关,是物理层次上的数据模型。如:数据库使用SQLServer2005,这样就可以编写具体的SQL脚本在数据库服务器上将数据库建立起来。其中包括业务员信息表,客户信息表,商品信息表,定单表。1.2数据模型这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体的一个不断细化完善的分析,设计和开发的过程。现实世界概念模型逻辑模型物理模型数据库3、数据模型的组成要素模型是现实世界特征的模拟和抽象。数据模型也是一种模型,它是现实世界数据特征的抽象。数据模型通常都由以下三个要素组成。1)数据结构2)数据操作3)完整性约束1.2数据模型1.2数据模型4、层次模型层次模型(HierarchicalModel)是用树形结构表示实体之间联系的模型。其特点是:(1)只能是一对多的关系,有且仅有一个根结点,根结点以外的其它结点有且仅有一个父结点。(2)树状结构、难建横向联系、数据容易重复(冗长)。1.2数据模型5、网状模型网状模型(NetworkModel)中,各记录类型间可具有任意多连接的联系。其特点是:1)一个子节点可有多个父节点,可无父节点,父子节点间可有多种联系。2)记录为一个节点,节点间可建关联,关联性复杂,难理解,难维护。销售代表顾客产品发票付款记录发票物品项5、关系模型关系模型的基本思想是用二维表形式表示实体及其联系。二维表中的每一列对应实体的一个属性,其中给出相应的属性值;每一行形成一个由多种属性组成的记录组,或称记录,与一特定实体相对应。记录属性(字段)课程编号课程名称学时学期平均成绩J001数据库基础36178J003C语言60181Z004操作系统44267X001编译原理402661.2数据模型关系模型的特点1)相互关联又相互独立的多个二维表。2)二维表中的每一列对应实体的一个属性,称为字段。3)二维表中的每一行由多种属性组成的多元组,称为记录。4)各二维表间联系采用关系描述或通过关系直接运算建立。1.2数据模型1、概念模型1)概念模型是按用户的观点来对数据建模。概念模型是现实世界到机器世界的一个中间层次。2)概念模型三要素:实体、属性、联系。在实体-联系建模过程中,将某一事件划分成一个个实体,用属性来描述实体性质,通过联系相互关联。1.3概念模型实体(Entity):实体是客观存在并可相互区分的事物。例如,在学校里,一个学生、一个老师、一门课程都是实体。属性(Attribute):属性是实体所具有的某一特性,一个实体可由若干属性来刻画。例如,学生实体可由学号、姓名、年龄、性别、年级、系、专业等属性组成。联系(Relationship):现实世界的事物之间是有联系的,这种联系必然要在信息世界中加以反映。例如,学校中教与学的联系,可以用教师实体集与学生实体集两者间的联系表示:教师教学生;学生从教师的讲课中获取知识。1.3概念模型1)E-R图的基本组成:说明:在相应的框内要写上实体名、属性名或联系名。示例。实体联系属性1.4.2概念模型的表示方法(E-R建模)学生学号分配2、实体-关系(E-R)数据建模2)联系两个实体间有基于基数约束的三种联系。1.3概念模型一对一(1:1):A表=B表,一一对应;B表=A表,一一对应。一对多(1:N):A表1条记录=B表多条记录;B表1个记录=A表1条记录。多对多(N:M):A表1条记录=B表多条记录;B表1个记录=A表多条记录。1.3概念模型•A表中的每一条记录在B表中仅能有一个匹配记录,同样,在B表中的每一条记录也只能在A表中有一个匹配记录。使用一对一的关系可将一个表分成多个表,或出于安全方便的考虑将表中部分数据隔离。学生校园卡拥有学号姓名性别年龄学号卡号部门11•A表中的一个记录能与B表中的多个记录匹配,但是B表中的一个记录仅能与A表中的一个记录匹配。这是最常用的关系类型。学生班级属于学号姓名性别年龄班主任班号班长1n1.3概念模型•A表中的记录能与B表中的多个记录匹配,并且B表中的记录也能与A表中的多个记录匹配。此关系的类型仅能通过定义第3个表来达成。第3个表包含两个字段,即来源于A表和B表的外部关键字。学生课程选修学号姓名性别年龄课名课号学分mn学时1.3概念模型判断下列实体间的联系类型。1)班级与班长(正)2)班级与班委3)班级与学生4)供应商和商品5)商店和顾客6)工厂和产品7)出版社和作者8)商品和超市课堂练习例1.2图书借阅系统E-R模型设计读者编号姓名读者类型已借数量图书出版日期作者编号书名出版社借期还期借阅mn读者(编号,姓名,读者类型,已借数量)借阅(读者编号,图书编号,借期,还期)图书(编号,书名,出版社,出版日期,定价)E-R图实例(某工厂物资管理的概念模型)涉及的实体有:仓库:属性有仓库号、面积、电话号码。零件:属性有零件号、名称、规格、单价、描述供应商:属性有供应商号、姓名、地址、电话号码、账号。项目:属性有项目号、预算、开工日期。职工:属性有职工号、姓名、年龄、职称。这些实体之间的联系如下:一个仓库可以存放多种零件,一种零件可以存放在多个仓库。一个仓库有多个职工当保管员,一个职工只能在一个仓库工作职工之间具有领导–被领导关系,即仓库主任领导仓库保管员.供应商、项目和零件三者之间具有多对多联系,即一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。例1.3物资管理系统E-R模型设计职称开工日期仓库号面积电话职工号姓名年龄仓库职工零件号名称规格单价描述项目号预算零件项目某工厂的物资管理E-R图供应商号姓名地址电话号帐号供应商(a)某工厂物资管理实体-联系图(E-R图)供应商项目零件供应量仓库库存量职工mnnm1nn1n某工厂的物资管理E-R图供应存储工作领导课堂练习:某商业集团销售管理系统的E-R图数据库中有三个实体集。一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。试画出ER图,并在图上注明属性、联系的类型。课堂练习:某商业集团销售管理系统的E-R图1.4数据库设计1、数据库设计指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。2、数