接下来正式开篇讲解在实际中大型项目中oracle的高级设计及开发的内容,以下讲解的oracle内容以及示例程序都是基于oracle11R2。

为了防止脱离实际地搞一堆理论,本人尽量用实际工作中的例子来说明问题,当然一些必要的理论有时候还是需要讲解,因为说的内容是高级设计及开发,入门级的SQL以及数据库概念将不会做详细讲解。

绝大多数IT项目,都是围绕数据库进行各种业务的,所以也有人将这类项目称为数据库项目,也就是说数据库是重点,有过项目设计经验的都知道,好的数据库设计,可以让开发和维护变得简单,提升系统的扩展性。要想设计一个好的数据库系统,对数据库知识的掌握程度,加上个人的业务经验,直接决定了设计的好坏。

Oracle数据库是个庞大的体系,从大的方向可以分为oracle内部体系结构和外部体系结构。本人以后将陆陆续续通过实际例子引出oracle的各种知识结构。

言归正传,我们现在要开发一个百万级别访问量的商业问卷调查系统,参与调查的网民将参与抽奖活动,我们开始进行数据库设计。

因为是oracle高级设计和开发的讲解,具体的业务分析不深入,简单说明:从使用者角度,系统会分两部分,一个是网站前端,一个是管理后台;从业务上分类,则会包含会员管理模块、问卷内容管理模块、统计分析模块、积分模块、权限设置、系统设置等等。

接下来将截取会员管理模块部分,详细讲解数据库高级设计,引出各种oracle的各种知识,特别是可以优化设计和开发的知识,其中一些业务细节将被忽略。不当之处请见谅,谢谢高手们批评指正。

首先要判断系统的类型,毫无疑问,问卷调查系统是个OLTP系统。

其次评估数据量,评估下来会有2000万用户,活跃用户会有200万。2000万用户当然不算小,1个字节位就是20M的数据,假如一条会员记录信息有0.5K的话,会员表的大小就是10G。

由上面两个评估和判断可以得出结论,普通的企业管理软件的设计思路肯定不是好方法。

通常的会员系统中会员表会包括以下字段:

会员ID、会员登录名、会员登录密码、会员昵称、会员email、会员中文名、证件类型、证件号码、会员手机、会员性别、会员类别、会员QQ号码、联系电话、联系地址、邮政编码、会员所在地区、会员生日、兴趣爱好、职业、岗位、

自我介绍、个人头像、注册时间,等等

在设计上性能考虑就很重要,可以起码从以下五点考虑:

A)合理定义字段的数据类型

B)将会员表分拆成多个表

C)建立分区表

D)建立适当的索引

E)普通表数据对应的表空间和索引表对应的数据表空间分离

未完,针对上述五点论述,待续。。。

转载于:https://blog.51cto.com/connieguo/1617810

连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)...相关推荐

  1. 设计一个可扩展的用户登录系统

    在Web系统中,用户登录是最基本的功能.如何设计一个可扩展的用户登录系统呢?本文结合实际案例对用户登录系统设计进行多维度的讲解,帮助各设计者在应用中将复杂变得简单. 来源:廖雪峰的官方网站,作者:廖雪 ...

  2. 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。 要求: (1)类

    先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码.地址.最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数. 要求: (1)类中的成员函数具有输入.输出 ...

  3. 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...

    在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...

  4. 系统设计题:如何设计一个电商平台积分兑换系统!

    本文来自公众号:狸猫技术窝 作者:原子弹大侠,阿里高级技术专家 1.拉开差距的一类面试题 现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难 ...

  5. 支付退款流程设计_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...

    在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...

  6. 如何设计一个支持一亿用户的系统,心中有方案遇事不慌!

    要设计一个支持数亿用户的系统并不容易.对于软件架构师来说,这总是一个很大的挑战(但是读完我的文章

  7. 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息月利息=存款金额x年利率+12(2)更改利率(静态方法)

    实验二:继承和派生程序设计(4学时)必做题: 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息 月利息=存 ...

  8. 阿里P8面试官:如何设计一个扛住千万级并发的架构(超级详细)

    如何降低RT的值 继续看上面这个图,一个请求只有等到tomcat容器中的应用执行完成才能返回,而请求在执行过程中会做什么事情呢? 查询数据库 访问磁盘数据 进行内存运算 调用远程服务 这些操作每一个步 ...

  9. 如何设计一个牛逼的 Feed 流系统

    点击上方"肉眼品世界",选择"设为星标" 深度价值体系传递 作者:少强 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代 ...

最新文章

  1. GIS软件开发工具包TatukGIS Developer Kernel 发布 v11.3.0-Unstable1丨附下载
  2. confluencejira集成_集成confluence与jira
  3. 固态硬盘量产工具_固态硬盘怎么修复
  4. SAP 报表程序的一些标准功能码
  5. Hadoop环境搭建教学(一)运行环境,集群规划介绍;
  6. 反射动态调用DLL类库测试
  7. mybatis查询缓存——(十三)
  8. xbox360fsd更新游戏封面_游戏类短视频创作指南
  9. redis入门——服务器篇
  10. 学会这些Sketchup技巧,工作效率提高一半
  11. 苹果系统摩尔庄园是什么服务器,摩尔庄园手游iOS
  12. 即时通讯系统————基于TCP协议的C/S架构(Client)
  13. 博客做外链(可以发布外链的博客有哪些平台)
  14. 计算机教师道德模范事迹材料,优秀道德模范教师先进事迹材料
  15. 【云周刊】第125期:高考恢复40年!你们要的大数据解读来啦
  16. 怎样在手机设置无线网络连接服务器,如何用手机设置wifi路由器?
  17. 数据预处理:自定义PDF格式批量转换TXT系统
  18. win7系统自带的虚拟xp模式
  19. Matlab机器人工具箱(3-3):五自由度机械臂(动力学)
  20. java基于ssm的学校教务管理系统的设计与实现论文-计算机毕业设计

热门文章

  1. 错误:docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 错误:docker-ce confli
  2. vue 引入json地图_VUE中通过Echarts引入地图
  3. mysql innodb隔离级别_浅析MySQL InnoDB的隔离级别
  4. linux下达梦数据库启动_linux上安装tomcat和达梦数据库
  5. Java异常持久化,Log4j进行日志的数据库持久化,说SQL语法异常。
  6. html中列表、表格、合并单元格
  7. 未来社区及其趋势探索
  8. 互联网晚报 | 8月31日 星期二 | 荣耀深圳全球总部正式启用;长安马自达收购一汽马自达尘埃落定;浙江推出“浙江外卖在线”...
  9. 互联网晚报 | 8月26日 星期四 | 小米Q2营收净利均创单季历史新高;拼多多设立“百亿农研专项”;网易云音乐正式入驻闲鱼...
  10. 潮流玩具行业趋势与洞察白皮书