第一,小公司一般都不会接受大的项目的,很多小项目的数据表结构很简单,设计也很直来直去,有些即使设计的不合理,受限于小项目的原因,缺陷也不会被放大很多。就算出了问题,重头来过可能都不是太困难的事情。
第二,能开公司的一般都会有一定项目经验的老人带着,甚至说一个强人就够了。
第三种可能,小公司的工作是从大公司口中拿的吃剩下的,不好吃的项目,项目都有比较好的可参考的数据库表结构模式参考。
还有一点,小公司一般没有程序员的感念啦,基本是从调研、设计、开发、测试、上线、维护,所有的工作都一起协作完成,甚至连市场合同都要自己搞定,
大型数据库系统中往往要用到查询统计 但是对于数据量大的系统 用户在进行复杂的查询统计时往往感到速度很慢 不能满足应用要求 这就要求我们在设计数据库系统时进行合理设置 提高查询统计的速度 本文结合笔者的项目开发经验 阐述具体的设置方法
以oracle 数据库系统为例 我们在开发大型oracle数据库系统时结合项目的特点 本着安全 高效的原则对数据库进行了一些物理设计 从而大大提高了数据库的查询统计速度 总结为如下几点
)扩大数据表空间到 M 用于存放本系统的数据;
)段盘区的初始大小为 K 增长大小为 K 增长幅度为 ;
)用户临时空间增大 M;
)系统临时表空间和回滚段表空间增大 M 并且新建 个回滚段;
)需要经常联结查询 而且数据量又大的库存表 名录表 收发料表放在一簇内;
)提供定时备份 备份文件放在另外的机器上
设置数据表空间的SQL语句如下
CREATE TABLESPACE WXGL_DATA DATAFILE WXGL_DATA ORA SIZE M ONLINE;
增加系统临时表空间和回滚段表空间的SQL语句如下
ALTER TABLESPACE TEMPORARY_DATA ADD DATAFILE TMP ORCL ORA SIZE M; ALTER TABLESPACE ROLLBACK_DATA ADD DATAFILE RBS ORCL ORA SIZE M;
将数据空间设置在指定的数据文件的SQL语句如下
CREATE USER ZBGL IDENTIFIED BY ZBGL; GRANT DBA TO ZBGL; ALTER USER ZBGL DEFAULT TABLESPACE WXGL_DATA TEMPORARY TABLESPACE TEMPORARY_DATA; 设置五个回滚段的SQL语句如下 SELECT SEGMENT_NAME FROM DBA_ROLLBACK_SEGS WHERE INITIAL_EXTENT < AND UPPPER(OWNER) = PUBLIC ; SELECT UPPER(STATUS) FROM DBA_ROLLBACK_SEGS WHERE UPPER(SEGMENT_NAME) = ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; ALTER ROLLBACK SEGMENT RB OFFLINE; DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ;
DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ; DROP ROLLBACK SEGMENT RB ; CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); CREATE PUBLIC ROLLBACK SEGMENT RB TABLESPACE ROLLBACK_DATA STORAGE (INITIAL NEXT MAXEXTENTS ); ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; ALTER ROLLBACK SEGMENT RB ONLINE; MIT;
将数据量大的库存表等放在一簇内的SQL语句如下
lishixinzhi/Article/program/Oracle/201311/18984
基本点:
1介绍你的项目背景、用途。比如:银行项目、ERP等等。
2介绍项目使用到的是什么技术。比如:mvc设计模式、ssh框架。
3介绍你在项目中承担的职责。比如:编码、测试、数据库设计。。。
加分点:
你在项目中遇到过什么困难,如何解决的。
你需要传达给面试官的信息是:我能做什么、我会什么技术、我能帮你完成何种任务。
围绕这几点,自由发挥,祝你成功。
软件、项目也是如此。软件或者项目其实都给人提供一种服务。在给客户提供服务的时候,如果我们把提供服务的成本降低了,或者让客户更满意了。那么我们就算是把事情做得更好了。那么我们如何能做到了?个人觉得最关键的因素就是我们要会学习。大家都知道,做项目从大体上可以分为需求调研、设计开发、系统维护三个步骤。对于整个项目来说,三个步骤都是同等重要的,缺一不可。而对于做项目的人来说,需要掌握两个东西,一是技术,二是需求,这两个东西是缺一不可的。 显而易见,技术是做任何软件项目的基础,如果在一个项目组中没有任何人掌握该项目所需要的技术,那么自然就没有办法做这个项目。对于一般的项目来说,技术是存在着普遍性的。那就是很多项目都使用相同的技术,有相同技术背景的人可以参与所有的使用该技术的项目。比如说,一般B/S结构的项目大都可以用java来实现。也就是说,如果一个技术人员对java已经掌握到一定的程度,那他就参与这些项目。至于项目的大小、涉及范围以及项目所在行业都与技术没有直接的关系。当然,如果技术人员有过类似项目的背景,做起来自然会更好一点。 即使在某些特定的项目需要使用一些特殊的细节,可能这个开发人员恰好在以前的经验又没有接触这个细节,这也不要紧,只要开发人员在项目的开发过程中通过进一步的学习,肯定都能掌握该项目所需要的技术。比如有一个项目需要使用到hibernation、spring,即使技术人员从来都没有接触过hibernation、spring也不是问题。在技术方面的学习,对于开发人员来说,他们不仅有学习能力,而且大都还有着非常浓厚的兴趣。 这里强调一下,不管是怎么学习,是基本上掌握一门语言后进一步精通这门语言,还是学一门语言后再学另外一门语言,学习的过程总是免不了的。虽然并不是一件很难事情,但是也是需要付出一定的时间和精力的。 掌握做项目所需要的技术以后,剩下的事情就是对需求的理解与掌握,这也是做好项目的重中之中。对于技术人员来说,需求可以说是千变万化,不仅是不同的行业项目所需要解决的问题相差很远,而且即使相同行业的项目所需要解决的问题也可能大不相同。所以在组建项目团队一般可以要求团队成员必须有相同的技术背景,但是不可能要求团队成员有相同的业务背景。因为各种各样的项目实在太多了,相同的业务背景实在很难,另外实践证明也没有必要。 很多的项目经理或者技术人员对于技术的学习都是十分的重视,但是对于业务的学习与理解往往很容易被忽略。有人甚至认为只要掌握了技术,剩下的事情就好解决了。忽视客户需求往往很容易就导致客户不满、项目出问题甚至整个项目失败。 本人曾经接触过一个招标管理系统。系统用net做的,其中用到一个类似于nhiberntion框架。整个系统无论是整体框架还是具体的代码风格都非常好。但是这个系统在试运行时问题就很多,导致客户非常不满意。主要是软件功能与客户要求相距甚远,客户这个时候又提出来,原来需求发生了新的变化。但客户的要求几乎没有得到过及时的回应,甚至技术人员还疑惑,客户怎么会有那么多这样那样的要求啊?最后这个系统停止使用,项目失败。回过头来想想,如果足够重视客户的需求,多花时间去理解和领悟客户的需求,对于项目的每一个细节、客户的每一个想法开发人员都予以积极的回应。即便开发人员是刚入门的新手,开发进度即是延长一点,整个项目也不至于最终失败。我们也知道,项目所使用的技术,客户几乎是不关心的。因此。对于一个技术团队或者一个项目组来说,要做好一个项目,其实关键因素不是团队的技术实力有多强,而是对需求的理解是否透彻,正确的理解、把握需求才是项目成功的关键所在。 如何理解、把握好项目的业务,个人感觉也是一种学习,是一种领悟。客户的业务对于技术人员或者项目经理来说都是一个未知领域。我们所做的项目一般来说都来自不同的行业。一个项目来自医院的,而下一个项目可能就是来自银行的,项目与项目之间的需求一般来说都没有任何相似性。这是我们技术所经常需要面对的问题,也正是因为我们所的项目之间相距遥远,所以这就要求,我们技术人员在面对各个行业的业务时,必须具备一种快速的学习和领悟的能力;理解和掌握能把客户的业务后,通过技术手段来实现客户的业务。 就拿医院的管理系统来说吧,我们知道,一个普通病人去医院看病大体流程都是挂号、看病、检查、拿药。所以我们在需求调研我们需要掌握不仅整个流程,而且我们还应该知道每一个环节的细节。比如在病人挂号的时候,挂号员应该了解病人的哪些具体信息,病人第一次去医院与第二次去医院又有什么区别。这都是在做需求调研所必须了解的。只有理解医院所有环节以及每个环节的详细细节后,我们才能做相应的系统设计。至于系统设计好以后,如何保存挂号信息,如何查询挂号人数等等,那只是基本的技术手段而已,无非是数据库的添加、删除、修改等。 不管是项目经理还是做调研的技术人员,每把一个项目了解得差不多的时候,总是有意、无意的对这个项目所在的行业就已经有了深刻的理解。记得小学时候有篇课文叫----钢铁是怎么练成的,大家都知道,课文内容与钢铁并没有什么关系。当我在一个钢铁厂做一段时间的项目后,就真正的知道钢铁是怎么炼成的了。不仅明白什么是巴西球,而且也明白烧结厂是干什么的。当理解各个炼铁工序后,某些报表含义自然就明白了。无非是各个工序中的各种原料投入与成品产出比例之类的。 如果所做的项目总在一个行业中,那他就很容易的成为行业专家。在一定的时间内去理解和掌握一个完全陌生的领域,当然绝非一件易事。其中的道路自然是漫长而曲折。其实做任何事情都是这样。不经一番冰霜苦,哪得梅花放清香。 因此,当我们总是面临不同行业的项目的时候,我们就需要培养和提高我们对陌生行业的学习能力和领悟能力。 罗罗嗦嗦写了这么多,对我自己来说是算个总结,也希望能给同行的朋友带来一点点帮助还有文章内容仅仅是个人感受而已,或许里面还有许多不尽正确之处,请不吝赐教。
假的肯定没用
有点经验的面试官都是根据简历上的项目问问题的,而且电商、ERP或者是基金系统相关项目的业务性太强了,到时候随便问个简单的业务问题就露馅了,除非遇到的面试官啥也不懂,蒙混过去的可能性很低很低。
以上就是关于软件开发过程中数据库怎么设计全部的内容,包括:软件开发过程中数据库怎么设计、如何提高ORACLE数据库的查询统计速度、Java软件工程师面试时项目经验应该怎样讲述等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)