`
zhyy22145
  • 浏览: 14172 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

《阿勇java建站教程》2.3-数据库特殊应用

阅读更多

 

2.3-数据库特殊应用
大家好,我是阿勇,感谢大家阅读这篇文章,并且希望大家能将《阿勇java建站教程》全部看完!
本节继上节内容(T-SQL)之后继续说说数据库相关的内容。这节说的是数据库的“特殊”应用,其实是将数据库应用在了你意想不到的地方。举个例子:
我们打游戏的时候,会对游戏进行一些设置像cs里对鼠标灵敏度、视频、声音进行设置,这样以后在玩这个游戏时,设置都能被保存且生效。是否想过这样的问题:对软件进行的设置都保存在哪?怎么保存的?又是怎么生效的?
软件里的设置参数在软件里就像定义了一个变量,我们可以对该变量进行赋值、修改,比如我们设置了软件的语言为简体中文,此时这个变量的值就是“简体中文”,软件在使用该变量时获得的值就是“简体中文”,软件运行时其变量是有生命周期的,一般的软件停止运行了,该变量就被销毁了,再重启该软件时这样一个定义语言的变量就会恢复到编码时定义的默认值即“默认语言”。为了让我们一次设置,始终起效,我们就需要将设置好的语言变量的值保存起来,怎么保存呢?目前最常用的方法就是将设置信息保存成静态文件。如.xml文件,.cnf文件,.ini文件等等。软件被关闭再次启动时会先读取这些静态文件,将保存好的设置信息读取出来,并且给对应的“变量”赋值。请看如下流程图:
《阿勇java建站教程》2.3-数据库特殊应用
也许你已经想到了,在“读取配置文件”这一步,我们完全可以用数据库代替变为“读取数据库”。
面对如上所举的例子,我们其实有至少三种解决方案:
1.保存在软件变量中
优点:快捷,无复杂操作
缺点:临时保存,软件停止则失效
2.保存成静态文件
优点:永久保存,时效性高
缺点:容易被用户直接读写,暴露软件细节
3.保存在数据库中
有点:结构灵活,永久保存
缺点:附加软件运行成本高

本节内容重点说明第3中方案。
大家对数据库的一般认识就是:数据库保存了业务数据,我们的软件就是对这些业务数据进行逻辑操作的,所以数据库就是一个保存信息的仓库。然而,除了保存业务数据之外,数据库能做的还有很多。除了上述的例子外,下面介绍一个典型的例子:
权限,角色
账户的权限和角色是辅助功能,也是关键功能,这样的功能不是核心业务,是在业务之外的功能。为了能够设计出完整的权限,角色管理系统,很多人有很多的设计思路。简单到用拦截器作权限判断,复杂到有几十张表完善此功能,这些例子相信你在今后的实际工作中一定会遇到的,可以说,帐号权限和角色的管理是一个软件不可缺少的部分。我倾向于在软件中提供高效的功能,让用户在最短的时间内完成最正确的工作。对于账户权限、角色的设计也是如此,一个帐号可以有非常多的权限,可以富有非常多的角色,他们之间没有固定的联系,也可以有固定的联系,但是一旦确定了固定的联系,那么灵活性就会被降低,这有点像“耦合”。因此我主张用户的角色或者权限直接与软件提供的功能对应,甚至可以忽略掉用户的角色和权限。在数据库中可以建立如下模型:
功能表——该表保存软件中所有的功能,可以细致到每个按钮,每个操作,该表和角色表主外键关联
角色表——保存每个角色信息

数据库的应用在很大程度上已经远远超过它本身的含义了,其实数据是从具体事物抽象而来的东西,也就是这种数学模型的建立,才得以用数据记录整个世界,进一步说,软件中的代码也是一种数据,我们所开发的软件就是对数据的理解和操作。这也是clojure的思想——代码即数据。

本文原创写的不好的地方欢迎大家与我一起交流(微信号:zhyy22145),转载请注明出处!-《阿勇java建站教程》2.3-数据库特殊应用

《阿勇java建站教程》统一交流团

 

http://www.ya178.com/public/detailUA-11884-1.html

0
2
分享到:
评论

相关推荐

    [计算机网络实验与学习指导——基于Cisco Packet Tracer模拟器(第2版)][叶阿勇 等][配套资料]

    [计算机网络实验与学习指导——基于Cisco Packet Tracer模拟器(第2版)][叶阿勇 等]的配套实验pka

    史上最牛阿勇文本编辑器

    史上最牛文本编辑器。请大家免费使用。如有不妥之处请谅解。

    计算机网络实验与学习指导-基于Cisco Packet Tracert模拟器-程序源代码pka文件.rar

    计算机网络实验与学习指导-基于Cisco Packet Tracert模拟器-程序源代码pka文件,为叶阿勇等主编《计算机网络实验与学习指导》的实验内容,基于Cisco Packet Tracert6.0.1完成,经过测试过的。希望对学习思科网络的...

    网络实验报告指导

    - **定义**:双绞线是一种常见的有线传输介质,广泛应用于局域网(LANs)和其他通信系统中,它由一对或多对相互绝缘的铜线组成,这些铜线成螺旋状缠绕在一起,以减少信号干扰。 - **特性**: - **传输能力**:可...

    文件编码批量转换程序

    某天,应老板的要求,需要将一个 GB 编码的 WEB 应用改变成 UTF-8 编码, 整个 WEB 程序涉及 300 多个 ASP 和 HTML 文件....于是乎,我上网搜索能将 GB 文件批量转换成 UTF-8 编码的软件。找来找去,多是一些仅能...

    GB/BIG5/UTF-8 文件编码批量转换程序

    版权信息:此软件由 阿勇(fxy_2002@163.com) 开发,请保留此信息!! '* 免费软件,欢迎使用!请勿用于直接出售或其它商业用途。 '* '* 作者主页:pc-soft.cn e-mail:fxy_2002@163.com '* '* 程序功能:将 GB、...

    豆葵 GB/BIG5/UTF-8 文件编码批量转换工具

    豆葵 GB/BIG5/UTF-8 文件编码批量转换工具 是一款单一文件与批量转换编码工具将 GB、BIG5、UTF-8 文件相互转换,方便的批量处理能力,主要用于网站文件编码方式的整体转换上。 豆葵 www.doukui.cn 是立足垂直搜索...

    计算机网络实验指导

    计算机网络实验与学习指导书叶阿勇-基于Packet Tracer6.0版本计算机网络实验与学习指导书叶阿勇-基于Packet Tracer6.0版本

    使用Dapper封装的项目底层代码

    6. **文档和示例**:项目中提到的“详细看代码及文档”,表明这个封装项目提供了清晰的使用指南和示例,帮助开发者快速理解和应用封装后的API。 综上所述,这个使用Dapper封装的项目底层代码旨在提供一种高效、灵活...

    [cnswift.org]swift 4.2-alpha-2018-8-6【合并版】(一个文件内)

    这些更新信息包括文档同步更新到了Swift 4.2的时间点(2018年07月18日),以及一些与维护网站相关的个人或团队的感谢(例如@唯有学习、十步奶一人、阿勇等)。 在知识内容的介绍上,文件提供了Swift编程语言的基础...

    08.doc

    首先,阿勇强调自己拥有扎实的计算机知识和应用能力,这包括通过了国家软件资格水平的程序员考试,意味着他对编程有基础且已得到官方认证。他熟悉Windows XP/Server 2000等操作系统,具备独立建设网站和网络的能力,...

    计算机网络实验指导书与实验报告

    计算机网络实验完整的指导书,以及完全写好的实验报告。报告中有实验过程的数据截图,抓包的数据截图等等

    免费分享一次一单早盘头皮Pirate_EA02.04.1

    EA名称:pirate-EA02.04.1 适用于早盘剥头皮EA EA用法: 1:可自定义早盘交易得起始时间和接受时间 2:可采用固定手数,也可以采用动态手数 3:对点差要求有限制,越低越好 EA加载周期:30分钟 ...

    计算机网络实验最新资源

    计算机网络实验是学习和理解网络原理、操作及应用的重要实践环节。通过实验,学生能够深入地了解网络协议、网络设备的使用以及网络故障排查的方法。本实验资源旨在提供全面的指导,帮助学生掌握网络命令的运用,提升...

    计算机网络学习与指导实验-基于cisco packet tracer

    计算机网络学习与指导实验-基于 Cisco Packet Tracer 本资源摘要信息将对计算机网络学习与指导实验-基于 Cisco Packet Tracer 进行详细的知识点总结。 实验 2-1 PPP 与 PPPoE 学习实验配置 在这个实验中,我们...

    计算机网络2

    计算机网络

    基于STM32的移动多终端环境监测系统.pdf

    基于STM32的移动多终端环境监测系统是一种新型的环境信息监测解决方案,其主要目的是为了获取危险场所和未知地域的环境信息,具有重要的研究意义和实际应用价值。本系统基于嵌入式系统设计,采用了STM32微控制器作为...

    HC-031-122-CHS

    特殊情况下,可以使用双冒号(::)来压缩连续的零。选项A中的::表示一连串的零,是合法的IPv6地址。 ### 5. IPv6报头长度 IPv6报头固定长度为40字节,比IPv4的20字节更长,这是因为IPv6报头包含更多的信息和功能。 #...

    html,asp,php编码批量转换工具

    '* 版权信息:此软件由 阿勇(fxy_2002@163.com) 开发,请保留此信息!! '* 免费软件,欢迎使用!请勿用于直接出售或其它商业用途。 '* '* 作者主页:pc-soft.cn e-mail:fxy_2002@163.com '* '* 程序功能:将 GB...

    计算机网络实训书

    计算机网络实训书是学习计算机网络知识的重要辅助资料,它涵盖了网络设备的基础知识和实际操作,帮助学生理解和掌握网络通信的基本原理。实训书通常包含一系列实验,让学生亲手操作以加深理解。...

Global site tag (gtag.js) - Google Analytics