数据库讲义
数据库系统基础讲义第03讲关系模型之基本概念
战德臣 教授
首先定义“列”的取值范围“域(Domain)”
域(Domain)
一组值的集合,这组值具有相同的数据类型 如整数的集合、字符串的集合、全体学生的集合 再如, 由8位数字组成的数字串的集合,由0到100组成的整数集合
集合中元素的个数称为域的基数(Cardinality)
D3=儿童集合(CHILD)={李健,张睿,张峰} D2=女人集合(WOMAN)={王芳,刘玉} D1=男人集合(MAN)={李基,张鹏}
列值:来自域
什么是关系? (2)“表”的严格定义--关系?
战德臣 教授
关系可用R(A1:D1 , A2:D2 , … , An:Dn )表示,可简记为R(A1 , A2 , … ,
关系模式 An ),这种描述又被称为
(Schema)或表标题(head)
度 目 R是关系的名字, Ai 是属性, Di 是属性所对应的域, n是关系的 或
战德臣 教授
由于笛卡尔积中的所有元组并不都是有意义的,因此…
关系(Relation)
一组域D1 , D2 ,…, Dn的笛卡尔积的子集 笛卡尔积中具有某一方面意义的那些元组被称作一个关系(Relation)
由于关系的不同列可能来自同一个域,为区分,需要为每一列起一个名
字,该名字即为属性名。
列名(属性名)
什么是关系? (1)什么是“表”?
战德臣 教授
为什么把“表”称为关系? 怎样严格定义一个“表”? “表”和“关系”有什么异同?
什么是关系? (2)“表”的基本构成要素
如何严格地定义Table呢?
表/关系
列/字段/属 性/数据项 列名
列值பைடு நூலகம்
战德臣 教授
标题/模式 行/元组/记录
数据库系统讲义(1)
《数据库系统讲义》第1章绪论第一节数据库系统概述1.1.1 数据、数据库、数据库管理系统、数据库系统数据、数据库、数据库管理系统和数据库系统是与数据库技术密切相关的四个基本概念。
一、数据(DATA)数据是数据库中存储的基本对象。
数据在大多数人头脑中的第一个反应就是数字。
其实数字只是最简单的一种数据,是数据的一种传统和狭义的理解。
广义的理解,数据的种类很多,文字、图形、图像、声音、学生的档案记录、货物的运输情况等,这些都是数据。
可以对数据做如下定义:描述事物的符号记录称为数据。
描述事物的符号可以是数字,也可以是文字、图形、图像、声音、语言等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
为了了解世界,交流信息,人们需要描述这些事物。
在日常生活中直接用自然语言(如汉语)描述。
在计算机中,为了存储和处理这些事物,就要抽出对这些事物感兴趣的特征组成一个记录来描述。
例如:在学生档案中,如果人们最感兴趣的是学生的姓名、性别、年龄、出生年月、籍贯、所在系别、入学时间,那么可以这样描述:(李明,男,21,1972,江苏,计算机系,1990)因此这里的学生记录就是数据。
对于上面这条学生记录,了解其含义的人会得到如下信息:李明是个大学生,1972年出生,男,江苏人,1990年考入计算机系;而不了解其语义的人则无法理解其含义。
可见,数据的形式还不能完全表达其内容,需要经过解释。
所以数据和关于数据的解释是不可分的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。
二、数据库(DataBase,简称DB)数据库,顾名思义,是存放数据的仓库。
只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。
人们收集并抽取出一个应用所需要的大量数据之后,应将其保存起来以供进一步加工处理,进一步抽取有用信息。
在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。
过去人们把数据存放在文件柜里,现在人们借助计算机和数据库技术科学地保存和管理大量的复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。
数据库应用基础讲义tw
常见的数据库管理系统
➢Microsoft Access ➢Visual FoxPro ➢Oracle ➢Microsoft SQL Server
常见的数据库管理系统
大型常用的数据库管理系统: Oracle 数据库管理系统 Sybase 数据库管理系统(铁路系统) DB2 Microsoft SQL Server 数据库管理系统 小型常用的数据库管理系统: Microsoft Access 数据库管理系统 Visual FoxPro 数据库管理系统
❖数据库管理阶段(60后期-)
应用程序1
应用程序2
数据库 管理系统
数据库
应用程序n
5.2 数据库系统
本节内容
5.2.1 数据库系统的组成 5.2.2 数据库系统的三级模式结构 5.2.3 数据库管理系统简介 5.2.4 数据库系统的特点
数据库系统
(DataBase System,DBS)
是指在计算机系统中引入了数 据库技术后的系统,它包括硬 件、软件和人员等部分。
定义数据时,能把数据的含义也定义进去; 存储数据时,能一起存储数据的含义; 显示数据时,能同时显示数据的含义,
成为改进文件系统的关键。
从而出现了数据管理的新方式ቤተ መጻሕፍቲ ባይዱ数据库系统。 在数据库系统中,数据以一种全新的方式—
数据库存储; 管理数据库的生成、修改、使用的是一种新的 管理数据的软件—数据库管理系统。
数据库应用基础
本章知识要点
数据库的基本概念 数据库系统的组成及特点 数据模型 关系数据库的基本概念
及基本操作
5.1 数据库概述 本节内容
5.1.1 数据库应用实例 5.1.2 数据库的基本术语 5.1.3 数据库技术的发展
数据库系统设计与开发
《数据库设计与开发》讲义
5.1.2 需求分析
• 实际上,系统的需求包括着多个层次,不同层 次的需求从不同角度与不同程度反映着细节问 题。没有一个清晰、毫无二义的‘需求’存在, 真正的‘需求’实际上在人们的脑海中。任何 文档形式的需求仅仅是一个模型,一种叙述。 • 需求分析文档要尽可能地从不同层次角度去描 述(有可能冗余),要注意描述的名词对用户、 分析者、设计者在理解上务必达成共识。 • 在此阶段,从多方面对整个组织进行调查,收 集和分析各个应用主要集中在对信息和处理两 方面的需求。
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
5.1.2 需求分析
–功能数据分析 反映系统全貌的数据流程图与数据、功能详细分 析完成后,为保证总的系统描述和细节情况相一致, 需要进行整理和审核,这一过程称为功能数据分析。 功能数据分析可以使用填写数据功能格栅图等方 法,如果完成某功能所需的数据不存在,需在数据 字典中添加项目;如果数据字典中的数据没有任何 一个功能使用,那么它可能是多余的或者在功能分 析中有遗漏。 通过功能数据分析的最后大检验,使需求分析报 告中的内容祥实准确。用户需求的功能在需求分析 报告中有所描述,完成功能所需的数据在数据字典 中有所描述,为数据库的设计和应用程序的设计工 作打下坚实基础。
–检查文档资料:收集检查与目前系统相关的文档资 料、表格、报告、文件 –面谈:找出事实、确认事实、澄清事实 –观察业务处理:跟班作业
北京邮电大学软件学院 郭文明 2016.9
《数据库设计与开发》讲义
5.1.2 需求分析
–研究:从计算机行业杂志、参考书和Internet上获 取其他人解决问题的信息,也可能直接得到相关问 题的解决方案或软件包。 –问卷调查:调查建议和意见,诸如:“当前使用什 么报表,是否存在问题”等等。
操作系统、数据库、中间件 讲义
操作系统、数据库、中间件第一章操作系统介绍1.1操作系统的定义操作系统(Operating System—缩写为OS)是一种系统软件。
它管理计算机系统的全部软硬件资源和对程序的执行进行控制,还能使用户方便使用硬件提供的计算机功能,也使硬件的功能发挥得更好。
操作系统的基本特征:1)并发性:多任务、多进程、多线程。
2)共享性:互斥访问、同时访问。
3)虚拟性:把一个物理上的对象变成多个逻辑意义的对象。
操作系统理论研究者有时把操作系统分成四大部分:驱动程序:最底层的、直接控制和监视各类硬件的部分,它们的职责是隐藏硬件的具体细节,并向其他部分提供一个抽象的、通用的接口。
内核:操作系统内核部分,通常运行在最高特权级,负责提供基础性、结构性的功能。
接口库:是一系列特殊的程序库,它们职责在于把系统所提供的基本服务包装成应用程序所能够使用的编程接口(API),是最靠近应用程序的部分。
例如,GNU C 运行期库就属于此类,它把各种操作系统的内部编程接口包装成ANSI C和POSIX 编程接口的形式。
外围:是指操作系统中除以上三类以外的所有其他部分,通常是用于提供特定高级服务的部件。
例如,在微内核结构中,大部分系统服务,以及UNIX/Linux中各种守护进程都通常被划归此列。
总结:操作系统是靠近硬件的第一层软件,是对硬件功能的首次扩充。
1.2操作系统的发展历程和分类其发展历程如下:操作系统分类根据不同的分类方法具有不同的操作系统分类。
1、应用领域可分为桌面操作系统、服务器操作系统、嵌入式操作系统;2、所支持用户数可分为单用户操作系统(如MSDOS、OS/2、Windows)、多用户操作系统(如UNIX、Linux、Windows Server);3、源码开放程度可分为开源操作系统(如Linux、FreeBSD)和闭源操作系统(如Mac OS X、Windows);4、存储器寻址宽度、架构可以将操作系统分为8位、16位、32位、64位、128位的操作系统。
数据库系统基础讲义第07讲SQL语言之查询与视图
与多重循环 的原则是否 一样呢?
注意:相关子查询只能由外层向内层传递参数,而不能反之;这也称为变 量的作用域原则。
战德臣 教授
示例:找出工资最低的教师姓名
Select Tname From Teacher 利用元组演算 怎样表达? Where Salary <= all ( Select Salary From Teacher );
示例:找出001号课成绩不是最高的所有学生的学号
Select S# From SC Score < some ( Select Score From SC Where C# = “001” ); Where C# = “001” and
数据库系统之二 --数据库语言-SQL
战德臣哈尔滨工业大学 教授博士生导师 黑龙江省教学名师 教育部大学计算机课程教学指导委员会委员
Research Center on Intelligent Computing for Enterprises & Services, Harbin Institute of Technology
战德臣 教授
内层查询
非相关子查询:内层查询独立进行,没有涉及任何外层查询相关
信息的子查询 前面的子查询示例都是非相关子查询
利用SQL语言表达复杂查询—(NOT) IN子查询 (4) 相关子查询
战德臣 教授
相关子查询:内层查询需要依靠外层查询的某些参量作为限定条件
才能进行的子查询 外层向内层传递的参量需要使用外层的表名或表别名来限定 示例:求学过001号课程的同学的姓名
第一讲 数据库系统概论-讲义
在医学中-人类基因组计划(HGP)
电子商务
基因组就是一个物种中所有基 因的整体组成。人类基因组有 两层意义:遗传信息和遗传物 质。 人类基因组计划是由美国科学 家于1985年率先提出,于1990 年正式启动的。美国、英国、 法国、德国、日本和我国科学 家共同参与了这一预算达30亿 美元的研究计划。 目标就是要揭开组成人体4万个 基因的30亿个碱基对的秘密。
在电信业-中国移动(China Mobile)
中国移动通信集团公司,于2000年 4月20日成立, 2000年5月16日正 式挂牌,是一家基于GSM,TDSCDMA和TD-LTE制式网络的移动 通信运营商。中国移动是国有骨干 企业,全资拥有中国移动(香港) 集团有限公司,由其控股的中国移 动有限公司(简称“上市公司”)在 国内31个省(自治区、直辖市)和 香港特别行政区设立全资子公司, 并在香港和纽约上市。
在这样的背景下,多用户、多应用共享数据的 需求,使数据尽可能为多个应用服务,此时数 据管理的特点为:
采购员
采购应用程序
DBMS
面向全组织的复杂数据结构。 数据冗余度小,共享性高,易于扩充。 具有较高的程序和数据的独立性。 统一的数据控制功能(安全控制、完整性控制、并 发控制、数据库恢复)。
数据库系统阶段应用程序与数据之间的对应关系
其他领域(数据挖掘、信息检索、知识管理等) SIGKDD: Intl. Conf. on Knowledge Discovery and Data Mining ICDM: IEEE Intl. Conf. on Data Mining
数据库系统的基本概念
数据(Data)
2024版数据库基础知识培训讲义
区块链数据库是一种结合区块 链技术的数据库,具有去中心 化、不可篡改等特点,适用于 数字货币、供应链管理等领域。
2024/1/30
38
THANKS
感谢观看
2024/1/30
39
最终使用数据库应用系统的 用户,包括各类业务人员和 技术人员等。
2024/1/30
6
2024/1/30
02
CATALOGUE
数据库的基本概念
7
数据与信息的概念
2024/1/30
数据
描述事物的符号记录,是数据库中 存储的基本对象。数据可以是数字、 文字、图像、声音、视频等。
信息
是对数据进行加工处理之后所得到 的,对决策或行为有现实或潜在价 值的数据。信息是数据的内涵,数 据是信息的载体。
18
数据操纵语言(DML)
INSERT
插入新数据。
DELETE
删除数据。
2024/1/30
UPDATE
更新现有数据。
MERGE
根据条件合并数据。
19
数据控制语言(DCL)
数据控制语言(DCL)用于控制对数据库的访问权限和安全级别。
主要的DCL操作包括
2024/1/30
GRANT:授予用户或角色对数据库对象的访问权限。
8
数据库、表、字段等基本概念
01
数据库(Database)
是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计
算机内的、有组织的、可共享的、统一管理的大量数据的集合。
2024/1/30
02 03
表(Table)
在数据库中,表是存放数据的基本单位,它由行和列组成。每一列有一 个名称,称为字段名,每一行代表一条记录,包含该记录在各个字段中 的值。
计算机数据库(经济会计类)类数据分析随堂讲义
物资报酬 人情关系 合计
105(72) 40(28) 145(100)
45(56) 35(44) 80(100)
9.5.1 条件百分比的方向
例外情况:因变量在样本内的分布不能 代表其在总体内的分布时 例: 家庭状况对青少年行为的影响。家 总体分布 抽取比例 样本分布 庭状况X-青少年行为Y
来自于完整家庭 犯罪 150 50% 75 来自于离异家庭 37 38
来自于完整家庭
未犯罪 10000 1% 100 来自于离异家庭
92
8
9.5.1 条件百分比的方向
完整家庭 犯罪 未犯罪 合计 38 92 130 29% 71% 100% 离异家庭 37 8 45 82% 18% 100% 合计 75 100
犯罪 完整家庭 离异家庭 合计 38 37 75 51% 49% 100%
未犯罪 92 8 100 92% 8% 100%
合计 130 45
9.5.2 卡方分布的期望值 准则
准则 1 :如果只有两个单元,每个 单元的期望频数必须大于等于5. 准则 2 :若有两个以上的单元,如 果 20% 的单元期望频数小于 5f ,则 fo 例9.1 乘客数 期望频数 不能应用卡方检验。
第 9 章 分类数据分析
第 9 章 分类数据分析
9.1 9.2 9.3 9.4 分类数据与c2统计量 拟合优度 检验 列联分析:独立性检验 列联分析中应注意的问题
学习目标
1.
理解分类数据与c2 统计量
2.
掌握拟合优度检验及其应用
3.
4.
掌握独立性检验及其应用
掌握测度列联表中的相关性
9.1 分类数据与列联表
(2024年)Oracle培训讲义
数据文件(Datafiles)
存储数据的物理文件,如表的数据和索引的数据。
控制文件(Controlfiles)
记录数据库的物理结构的文件,包括数据文件和日志文件的位置和名 称等信息。
重做日志文件(Redo Logfiles)
记录所有更改数据的操作,用于数据库恢复。
归档日志文件(Archived Redo…
云计算
Oracle数据库支持云计算环 境,可以为企业提供灵活、高
效的数据库服务。
大数据
Oracle数据库可以处理大规 模的数据集,支持实时分析和
数据挖掘。
物联网
Oracle数据库可以应用于物 联网领域,为智能设备提供数
据存储和分析服务。
6
02
Oracle数据库体系结 构
2024/3/26
7
物理存储结构
16
04
SQL基础与Oracle SQL增强功能
2024/3/26
17
SQL语言概述及基础语法
SQL语言概述
SQL(Structured Query Language,结构化查 询语言)是用于管理关系数据库的标准语言,包 括数据查询、数据定义、数据操纵和数据控制等 功能。
数据定义语言(DDL)
用于定义数据库对象,如CREATE、ALTER、 DROP等语句。
提高数据加载和处理的效率。
分区交换
利用分区技术将数据分段处理, 然后将结果合并,适用于大数据
量的ETL操作。
01
03
02 04
2024/3/26
并行处理
通过并行查询、并行DML和并行 DDL等操作来利用多个CPU和 I/O资源,加速大数据量的处理 速度。
数据库安全性讲义PPT63页课件
2.为了进一步核实用户身份,常采用用户名与口令 (Password)相结合的方法,系统通过核对口令判 别用户身份的真。
3.通过用户名和口令来鉴定用户的方法简单易行, 但该方法在使用时,由于用户名和口令的产生和 使用比较简单,也容易被窃取,因此还可采用更 复杂的方法。
//添加 U1 为角色 r_test 的成员
grant select,update on course to u1 with grant option
EXEC sp_revokedbaccess 'u_test' --从数据库 pubs 中删除安全账户
EXEC sp_droplogin 'l_test' --删除登录 l_test
查找、插入、修改、删除
用户或DBA把授权决定告知系统 SQL的GRANT和REVOKE DBMS把授权的结果存入数据字典 当用户提出操作请求时,DBMS根据授
权定义进行检查,以决定是否执行操作 请求
5.3.2 授权及收权
GRANT语句的一般格式: GRANT <权限>[,<权限>]... [ON <对象类型> <对象名>] TO <用户>[,<用户>]... [WITH GRANT OPTION];
第五章 数据库安全性
问题的提出
数据库的一大特点是数据可以共享 但数据共享必然带来数据库的安全性问题 数据库系统中的数据共享不能是无条件的共享
例:军事秘密、 国家机密、 新产品实验数据、 市场需求分析、市场营销策略、销售计划、 客户档案、 医疗档案、 银行储蓄数据
数据库营销知识讲义
数据库营销知识讲义一、数据库营销的进展在短短的二十年里,中国经济在从计划经济向市场经济转型的过程中,也逐步由稀缺经济向过剩经济过渡。
中国百姓对商品的需求已经从饥不择食地大量抢购到货比三家的“挑挑剔剔”。
生活日益丰富的人们,已不再领情于、甚至厌倦于铺天盖地的商品信息的侵染;同时,也不再满足于基本的生活需要,更加注重的是具有个性化与人情味的产品与服务。
市场将被区隔成一个个更小的消费者群,即对公司的一个或者多个品牌有关系或者感兴趣的一组消费者。
市场细分越来越重视消费者的兴趣与感受。
针对这种状况,更需要营销者时刻关注消费者需求的变化,及时与消费者沟通,迅速采取措施,满足不断变化的消费者需求。
基于此,由稀缺经济导致的大规模生产与与之相应的传统营销方式将面临着严峻的考验,代之而来的是更加灵活的生产方式与与之相应的各类新的营销方式的涌现与迅速普及,如数据库营销、整合营销。
顾客是企业关注的焦点,如何争取与留住顾客是企业营销工作的主题。
这就需要营销者站在顾客的立场上及时熟悉顾客的需求及其变化。
依照消费者的价值观念来设计、生产、定位产品。
应该看到,如今的顾客更加重视优良的服务与体贴的关怀,失去顾客往往不是产品的质量问题,而是顾客对服务的不满,因此,产品的服务化与服务的产品化已经高度融合在了一起;提供优良的服务,建立起顾客对企业的忠诚,就需要把消费者的价值观念贯穿于企业的整个经营过程中,企业的各个部门将被高度地整合起来,以顾客为中心开展工作;另一方面,消费者的需求、价值观念又会在与市场环境的互动中不断的改变着,而且这种变化的频率越来越高,要使企业习惯这样的变化,很显然,那种传统的单向沟通的营销方式已经力不从心,需要新的双向沟通的营销方式取而代之,建立起顾客与企业间的长期稳固的互动关系。
好在信息技术的进展为这种双向沟通的方式提供了强有力的支持,信息共享使企业的各个部门、顾客与各类环境因素融为一体,这就使得能够与顾客对话的起源于直复营销的数据库营销应时而生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7.3 概念结构设计•1、什么是概念结构设计将需求分析得到的用户需求抽象为信息结构即概念模型的过程就是概念结构设计概念结构是各种数据模型的共同基础,它比数据模型更独立于机器、更抽象,从而更加稳定概念结构设计是整个数据库设计的关键2、概念结构的特点• (1) 能真实、充分地反映现实世界有丰富的语义表达能力,能表达用户的各种需求。
•(2) 易于交流和理解,从而可以用它和不熟悉计算机的用户交换意见。
•(3) 要易于更改。
当应用环境和应用要求改变时,概念模型要能很容易的修改和扩充以反映这种变化。
•(4) 易于向各种数据模型转换。
3、概念结构设计的方法与步骤自顶向下首先定义全局概念结构的框架,然后逐步细化自底向上首先定义各局部应用的概念结构,然后将它们集成起来,得到全局概念结构逐步扩张首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构混合策略将自顶向下和自底向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成由自底向上策略中设计的各局部概念结构。
常用策略–自顶向下地进行需求分析–自底向上地设计概念结构自底向上设计概念结构的步骤第1步:抽象数据并设计局部视图第2步:集成局部视图,得到全局概念结构4、数据抽象抽象是对实际的人、物、事和概念中抽取所关心的共同特性,忽略非本质的细节,并把这些特性用各种概念精确地加以描述概念结构是对现实世界的一种抽象三种常用抽象1. 分类(Classification)▪定义某一类概念作为现实世界中一组对象的类型▪抽象了对象值和型之间的“is member of”的语义2. 聚集(Aggregation)▪定义某一类型的组成成分▪抽象了对象内部类型和成分之间“is part of”的语义3. 概括(Generalization)▪定义类型之间的一种子集联系▪抽象了类型之间的“is subset of”的语义▪继承性5、实体-联系方法(E-R方法)entity-relationship approach⏹实体型⏹用矩形表示,矩形框内写明实体名。
⏹属性⏹用椭圆形表示,并用无向边将其与相应的实体连接起来⏹联系⏹联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)5、局部视图设计设计分E-R图的步骤:⒈选择局部应用在多层的数据流图中选择一个适当层次的数据流图,作为设计分E-R图的出发点通常以中层数据流图作为设计分E-R图的依据⒉逐一设计分E-R图任务▪将各局部应用涉及的数据分别从数据字典中抽取出来▪参照数据流图,标定各局部应用中的实体、实体的属性、标识实体的码▪确定实体之间的联系及其类型(1:1,1:n,m:n)两条准则:▪(1)属性不能再具有需要描述的性质。
即属性必须是不可分的数据项,不能再由另一些属性组成▪(2)属性不能与其他实体具有联系。
联系只发生在实体之间6、E-R图实例:学籍管理局部应用中主要涉及的实体包括学生、宿舍、档案材料、班级、班主任。
那么,这些实体之间的联系又是怎样的呢?由于一个宿舍可以住多个学生,而一个学生只能住在某一个宿舍中,因此宿舍与学生之间是1:n的联系。
由于一个班级往往有若干名学生,而一个学生只能属于一个班级,因此班级与学生之间也是1:n的联系。
由于班主任同时还要教课,因此班主任与学生之间存在指导联系,一个班主任要教多名学生,而一个学生只对应一个班主任,因此班主任与学生之间也是1:n的联系。
而学生和他自己的档案材料之间,班级与班主任之间都是1:1的联系。
接下来我们需要进一步斟酌该E-R图,做适当调整。
在一般情况下,性别通常作为学生实体的属性,但在本局部应用中,由于宿舍分配与学生性别有关,根据准则2,应该把性别作为实体对待。
* 数据存储“学生登记表”,由于是手工填写,供存档使用,其中有用的部分已转入学生档案材料中,因此这里就不必作为实体了。
这样,得到学籍管理局部应用的分E-R图,如图所示。
为节省篇幅,该E-R图中省略了各个实体的属性描述。
这些实体的属性分别为:学生:{学号,姓名,出生日期,}档案材料:{档案号,……}班级:{班级号,学生人数}班主任:{职工号,姓名,性别,是否为优秀班主任}宿舍:{宿舍编号,地址,人数}教室:{教室编号,地址,容量} 其中有下划线的属性为实体的码。
同样方法,我们可以得到课程管理局部应用的分E-R图,如图6-13所示。
各实体的属性分别为:学生:{姓名,学号,性别,年龄,所在系,年级,平均成绩}课程:{课程号,课程名,学分}教师:{职工号,姓名,性别,职称}教科书:{书号,书名,价钱}教室:{教室编号,地址,容量}7、视图的集成各个局部视图即分E-R图建立好后,还需要对它们进行合并,集成为一个整体的数据概念结构即总E-R图。
多个分E-R图一次集成一次集成多个分E-R图,通常用于局部视图比较简单时缺点比较复杂,实现难度较大逐步集成用累加的方式一次集成两个分E-R图缺点:每次只集成两个分E-R图,实现难度有所降低集成局部E-R图的步骤1.合并分E-R图,生成初步E-R图消除冲突–属性冲突–命名冲突–结构冲突冲突的种类–属性冲突属性值的类型:学号在一个视图中可能当作字符串,在另一个视图中可能当作整数。
取值范围取值集合不同–命名冲突同名异义:不同意义的对象在不同的局部应用中具有相同的名字异名同义(一义多名):同一意义的对象在不同的局部应用中具有不同的名字–结构冲突同一对象在不同应用中具有不同的抽象同一实体在不同分E-R图中所包含的属性个数和属性排列次序不完全相同实体之间的联系在不同局部视图中呈现不同的类型2. 修改与重构消除不必要的冗余,设计生成基本E-R图–分析方法–规范化理论冗余的数据是指可由基本数据导出的数据冗余的联系是指可由其他联系导出的联系冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难消除不必要的冗余后的初步E-R图称为基本E-R图分析方法以数据字典和数据流图为依据根据数据字典中关于数据项之间的逻辑关系效率VS冗余信息 (P222)但并不是所有的冗余数据与冗余联系都必须加以消除,有时为了提高效率,不得不以冗余信息作为代价。
因此在设计数据库概念结构时,那些冗余信息必须消除,那些冗余信息允许存在,需要根据用户的整体需求来确定。
如果人为地保留了一些冗余数据,则应把数据字典中数据关联的说明作为完整性约束条件。
规范化理论函数依赖的概念提供了消除冗余联系的形式化工具. 确定分E-R图实体之间的数据依赖,并用实体码之间的函数依赖表示。
求FL的最小覆盖GL,差集为D = FL-GL。
逐一考察D中的函数依赖,确定是否是冗余的联系,若是,就把它去掉。
▪(1) 冗余的联系一定在D中,而D中的联系不一定是冗余的;▪(2) 当实体之间存在多种联系时要将实体之间的联系在形式上加以区分。
解决方法是根据应用的语义对实体联系的类型进行综合或调整。
下面我们来看看如何生成学校管理系统的初步E-R图。
我们着重介绍学籍管理局部视图与课程管理局部视图的合并。
这两个分E-R图存在着多方面的冲突:∙班主任实际上也属于教师,也就是说学籍管理中的班主任实体与课程管理中的教师实体在一定程度上属于异名同义,可以应将学籍管理中的班主任实体与课程管理中的教师实体统一称为教师,统一后教师实体的属性构成为:教师:{职工号,姓名,性别,职称,是否为班主任}∙将班主任改为教师后,教师与学生之间的联系在两个局部视图中呈现两种不同的类型,一种是学籍管理中教师与学生之间的指导联系,一种是课程管理中教师与学生之间的教学联系,由于指导联系实际上可以包含在教学联系之中,因此可以将这两种联系综合为教学联系。
∙在两个局部E-R图中,学生实体属性组成及次序都存在差异,应将所有属性综合,并重新调整次序。
假设调整结果为:∙学生:{学号,姓名,出生日期,年龄,所在系,年级,平均成绩}解决上述冲突后,学籍管理分E-R图与课程管理分E-R图合并为初步E-R图。
修改与重构,生成基本E-R图修改、重构初步E-R图以消除冗余主要采用分析方法。
除分析方法外,还可以用规范化理论来消除冗余。
图6-17是进行修改和重构后生成的基本E-R图。
8. 数据库概念设计总结· 用E-R数据模型进行概念设计,首先必须根据需求说明,确认实体、联系和属性。
·采用E-R方法进行数据库的概念设计,可以分成三步进行:首先设计局部E-R图;然后合并各局部E-R图,并解决可能存在的冲突,得到初步E-R图;最后修改和重构初步E-R图,消除其中的冗余部分,得到最终的全局E-R图,即概念模式。
o设计全局E-R模式的目的不在于把若干局部E-R模式形式上合并为一个E-R模式,而在于消除冲突使之成为能够被全系统总所有用户共同理解和接受的统一的概念模型解:(1)关系模式如下:学生:S(Sno,Sname,Sbirth,Dept,Class,Rno)班级:C(Class,Pname,Dept,Cnum,Cyear)系:D(Dept,Dno,Office,Dnum)学会:M(Mname,Myear,Maddr,Mnum)(2)每个关系模式的最小函数依赖集如下:A、学生S (Sno,Sname,Sbirth,Dept,Class,Rno) 的最小函数依赖集如下:SnoàSname,SnoàSbirth,SnoàClass,ClassàDept,DEPTàRno传递依赖如下:由于SnoàDept,而DeptàSno ,DeptàRno(宿舍区)所以Sno与Rno之间存在着传递函数依赖。
由于ClassàDept,Dept à Class,DeptàRno所以Class与Rno之间存在着传递函数依赖。
由于SnoàClass,ClassàSno,ClassàDept所以Sno与Dept之间存在着传递函数依赖。
B、班级C(Class,Pname,Dept,Cnum,Cyear)的最小函数依赖集如下:ClassàPname,ClassàCnum,ClassàCyear,PnameàDept.由于ClassàPname,PnameàClass,PnameàDept所以C1ass与Dept之间存在着传递函数依赖。
C、系D(Dept,Dno,Office,Dnum)的最小函数依赖集如下:DeptàDno,DnoàDept,DnoàOffice,DnoàDnum根据上述函数依赖可知,Dept与Office,Dept与Dnum之间不存在传递依赖。