当前位置:懂科普 >

综合知识

> 数据库与逻辑无关吗

数据库与逻辑无关吗

数据库与逻辑无关吗

数据库与逻辑有关,数据库是具有逻辑关系和确定含义的数据集合。逻辑上无关的数据集合不能称为数据库。数据库是存放数据的仓库,它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。当今世界是一个充满着数据的互联网世界,充斥着大量的数据。数据的来源有很多,比如出行记录、消费记录、浏览的网页、发送的消息等。除了文本类型的数据,图像、音乐、声音都是数据。

小编还为您整理了以下内容,可能对您也有帮助:

在数据库系统中,数据的物理结构必须与逻辑结构一致是否正确 正确的答案是

不正确,一张表可能对应多个数据文件,一个数据文件里面可能包括多张表

数据库和逻辑数据库是一样的吗?有啥区别吗?

数据库和逻辑数据库是两码事,二者区别如下:

1、定义的区别:

逻辑结构:数据元素之间的逻辑关系,即人对数据的理解,而进行抽象的模型 .

物理结构:数据元素在计算机中的存储方法,即计算机对数据的理解,逻辑结构在计算机语言中的映射。

2、设计的区别:

构设计的步骤:概念模型、一般数据模型、特定的数据模型、优化的数据模型。

物理设计的任务是根据具体计算机系统的特点,为给定的数据模型确定合理的存储结构和存取方法.所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。

数据库逻辑模型和数据表要一致吗

数据库逻辑模型与数据表的设计之间存在着密不可分的联系,因为逻辑模型是对数据表的规范化描述,并定义了数据表之间的关系和约束条件。逻辑模型的设计应该遵循数据库规范,包括正确的数据类型、字段大小、主键、外键等,这些都是对数据表创建时必须严格遵守的。逻辑模型中的属性、实体、关系都应该与数据表一一对应,这样可以保证在后续的数据库实现中高效且正确地存储数据。因此,逻辑模型与数据表要一致,能够符合常规的数据库设计规则,才能保证数据库的稳定性、可靠性和易用性。

把逻辑判断都放入数据库好不好?

逻辑运算是放在数据库里还是程序里,都是可以的,特别是现在数据库查询语言表达能力越来越强,执行引擎效率越来越来越高,进行复杂的逻辑运算一点问题都没有,不亚于应用程序,所以你说的这个问题目前是有争议的,双方都有支持者,个人意见视情况而定,如果对数据库编程很熟练,而且数据库服务器性能足够强悍,就可以把逻辑放在数据库里,特别是很多逻辑实际上包括很多数据库操作,这样的逻辑写在存储过程的好处是明显的,可以让过程得到优化并且减少网络开销,当然这样也有不好的地方,就是没有程序环境中那么多可以重用的api,代码维护起来代价也比较高,总之,自己权衡利弊。

概念数据层所涉及的是数据库所有对象的物理情况,而不是它们的逻辑关 。( )

【答案】:×

概念数据层是数据库的中间一层,是数据库的整体逻辑表示,指出了每个数据的逻辑定义及数据间的逻辑联系,是存储记录的集合,它所涉及的是数据库所有对象的逻辑关系,而不是它们的物理情况,是数据库管理员概念下的数据库。

什么是数据库逻辑独立性?

逻辑性是用户的应用程序与数据库的逻辑结构是相互的。即,当数据的逻辑结构改变时,用户程序也可以不变。

简述数据库的逻辑结构

数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。 数据库的基本结构分三个层次,反映了观察数据库的三种不同角度:

1、物理数据层。它是数据库的最内层,是物理存贮设备上实际存储的数据的集合。这些数据是原始数据,是用户加工的对象,由内部模式描述的指令操作处理的位串、字符和字组成;

2、概念数据层。它是数据库的中间一层,是数据库的整体逻辑表示。指出了每个数据的逻辑定义及数据间的逻辑联系,是存贮记录的集合。是数据库管理员概念下的数据库;

3、逻辑数据层。它是用户所看到和使用的数据库,表示了一个或一些特定用户使用的数据集合,即逻辑记录的集合。 数据库不同层次之间的联系是通过映射进行转换的。

什么是数据库的逻辑独立性?什么是数据库的物理独立性?为什么数据库系统具有数据和

物理性是指用户的应用程序与存储在磁盘上的数据库中数据是相互的。即,数据在磁盘上怎样存储由DBMS管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。

逻辑性是指用户的应用程序与数据库的逻辑结构是相互的,即,当数据的逻辑结构改变时,用户程序也可以不变。

数据库系统的数据可以为多个程序服务,程序也可以调用多个数据库中数据,这就是数据和程序的性。

什么是数据库的概念设计,逻辑设计,物理设计,以及三者的关系?

1.概念设计;对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中住处的分类、聚集和概括,建立抽象的概念数据模型。这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息储存、查询和加工的要求等。所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。

以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。

2.逻辑设计;主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。

3.物理设计;根据特定数据库管理系统所提供的多种存储结构和存取方法等依赖于具体计算机结构的各项物理设计措施,对具体的应用任务选定最合适的物理存储结构(包括文件类型、索引结构和数据的存放次序与位逻辑等)、存取方法和存取路径等。这一步设计的结果就是所谓“物理数据库”。

4.三者关系;由上到下,先要概念设计,接着逻辑设计,再是物理设计,一级一级设计

服务逻辑异常什么意思?

【业务逻辑异常和执行异常】

对于异常我们只分业务逻辑异常(不符合业务规则的异常)和执行异常(系统自己的异常,比如什么conn出错,某某dll缺少依赖)

业务规则异常自己继承实现一个mylogic异常类就行,无论你是什么dal,你对业务部分异常都抛这个就成

执行异常通常不用管直接写入log4net中,以便维护人员排查错误

异常你得分开来看,

一种是可预见异常,简单的例子就是除0啊强转啊导致的,这里异常不但不应该抛出反而应该在逻辑层就被排除掉。

另一种是不可预见的异常,比如数据库连接在执行时突然断了,这类异常完全和逻辑无关,所以放逻辑层处理显然不合适,必须记录日志,可能的话要通知相关人员。

☆☆☆☆☆

异常可以分为系统异常和业务异常,业务异常必须被转化为业务执行的结果

DataAccess层不得向上层隐藏任何异常

要明确区分业务执行的结果和系统异常。比如验证用户的合法性,如果对应的用户ID不存在,不应该抛出异常,而是返回(或通过out参数)一个表示验证结果的枚举值,这属于业务执行的结果。但是,如果在从数据库中提取用户信息时,数据库连接突然断开,则应该抛出系统异常

BL层应根据业务的需要捕获某些系统异常,并将其转化为业务执行的结果

UI层除了从调用BL层的API获取的返回值来查看业务的执行结果外,还需要截获所有的系统异常,并将其解释为友好的错误信息呈现给用户

一般使用log4net实现日志记录和自定义异常处理

标签: 逻辑 无关 数据库
  • 文章版权属于文章作者所有,转载请注明 https://dongkepu.com/zonghezhishi/r5yqrd.html