ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

二级C语言

2022-03-21 19:36:06  阅读:196  来源: 互联网

标签:二级 结点 联系 数据库 实体 C语言 之间 属性


结构化程序设计方法

原则:自顶向下,逐步细化,模块化设计,限制使用goto语句,结构化编码

不属于原则:可复用

用数据流程图(DFD)作为描述工具的软件开发阶段是需求分析,不是可行性分析、详细设计、程序编码

属于设计阶段的是:数据结构设计、给出系统模块设计、定义模块算法

不属于设计阶段的是:定义需求并建立系统模型

E-R图(实体-联系图)

提供:表示实体类型、属性、联系的方法,用来描述现实世界的概念模型

实体型:矩形框(写实体名称)

实体的属性:椭圆形框,圆角矩形

连接实体型和实体的属性:实心线段(标上联系的类型)

大部分数据库设计产品使用实体-联系模型(ER模型)帮助用户进行数据库设计

在ER图中有如下四个成分: 矩形框:表示实体,在框中记入实体名。 菱形框:表示联系,在框中记入联系名。 椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。 连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。) 构成E-R图的3个基本要素是实体型、属性和联系,其表示方法为:

实体

一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体。在E-R图中用矩形表示,矩形框内写明实体名;比如学生张三、学生李四都是实体。如果是弱实体的话,在矩形外面再套实线矩形。

属性

实体所具有的某一特性,一个实体可由若干个属性来刻画。属性不能脱离实体,属性是相对实体而言的。在E-R图中用椭圆形表示,并用无向边将其与相应的实体连接起来;比如学生的姓名、学号、性别、都是属性。如果是多值属性的话,在椭圆形外面再套实线椭圆。如果是派生属性则用虚线椭圆表示。

联系

联系也称关系,信息世界中反映实体内部或实体之间的关联。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。在E-R图中用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 : 1,1 : n或m : n)。比如老师给学生授课存在授课关系,学生选课存在选课关系。如果是弱实体的联系则在菱形外面再套菱形。

一般性约束

编辑 播报 实体-联系数据模型中的联系型,存在3种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),它们用来描述实体集之间的数量约束: (1) 一对一联系(1 ∶1) 对于两个实体集A和B,若A中的每一个值在B中至多有一个实体值与之对应,反之亦然,则称实体集A和B具有一对一的联系。 一个学校只有一个正校长,而一个校长只在一个学校中任职,则学校与校长之间具有一对一联系。 (2) 一对多联系(1 ∶N) 对于两个实体集A和B,若A中的每一个值在B中有多个实体值与之对应,反之B中每一个实体值在A中至多有一个实体值与之对应,则称实体集A和B具有一对多的联系。 例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。一个专业中有若干名学生,而每个学生只在一个专业中学习,则专业与学生之间具有一对多联系 (3) 多对多联系(M ∶N) 对于两个实体集A和B,若A中每一个实体值在B中有多个实体值与之对应,反之亦然,则称实体集A与实体集B具有多对多联系 例如,表示学生与课程间的联系“选修 ”是多对多的,即一个学生可以学多门课程,而每门课程可以有多个学生来学。联系也可能有属性。例如,学生“ 选修” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以它是学生与课程之间的联系“ 选修”的属性。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。 [2]  联系是随着数据库语义而改变的,假如有如下3种语义规定: 例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。 一个员工可以同时是多个部门的经理,而一个部门只能有一个经理,则这种规定下“员工”与“部门”之间的“管理”联系就是1:n的联系了。 一个员工可以同时在多个部门工作,而一个部门有多个员工在其中工作,则“员工”与“部门”的“工作”联系为m:n联系。 [3] 

弱实体

编辑 播报 弱实体(weak entity)是一种数据库系统术语。其定义为一个实体对于另一个实体(一般为强实体,也可以是依赖于其他强实体的弱实体)具有很强的依赖联系,而且该实体主键的一部分或全部从其强实体(或者对应的弱实体依赖的强实体)中获得,则称该实体为弱实体。 [3] 

作图步骤

编辑 播报 (1)确定所有的实体集合; (2)选择实体集应包含的属性; (3)确定实体集之间的联系; (4)确定实体集的关键字,用下划线在属性上表明关键字的属性组合; (5)确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n(多)来表示联系的类型。

设计步骤

编辑 播报

调查分析

