三级数据库知识点学习(五)

文章目录

  • 一、IDEFO图
  • 二、IDEF1X图
  • 三、应用服务器
    • 1.web服务器
    • 2.应用服务器
  • 三、事务隔离级别
    • 1.事物
    • 2.事务隔离级别

一、IDEFO图

IDEFO即功能模型。在学习这个名词之前,我甚至根本没听说过IDEFO图,只知道IDE是集成开发环境。
IDEF系列方法是由美国空军的ICAM(Integrated Computer Aided Manufacturing)计划中首次提出一种复杂系统分析与设计方法,它包括了功能建模(IDEF0)、信息建模(IDEF1)、动态建模(IDEF2)、数据建模(IDEF1x)、过程描述获取方法(IDEF3)等。这里描述的是功能建模(IDEFO)。
IDEFO图以图形表示完成一项活动所需要的具体步骤、操作、数据要素以及各项具体活动之间的联系方式。
先来看一个IDEFO图示例:
三级数据库知识点学习(五)_第1张图片
这是一个医院体检的功能活动图。其中

  • 框图:表示一种活动,是IDEFO最基本的原件通常使用动词描述活动特性,如图中的“尿检”。
  • 输入:实行或完成特定活动所需的资源,置于框图的左侧,如图中的“化验单”。
  • 输出:经由活动处理或修正后的产出,置于框图的右侧,如图中的“化验结果”。
  • 控制:活动所需的条件限制,置于框图的上方,如图中的“参考指标”。
  • 机制:完成活动所需的工具,包括人员、设施及装备,置于框图的下方,如图中的“化验科”。

二、IDEF1X图

IDEF1X即数据建模。是上面提到的IDEF方法中的一种建模方法。
IDEF1X是IDEF1的扩展版本,是在E-R方法的原则基础上,增加了一些规则,使语义更为丰富的一种方法。
概念模型设计常用IDEF1X方法,它就是把实体-联系方法应用到语义数据模型中的一种语义模型化技术,用于建立系统信息模型。
IDEF1X具有以下特性:

  • 支持概念模式的开发:IDEF1X语法支持概念模式开发所必需的语义结构,完善的IDEF1X模型具有所期望的一致性、可扩展性和可变性。
  • IDEF1X是一种相关语言:IDEF1X对于不同的语义概念都具有简明的一致结构。IDEF1X语法和语义不但比较易于为用户掌握,而且还是强健而有效的。
  • IDEF1X是便于讲授的:语义数据模型对许多IDEF1X用户都是一个新概念。因此,语义的易教性是一个重要的考虑因素,设计IDEF1X语言是为了教给事务专业人员和系统分析人员使用,同样也是教给数据管理员和数据设计者使用的。因此,它能用作不同学科研究小组的有效交流。
  • IDEF1X已在应用中得到很好的检验和证明:IDEF1X是基于前人多年的经验发展而来,它在美国空军的一些工程和私营工业中充分地得到了检验和证明。
  • IDEF1X是可自动化的:IDEF1X图能由一组图形软件包来生成。商品化的软件还能支持IDEF1X模型的更改、分析和结构管理。

三、应用服务器

应用服务器是指通过各种协议把商业逻辑曝露给客户端的程序。它提供了访问商业逻辑的途径以供客户端应用程序使用。应用服务器使用此商业逻辑就像调用对象的一个方法一样。
服务器的概念我在前面文章中的B/S架构里面简单提到过,这里在做一个服务器中的应用服务器的介绍。

说到应用服务器,先来看看web服务器是什么。

1.web服务器

web服务器可以解析HTTP协议
当web服务器接收到一个HTTP请求,会返回一个HTTP反应,例如送回一个HTML页面。
为了处理一个请求,web服务器可以响应一个静态页面或图片,进行页面跳转,或者把动态响应的产生委托给一个其他的程序,例如CGI脚本、JSP脚本、servlets、ASP脚本、服务器端JavaScript,或者一些其他的服务器技术。无论他们的目的如何,这些服务器端的程序通常产生一个HTML的响应来让浏览器可以浏览。
简单来说,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。与客户端的网络浏览器配合。因为Web服务器主要支持的协议就是HTTP,所以通常情况下HTTP服务器和WEB服务器是相等的。

