请问数据库里到底应该怎么用? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
anyele
V2EX    问与答

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

  •  
  •   anyele 2017-07-21 14:35:31 +08:00 1851 次点击
    这是一个创建于 3009 天前的主题,其中的信息可能已经有所发展或是发生改变。
    数据库不就是拿来存数据吗,但很多公司很多人都把业务写成存储过程,或者是很大一段 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     Solana     3127 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 12:05 PVG 20:05 LAX 05:05 JFK 08:05
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86