数据库设计才是王道。
1.Introduction
2.Normalization
3.ER图
4.Subtypes and Supertypes
5.Attributes and columns
6.Primary key
7.Extentions
8.Conceptual data modeling
9.Logical database design
10.Physical database design
警句:
1.The data modeler becomes a player in helping to design the
new way of doing business, rather than merely reflecting the old.
2.如同OO中OCP(开闭原则)一样,即对修改关闭,对扩展开放。在数据建模当中也有Stable与flexible的要求。
A data model is stable in the face of a change to requirements if we do
not need to modify it at all. 例如保单的类型增加了,如果你有独立的保单表的话你只需要增加一行就可以了,不需要数据模型进行任何修改。
Flexibility depends on the type of change proposed.灵活性依赖于你对变化的预期。如果一个保单有多个客户,当前的设计显然不够灵活,因为它很难满足这个需求。
3.建模过程
As in other design disciplines,
achieving this is a process of proposal and evaluation, rather than a step-by-
step progression to the ideal solution。
4.关于Performance
The usual (and recommended) procedure is to develop the data model without
considering performance, then to attempt to implement it with the available
hardware and software.
5.数据建模的重要性
A good data model developed early in the project can save much pain later.
6.关于数据建模
Our key consideration was the desire to focus on what
we believe are the most challenging parts of data modeling: understanding
user requirements and designing appropriate data structures to meet them.
7.关于Oracle中的存储过程
- 通常情况下,oralce将整个存储过程作为一个事务整体,整个过程内的事务,要么都提交,要么都回滚。
- 在非自动提交的情况下,存储过程除非内部显式的执行了commit操作,否则即便整个过程执行成功,当前事务也是未提交的,这是存储过程的另一个特点:存储过程并不会自动提交。
- 如果过程内部使用了commit命令或rollback命令,则存储过程就能够自行控制整个事务的结束时机,而不受整个会话的影响。
- 异常处理对事务的影响。