2.应用服务器

应用服务器,全称为应用程序服务器。根据我们的定义,作为应用程序服务器,它通过各种协议,可以包括HTTP,把商业逻辑暴露给客户端应用程序。web服务器主要是处理像浏览器发送HTML以供浏览,而应用程序服务器提供访问商业逻辑的途径以供客户端应用程序使用。应用程序使用此商业逻辑就像你调用对象的一个方法一样。
应用程序服务器的客户端可能会运行在一台PC、一个Web服务器或者甚至是其它的应用程序服务器上。在应用程序服务器与其客户端之间来回穿梭的信息不仅仅局限于简单的显示标记。相反,这种信息就是程序逻辑。正是由于这种逻辑取得了数据和方法调用的形式而不是静态HTML,所以客户端才可以随心所欲的使用这种被暴露的商业逻辑。
在大多数情形下,应用程序服务器是通过组件的应用程序接口把商业逻辑暴露给客户端应用程序的,例如基于J2EE应用程序服务器的EJB组件模型。此外,应用程序服务器可以管理自己的资源,例如看大门的工作包括安全、事务处理、资源池和消息。就像Web服务器一样,应用程序服务器配置了多种可扩展和容错技术。

微软对应用程序服务器的定义为“作为服务器执行共享业务应用程序的底层的系统软件”。就像文件服务器为很多用户提供文件一样,应用程序服务器让多个用户可以同时使用应用程序。

三、事务隔离级别

1.事物

事物是逻辑上的一组操作,要么都执行,要么都不执行。
拿转账来说,转账方给接收方转账,如果一方成功另一方必定成功,如果一方失败,那么就进行回滚两方都失败。
事物的特性(acid)

  • 原子性:事物是最小的执行单位,不允许分割。事物的原子性确保动作要么全部完成,要么完全不起作用。
  • 一致性:执行事务前后,数据保持一致。
  • 隔离性:并发访问数据库时,一个用户的事物不被其他事物所干扰,各并发事物之间数据库时独立的。
  • 持久性:一个事物被提交之后。它对数据库中数据的改变是持久的,即使数据库发生故障也不应该对其有任何影响。

2.事务隔离级别

SQL定义了四个隔离级别,分别为

  1. read uncommitted(未提交读):最低的隔离级别,允许读取尚未提交的数据变更,可能会导致脏读、不可重复读或幻读。
  2. read committed(已提交读):允许读取并发事物已提交的数据,可以阻止脏读,但是不可重复读或幻读仍有可能发生。
  3. repeatable(重复读):对同一字段的多次读取都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读或不可重复读,但幻读仍有可能发生。
  4. serializable(可串行化):最高的隔离级别,完全服从acid的隔离级别。所有的事物依次逐个执行,这样事物之间就完全不可能产生干扰,也就是说该级别可以防止脏读、不可重复读和幻读。
隔离级别 脏读(dirty read) 不可重复读(nonrepeatable read) 幻读(phantom read)
read uncommitted(未提交读) 可能 可能 可能
read committed(已提交读) 不可能 可能 可能
repeatable(重复读) 不可能 不可能 可能
serializable(可串行化) 不可能 不可能 不可能

MySQL默认的事物处理级别是repeatable(重复读)

(PS:从我第一次在CSDN写文章到现在已经2个月了,还真是挺快的,转眼两个月过去,但是我感觉还是什么都不会。这两个月看了许多关于考研和面试的文章,每次看完我都一阵感慨,如果是我参加的话,面对那些题目和提问,肯定凉凉!前面N系列的文章,我都是凑齐十个知识点才发表一篇文章,而这一篇只有三个,因为我发现我对这些知识的认识还是太浅薄了,需要深入挖掘。文章中若有错误或者不妥的地方,还请大佬们指出,同时希望我的文章能对读者有所帮助。)

你可能感兴趣的:(三级数据库知识点学习,数据库,sql,mysql)