请问数据库里到底应该怎么用?

2017-07-21 14:35:31 +08:00
 anyele
数据库不就是拿来存数据吗,但很多公司很多人都把业务写成存储过程,或者是很大一段 sql 各种临时表各种 join 来执行,大部分都包涵了公司业务逻辑,个人隐约感觉这样做不对,但因为技术有限不知道怎么解决,所以请教下数据库的正确使用方法,谢谢各位
1479 次点击
所在节点    问与答
7 条回复
idamien
2017-07-21 16:20:40 +08:00
你谈到数据库使用的问题,我在此说说自己的一些经验,当然不一定完全对,欢迎指正


- 很多人把业务逻辑写入存储过程,你的意思是用 Stored procedure, 这种用法其实也有优点,就是简单的维护只在数据库端做修改就好了。 同时呢 procedure 可以帮助完成整个交易过程,对于一些对 transaction 支持不好的编程语言来说是不错的选择,有时用来做数据访问的优化


- 不把业务逻辑写入存储过程,比如使用 JAVA 编程语言,可以使用存储过程来进行对数据的访问,但是有 JDBC Hibernate JPA 这些框架,我们可以直接使用,同时呢他们又比较好用,这时候没有必要使用存储过程来访问数据,当然也不是完全禁止的。但是要知道如果存储过程中有业务逻辑,JAVA 业务层也有业务逻辑,这时候代码很难维护,也很难做测试的
anyele
2017-07-21 16:32:48 +08:00
@idamien 个人觉得写一大段在数据库里很难维护
idamien
2017-07-21 16:58:11 +08:00
你们的开发生产环境是什么
anyele
2017-07-21 22:22:44 +08:00
@idamien Windows ,sqlserver
zhengxin1993
2017-07-21 23:46:18 +08:00
做 HIS 的吗?感觉做这个的都这样。
anyele
2017-07-21 23:58:01 +08:00
有正确使用数据库的方法吗
idamien
2017-07-24 16:49:45 +08:00
@anyele 看环境表示很正常,很多程序估计最早都是都是从 VB 上来的,所以很多人习惯使用存储过程。 如果是移植的项目,也就是说现在的程序是 C# 是之前从 vb 移植的,那就不难理解为什么这么做了。 如果是新项目,估计是别人不习惯用 entity ?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/376991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX