写的不错,不一定要对骂才是辩论嘛,也不一定要辩论才能出真知嘛,所以不必抛出几颗手榴弹。有一点不同意见,我觉得数据库系统概念》或者比如《数据库导论》、《数据库基础》应该放在《轻松掌握SQL》、《SQL大全》之前。要知道,好多提问着是用C的思想在考虑怎么处理数据,一要处理很多数据时首先想的是循环。

解决方案 »

  1.   

    真想罵你一場,但想自己水平有限,還是收捻一點的好。年青人雖說要講究個性,但太過於張楊,反會顯得幼稚無知。說到書,我手上有兩本書,我覺得不錯,給大家推推荐一下。
    1、<SQL技術手冊>"Nutshell"堅果系列技術手冊之一。
    書中以最精簡的語言介紹了SQL標准(SQL-99)和四种主流RDBMS開發商的實現產品,其中包括兩種主導地位的商業產品<MS SQL>及<Oracle>,及兩種開源數據庫項目<MySQL>跟<PostgreSQL>。對T-SQL、PL/SQL、PL/pgSQL等擴展SQL介紹得很全。2、<數據庫系統的實現>,正在學習中,個人感覺不錯。還未學完,不敢妄下評論。
      

  2.   

    在获得新的知识和经验前,我们势必要走很多弯路,有的想法甚至极为幼稚
    但是,我们正是这样一天天,一步步成熟起来的,对吗?我有几点疑惑,想听听你的意见1。你对业务流程如何抽象,如何建立标准的、具有普适性的软件架构和产品的?
    2。你的数据库如何构建,如何执衷,如何分配来最大限度满足需求的?
    3。你现在的精力放在E-R的方向上了吗?你如何前瞻性看待你目前从事的行业系统,有何想法,有何高见?
    4。你如何提高开发效率,以及TEAM合作,又是如何协调的?
    5。作为TEAM核心的你,究竟积累了怎样的心得,让你在对事业的驾御中踏风破浪,游刃有余?
      

  3.   

    说得好!同意!!好多人拘泥于一个单纯的sql上,可是从来没有考虑自己的表结构,(可能都认为表结构还用改吗?)在一个烂表里面真的是发挥了一个sql的水平,可是对操作没有益处,也只能是增加程序运行的开销,如果每个人都能考虑一下自己的结构是不是合理,是不是比较好点呢?
       同大家探讨,见笑了!
      

  4.   

    1。你对业务流程如何抽象,如何建立标准的、具有普适性的软件架构和产品的?
    答: 首先我认为软件主要可分为产品和项目。我认为数据库系统的应用主要是企业、事业单位、政府机关的应用,而针对个人的应用是很少的。因此大部分的软件是针对个别客户的独特需求而开发的,所以应该是项目。既然是项目你就不应该去想做到什么标准的、具有普适性的软件架构的问题,而是要针对你的个别客户去做出指向性的开发。
    对业务流程抽象的问题,我想提醒大家的是uml现在主要还是对TEAM内部作交流使用,我们的客户大部分还不能看懂它。同时我认为针对客户的业务流程第一步不是抽象的问题,而是应该去分类地问题。也就是说你不可以把他们的业务流程放在你自己做好的一个框子里,而是要对他们作出一个合理的分类。同时你要知道,我们的客户大都是传统行业的客户,他们对业务流程早已有了各种各样的规范,在你没有成为那个行业的专家前,去遵守它,而不是去改变它。
    2。你的数据库如何构建,如何执衷,如何分配来最大限度满足需求的?
    首先我来谈谈你应该有的二个条件,对SQL语言的熟练应用和对客户需求的深刻理解。现在大多数的人开发应用的时候,总是早早的就把数据库的结构予以固定,然后才考虑会有什么样的需求,怎么实现某种的功能。我认为其实应该是数据库结构也不是固定的,应该是主动的去改变它们来配合编程的需要。也就是说当你遇到开发的难点的时候,你应该想到是不是可以改变数据库的结构,来解决你的问题。同时你应该使用标准的SQL-92来做开发的语言,而不是去想这个功能可以在T-SQL下如何实现,用PL-SQL又如何。这是因为在开发的初始阶段,其实很多的情况是你应用的数据库平台其实有很大的可能会改变,而且考虑到客户随着业务的发展也会有软件升级的需求,所以要有最大的灵活性。其次不要把你认为不重要的数据排除在你的数据库之外,你可以做一个字段或者表格储存它们,让他们存在于后面 ,不用显示他们,不用输入他们。我先抛出2个问题的答案,看看是不是有人反对我发表关于软件工程的论点。毕竟这里是讨论数据库的地方。
    其次我要说明,我说的话是我的经验的总结。其实这些问题是你的公司和老师应该教给你们的,我只提供我独有的观点,那些具体的表格、方法之类的东西应该去找他们。也就是说我的看法是对通用的办法的补充,是我对你们的告戒。
      

  5.   

    to:ozzzzzz(oz) 
        发现你特在意别人怎么说!
        放心好了,如果在这里不容易说话,那就请到SQL SERVER版来说,我开一个专题给你。
        有兴趣的话你写一个专题名和专题的简介,发短消息给我,今天就可以给你开专题。
        我希望你能排除干扰,继续往下说。
      

  6.   

    3。你现在的精力放在E-R的方向上了吗?你如何前瞻性看待你目前从事的行业系统,有何想法,有何高见?
    其实我在公司的时候我的主要的精力是放在吃饭和骂人上了:)现在在家我主要是看书和思考。
    你要想可以做到有前瞻性,那你首先要做到对找个行业的人的思维方式有了解,对行业的发展有敏锐的洞察力。以上这句话太虚,其实我的意思是你必须有一个优秀的销售人员的素质,有市场的观念,你才可以成为一个成功的数据库开发人员。
    4。你如何提高开发效率,以及TEAM合作,又是如何协调的?
    效率的提高关键在于对质量的保证基础上。首先我认为我们国家的程序员大都有一种这样的倾向,喜欢用复杂的技术,喜欢写别人看不懂得代码,喜欢用底层的东西,也就是觉得一件东西只有让别人不懂,才是高深的,才是应该追求的。而这些是对质量保证的大敌。关于TEAM地合作问题,要看你们公司的管理方式和你TEAM的组成方式。你可以把你现在地情况告诉我,我来谈自己的看法,不然说起来太空泛,这不符合我做事情的原则。
    5。作为TEAM核心的你,究竟积累了怎样的心得,让你在对事业的驾御中踏风破浪,游刃有余?
    心得就是你选择了数据库开发这件工作,就是选择了作应用,而不是做技术。所以你首先就要知道,你的大部分精力将会用在技术之外的地方去。培养一点自己的人格魅力吧,学学如何与各种客户打交到吧。当你做到和你的销售人员一起去拜访客户之后,那个客户就会成为你的客户的时候,我想你就成功了。以上三个回答其实很技术的关系很小,但是我看好像也没有反对我发表和技术无关的论点,于是我就放上来,请大家批判。
    你不去做或者不愿意去做就永远不会实现你的想法。
      

  7.   

    to KingSunSha(弱水三千)
    就是不容易才需要我们去做 去学习 去思考 
    和业内的专家进行紧密的合作是非常的必要的 但是这是建立在你对他们的思维方式和行为方式的理解和对这个行业的业务操作了解的的基础上的 这样你们才会有共同的语言基础