作者Hotpenis5566 (痂骑破麻)
看板Database
标题[问题]ERD-场地租借 正规化观念的请教
时间Sat May 16 21:42:34 2009
附上ERD
http://yfrog.com/5dermodel2j
字很多....小弟是刚学资料库的 很想把它学好(组员也摆烂=..=)
只能靠自己囧
很多问题应该都算观念 有请乡民替我解惑
我想知道自己哪里对哪里错........感恩.....
帮我看我解释的 怕我有观念上的错误 (感恩~^^")
其实看书有点不是很懂
我试着用自己的想法写出来
(以下开始):
1.在资料库里一开始先画出大概的主架构(ER MODEL)→不明确也没关系
2.接着将ERD转换成关联纲目(也就是很多个Table)
3.将很多个个关联纲目做第1.2.3正规化
正规化完再去修正ERD 使之更明确 →是这样吗= =?
问题:
1.a.像关联纲目的定义每一个属性为简单且单值
岂不是我们要第一正规化这个步骤是多余的吗= =?
b.为什麽Relationship不能加主键?
2.a.正规化是只正规实体而已吗? 为什麽不用正规relationship呢?
是不是因为relationship是正规实体的产物呢?
譬如:顾客购买商品这一个关联纲目
属性有 CustomerID CustomerName TradeID TradeProduct
因为CID和TID是关联键
{CID,TID}→{CNAME}
所以拆成两个满足2NF
+------------+ +------------+
|Customer |------Relationship---- | Trade |
+------------+ / \ +------------+
/ \ CID TId / \
CID CNAME TID TProduct
b 如果一个关联纲目只有一个关联键它一定满足2NF吗?
(如果不是可以帮我举一个例子吗?)
换句话说2NF的定义是不是一个关联纲目里有两个以上关联键
并且找到一个非关联键与关联键有意义上的关系(譬如商品编号 和商品名称)
此时就把这整个关联纲目拆成两个对吗?
因为2NF比较不好理解
我再打一个定义上的观念请教一下..
A,B,C是关联键 找到一个D与ABC是部分函数相依
因为C→D (譬如学生学号 对应学生姓名)
所以要拆成两个表格{A,B,......}和{C,D......}
再去检查{A,B...}这个关联网目里有没有满足2NF这样
有点像递回这样= =?
3. 第三正规化
譬如
学生学号 学生姓名 学生系所 学生年级 学生住址 学生的房东 房东电话
一个学号对应一个学生住址
一个学生住址对应一个房东 所以不满足3NF
故需拆成(学号.....住址) 和(住址....电话)
这样= ="? 不知道有没有讲错
4.(最後一个了)
如果一开始的ERD画的够详尽明确 是不是就省下正规化的时间
我看我的TABLE实在想不出来可以哪里可以再改进了= =?
请好心大大帮我看一下 Orzzzzzzzzzzzzz
+-------------------------+
|学生 |
+-------------------------+
| 学号 {主键} | 49635001 张小明 资管 3 091234567
| 姓名 |
| 系 所 |
| 年级 |
| 电话 |
+-------------------------+
+----------------------------+
| 预定 |
+----------------------------+
|学生学号 (外部键) |
|预定流水号 (外部键) |
| |
| |
| |
| |
+----------------------------+
+-------------------------+
|预定单 |
+-------------------------+
| 预定流水号 (主键} | 1 49635001 A101 20090516 08:00 Null
| | 20090517 10:00 20090517 12:00 预约中 Null
| |
| 申请日期 | 2 49635001 A102 20090516 08:05 Null
| 取消日期 | 20090518 19:00 20090518 21:00 200
| 使用开始时间 |
| 使用结束时间 |
| 使用状态(预约中,取消) |
| 晚间开灯费用 |
| |
| |
+-------------------------+
~
+----------------------------+
|纪录 |
+----------------------------+
|预定单流水号 (外部键) |
|场地编号 (外部键) |
| |
| |
| |
| |
+----------------------------+
+-------------------------+
|场地 |
+-------------------------+
|编号 {主键} | A101篮球场A
|名称 | A102排球场A
| |
| |
+-------------------------+
~
+-------------------------+
|优先预定 |
+-------------------------+
| 场地编号 (外部键) | A101 00153 20090517 08:00 20090517 10:00
| 课程编号 (外部键) |
| 课程开始时间 | //这在学期初就汇入资料库
| 课程结束时间 | 如果要设定时是不是在程式端设定第一天上课後
| | 每加七天同一时段不能外借给学生= =?
+-------------------------+
~
+-------------------------+
|体育课程 |
+-------------------------+
|课程编号 {主键} | 00153
|课称名称 | 篮球3
|老师姓名 | 王大同
| |
+-------------------------+
~
+-------------------------+
|设备租借 |
+-------------------------+
| | 001 49635001 A1 50 未还
|学生学号 (外部键) |
|设备ID (外部键) |
|借用数量 |
|借用状态 |
| |
+-------------------------+
+-------------------------+
|设备 |
+-------------------------+
|设备ID {主键} | A1 篮球 150
|设备名称 |
|库存数量 |
| |
+-------------------------+
~~
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.225.32.212
※ 编辑: Hotpenis5566 来自: 125.225.32.212 (05/16 22:40)