(1)选择局部应用在需求分析阶段,通过对应用环境和要求进行详尽的调查分析,用多层数据流图和数据字典描述了整个系统。 设计分E-R图的第一步,就是要根据系统的具体情况,在多层的数据流图中选择一个适当层次的(经验很重要)数据流图,让这组图中每一部分对应一个局部应用,我们即可以以这一层次的数据流图为出发点,设计分E-R图。一般而言,中层的数据流图能较好地反映系统中各局部应用的子系统组成,因此人们往往以中层数据流图作为设计分E-R图的依据。 (2)逐一设计分E-R图每个局部应用都对应了一组数据流图,局部应用涉及的数据都已经收集在数据字典中了。现就是要将这些数据从数据字典中抽取出来,参照数据流图,<1> 标定局部应用中的实体, <2> 实体的属性、标识实体的码,<3> 确定实体之间的联系及其类型(1:1、1:n、m:n)。 下面是对<1>、<2>和<3>步骤的具体说明: <1> 标定局部应用中的实体现实世界中一组具有某些共同特性和行为的对象就可以抽象为一个实体。对象和实体之间是"is member of "的关系。例如在学校环境中,可以把张三、李四、王五等对象抽象为学生实体。对象类型的组成成分可以抽象为实体的属性。组成成分与对象类型之间是"is part of "的关系。例如学号、姓名、专业、年级等可以抽象为学生实体的属性。其中学号为标识学生实体的码。 <2> 实体的属性、标识实体的码实际上实体与属性是相对而言的,很难有截然划分的界限。同一事物,在一种应用环境中作为"属性 ",在另一种应用环境中就必须作为"实体 "。一般说来,在给定的应用环境中: a、属性不能再具有需要描述的性质。即属性必须是不可分的数据项。 b、属性不能与其他实体具有联系。联系只发生在实体之间。 <3> 确定实体之间的联系及其类型(1:1、1:n、 m:n)。根据需求分析,要考察实体之间是否存在联系,有无多余联系。

合并生成

各分E-R图之间的冲突主要有三类:属性冲突、命名冲突和结构冲突。 1.属性冲突 。 (1) 属性域冲突,即属性值的类型、取值范围或取值集合不同。例如:属性“零件号”有的定义为字符型,有的为数值型; (2) 属性取值单位冲突。例如:属性“重量”有的以克为单位,有的以公斤为单位。 2.命名冲突 。 (1) 同名异义。不同意义对象相同名称; (2) 异名同义(一义多名)。同意义对象不相同名称。例如:“项目”和“课题”。 3.结构冲突。 (1) 同一对象在不同应用中具有不同的抽象。例如"课程 "在某一局部应用中被当作实体,而在另一局部应用中则被当作属性; (2) 同一实体在不同局部视图中所包含的属性不完全相同,或者属性的排列次序不完全相同; (3) 实体之间的联系在不同局部视图中呈现不同的类型。例如实体E1与E2在局部应用A中是多对多联系,而在局部应用B中是一对多联系;又如在局部应用X中E1与E2发生联系,而在局部应用Y中E1、E2、E3三者之间有联系。解决方法是根据应用的语义对实体联系的类型进行综合或调整。

修改重构

生成基本E-R图分E-R图经过合并生成的是初步E-R图。之所以称其为初步E-R图,是因为其中可能存在冗余的数据和冗余的实体间联系,即存在可由基本数据导出的数据和可由其他联系导出的联系。冗余数据和冗余联系容易破坏数据库的完整性,给数据库维护增加困难,因此得到初步E-R图后,还应当进一步检查E-R图中是否存在冗余,如果存在,应设法予以消除。修改、重构初步E-R图以消除冗余,主要采用分析方法。除此外,还可以用规范化理论来消除冗余。

E-R图的设计

编辑 播报 E-R图设计的正确与否取决于数据库设计人员能否真正把握应用环境的业务流程以及在该业务流程中所涉及的各个客观对象和他们之间发生的活动,这需要作准确深入的用户需求分析。这些客观对象如果需要记录的话,就抽象为E-R图中的实体(描述实体的众多相关数据就抽象为实体的属性,将具有相同属性的众多实体抽象为实体型)。它们之间发生的活动如果也需要记录的话,就抽象为E-R图中的联系,这是E-R图设计的重点。 [1] 

算法

有穷性:在执行一定语句后终止

二叉树上的结点的个数:2^(k-1)

二叉树中叶子结点和结点一样吗?

不一样:一颗二叉树中所有的元素都可成为结点;一棵树当中没有子结点(即度为0)的结点,称为叶子结点,简称“叶子”,叶子结点;叶子是指度为0的结点,又称为终端结点 数据库系统=数据库管理系统(数据库系统的核心)+数据库 数据库技术的根本目标:解决数据共享的问题 关于数据库不正确的语句:数据库是一个独立的系统,不需要操作系统的支持;数据库是指设计数据库管理系统;数据库系统中,数据的物理结构必须与逻辑结构一致

标签:二级,结点,联系,数据库,实体,C语言,之间,属性
来源: https://www.cnblogs.com/yuyingli/p/16034899.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有