V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
anyele
V2EX  ›  问与答

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

  •  
  •   anyele · 2017-07-21 14:35:31 +08:00 · 1436 次点击
    这是一个创建于 2667 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数据库不就是拿来存数据吗,但很多公司很多人都把业务写成存储过程,或者是很大一段 sql 各种临时表各种 join 来执行,大部分都包涵了公司业务逻辑,个人隐约感觉这样做不对,但因为技术有限不知道怎么解决,所以请教下数据库的正确使用方法,谢谢各位
    7 条回复    2017-07-24 16:49:45 +08:00
    idamien
        1
    idamien  
       2017-07-21 16:20:40 +08:00   ❤️ 1
    你谈到数据库使用的问题,我在此说说自己的一些经验,当然不一定完全对,欢迎指正


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


    - 不把业务逻辑写入存储过程,比如使用 JAVA 编程语言,可以使用存储过程来进行对数据的访问,但是有 JDBC Hibernate JPA 这些框架,我们可以直接使用,同时呢他们又比较好用,这时候没有必要使用存储过程来访问数据,当然也不是完全禁止的。但是要知道如果存储过程中有业务逻辑,JAVA 业务层也有业务逻辑,这时候代码很难维护,也很难做测试的
    anyele
        2
    anyele  
    OP
       2017-07-21 16:32:48 +08:00
    @idamien 个人觉得写一大段在数据库里很难维护
    idamien
        3
    idamien  
       2017-07-21 16:58:11 +08:00
    你们的开发生产环境是什么
    anyele
        4
    anyele  
    OP
       2017-07-21 22:22:44 +08:00 via Android
    @idamien Windows ,sqlserver
    zhengxin1993
        5
    zhengxin1993  
       2017-07-21 23:46:18 +08:00 via Android
    做 HIS 的吗?感觉做这个的都这样。
    anyele
        6
    anyele  
    OP
       2017-07-21 23:58:01 +08:00
    有正确使用数据库的方法吗
    idamien
        7
    idamien  
       2017-07-24 16:49:45 +08:00
    @anyele 看环境表示很正常,很多程序估计最早都是都是从 VB 上来的,所以很多人习惯使用存储过程。 如果是移植的项目,也就是说现在的程序是 C# 是之前从 vb 移植的,那就不难理解为什么这么做了。 如果是新项目,估计是别人不习惯用 entity ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1786 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 16:42 · PVG 00:42 · LAX 08:42 · JFK 11:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.