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

感觉学习能力不行了,生理性原因居多还是心理问题?

  •  
  •   lekai63 · 2017-04-15 21:24:49 +08:00 via iPhone · 5577 次点击
    这是一个创建于 2539 天前的主题,其中的信息可能已经有所发展或是发生改变。
    LZ 大学非计算机相关专业。
    编程基础只有高一学的 C (应该忘光了)以及大一学的 VB (目前凑合用于 Excel VBA )
    啃过一阵子 Python ,也折腾过一阵子服务器及 arukas (主要是根据教程一步步搭建 s-s ,反代等,还处于瞎折腾小白阶段,倒是接触了不少后端的术语)

    根据前辈们的建议(要做个项目,在项目中锻炼)和实际工作情况,决定做个对外报送业务的数据库,并根据需要计算并导出有关报表。
    上述需求已通过 excel+vba 实现,在 vba 中还使用了简单的 SQL 语句(面向 google 编程后,简单改改)。
    考虑到 excel 中一堆公式和自定义函数,且数据和报表都在一个 workbook 里(好在有意识地把数据放在好几个 sheet ,公式报表是另外几个 sheet )。想做个数据与程序分离的事,初步拟定数据以 Access 2016 存储(数据量不大,两三年内最多到十万行,易入门),以 excel 为前端生成报表(这样很多公式实现不用改,同时还可能省去很多的 vlookup )。

    这两天回家后对着巨硬官网的培训视频 study ,基础概念大致明白,但在数据库设计这块看的不是很懂。知乎 Google 了下,看到数据库范式设计(我不知道我设计关系后会不会删除异常啊插入异常啊什么的,万一误删很蛋疼),懵逼了 0.0 卡壳。目前只是在 access 里创建了五张表存数据,五张表之间的"关系"还没厘清设计,还有要搞外键啥的。

    感觉学不太进去,不知是老了脑子不行了,还是自己给自己得心理暗示。不知道 v2 各位在前进的路上有没有出现过此般困扰(比如学个新东西,有些概念死活理解不能),又都是如何解决的?
    41 条回复    2017-04-16 22:21:18 +08:00
    ryd994
        1
    ryd994  
       2017-04-15 21:38:49 +08:00 via Android
    之前基本功不扎实,现在碰到瓶颈了而已
    数据库在学校里就是基本功啊
    ryd994
        2
    ryd994  
       2017-04-15 21:40:03 +08:00 via Android
    另外,学院派讲课喜欢用数学公式描述,数学底子不好也会听不懂。换个课就行
    lekai63
        3
    lekai63  
    OP
       2017-04-15 21:59:24 +08:00
    @ryd994 学校不教数据库=。= 或者说我学的专业没数据库这课 (/ □ \)
    sunsol
        4
    sunsol  
       2017-04-15 22:20:44 +08:00
    去看一下离散数学吧,有些基础后就清楚怎么回事了。
    longear
        5
    longear  
       2017-04-15 22:21:55 +08:00
    会用电脑,能上 V2 ,还能反思原因,这说明生理绝对没问题!
    估计楼主的工作上比较轻松,开始养老了, 如果猜测属实那么就是需求不明确导致的动力不足。
    NonClockworkChen
        6
    NonClockworkChen  
       2017-04-15 22:29:38 +08:00
    既不是生理问题,也不是能力问题,应该是知识储备不足以帮助你突破目前的瓶颈...建议补充下知识.
    lekai63
        7
    lekai63  
    OP
       2017-04-15 23:19:46 +08:00 via iPhone
    @sunsol 离散数学居然跟数据库有关系 0.0 好吧 离散数学是啥也忘得差不多了 就认识这名字 2333
    lekai63
        8
    lekai63  
    OP
       2017-04-15 23:21:17 +08:00 via iPhone
    @longear 一针见血, so 应该先来一番自我认知打气加油么 0.0
    lekai63
        9
    lekai63  
    OP
       2017-04-15 23:22:55 +08:00 via iPhone
    @NonClockworkChen 我直接看数据库设计 不知是否策略错误,但目前还没了解到需要哪些前置知识
    NonClockworkChen
        10
    NonClockworkChen  
       2017-04-15 23:26:43 +08:00   ❤️ 1
    @lekai63 可以试试,不行再看还缺哪些前置知识,毕竟不是做理论研究,看个大致明白就行,前置知识,有个大学的上课印象即可.
    sunsol
        11
    sunsol  
       2017-04-15 23:42:10 +08:00   ❤️ 1
    离散数学里的集合和关系理论可都是数据库里基础的基础,这个懂了自然也就知道外键这些概念是什么了
    green15
        12
    green15  
       2017-04-15 23:55:58 +08:00 via iPhone   ❤️ 1
    很正常,楼主试一下换个教学视频来学看一下,并不是官方视频就很好学。
    别看现在各种培训、技术演讲什么的漫天飞,但真正能够把知识点用大家能听得懂的话来传授的人很少。
    Baymaxbowen
        13
    Baymaxbowen  
       2017-04-15 23:57:34 +08:00 via Android
    看书来的最快啊,感觉视频效率太低了
    Yc1992
        14
    Yc1992  
       2017-04-15 23:58:47 +08:00
    理解不了就先背下来,慢慢理解。
    linhua
        15
    linhua  
       2017-04-16 00:04:32 +08:00   ❤️ 1
    可以看看 芭芭拉·奥克利 的 《学习之道》
    https://book.douban.com/subject/26895988/
    longear
        16
    longear  
       2017-04-16 00:20:02 +08:00   ❤️ 1
    @lekai63
    Excel 和 Access 这方面的我也做过一点,我多少能明白一些你的感受,说实话,如果需求简单还可以用 Excel 和 Access 应付一下,一旦复杂些就尽快改用流行的开源解决方案,否则用微软的东西真的会感觉自己是弱智,真的~

    开源方案的初衷都是解决问题,不是为了实现商业上的闭环,而去弄一些可有可无的东西,绕一些弯子把用户弄晕掉,
    所以开源的东西基本都是越用越清晰,会有一种简洁明了的感觉!

    所以奉劝尽量少用微软的东西,除了 XBox 、 Windows , 另外最好不要试图对 Excel 进行深度的开发, 那是最末端的脏活累活,做完的成就感很短暂,也很难复用和推广,知识也难以继承和拓展到其他开发领域。

    相关的废话我可以跟你说上一个下午,我就不在这里语无伦次了,不符合 V2 简洁的风格~
    lekai63
        17
    lekai63  
    OP
       2017-04-16 00:44:45 +08:00 via iPhone
    @longear 难复用推广 成就感短暂 。完全同意 也深有体会。可能乘早考虑开源方案为妥。
    这几天空闲 我也去看看 MySQL 和 NoSQL 类的数据库看,非常感谢您的经验分享🙏
    sunsol
        18
    sunsol  
       2017-04-16 00:49:42 +08:00   ❤️ 1
    @longear 对 excel 的说法有异议。
    微软最好的软件就是 excel ,这可是比 windows 好太多的软件。
    对于小型数据分析统计整理应用来说,可以算最方便的软件。
    不过要用好 excel 比较难倒是真的,这难度和商业无关,和数学有关。
    规划求解,多元回归,方差分析等等太多了,点球成金里大数据分析就是用的 excel 。
    changwei
        19
    changwei  
       2017-04-16 00:52:57 +08:00 via Android
    关于数据库范式的问题,楼主先别急着背数据库概论里面那些晦涩难懂得公式,你就先老老实实学一门 web 编程语言比如 php , python 等,然后看他们的实战项目课程,里面会带你一步一步做一个完整的商城或者博客项目,这里面就有涉及到数据库设计,看看他讲的思路,结合百度搜索的各种博客文章理解。中国这种应试型的数据库教材不适合新手来学习和理解。
    em70
        20
    em70  
       2017-04-16 01:16:25 +08:00 via Android
    天赋大多数时候等于兴趣
    WillfordSimon
        21
    WillfordSimon  
       2017-04-16 01:27:56 +08:00
    学东西要从实例开始,实例促进理解。 单独学理论,换毛主席也要死给你看。
    longear
        22
    longear  
       2017-04-16 01:50:57 +08:00
    @lekai63 客气了🙏 我说的还是一些浅薄的认识
    longear
        23
    longear  
       2017-04-16 01:54:36 +08:00
    @sunsol 同意! 对于专业的数据分析人士来说 Excel 是重要的生产力工具, 什么能来钱 什么就是重要的东西! 但是专业人士还有很多更好的工具软件可供选择吧,数学好的人编程能力都不差的
    FunctionOne
        24
    FunctionOne  
       2017-04-16 04:09:24 +08:00
    高一就学 C 语言,真厉害。
    Devin
        25
    Devin  
       2017-04-16 07:22:43 +08:00 via iPhone
    nandaye
        26
    nandaye  
       2017-04-16 07:38:39 +08:00 via Android
    先看三范式概念和数据库这么设计的原因,然后找个大公司的业务数据库的物理模型看。实话讲,如果你不是做数据工作且了解业务,只懂一些冰冷的概念是很难理解一个好的数据库设计的精髓的。做一个好的数据库设计者前提必须是精通业务的。
    blacklee
        27
    blacklee  
       2017-04-16 08:47:19 +08:00
    我还以为是多么高深的问题导致发出了这样的疑问。。
    就你这个阶段,离遇到生理性能的瓶颈至少还有 10 年,而且,就算是生理性能,也是有办法解决的。
    wwlswdxbb
        28
    wwlswdxbb  
       2017-04-16 11:08:15 +08:00
    感觉基础太差,多找些入门书籍看看吧,或者视频
    Cbdy
        29
    Cbdy  
       2017-04-16 11:38:33 +08:00 via Android
    看完我的结论是基础不牢, po 英语六级过了没有?
    lekai63
        30
    lekai63  
    OP
       2017-04-16 11:40:33 +08:00
    @changwei 感谢。您给我指出了一条可能合适的路径~
    lekai63
        31
    lekai63  
    OP
       2017-04-16 11:42:49 +08:00
    @FunctionOne 高一那会儿 应该是 2004 年,计算机在沿海一带普及的还可以把。黑网吧很多 那会儿~~
    当时是信息奥林匹克竞赛,我们高中第一次搞。别人家都是学 pascal ,我们学 C 。。。最后,哈哈哈哈 全军覆没。第一次也没经验
    lekai63
        32
    lekai63  
    OP
       2017-04-16 11:49:02 +08:00
    @nandaye 业务的了解上基本没太大问题,工作第六年了,在目前公司 3 年。
    其实事情是这样的:主管部门要求受监管机构每月报送数据,并且给了报送网址,每月 Excel 导入数据,然后手工填写两张统计表。——其实报送系统自己也会算那两张统计表。但还是要我们手工填。年末手工填的跟系统自动算的可能有差异,会要求退回错误期次的数据修改原始数据。——然后就会很麻烦。
    我无非就是想线下重现报送系统的计算逻辑——已用 Excel+VBA 实现(所以我觉得各表逻辑和相互关系我应该是没问题)——现在想能不能再进一步做个数据和程序分离,这里遇到了数据库设计 表与表之间关系 等新事务,进而解除了下数据库设计范式,就看晕了。。。受挫
    lekai63
        33
    lekai63  
    OP
       2017-04-16 11:50:32 +08:00
    @wwlswdxbb 嗯。非科班出身,我是完全没基础。
    入门的话,目前 google 关键字局限于 MySQL 入门,数据库设计入门 之类。不知有无学习路径指点~
    比如前面有评论建议看看离散数学啥的——似乎这入门门槛更令人望而却步了呢,哈哈哈
    lekai63
        34
    lekai63  
    OP
       2017-04-16 11:51:16 +08:00
    @Cbdy 大三时候才过的。。还是低空飘过——貌似当时才考了 430+还是多少 惭愧。。
    yxqcyl
        35
    yxqcyl  
       2017-04-16 12:23:08 +08:00
    腰不行了
    longear
        36
    longear  
       2017-04-16 12:40:36 +08:00
    @Devin 哈哈 只有 C# 是个好东西,可惜初期受 M$的商业思维的限制,在同 Java 的竞争中处于劣势,
    现在只要没有特殊需求,是不会推荐 C# 的。
    xjbeta
        37
    xjbeta  
       2017-04-16 17:04:50 +08:00
    数据库? 偷懒可以去试试 realm 上手比 sql 之类快得多
    shijingshijing
        38
    shijingshijing  
       2017-04-16 17:37:47 +08:00   ❤️ 1
    @lekai63

    我也是很早开始搞 C 然后转嵌入式,最后主力用微软系。讲真,微软系真心是编程友好型的,这里友好是指你可以玩很多新的东西,但不需要了解太多很底层的东西,最简单的拖拖控件就能实现。很多人不屑于这个,其实这才是最重要的,微软让你持续有一种成就感,原来你觉得很复杂的各种窗体窗口你现在稍微努力一点就可以实现了。入门的时候成就感非常重要,而枯燥的理论知识很容易让你放弃。等你上道了,你再去关注性能,关注多样化,关注更底层的,这样你就从成就感驱动变为兴趣驱动了,很好的过渡过来了。

    再说说你的数据库,别看数据库范式设计,减少冗余什么的,你不是专职的 DBA ,也不是要重新开发一个数据库,你的工作就是用数据库。

    你可以从最简单的入手,以前你是把数据存在 Excel 的一个个 worksheet 里面,然后一些操作逻辑存放在 VBA 里面。其实你完全可以把数据库的一个个 Table 当 Excel 的 Worksheet 用,然后选择一门语言( Java, C#, PHP, Python )来当 VBA 用,这样过渡就很平滑了。初期不要看理论知识,就是上手做,数据库只实现简单的 CRUD 操作,不要搞 ORM 。等你熟悉了,开始考虑深入学习面向对象方面的知识,扩展一下做做 Web ,后面就看兴趣随便发挥了。

    建议你用 C#和.Net 组合替代 VBA ,这样你以后还能通过.Net 提供的 Microsoft.Office.Interop 用 C#直接操作 Word, Excel, PPT 乃至 Visio 。微软的东西没有别人说的那样不堪,是非常好的生产力工具,关键是他的东西很贵,大公司不缺钱用的多,很多企业的 MIS 系统,内部工具软件都是 C#和.Net 开发的。
    coderluan
        39
    coderluan  
       2017-04-16 17:42:04 +08:00   ❤️ 1
    如果所有东西努力就能学会,那样你就是天才了,你这就是正常人的情况,一般来说别死扣就好了,先放一放,等过一段时间思维放松了再解决,或者换套资料,试着从别的方向解决。
    buguniaogu
        40
    buguniaogu  
       2017-04-16 19:03:54 +08:00
    嗯,逐渐进入一种懒于学习的状态了。。
    lekai63
        41
    lekai63  
    OP
       2017-04-16 22:21:18 +08:00 via iPhone
    @shijingshijing 非常感谢您如此耐心细致的建议。
    数据库的建议非常棒,我觉得我可以先上手试试看:)
    c#和.Net 目前应该是不会去弄,可能会倾向 Python
    毕竟我不是开发人员,真需要特殊定制,提需求给 IT 就好。从兴趣和实现难易的角度考虑, Python 虽然性能不高,但能帮我实现想法做个 demo 就够啦。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5394 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 07:35 · PVG 15:35 · LAX 00:35 · JFK 03:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.