数据库设计贯通_逻辑及物理设计.ppt
文本预览下载声明
数据库设计贯通—逻辑结构设计部分;;逻辑结构设计步骤;ER图向关系模型的转换;基本转化规则basic conversion rules;基本转化规则basic conversion rules;;;;下图表示是一个可选的一对多联系,学生可以住宿舍,也可以不住宿舍(比如有回家住的学生),
这里,dorm对student来说是可选的,因此dormNo作为Student表的外码,可以为空(Null)
为了避免这种空值,我们将live联系转化成关系表;该表的主码是子表(Student实体)的主码
该表的外码是两端的实体的主码的组合
该表的外码不允许空NULL
注意:规则五可以避免NULL,但是多生成了一个表,增加了查询的复杂性,许多应用中,避免额外的表比避免NULL更重要;;;方法一:;方法二:
在Power Designer中可通过设置dominant关系来实现;;逻辑模型的优化;;视图(view)设计;视图定义;视图的作用;视图的作用;视图的作用;视图的作用;;;;;;;With check option例:
CREATE VIEW ygb_view AS
SELECT * FROM 员工表 WHERE 员工表.性别=‘女’
执行下列语句,插入新记录:
INSERT INTO ygb_view (姓名,性别,工资) values(‘李立三’,‘男’,2300)
插入操作成功,但不合理!解决办法:使用with check option :
CREATE VIEW ygb_view AS
SELECT * FROM 员工表 WHERE 员工表.性别=‘女’With check option
同样,插入新记录:INSERT INTO ygb_view (姓名,性别,工资) values(‘李立三’,‘男’,2300)时,插入操作将失败!;数据库设计贯通—物理设计部分;从索引说起;索引;方法一:企业管理器
选中学生表,右击“设计表”
右击“索引/键”打开“属性”对话框
为学号sno创建聚集、唯一索引
参见右图
;方法一:企业管理器
选中学生表,右击“设计表”
右击“索引/键”打开“属性”对话框
为姓名sn创建非聚集索引
参见右图
;方法二:使用SQL命名
为课程号cno创建聚集、唯一索引的命令如下:
Create unique clustered index IN_CNO on c(cno)
With pad_index, fillfactor=80
为课程名cn创建非聚集、唯一索引的命令如下:
Create unique index IN_CN on c(cn DESC)
注:pad_index需与fillfactor一起使用
Fillfactor=填充因子:用于指定在创建索引时,每个索引页的数据占索引页大小的百分比,范围为1~100
DESC 表示为降序索引,默认???升序
;;索引的选择规则;索引的选择规则;索引的选择规则;The End
显示全部