oracle数据库设计经验浅谈_lxz精选.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle数据库设计经验浅谈_lxz精选

SQLCREATE TABLE dept_info (dept_id NUMBER(10) NOT NULL, dept_name VARCHAR2(100) ) TABLESPACE users; SQLALTER TABLE dept_info ADD CONSTRAINT dept_pk PRIMARY KEY (dept_id) USING INDEX TABLESPACE users; SQLCREATE TABLE emp_info_detail (emp_id NUMBER(10) NOT NULL, address VARCHAR2(500), interests VARCHAR2(1000), memo VARCHAR2(2000), photo BFILE ) pctfree 30 TABLESPACE users; 假如常用的查询条件如下: 1、根据员工的姓名、生日、性别查询 2、根据员工的生日、性别查询 如何创建更有效的索引 创建两个复合索引 在姓名和生日字段上各自单独创建索引 不要使用用户维护的字段作为主键 不要依靠业务规则实现数据的完整约束 尽量让用户“选择”而不是“输入” 可以适当地存储“冗余”数据 修改后的实体关系图 级联删除 SQL语句(一) SQL语句(二) 进一步的优化 两个方案 一些其他建议 THANK YOU Oracle数据库设计经验浅谈 基础开发部 李晓哲 数据库设计的重要性 影响数据库的性能 影响系统的效率 影响维护的工作量 数据库设计的范围(一) 表空间设计(tablespace) 表设计(table) 索引设计(index) 数据库设计的范围(二) 视图设计(view) 同义词设计(synonym) 序列设计(sequence) 触发器设计(trigger) 程序设计(PL/SQL) 表空间设计(一) 本地管理VS字典管理 自动段管理VS手动段管理 区扩展自动分配VS区扩展统一分配 避免自动扩展 表空间设计(二) 合理的表空间数量 数据表空间和索引表空间分开 为每个用户指定默认的表空间 数据文件和日志文件分开 范式介绍 第一范式:列具有原子性,不可分割 第二范式:非主键字段完全依赖于主键 第三范式:非主键字段完全且仅依赖于主键 古代汉语、英语 王五 003 高等数学、微积分 李四 002 C语言、离散数学、英语 张三 001 科目 姓名 学号 ccc 中文系 王五 003 bbb 数学系 李四 002 aaa 计算机 张三 001 系主任 系别 姓名 学号 5 古代汉语 4 离散数学 4 c语言 学分 科目 21 男 王五 003 19 女 李四 002 18 男 张三 001 年龄 性别 姓名 学号 表设计(一) 满足第三范式 设置主键,根据需要设置外键、约束等 添加注释 合理的字段名称 表设计(二) 选择合适的数据类型和长度 控制字段数量 可空的字段放在后面 大数据量表尽量采用分区 表设计(三) pctfree和pctused inittrans Init_extent Next_extent 不要在小表上加索引 索引并非越多越好 适当地使用函数索引 条件中频繁出现的字段作为索引列 尽量使用分区索引而非全局索引 索引设计 视图设计 只选取最常用的列作为视图中的列 为经常需要进行连接的表创建视图 尽量让前台应用程序访问视图而不是表 程序设计(一) 模块化 频繁访问数据库时使用 通过重载简化设计 必须有出错处理功能 程序设计(二) 避免过于复杂的SQL 避免不必要的排序 编写高效率的SQL 注意程序的健壮性 同义词设计 尽量避免创建公共同义词(public synonym) 在当前模式下创建同义词 序列设计 主键尽量使用序列产生 序列无法严格保证连续性 使用nextval和curval 触发器设计 如无必要,不建议使用触发器 可以在触发器中调用存储过程、包 触发器中不能使用commit,rollback等 项目需求 公司的人事档案,要求包含: 1、部门信息(名称、主管) 2、人员信息(姓名、性别、所在部门、职务、级别、薪资、照片、家庭住址、兴趣爱好等数十项内容) 实体关系图

文档评论(0)

gz2018gz + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档