软考之---数据库

软考进行时,再次对数据库部分进行学习,对数据库概念部分总结上图:

其中,宏观来说,我们所面对的数据库都是从ER图开始的,从概念模型到逻辑模型再到最后的内部模型,大概的数据库雏形就出来了,然后就是根据关系中的键,范式,函数依赖等来优化数据库结构,避免数据冗余等.数据库建好以后,我们在使用过程中就是对数据库的增删改查,最底层的操作便是运算中的关系运算和元组运算,通过不同的运算从数据库中执行我们响应的操作.

易混淆知识分析:

1:超键,候选键,主键

三者的关系如图中,类似于面向对象中的继承关系,主键作为父类,超键和候选键都是主键的子类.超键是唯一标识元组的属性集合,候选键是超键去除多余属性后的属性集或属性,主键是用户从候选键中选取的作为元组标识的键.

学生(学号,姓名,性别,专业号,年龄)

其中(学号,姓名)是超键(唯一标识元组的属性集合),学号是候选键(去除姓名这个多余的属性),同时也是主键.

2:范式

第一范式即属性不可再分割的关系模型

学生(学号,姓名,联系方式)

其中的联系方式可以分为多种,QQ,手机号等,所以不满足第一范式,应该将联系方式分解,或者定性为某一种联系方式.

修改为:学生(学号,姓名,QQ,手机号)

第二范式即不含局部函数依赖,只有完全函数依赖的关系模式

选课关系(学号,课程号,成绩,学分)

其中可知关键字为(学号,课程号),而学分仅仅函数依赖于课程号,所以存在部分依赖.不满足第二范式,应该将关键字分解.

学生关系(学号,课程号,成绩) 课程关系(课程号,学分)

第三范式即无非主属性传递函数依赖的关系模式

学生(学号,姓名,系别,系地址)

其中存在学号―>系别->系地址,而系别->学号却不存在,即学号->系地址这层关系是通过系别->系地址来间接实现的而不是直接决定的.第三范式即不存在传递依赖.应将其分解.

学生(学号,姓名,系别) 系别(系名称,系地址)

三者的关系也类似于继承关系,第一范式为父类,第二第三范式为其子类.

数据库和数据结构从不同的角度解决了数据存储的问题,数据库更像是站在数据结构的肩膀上拥有友好,方便操作方式的一种存储方式。但是我们了解了数据库的基本知识还要再来看看较为底层的东西--数据结构(见下篇博客)

时间: 2024-08-03 14:19:32

软考之---数据库的相关文章

重识数据库设计——【软考】

之前做机房的时候写过一篇[个人机房重构]--创建数据库三部曲,主要写了三范式.E-R图简单创建,现在看起来,光追求宏观不考虑细节是不够的.软考下午题里面的数据库设计的题,让我恶补了一下之前的知识漏洞. 这个题主要分为三部分:补充E-R图,转换成关系模式并找出主外键,偶尔会考察一下跟数据库有关的概念(比如弱实体). 磨刀不误砍柴工,要想做好这道题,主要是E-R图转换成关系模式的算法存在问题,下面是对我错因的整理,希望能对大家有些帮助. 二元联系: 1)如果实体间联系是1:1,则任一一关系模式属性加

软考下午题详解--数据库设计

在前面的两篇博客中,小编分别对软考下午试题中的数据流图设计和uml图的相关知识点进行了详细的阐述,今天我们继续来看软考下午题中的大题部分---数据库设计,数据库的设计我们也已经早早的接触过,在第一次机房收费系统的时候我们直接用的是别人的脚本,也没有想过当时的数据库存在什么样的问题,等到个人重构机房的时候,我们需要重新设计数据库,这个时候,就不再是傻傻的导入数据库脚本文件这么简单了,我们需要从需求分析开始,自己设计数据库,什么三范式,主外键关联这都是我们需要注意的地方,可以这么说数据库设计贯穿我们

软考数据库-无损联接分解

定义:无损联接分解是将一个关系模式分解成若干个关系模式后,通过自然联接和投影等运算仍能还原到原来的关系模式,则称这种分解为无损联接分解. 可还原 例1:关系模式:成绩(学号,姓名,课程号,课程名,分数) 函数依赖:学号->姓名,课程号->课程名, (学号,课程号)->分数 若将其分解为下面三个关系模式: 成绩(学号,课程号,分数) 学生(学号,姓名) 课程(课程号,课程名) 问,这样的分解是无损分解么? ---- 由于:学号->姓名,所以: 成绩(学号,课程号,分数,姓名) 由于:

