首页 > 数据库 >数据库系统的三层架构

数据库系统的三层架构

时间:2023-03-31 12:44:22浏览次数:38  
标签:逻辑 实体类 架构 访问 数据库系统 三层 数据

1、传统的数据库访问程序:

(1)数据库访问和数据处理放在一起实现

(2)用户界面层直接调用数据访问实现

(3)整个系统功能放在同一项目中实现

 

 2、三层架构模式

 

三层架构:

 

 

 (1)界面层(UI)

  为用户提供一种交互式操作界面。

作用:

  根据用户的具体需求,为每个功能模块部署输入控件、操作控件和输出控件,并调用业务逻辑层中类的方法实现功能。

(2)业务逻辑层(BLL)

  是界面层与数据访问层之间的桥梁,负责数据处理、传递。

作用:

  为用户的每个功能模块,设计一个业务逻辑类。此时,需要利用相关的数据访问层类中,记录操作方法的特定集合,来实现每个逻辑功能。

(3)数据访问层(DAL)

  实现对数据的保存和读取操作

作用:

  封装每个数据表的基本记录操作,为实现业务逻辑提供数据库访问基础。

 

3、三层之间的调用关系

(1)数据访问层的类,直接访问数据库,实现基本记录操作。

(2)业务逻辑层的类,调用相关的数据访问层的类,实现用户所需功能。

(3)界面层:部署控件后,调用业务逻辑层的类,实现功能。

 

4、三层架构的优点

(1)将应用程序的功能分层后,对于固定的DBMS,数据访问层基本可以不变。

(2)一旦用户的需求改变,首先修改业务逻辑层,界面层稍做改动即可。

(3)这种做法使程序的可复用性、可修改性,都得到了很好的改善。

 

5、三层之间的依赖关系

 

 

6、三层之间的数据传递方向

 

 

7、实体类

  一般情况下,三层架构除了基本的界面层、业务逻辑层和数据访问层之外,还有一个实体层Entity。

  Entity层中存放的是实体类,来实现数据对象实体和方法分离,以便在多个层中传递数据。

需要实体类的原因:

  因为结果集它不具备OO的优点,实现数据检索比较繁琐、易出错,它使数据架构暴露在业务逻辑层和界面层。为了消除这些局限性需要使用实体类。

  从OOP思想考虑,它是完全受控制的对象,它具有面向对象的基本特征,它可以自定义行为,它消除了关系数据和对象之间的差异。

  

  将关系表中的每个字段抽取为类的字段(注意类型匹配),并封装成属性,设计构造函数,来将关系表抽取为类。这种类就称为实体类。

  这个抽取过程称为对象关系映射(ORM)。

  对象关系映射Object Relational Mapping,简称ORM,是为了解决面向对象的类与关系数据库的表之间存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。

  本质上就是将数据从一种形式转换到另外一种形式。

  

实体类在各层间的传递:

 

标签:逻辑,实体类,架构,访问,数据库系统,三层,数据
From: https://www.cnblogs.com/qiqi-yi/p/17275914.html

相关文章

  • 架构分析实践
     功能质量约束组织业务目标:系统定位为快捷房屋租赁系统提高签约率未来期望:通过租赁系统中介者为用户提供便利商业质量:考虑非功能需求的质量商业约束: 集成约束: 用户用户:房主租赁者 房主功能:(管理员)登记房屋信息登记房屋信息收取手续费变......
  • 微服务架构详解(史上最全图文解读)
    微服务架构详解(史上最全图文解读) 目录微服务架构定义微服务架构特点什么时候需要微服务架构微服务架构组件微服务架构有哪些SpringCloudSpringCloud......
  • 芯原助力蓝洋智能部署基于Chiplet架构的芯片产品
    芯原股份今日宣布AIChiplet和SoC设计公司南京蓝洋智能科技(简称“蓝洋智能”)采用芯原多款处理器IP部署基于可扩展Chiplet架构的高性能人工智能(AI)芯片,面向数据中心、高性能计......
  • LoongArch架构迅为2K0500开发板
    LoongArch架构迅为2K0500开发板......
  • 基于stm32mp157 linux开发板ARM裸机开发教程3:Cortex-A7 架构与工作模式(连载中)
    前言:目前针对ARMCortex-A7裸机开发文档及视频进行了二次升级持续更新中,使其内容更加丰富,讲解更加细致,全文所使用的开发平台均为华清远见FS-MP1A开发板(STM32MP157开发板)针对......
  • BI产品应用微服务架构的可能性探究
     作者:邓天佐 “微服务”是近年来(2014年起)逐步兴起的软件架构概念,有趣的是,虽然很多的软件都在谈“微服务”,但其并没有一个统一且官方的定义和指导手册。 简而言之,微......
  • 【Redis】多线程Redis的N种架构
    【Redis】多线程Redis的N种架构为什么需要多线程的Redis在单点上利用更多的资源--热点资源官方的多线程只看左边部分其实还是单线程的形式,设置io Thread的数量==》......
  • Tomcat架构组成
    Tomcat架构组成Tomcat是一个免费的开放源代码的Servlet容器,Tomcat容器是对Servlet规范的实现,也称为Servlet引擎。Tomcat为了更好的处理来自客户端的请求,设计了一套功......
  • 大型高并发高负载网站的系统架构
    一个小型的网站,可以使用最简单的html静态页面就实现了,配合一些图片达到美化效果,所有的页面均存放在一个目录下,这样的网站对系统架构、性能的要求都很简单。随着互联网业务......
  • 单体架构中静态资源访问不到的处理
      importlombok.extern.slf4j.Slf4j;importorg.springframework.context.annotation.Configuration;importorg.springframework.web.servlet.config.annotation.......