版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章数据库系统概论
1.1数据库系统1.2数据库设计1.1数据库系统1.1.1数据库、数据库管理系统1.数据:数据(Data)是事物的符号表示,数据可以是数字、文字、图像、声音等。2.数据库:数据库(Database)是以特定的组织结构、存放在计算机的存储介质中的相互关联的数据集合。3.数据库管理系统:数据库管理系统(DataBaseManagementSystem,DBMS)是在操作系统支持下的系统软件,它是数据库应用系统的核心组成部分,它的主要功能如下:
●数据定义功能:提供数据定义语言定义数据库和数据库对象。
1.1.1
数据库、数据库管理系统
●
数据操纵功能:提供数据操纵语言对数据库中数据进行查询、插入、修改、删除等操作。
●
数据控制功能:提供数据控制语言进行数据控制,即提供数据的安全性、完整性、并发控制等项功能
●数据库建立维护功能:包括数据库初始数据的装入、转储、恢复和系统性能监视、分析等项功能。
1.1.2数据模型
1.层次模型用树状层次结构组织数据,树状结构每一个结点表示一个记录类型,记录类型之间的联系是一对多的联系。层次模型有且仅有一个根结点,位于树状结构顶部,其它结点有且仅有一个父结点。某大学按层次模型组织数据的示例如图1.1所示。
1.1.2数据模型
2.网状模型采用网状结构组织数据,网状结构每一个结点表示一个记录类型,记录类型之间可以有多种联系,按网状模型组织数据的示例如图1.2所示。
1.1.2数据模型
3.关系模型采用关系的形式组织数据,一个关系就是一张二维表,二维表由行和列组成,按关系模型组织数据的示例如图1.3所示。
1.1.2数据模型
1.1.3
关系数据库关系数据库采用关系模型组织数据,关系数据库是目前最流行的数据库,关系数据库管理系统(RelationalDatabaseManagementSystem,RDBMS)是支持关系模型的数据库管理系统。1.关系数据库基本概念●关系:关系就是表(Table),在关系数据库中,一个关系存储为一个数据表。●元组:表中一行(Row)为一个元组(Tuple),一个元组对应数据表中的一条记录(Record),元组的各个分量对应于关系的各个属性。
●属性:表中的列(Column)称为属性(Property),对应数据表中的字段(Field)。
1.1.3
关系数据库●域:属性的取值范围。●关系模式:对关系的描述称为关系模式,格式如下:●关系名(属性名1,属性名2,…属性名n)
●候选码:属性或属性组,其值可唯一标识其对应元组。
●主关键字(主键):在候选码中选择一个作为主键(PrimaryKey)
●外关键字(外键):在一个关系中的属性或属性组不是该关系的主键,但它是另一个关系的主键,称为外键(ForeignKey)。
1.1.3
关系数据库在图1.3中,学生的关系模式为
学生(学号,姓名,性别,出生日期,专业,总学分)主键为学号。成绩的关系模式为
成绩(学号,课程号,成绩)2.关系运算关系数据操作称为关系运算,投影、选择、连接是最重要的关系运算,关系数据库管理系统支持关系数据库和投影、选择、连接运算。
1.1.3
关系数据库(1)选择选择(Selection)指选出满足给定条件的记录,它是从行的角度进行的单目运算,运算对象是一个表,运算结果形成一个新表。【例1.1】从学生表中选择专业为计算机且总学分在50分以上的行进行选择运算,选择所得的新表如表1.1所示。
1.1.3
关系数据库(2)投影投影(Projection)是选择表中满足条件的列,它是从列的角度进行的单目运算。【例1.2】从学生表中选取姓名、性别、专业进行投影运算,投影所得的新表如表1.2所示。
1.1.3
关系数据库(3)连接连接(Join)是将两个表中的行按照一定的条件横向结合生成的新表。选择和投影都是单目运算,其操作对象只是一个表,而连接是双目运算,其操作对象是两个表。【例1.3】学生表与成绩表通过学号相等的连接条件进行连接运算,连接所得的新表如表1.3所示。
1.1.4
数据库系统数据库系统(DatabaseSystem,DBS)是数据库应用系统的简称,数据库系统由数据库、操作系统、数据库管理系统、应用程序、用户、数据库管理员组成,如图1.4所示。
1.1.4
数据库系统数据库应用系统分为客户-服务器模式(C/S)和三层客户-服务器(B/S)模式。1.C/S模式应用程序直接与用户打交道,数据库管理系统不直接与用户打交道,因此,应用程序称为前台,数据库管理系统称为后台。因为应用程序向数据库管理系统提出服务请求,所以称为客户程序(Client),而数据库管理系统向应用程序提供服务,所以称为服务器程序(Server),上述操作数据库的模式称为客户-服务器模式(C/S),如图1.5所示。
1.1.4
数据库系统2.B/S模式基于Web的数据库应用采用三层客户-服务器模式(B/S),第一层为浏览器,第二层为Web服务器,第三层为数据库服务器,如图1.6所示。
1.2
数据库设计1.2.1需求分析需求分析阶段是整个数据库设计中最重要的一个步骤,它需要从各个方面对业务对象进行调查、收集、分析,以准确了解用户对数据和处理的需求,需求分析中的结构化分析方法采用逐层分解的方法分析系统,通过数据流图、数据字典描述系统。
●
数据流图:数据流图用来描述系统的功能,表达了数据和处理的关系。
●
数据字典:数据字典是各类数据描述的集合,对数据流图中的数据流和加工等进一步定义,它包括数据项、数据结构、数据流、存储、处理过程等。
1.2.2
概念结构设计为了把现实世界的具体事物抽象、组织为某一DBMS支持的数据模型,首先将现实世界的具体事物抽象为信息世界某一种概念结构,这种结构不依赖于具体的计算机系统,然后,将概念结构转换为某个DBMS所支持的数据模型。需求分析得到的数据描述是无结构的,概念设计是在需求分析的基础上转换为有结构的、易于理解的精确表达,概念设计阶段的目标是形成整体数据库的概念结构,它独立于数据库逻辑结构和具体的DBMS,描述概念结构的工具是E-R模型。E-R模型即实体-联系模型,在E-R模型中:
1.2.2
概念结构设计●
实体:客观存在并可相互区别的事物称为实体,实体用矩形框表示,框内为实体名。实体可以是具体的人、事、物或抽象的概念,例如,在学生成绩管理系统中,“学生”就是一个实体。●属性:实体所具有的某一特性称为属性,属性采用椭圆框表示,框内为属性名,并用无向边与其相应实体连接。例如,在学生成绩管理系统中,学生的特性有学号、姓名、性别、出生日期、专业、总学分,它们就是学生实体的6个属性。
●
实体型:用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生日期,专业,总学分)就是一个实体型。
●实体集:同型实体的集合称为实体集,例如全体学生记录就是一个实体集。
1.2.2
概念结构设计●联系:实体之间的联系,可分为一对一的联系、一对多的联系、多对多的联系。实体间的联系采用菱形框表示,联系以适当的含义命名,名字写在菱形框中,用无向边将参加联系的实体矩形框分别与菱形框相连,并在连线上标明联系的类型,即1—1、1—n或m—n。如果联系也具有属性,则将属性与菱形也用无向边连上。1.一对一的联系(1:1)例如,一个班只有一个正班长,而一个正班长只属于一个班,班级与正班长两个实体间具有一对一的联系。
1.2.2
概念结构设计2.一对多的联系(1:n)例如,一个班可有若干学生,一个学生只能属于一个班,班级与学生两个实体间具有一对多的联系。3.多对多的联系(m:n)例如,一个学生可选多门课程,一门课程可被多个学生选修,学生与课程两个实体间具有多对多的联系。【例1.4】画出学生成绩管理系统中学生、课程实体图学生实体有学号、姓名、性别、出生日期、专业、总学分等6个属性,课程实体有课程号,课程名,学分等3个属性,它们的实体图如图1.7所示。
1.2.2
概念结构设计
1.2.2
概念结构设计【例1.5】画出学生成绩管理系统的E-R图学生成绩管理系统有学生、课程两个实体,它们之间的联系是选课,学生选修一门课程后都有一个成绩,一个学生可选多门课程,一门课程可被多个学生选修,学生成绩管理系统的E-R图如图1.8所示。
1.2.2
概念结构设计
1.2.2
概念结构设计【例1.6】画出图书借阅系统的E-R图图书借阅系统中学生实体的属性有借书证号、姓名、专业、性别、出生日期、借书量、照片,图书实体的属性有ISBN、书名、作者、出版社、价格、复本量、库存量,它们之间的联系是借阅,借阅的属性有索书号、借阅时间,一个学生可以借阅多种图书,一种图书可被多个学生借阅,图书借阅系统的E-R图如图1.9所示。
1.2.2
概念结构设计
1.2.3
逻辑结构设计为了建立用户所要求的数据库,必须将概念结构转换为某个DBMS所支持的数据模型,由于当前主流的数据模型是关系模型,所以逻辑结构设计是将概念结构转换为关系模型,即将E-R模型转换为一组关系模式。1.(1:1)联系的E-R图到关系模式的转换用学校和校长之间的联系为例,一个学校只有一个校长,一个校长只在一个学校任校长,属于一对一关系(下划线“_”表示该字段为主键)。(1)每个实体设计一张表。
学校(学校编号,名称,地址)
校长(校长编号,姓名,职称)
1.2.3
逻辑结构设计(2)任选一表,其中的主键在另一个表中充当外键。选择校长表中的主键在学校表中充当外键,设计以下关系模式。
学校(学校编号,名称,地址,校长编号)
校长(校长编号,姓名,职称)2.(1:n)联系的E-R图到关系模式的转换以班级和学生之间的联系为例。一个班级中有若干名学生,每个学生只在一个班级中学习,属于一对多关系。(1)每个实体设计一张表。
班级(班级编号,教室号,人数)
学生(学号,姓名,性别,出生日期,专业,总学分)
1.2.3
逻辑结构设计(2)选“1”端表,其主键在“n”端表中充当外键。选择班级表中的主键在学生表中充当外键,设计以下关系模式。
班级(班级编号,教室号,人数)
学生(学号,姓名,性别,出生日期,专业,总学分,班级编号)3.(m:n)联系的E-R图到关系模式的转换以学生和课程之间的联系为例。一个学生可以选多门课程,一门课程可以有多个学生选,属于多对多关系。(1)每个实体设计一张表。
学生(学号,姓名,性别,出生日期,专业,总学分)
课程(课程号,课程名,学分)
1.2.3
逻辑结构设计(2)产生一个新表,“m”端和“n”端的主键在新表中充当外键。选择学生表中的主键和在课程表中的主键在新表选课表中充当外键,设计以下关系模式。
学生(学号,姓名,性别,出生日期,专业,总学分)
课程(课程号,课程名,学分)
选课(学号,课程号,分数)
1.2.3
逻辑结构设计【例1.7】设计学生成绩管理系统的逻辑结构设计学生成绩管理系统的逻辑结构,即设计学生成绩管理系统的关系模式,选课关系实际上是成绩关系,将选课改为成绩,学生成绩管理系统的关系模式设计如下:
学生(学号,姓名,性别,出生日期,专业,总学分)
课程(课程号,课程名,学分)
成绩(学号,课程号,分数)为了程序设计方便,将汉字表示的关系模式改为英文表示的关系模式:
student(stno,stname,stsex,stbirthday,specialist,tc)对应学生关系模式
course(cno,cname,credit)对应课程关系模式
score(stno,cno,grade)对应成绩关系模式
1.2.3
逻辑结构设计【例1.8】设计图书借阅系统的逻辑结构设计图书借阅系统的逻辑结构,即设计图书借阅系统的关系模式,图书借阅系统的关系模式设计如下:
学生信息(借书证号,姓名,性别,出生时间,专业,借书量)
图书(ISBN,书名,作者,出版社,价格,复本量,库存量)
借阅(借书证号,ISBN,索书号,借书时间)将汉字表示的关系
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度人力资源数据安全及隐私保护合作协议3篇
- 自愿赠送无需返还合同模板
- 2024年度金融科技企业三人合伙合同3篇
- 河道除磷合同范例
- 电厂物品转让合同范例
- 2024年停车库租赁合同3篇
- 2024年京牌租赁合同书范本3篇
- 债务处理授权合同范例
- 大型猪舍转让合同范例
- 围栏合同模板简短版
- 公共体育民族操舞(广西科技大学)知到智慧树章节答案
- 24秋国家开放大学《经济法学》形考任务(记分作业)1-4参考答案
- 2.4 《最后一片叶子》教学设计-【中职专用】高一语文(高教版2023·基础模块上册)
- 2024广西交通投资集团有限公司招聘笔试参考题库附带答案详解
- 生涯发展展示
- 关于转发中国中铁股份有限公司管理人员政纪处分规定试行的通知
- 标准节流装置计算
- 企业行为模拟试验报告2016
- 菜么么收银系统使用说明PPT课件
- 钢轨超声波探伤知识讲解
- 水池满水试验记录表(自动计算)
评论
0/150
提交评论