PowerDesigner (12.5) 数据库建模遇到的问题和解决办法
来源:互联网 发布:同方软件 编辑:程序博客网 时间:2024/05/21 23:33
PowerDesigner (12.5) 数据库建模遇到的问题和解决办法
1. 自增类型
在Conceptual Data Model,由于是概念模型,所以字段不能为自增类型。这是因为不同RDBMS,有不同的具体实现的模式(如SQL Server 的identity,和oracle 的sequence)。因此不能在概念模型中建立自增类型,SQL Server方法:选中某个字段à属性,选中identity即可.Oracle方法:选中某个字段à属性,新建sequence,选择你想用的sequence即可.注意,Sybase的系列数据库,有的也建立不了,如Sybase AS Anywhere X等
2. 关于索引
聚合索引:物理索引,可以创建一个唯一的组合(非组合)聚合索引
非聚合索引:可以创建多个非聚合索引
主键索引:为Unique的索引
Unique说明索引时,表示某个索引所在的列,值必须唯一
索引一般用于数据字段被频繁查询或设计到排序时经常要使用到,也用于字段值的唯一约束。这样可以大大提高查询的速度和控制数据的输入,但与此同时,也给DBMS带来管理上的更多负担,比如索引的管理和存储等.
参考: http://helpdesk.idcsea.com/article/support_article_552.html
3. 数据库设计的命名规则
一般不同的企业都有自己的关于数据库方面的命名规则,说说自己经常用的规则和方法:
表名: tb+实体内容的概述 如用户表: tbUserInfo,也有人命名为tb_User_Info,总之都借用了匈牙利命名法.
视图: vi+实体内容的概述
列名:类型简写 + 属性内容描述,如用户名称列:CUserName,C表示char,或varchar.如用户ID,是int类型,则是IUserID
存储过程:sp+存储过程解释,如spUpdateUserInfo,更新tbUserInfo内容的存储过程
触发器:tr+触发器说明 如 trInsertUserInfo,插入tbUserInfo之后触发
4. 范式的遵循
一般设计用到3NF,由于范式更多的事考虑数据冗余的问题,应用的范式越高级,那么检索时用的表连接等,都会影响到查询的效果.所以,取折中,用到3NF即可.对1NF,2NF,3NF做一个个人的理解性的解释和说明
1NF:粒度最小.就是每个列(属性),都要不能再细分
2NF:完全依赖主键.也就是说,不能出现其中有些字段不依赖于其中的主键
3NF:不依赖属性.即字段之间不存在依赖.
参考:http://hibernater.javaeye.com/blog/222791
- PowerDesigner (12.5) 数据库建模遇到的问题和解决办法
- PowerDesigner 数据库建模 - 生成表和测试数据
- 数据库建模工具PowerDesigner的基本使用方法
- 数据库建模-PowerDesigner
- PowerDesigner数据库建模
- 数据库建模工具:PowerDesigner
- PowerDesigner数据库建模
- PowerDesigner 开发数据库建模
- PowerDesigner数据库建模
- 使用PowerDesigner数据库建模
- PowerDesigner画线遇到的问题
- 数据库建模可以抛弃D版的powerdesigner和erwin了!
- PowerDesigner数据库建模name和code写反了怎么办?
- PowerDesigner数据库建模name和code写反了怎么办?
- 《数据库建模工具 PowerDesigner 11.0》(PowerDesigner 11.0)
- 《数据库建模工具 PowerDesigner 11.0》(PowerDesigner 11.0)
- Powerdesigner数据库建模工具教程
- Powerdesigner数据库建模工具教程
- Authentication
- 处世23禁忌
- pyopengl使用数组设置顶点坐标
- 我爱写博客
- Microsoft Silverlight 4 正式发布
- PowerDesigner (12.5) 数据库建模遇到的问题和解决办法
- 初步敏捷测试环境下的测试展开
- KMP算法 感悟
- 实用的 JavaScript 测试及效验工具
- 好的单元测试标准
- 单元测试方法
- 快毕业了,老师站在讲台上:“探讨三个问题。”
- Windows 7不能睡眠,原来是启用了离开模式
- IT人生畅想