第7章创建PDM主要内容包括基本概念。创建PDM及其组成元素。第7章目录7.1什么是PDM7.2PDM的基本概念7.3创建PDM7.4创建表7.5创建列7.6创建参照7.7创建域7.8创建键7.9创建索引7.10创建视图7.1什么是PDM以DBMS为基础的数据模型,根据该模型可生成SQL脚本。SQL脚本可以在数据库中建立相应的数据存储结构(如表、约束等)。PDM与DBMS关系见教材图7-1。7.2PDM的基本概念7.2.1表、列、视图、主键、候选键、外键7.2.2存储过程和触发器7.2.3默认和规则7.2.4完整性约束7.2.5索引7.2.2存储过程和触发器存储过程(StoredProcedure)是由SQL语句和控制流语句构成的集合。存储过程的特点(1)预编译,执行速度快(2)存储在服务器端,(3)远程登录执行,(4)简化安全机制7.2.2存储过程和触发器触发器(Trigger)是一种特殊的存储过程,在对表进行操作(插入、删除和修改等)时被触发执行。触发器的主要用途(1)级联修改,(2)实施复杂的规则,(3)比较更新表前后的状态,采取行动。7.2.3默认和规则默认(default):默认值规则(Rule):允许或不允许哪些值插入列中。7.2.4完整性约束完整性指的是数据的正确性和一致性。完整性有三种类型:(1)Unique、PrimaryKey和Reference(2)Check(3)Null和Default7.2.5索引索引描述数据的组织。可提高数据的查询速度。索引类型:(1)组合索引(2)唯一索引(Unique)(3)聚簇索引(Cluster)和非聚簇索引(Non-Cluster)7.3创建PDM7.3.1创建PDM的方法7.3.2定义PDM的显示参数7.3.3定义PDM的模型属性7.3.1创建PDM的方法创建方法有:(1)直接建立(2)由逆向工程建立(在第9章讲)(3)由CDM生成(第6章已讲过)(4)由OOM生成(在第12章讲)7.3.1创建PDM的方法(1)直接建立使用设计环境直接建立PDM操作演示PDM工具栏7.3.2定义PDM的显示参数类似CDM的定义方法:选择Tools—DisplayPreference菜单项。演示7.3.3定义PDM的模型属性类似CDM的定义方法:选择Model—ModelProperties…菜单项。演示7.4创建表表(Table)即DBMS中的表,用来存储数据。创建方法(类似CDM创建实体的方法):(1)在表的列表(ListofTables)中创建(2)用PDM工具栏的图标创建7.4创建表-表定义窗口Type下拉框中选项:Dimension:数据仓库中维度表Fact:数据仓库中事实表7.5创建列列(Column)对应与CDM的“属性”,是数据库表中的列。创建方法:类似CDM中“属性”创建方法1.创建列2.创建计算列。计算列是通过表达式对其他列的值进行运算后得到的特殊的列。7.5创建列-作者表的列7.6创建参照参照(reference)是父表和子表之间的连接,定义了两个表之间的参照完整性约束。7.6.1设置参照的模型选项创建参照的两种方式:(1)auto-migratecolumns和非auto-migratecolumns:前者自动将父表的主键迁移到子表中成为外键。(2)auto-reusecolumns和非auto-reusecolumns:前者自动将子表已存在的列重用为外键。参照的两种创建方式的设定表7-4子表外键的结果的初始状态(其中c1列是匹配列)Table_1c1c2c3c4...pkpkTable_2c1表7-4子表外部键结果Auto-reuseAuto-migrate子表外部键结果子表的变化√√重用c1,建立(迁移)c2×√建立tab_c1,建立(迁移)c2√×重用c1,不建立(迁移)c2××不重用c1,不建立(迁移)c2c1=c1c2=c2Table_1c1c2c3c4...pkpkTable_2c1c2fkfkc1=Tab_c1c2=c2Table_1c1c2c3c4...pkpkTable_2Tab_c1c2c1fkfkc1=c1c2=?Table_1c1c2c3c4...pkpkTable_2c1fkc1=?c2=?Table_1c1c2c3c4...pkpkTable_2c1显示参照的连接情况的设定(Join选项)7.6.2创建参照及定义属性建立方法:1.PDM工具栏中图标拖动方向:从子表向父表拖放。2.参照列表(ListofReference)7.6.2创建参照及定义属性定义属性:(1)Join(2)Integrity(3)显示属性(Reference、ViewReference)7.7创建域7.7.1创建域创建方法使用抽象数据类型。7.8创建键1.主键(PrimaryKey)2.候选键(AlternateKey)3.外键(ForeignKey)1.主键(PrimaryKey)创建方法:表属性窗口-Columns选项卡-P复选框。演示2.候选键(AlternateKey)创建方法:表属性窗口-Keys选项卡。举例给作品表创建候选键(书名,出版日期)。举例:给作品表创建候选键(书名,出版日期)3.创建外键(ForeignKey)见表7-4。如果选择auto-migratecolumns和DefaultLinkonCreation中的PrimaryKey单选框,在创建参照时,若子表中没有该主键的匹配列时,父表中的主键自动迁移到子表中作为子表的外键。如果选择DefaultLinkonCreation中的UserDefine单选框,在创建参照时,父表中的主键不会自动迁移到子表中作为子表的外键。此时,可用类似创建主键的方法创建外键。7.9创建索引(Index)方法:表属性窗口的Indexes选项卡。演示7.10创建视图(View)方法:(1)在视图列表(ListofViews)中创建。(2)工具栏中的View图标创建。演示查询2012年出版的作品和作者.SQL语句(1)select作品,姓名FROM作品,作者,TITLEAUTHORWHERE作品=作者ANDdatepart(出版日期,YEAR)=2012SQL语句(2)selectTitle.Title_Text,Author.AuthorNameFROMTitle,Author,TitleAuthorWHERETitle.Title_ISBN=TitleAuthor.Title_ISBNANDAuthor.AuthorID=TitleAuthor.AuthorIDANDANDdatepart(出版日期,YEAR)=2012