软考数据库-数据结构

每年5月22日,是软考数据库考试时间,距现在还有158天,过完年时间就显示非常紧张了,一年一度的软考正在向我们逼近.说起来软考要考的知识还是挺多的,我会用一系列的文章来为大家介绍软考中的各个知识块,大家一起讨论学习,希望明年各位都能领到一个红本本,呵呵. 首先用一个图来看一下数据结构中各个知识点之间的关系. 其中树包括: 图包括: 1.线性表 顺序表与链表部分比较简单.也没多少概念,循环队列的地方注意一下,一般画个图分析一下即可. 2.树 树的部分概念比较多.一般对于基本概念掌握好就Ok.对于某

软考——(4)数据库

去年的这个时候,我们在自考中已经学过了数据库的相关知识.但毕竟考的太浅,当中非常多知识仅仅是了解了一个名词罢了.今年往外借书的时候随手翻了一遍,原来自考书上讲的挺好的,仅仅是那时候自己没有实践所以没有共鸣. 前几天徒弟让我给她说下数据库这本书.她提了几个问题. 1.触发器.视图.存储过程--简答题怎么答? 2.E-R模型为什么要转为关系模型? 3.函数依赖 拿第一个问题举例.书上说.触发器提供给程序猿和数据分析员来保证数据完整性的一种方法.确实,假设你没实用过触发器的话,就真的是把知识硬装进脑子

软考(4)——数据库

去年的这个时候,我们在自考中已经学过了数据库的相关知识.但毕竟考的太浅,其中很多知识只是了解了一个名词罢了.今年往外借书的时候随手翻了一遍,原来自考书上讲的挺好的,只是那时候自己没有实践所以没有共鸣. 前几天徒弟让我给她说下数据库这本书,她提了几个问题. 1.触发器.视图.存储过程--简答题怎么答? 2.E-R模型为什么要转为关系模型? 3.函数依赖 拿第一个问题举例,书上说,触发器提供给程序员和数据分析员来保证数据完整性的一种方法.确实,如果你没有用过触发器的话,就真的是把知识硬装进脑子里的.

软考之路(六)---数据库---深入浅出 三层模式两级映像

在备课数据库的时候,再一次遇到这三个概念,兴奋起来了,这次务必要转化为自己的话说出来,这样的知识点,才算理解吧(今后学习也是这样,学习的内容要用自己的话说出来为标准,才算有一定的理解). 我们首先,谈谈模式的概念,模式为某种事物的标准形式或使人可以照着做的标准样式.这个词用在数据库中,它是由英文的Schema翻译过来的.在数据库管理系统中,其模式是指数据模式(data schema),是数据抽象的结果表示,如用关系模型抽象学生的基本信息表示为:学生(学号,姓名,性别,出生年月,入校年月,专业编号

软考数据库-系统开发与软件工程

关于软件工程方面的知识,相信大家都不陌生,软考中这部分知识也是重点考察范围,关于软件工程的知识点非常的琐碎,我把这部分的知识点分成了五部分,分别是软件工程的基础知识.开发管理.需求分析.软件设计.测试与维护. 1.第一部分介绍软件工程的基础知识,它包括生存周期,开发模型,开发方法,重点要掌握几种开发模型的关联,这是软考中考频非常高的知识点. 2.第二部分介绍开发过程中的项目管理.过程管理.和质量管理. 项目管理的知识点比较多,但也确实考点也多,大家要好好的看看. 过程管理和质量管理的内容了解就好

备战软考(4) 软考下午题攻略

软考的全称是全国计算机技术与软件专业技术资格(水平)考试,而我们今天讨论的是其中的中级职称的一个科目----软件设计师.这个级别的考试主要分为两大块基础知识和应用技术,分别在考试当天的上午和下午进行测试. 对于基础知识这块,因为考查的知识面很广,也很细,个人而言无法找到一个行之有效的办法能让你迅速的提高上午题的成绩,因此就不在这里总结了,我们要做的就是看书,做题,再看书,再做题,然后接着看书,在看书与做题的反复中,一个一个的消灭自己的知识盲点和填补知识漏洞,这样慢慢的也许会有提升,但不要企图短时