Oracle基础<1>--数据库设计
一:为什么需要使用数据库设计
数据库设计可以使数据库通过健壮的数据库结构 高效并且健康 的进行工作。
二.数据库设计原则 (数据库设计、系统设计、架构设计)
1.熟悉需求
保证之后需求的变更 不会影响到数据库的维护、更新、减少了工作成本
2.开发符合规范的数据库
(1).命名规范
(2).明确现实中的实体与数据表的关系
· (3).一张数据表不能既没有主键,也没有外键(主键是现实中实体的抽象,外键表示现实中实体之间的关系)
(4).基本表的特征
原子性:基本表中的字段是不可在分解的
原始性:基本表中的记录是原始数据的记录
演绎性:由基本表和关系表可以派生出任何想要的数据
稳定性:基本表中的结构是相对稳定的,表中的记录需要长期保存
(5).必须满足第一第二范式,尽量满足第三范式(属性的原子性约束,记录的唯一性约束,对字段冗余的约束)
(6).要有一个 简洁的E-R图:简单的实体、关系图
(7).要符合完整性约束
3.审核数据库设计
三.数据模型
1.关系模型 E-R图:通过实体间的关系来设计数据库的
2.对象模型OR:
四.数据库设计的技巧
(1).表三少:在符合系统需求的前提下,表的个数越少越好,一张表中组合主键的字段数越少越好,一个表中的字段越少越好
(2).检查各种变化字段
(3).避免使用保留字
(4).删除标记字段
(5).避免使用触发器
(6).如果发现重新输入数据、就需要创建新的表和新的关系
(7).熟练使用数据库设计工具
(8).创建E-R图标和数据字典
(9).每个表都应该用友3个有用的字段:修改记录时间,修改人,修改后的版本
(10).对地址和电话采用多个字段
(11).正确处理多对多关系
五.数据库设计的步骤
(1).手机信息
(2).标识对象
(3).建立对象模型
(4).标示每个对象需要存储的信息类型
(5).表示对象之间的关系
Oracle基础<1>--数据库设计的更多相关文章
- Java基础88 数据库设计的三大范式
数据库的设计原则:建议设计的表尽量遵守三大范式 1.第一范式 要求表的每个字段必须是不可分割的独立单元 Student表: name -- 违反了第一范式 张 ...
- Oracle基础:数据库操作_数据库事务_表的锁定
数据库操作语句: INSERT INTO 表名[(字段列表)] VALUES ( 表达式列表); 例子:INSERT INTO emp(empno,ename,job,hiredate) VALUES ...
- Oracle 基础 导入数据库 删除用户、删除表空间、删除表空间下所有表
导入数据库 在cmd下用 imp导入 格式: imp userName/passWord file=bmp文件路径 ignore = y (忽略创建错误)full=y(导入文件中全部内容); 例: ...
- OA系统启动:基础数据,工作流设计
自从开源OA系统启动:系统概览放 出来后.园友们反馈了一些不错的建议.主要集中在工作流部分.本来是先不考虑工作流部分.这些天的交流和思考.决定把工作流部分作为系统基础结构贯穿整个 系统.所以先考虑了这 ...
- 开源OA系统启动:基础数据,工作流设计
原文:http://www.cnblogs.com/kwklover/archive/2007/01/13/bpoweroa_03_baseandworkflowdesign.html自从开源OA系统 ...
- 【学习记录】第一章 数据库设计-《SQL Server数据库设计和开发基础篇视频课程》
一.课程笔记 1.1 软件开发周期 (1)需求分析阶段 分析客户的业务和数据处理需求. (2)概要设计阶段 设计数据库的E-R模型图,确认需求信息的正确和完整. /* E-R图:实体-关系图(Ent ...
- 七、Oracle 数据库设计
1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关系:即一张原始单据对应且只对应一个实体. 在特殊情况下,它们可能是一对多或多对一的关系,即一张原始单证 ...
- Oracle数据库设计实例-实时生产效率系统数据库设计
Oracle数据库设计实例-实时生产效率系统数据库设计 引言 1.1 设计前提 某部门经理要求IT部门设计一个流水线实时生产效率系统,用来统计实时的生产量和效率.流水线有数百条,实时间隔为1min. ...
- Oracle数据库设计第三范式
一.数据库设计范式及其意义和不足 数据库的设计范式是数据库设计所需要满足的规范,数据库的规范化是优化表的结构和优化把数据组织到表中的方式,这样使数据更明确,更简洁.实践中,通常把一个数据库分成两个或多 ...
随机推荐
- jgroups 入门
官网地址:http://www.jgroups.org/ 聊天室示例:http://www.jgroups.org/tutorial/html/ch02.html 2.1. JGroups overv ...
- OC:面向对象的编程思想、基本的知识点总结、强,弱引用
OC 面向对象 和 面向过程 参考 面向过程:使用步骤划分功能,然后用函数一步一步的调用 面向对象:OOP (Object Oriented Programming) 使用功能来简化问题, 面向对象语 ...
- 传统的Ado.net 参数设置:params SqlParameter[] commandParameters
C#代码 ExecuteReader(string connectionString, CommandType commandType, string commandText, params Sql ...
- NBearV3中文教程总目录
1.NBearV3 Step by Step教程——ORM篇 摘要:本教程演示如何基于NBearV3的ORM模块开发一个Web应用程序的全过程.本教程演示的实体关系包括:继承.1对1关联.1对多关联, ...
- Flex 舞台背景渐变
<?xml version="1.0" encoding="utf-8"?><s:Application xmlns:fx="htt ...
- 12.组合(Composition)
组合也是关联关系的一种特例,它体现的是一种contains-a的关系,这种关系比聚合更强,也称为强聚合:它同样体现整体与部分间的关系,但此时整体与部分是不可分的,它们具有统一的生存期,整体的生命周期结 ...
- Ruby学习资源汇总
from:http://segmentfault.com/a/1190000000362058 Ruby 语言 Try Ruby: 无需在你的系统中安装.Ruby,只要通过浏览器便可立即体验 Ruby ...
- 当spring 容器初始化完成后执行某个方法 防止onApplicationEvent方法被执行两次
在做web项目开发中,尤其是企业级应用开发的时候,往往会在工程启动的时候做许多的前置检查. 比如检查是否使用了我们组禁止使用的Mysql的group_concat函数,如果使用了项目就不能启动,并指出 ...
- Chrysler -- CCD (Chrysler Collision Detection) Data Bus
http://articles.mopar1973man.com/general-cummins/34-engine-system/81-ccd-data-bus CCD (Chrysler Coll ...
- Codeforces Round #276 (Div. 1) D. Kindergarten dp
D. Kindergarten Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/proble ...