还剩6页未读,继续阅读
文本内容:
数据库系统设计之总预览(零)我妈怀我的时候才23岁,我爸和我妈都觉得这时候生小孩太年轻了,准备打掉,过几年情况好一点再生结果,第一次去医院,医院停电;第二次去医院,跟我妈熟的那个医生出差了不放心别人;第三次去医院,器材正在维修……最后医生告诉我妈这孩子现在已经打不了了,只好生下来数据库系统设计的优劣直接影响信息系统的质量和运行效果在具备了DBMS、系统软件、操作系统和硬件环境时,对数据库应用__人员来说,就是如何使用这个环境表达用户的要求,构造最优的数据模型,然后据此建立数据库及其应用系统,这个过程就是数据库设计
1、数据库系统设计之数据库系统生存期
(一)
2、数据库系统设计之ER模型
(二)
3、数据库系统设计之关系模型
(三)零测试数据库系统设计之数据库系统生存期
(一)怀疑老公有外遇,苦于一直没有证据后来趁他洗澡,偷偷拿他手机将自己的名字改成12520,然后给他发了条__“回复男姓名女姓名(如谢霆锋配张柏芝),马上揭秘你和意中人的缘分指数,找到命中真爱!仅收取普通__费[飞信对对碰]”第二天,我顺利的知道了小三姓名数据库应用系统的定义以数据库为基础的信息系统通常称为数据库应用系统,它一般具有信息的采集、组织、__、抽取、综合和传播等功能数据库应用系统的__是一项软件工程,但又有自己特有的特点,所以特称为“数据库工程”数据库系统生存期的定义我们把数据库应用系统从开始规划、设计、实现、维护到最后被新的系统取代而停止使用的整个期间,称为数据库系统生存期一般分为如下7个阶段
1、规划阶段a定义对于数据库系统,特别是大型数据库系统或大型信息系统中的数据库群,规划阶段是十分必要的,规划的好坏直接影响到整个系统的成功与否b步骤i.系统调查;ii.可行性分析(技术、经济、效益、法律等方面);iii.确定数据库系统的总目标,并对应用单位的工作流程进行优化和制定项目__计划
2、需求分析阶段a定义是计算机人员(系统分析员)和用户双方共同收集数据库所需要的信息内容和用户对处理的需求,并以需求说明书的形式确定下来,作为以后系统__的指南系统验证的依据b步骤i.分析用户活动、产生业务流程图;ii.确定系统范围,产生系统关联图;iii.分析用户活动涉及的数据,产生数据流图(DataFlowDiagram,DFD);iv.分析系统数据,产生数据字典(包括数据项、数据结构、数据流、数据存储和处理)
3、概念设计阶段a定义设计人员仅从用户角度看待数据及处理需求和约束,尔后产生一个反映用户观点的概念模型,得到一个与DBMS无关的概念模型概念设计的目标是产生反映用户单位信息需求的数据库概念结构,即概念模型,概念模型__于计算机硬件结构,__于数据库管理系统b步骤i.进行数据抽象、设计局部概念模型ii.将局部概念模型综合成全局概念模型iii.评审
1.用户评审重点放在确认全局概念模型是否准确完整地反映了用户的信息需求和现实世界事物的属性间的固有关系
2.DBA及应用__人员评审侧重于确认全局结构是否完整,各种成分划分是否合理,是否存在不一致性,以及各种文档是否齐全等c概念模型中常用的数据抽象方法i.聚集是将若干对象和它们之间的__组合成一个新的对象ii.概括是将一组具有某些共同特性的对象抽象成更高一层意义上的对象d概念模型中最著名的方法实体__方法(ER方法),建立ER模型,用ER图表示概念结构,得到数据库的概念模型
4、逻辑设计阶段a定义把概念模型转换成DBMS能处理的逻辑模型,转换过程中要对模型进行评价和性能测试,以便获得较好的模式设计逻辑设计的目的是把概念设计阶段设计好的概念模型转换成与选用的具体机器上的DBMS所支持的数据模型相符合的逻辑结构(包括逻辑模型和外模型)b步骤i.把概念模型转换成逻辑模型ii.设计外模型iii.设计应用程序与数据库的接口iv.评价模型v.修正模型c评价逻辑结构的常用方法i.定量分析包含两个参数处理频率和数据容量,处理频率是在数据库运行期间应用程序的使用次数,数据容量是数据库中记录的个数ii.性能测量是指逻辑记录的访问数目
5、物理设计阶段a定义对于给定的基本数据模型选取一个最适合应用环境的物理结构的过程,就是物理设计完全依赖于硬件环境和数据库软件产品b步骤i.存储记录结构设计ii.确定数据存放位置iii.存取方法的设计iv.完整性和安全性考虑v.程序设计c数据库的物理结构的组成i.存储记录格式ii.存储记录安排iii.存取方法
6、数据库的实现a定义对数据库物理设计初步评价完成后就可以开始建立数据库了b步骤i.定义数据库结构ii.数据装载iii.编制与调试应用程序iv.数据库试运行c数据装载的分类i.对于数据量不是很大的小型系统(可以用人工方法完成数据入库),步骤如下
1.筛选数据
2.转换数据格式
3.输入数据
4.校验数据ii.对于大中型系统(建议设计一个数据输入子系统),步骤如下
1.筛选数据
2.输入数据
3.校验数据
4.转换数据
5.综合数据
7、数据库的运行与维护a定义在数据库试运行结果符合设计目标后,数据库就可以真正投入运行了,数据库的维护工作主要是由DBA来完成的b步骤i.数据库的转存和恢复ii.数据库安全性、完整性控制iii.数据库性能的监控、分析和改进iv.数据库的重组织和重构造
1.重组织数据库运行一段时间后,由于记录的不断增、删、改,会使数据库的物理存储变坏,从而降低数据库存储空间的利用率和数据存取的效率,使数据库的性能下降,这时DBA就要对数据库进行重组织
2.重构造当数据库应用环境发生变化时,会导致实体及实体间的__也发生相应的变化,使原有的数据库设计部能很好地满足新的需求,从而不得不适当调整数据库的模式和内模式零测试数据库系统设计之ER模型
1、ER模型的实体a实体(Entity)是一个数据对象,指应用中可以区分的客观存在的事物;b实体集(EntitySet)是指同一类实体构成的__;c实体类型(EntityType)是对实体集中实体的定义d命名规则在ER模型中,实体用方框表示,方框内注明实体的命名实体名常用大写字母开头的有具体意义的名词表示
2、ER模型的__a__(Relationship)表示一个或多个实体之间的关联关系;b__集(RelationshipSet)是指同一类__构成的__;c__类型(RelationshipType)是对__集中__的定义d命名规则在ER模型中,__用菱形框表示,框内注明__的命名,并用线段将其与相关的实体链接起来__是实体之间的一种行为,所以一般用动词来命名e__的元数i.定义一个__涉及到的实体集个数,称为该__的元数或度数ii.分类
1.一元__同一个实体集内部实体之间的__
2.二元__两个不同实体集、实体之间的__
3.三元__三个不同实体集实体之间的__
4.多元__多个不同实体集实体之间的__f__类型的约束i.定义__类型的约束限制了参与__的实体的数目ii.分类
1.基数约束实体集E1和E2之间有二元__,则参与一个__中的实体数目称为映射基数__ppingCardinalities
2.参与约束如果实体集E中的每个实体都参与__集R的至少一个__中,我们称为实体集E完全参与__集R双线边表示;如果实体集E中只有部分实体参与__集R的__,我们称实体集E部分参与__集R单线边表示
3、ER模型的属性a属性(Attribute)实体的某一特性称为属性;b实体标识符在一个实体中,能够唯一标识实体的属性或属性集称为实体标识符;c属性域属性的可能取值范围称为属性域,也称为值域d命名规则在ER模型中,属性用椭圆形框表示,加下划线的属性为标识符
4、ER模型属性的分类a根据属性类别分类i.简单属性(______Attribute)是不可再分割的属性,如年龄、性别ii.复合属性(CompositeAttribute)是可再分解为其他属性的属性,如地址属性可分为省、市、区等b根据取值特点分类i.单值属性(Single-ValuedAttribute)指的是同一实体只能取一个值,如一个学生只能有一个年龄;ii.多值属性(Multi-ValuedAttribute)指的是同一个实体的某些属性可能取多个值,如一个学生的学位可以是学士、硕士、__用双线椭圆形表示iii.为了防止数据冗余,多值属性的变换方法有
1.将原来的多值属性用几个新的单值属性来表示
2.将原来的多值属性用一个新的实体类型来表示,c根据存储特点分类i.派生属性(DerivedAttribute)有时候,两个或两个以上的属性值是相关的,此时可以从其他属性值推导出值的属性,不必存储在数据库内,如职工中实发工资可以从基本工资、奖金推导出来虚线椭圆形表示ii.存储属性(StoredAttribute)需要存储值的属性,如年龄d根据是否允许为空特点分类i.空值当实体在某个属性上没有值时应使用空值(NullValue),如是否婚配ii.非空值不能为空的属性值,如___号
5、ER模型的操作a定义在数据库设计过程中,常常要对ER图进行种种变化,这种变化称为ER模型的操作,包括实体类型、__类型和属性的__、合并、增删等等b分类i.__如把教师实体__成男教师和女教师ii.合并如把男教师和女教师合并成教师iii.增加如增加校长这个实体iv.删除如删除校长这个实体
6、增强版的ER模型a定义ER模型的基本元素实体、__和属性已经建立了许多应用环境的ER模型,但是有一些特殊的语义无法用以上三种元素表达,因此需要扩充基本ER模型,从而出现了增强版的ER模型b术语i.弱实体与强实体
1.定义在现实世界中,有些实体对于另一些实体具有很强的依赖关系,也就是一个实体的存在必须以另一实体的存在为前提,此时称前者为弱实体,后者为强实体ER图中弱实体用双线矩形框表示,与弱实体的__用双线菱形框表示,__之间也用双线边ii.子类实体与超类实体
1.定义当较低层上实体类型表达了与之__的较高层上的实体类型的特殊情况时,就称较高层上实体类型为超类型(Supertype),较底层上实体类型为子类型(Subtype)在数据库设计中,从子类到超类的抽象化过程称为“概化”,从超类到子类的抽象化过程称为“特化”
2.性质子类和超类之间具有继承特点,即子类实体继承超类实体的所有属性,但子类实体本身可以包含比超类实体更多的属性继承性是通过子类实体和超类实体有相同的实体标识符实现的
3.特化过程的约束a不相交约束是指特化的子类是否相交i.不相交在特化过程中子类必须是不相交的d表示不相交ii.重叠在特化过程中子类是可以相交的o表示重叠b完备性约束i.整体特化指定超类中的每个实体必须是特化中某个子类的一个成员ii.部分特化允许超类中的实体可以不属于任何一个子类
4.特化过程的规则i.从超类删除一个实体意味着该实体被自动地从它隶属的所有子类中删除ii.向超类中插入一个实体意味着该实体被强制地插入到满足这两种约束的子类中iii.向一个整体特化的超类中插入一个实体,意味着实体被强制地插入到至少一个特化的子类中
7、采用ER模型的数据库概念设计步骤a设计局部ER模型i.确定局部结构范围ii.定义实体iii.定义__iv.分配属性b把各局部ER模型综合成一个全局ER模型i.确定公共实体类型ii.合并局部ER模型建议两两合并,是为了减少合并工作的复杂性iii.消除冲突
1.属性冲突
2.结构冲突
3.命名冲突c全局ER模型的优化i.合并实体类型ii.消除冗余属性iii.消除冗余__零测试数据库系统设计之关系模型
(三)“请问正方二辩,你有女朋友吗?”“这跟今天的辩题没有关系”“请正面回答我的问题”“……没有”“那你愿意做我男朋友吗?”“啊???我愿意……”
1、基本术语a关系模型用二维表格表示实体集,用关键码表示实体之间__的数据模型;b属性在关系模型中,字段称为属性;c属性值字段值称为属性值;d关系模式记录类型称为关系模式;e元组记录称为元组;f关系元组的__称为关系;g元数关系中属性个数称为元数;h基数元组个数称为基数;i关键码由一个或多个属性组成的称为关键码;j超键在关系中能唯一标识元组的属性集称为关系模式的超键;k候选键不含有多余属性的超键称为候选键;l主键用户选作元组标识的候选键称为主键;m外键如果模式R中属性K是其他模式的主键,那么K在模式R中称为外键
2、__论中定义的关系a关系的定义关系是一个属性数目相同的元组的__b关系的规范性限制i.关系中每一个属性值都是不可再分解的;ii.关系中不允许出现重复元组;iii.由于关系是一个__,因此不考虑元组间的顺序;iv.元组中的属性理论上是没有顺序的,但是用时按习惯考虑列的顺序
3、三类完整性约束a实体完整性规则(EntityIntegrityRule)要求关系中元组在组成主键的属性上不能有空值,比如学号不能为空,这是唯一标识;b参照完整性规则(Referen__IntegrityRule)如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么在R2的关系中,K的取值只允许两种可能,或者为空值,或者等于R1关系中某个主键值,比如学生表上的课程号可以是空值;主要由如下三点变通i.外键和相应的主键可以不同名,只要定义在相同值域上即可;ii.R1和R2也可以是同一个关系模式,此时表示了同一个关系中不同元组之间的__;iii.外键值是否允许空,应视具体问题而定c用户自定义的完整性规则用户可以针对具体的数据约束,设置完整性规则,由系统来检验实施,以实用统一的方法处理它们,比如学生的年龄定义为两位数,大于两位数就报错
4、ER图模型到关系模式转换(概念设计到逻辑设计)的步骤a(实体类型的转换)将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键;b(__类型的转换)根据不同的情况做不同的处理i.如果实体间__是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的键(作为外键)和__类型的属性;ii.如果实体间__是1:N,则在N端实体类型转换成的关系模式中加入1端实体类型的键(作为外键)和__类型的属性;iii.如果实体间__是M:N,则将__类型也转换成关系模式,其属性为两端实体类型的键(作为外键)加上__类型的属性,而键为两段实体键的组合
5、采用ER模型的数据库逻辑设计步骤a导出初始关系模式集把概念设计的结果转换成初始关系模式集b规范化处理c模式评价d模式修正e设计子模式逻辑设计阶段必须同时设计出外部模式
6、关系模型的组成a数据结构数据库中全部数据及其相互__都被组织成关系(二维表)的形式,关系模型基本的数据结构是关系;b数据操纵关系模型提供一组完备的高级关系运算,以支持对数据库的各种操作,关系运算分成关系代数和关系演算两种;c数据完整性规则数据库中必须满足实体完整性,参照完整性和自定义完整性等三类完整性规则零测试。