软件开发与项目管理-工具使用手册powerdesign powerdesigner应用手册_第1页
软件开发与项目管理-工具使用手册powerdesign powerdesigner应用手册_第2页
软件开发与项目管理-工具使用手册powerdesign powerdesigner应用手册_第3页
软件开发与项目管理-工具使用手册powerdesign powerdesigner应用手册_第4页
软件开发与项目管理-工具使用手册powerdesign powerdesigner应用手册_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录erDesigner 模型设计1概念模型设计4计物理模型设计 1表和主外键10物理模型设计 2约束17过程和函数26物理模型设计 3视图、erDesigner15 使用时的十五个问题30erDesigner 模型设计SybaseerDesigner(简称 PD)是最强大的数据库建模工具,市场占有率第能也确实十分强大,现在版本是 15.1,已经支持的 SQLServer 2008 等数据库,另外在 PD15 中还增加了好几种模型,界面也得到了进一步的美化,做出来的图更漂亮了。下面是一个在 PD15 中新建模型的窗口:PD 本身除了进行数据库建模以外,还可以建业务模型、UML 模型等,当然这些

2、建模其他很多工具也有相同的功能,PD 在这些模型的建立上并没有看出有什么明显的优势,所以我使用 PD 的目的只有一个就是进行数据库建模,这才是他的强项。1一般来说在进行数据库建模时最常用的就是概念模型和物理模型,现在在PD15 中增加了逻辑数据模型和数据模型。另外的数据流图、数据迁移模型和 UML 类图就暂时不研究了。在进行数据库建模时,最先是要建立概念模型,概念模型是一个抽象的宏观层次的业务模型,最常用的是“实体-关系”图。所以在概念模型中最重要的对象是实体和关系。根据概念模型可以生成逻辑模型,逻辑模型是概念模型的延伸,表示概念之间的逻辑次序,是一个属于方法层次的模型。具体来说,逻辑模型中一

3、方面显示了实体、实体的属性和实体之间的关系,另一方面又将继承、实体关系中的等在实体的属性中进行展示。逻辑模型介于概念模型和物理模型之间,具有物理模型方面的特性,在概念模型中的多对多关系,在逻辑模型中将会以增加中间实体的一对多关系的方式来实现。逻辑模型主要是使得整个概念模型更易于理解,同时又不依赖于具体的数据库实现,使用逻辑模型可以生成针对具体数据库管理系统的物理模型。逻辑模型并不是在整个步骤中必须的,可以直接通过概念模型来生成物理模型。物理模型依赖于具体的物理实现,使用的就是数据库对象,原来的“实体-关系”转换成“表-外键”,实体的属性转换为表的列,同时每个列的数据类型转换为对应的 DBMS

4、中支持的数据类型。对于 SQL Server 2008 的物理模型,如果主键需要使用自增长,那么需要修改具体的列,设置该列为 Identity。如果生成的数据类型不合理,也可以调整数据类型,使得数据类型使用得更恰当。在物理模型中除了生成的表外,还可以手动增加视图、过程、业务规则等在概念模型和逻辑模型中无法表达的数据2库对象。对物理模型调整好后,就可以将模型应用到 SQL Server 数据库中。在数据库中实现物理模型的方法有两种,一种是使用 PD 连接到 SQL Server 数据库,然后将模型同步到数据库中,另法就是生成数据库。3概念模型设计在概念模型中主要有以下几个操作和设置的对象:实体(

5、Entity)、实体属性( Attribute )、实体标识( Identifiers )、关系( Relationship )、继承(Inheritance)、关联(Assotion)、关联连接(Assotion Link)。实体实体就是抽象出的对象,比如:一个选课系统中,学生、教师、班级、课程等等都是实体。实体属性就是一个实体中所包含的简单属性,比如学生实体,具有学号、生日、等属性。另外实体还有个标识用于唯一的标识出每个实体实例,比如学生实体中就可用将学生的学号作为该实体的标识。标识可用是一个实体属性也可以是多个属性的结合。在 PD 中新建一个新的概念模型,系统将出现一个如下,用于在设计面

6、板中设计模型。单击 Entity 图标,然后在设计主面板中单击一次便可添加一个实体。再单击鼠标图标,即可切换回一般鼠标的模式。双击已经添加的实体,弹出实体属性设置框,在 General 中可以设置实体的 Name 和 Code 等属性,:4切换到 Attributes 选可以设置实体的属性 Name、Code、Daype等,右边还有 3 个复选框,M 表示不能为空,P 表示是标识属性,D 表示在模型图中是否显示,如果在设置属性时直接选中 StudentID 的 P 复选框,系统将会自动生成该 Student 实体的一个 Identifier。如果不希望系统自动生成而是手动设置的话,那么切换到I

7、dentifiers 选项卡,添加一行 Identifier,然后单击左上角的“属性”按钮,然后弹出的标识属性设置框中单击“添加行”按钮,选择该标识中使用的属性。例如将学号设置为学生实体的标识,具体操作:5整个设置好的实体:关系关系用于表示一个实体与另外一个实体之间的对应关系,分为一对一(1:1),一对多(1:n),多对一(n:1),多对多(m:n)4 种对应关系,一对多和多对一其实就是方向相反,所以实际上就是一对一、一对多和多对多。最最常用的就是一对多,比如班级实体和学生实体就是一对多关系,一个班级有多个学生,一个学生只会属于一个班级。在设计面板中添加一个 Class 实体,然后单击的 Re

8、lationship 按钮,然后在 Class 实体上单击一下,再到Student 上单击一下,就可以在 Class 和 Student 之间建立一对多关系,如图:系统默认会给该关系一个命名 Relationship_1,切换到鼠标指针模式,双击 Relationship_1,即可打开关系的属性窗口,可以在 General 选中修改6该关系的 Name、Code 等,如图:切换到 Cardinalities 选,上面可以修改是一对多还是多对多之类的关系,下面的 Role name 没有多大的意义,就是在模型中显示文字,多的一方有0,n 和 1,n 两种,也就是说一个班级可以对应多个学生,那么一

9、个班级中最少是没有学生还是要至少存在一个学生,同样的一的一方有 0,1 和 1,1 两种,就是说一个学生是可以不属于任何班级呢还是必须属于某一个存在的班级,这里都选至少是 1,所以最终的设置界面如图:7继承在概念模型中的继承与在 OO 模型中的继承是一回事,就是要抽象出一个实体,其他实体继承该实体后就拥有该实体的属性。同样以选课系统为例,现在有学生实体,有教师实体,其他他们都是人,具有人的属性,所以可以抽象出一个人的实体,人具有、生日、名字等属性,教师具有、工号等属性这是学生没有的,所以不能放在人实体中,学生具有学号属性是教师没有的。这里只是概念模型,在 DBMS 中是没有继承这种说法的,所以

10、在接下来的逻辑模型和物理模型中,系统就会将继承转换为实际的实体和表。这里只是概念模型,所以才有继承的说法。关联(Assotion)Assotion 也是一种实体间的连接,在 Merise 模型方法学理论中, Assotion 是一种用于连接分别代表明确定义的对象的不同实体,这种连接仅仅通过另一个实体不能很明确地表达,而通过“事件(Event)”连接来表示。也就是说,实体和实体之间存在着关系(多对多),但是这种关系还存在其他的属性,这些属性如果如果作为一个明确的实体的实体来表示又不是很合适,8所以就使用了 Assotion 来表达,这种关系之间一般是一个“事件”虚实体,也就是说是一个动词对应的实

11、体。前面说的可能还是太抽象,以实际的例子来说明:现在有了学生实体,有课程实体,一个学生可以选择多门课程,一门课程有多个学生来上课,所以之间就存在一个“选课”的 Assotion,其中了学生选课的时间、选课的状态:一个学生会对应多个选课结果选择多门课程,一个课程对应多个选课学生选课,所以学生实体和课程实体与选课的关系都是一对多,添加关联连接,一门课程可能太枯燥了,没有学生来选,所以课程对应选课可能是 0,n,一个学生可能学分够了这学期一门课都不选,所以学生对应选课也可能是 0,n 的关系,所以我们最终形成的概念模型:这就是一个完整的概念模型。接下来就是要根据概念模型生成逻辑模型或者物理模型。9物

12、理模型设计 1表和主外键在 PD 中建立物理模型由以下几种办法:1.直接新建物理模型。2.设计好概念模型,然后由概念模型生成物理模型。3.设计好逻辑模型,然后由逻辑模型生成物理模型。4.使用逆向工程的方法,连接到现有的数据库,由数据库生成物理模型。物理模型能够直观的反应出当前数据库的结构。在数据库中的表、视图、存储过程等数据库对象都可以在物理模型中进行设计。由于物理模型和数据库的一致性,接下来以数据库对象和物理模型对象的对应来一一介绍:新建物理模型时需要指定物理模型对应的 DBMS,这里使用 SQLServer 2008,新建一个物理模型后,系统会显示一个专门用于物理模型设计的:若要在物理模型

13、中添加一个表,单击“表”按钮,然后再到模型设计面板中单击一次便可添加一个表,系统默认为表命名为 Table_n,这里的 n 会随着添加的表增多而顺序增加。添加的表是没有任何列的,:单击的鼠标指针按钮,将鼠标切换回指针模式,然后双击一个表,系统将打开表属性窗口,在 General 选中可以设置表的 Name、Code 等属性。例如要新建一个教室表(ClassRoom),则可修改 Name 和 Code。Name10是在模型中显示的名称,Code 是生成数据库表的时候的实际表名。另外 Name中的内容还会作为 SQL Server 中的表备注。单击 Columns 切换到列选,在下面的列表中可以添

14、加表中的列。Name是模型上显示的名称,Code 是生成的实际的表名,后面的 3 个复选框 P主键、F 代表外键,M 代表不能为空。为教室表设计了两个列,:11主键在设计一个表时,一般情况下每个表都会有一个主键,主键分为单列主键和复合主键。在为表设置主键时有以下几种办法:1.在 Columns 选中,直接选中主键列的 P 列复选框,这是最简单的方式。2.选中一个列,然后单击中的“属性”按钮,系统将弹出列属性窗口,在该窗口中可以设置该列的各种属性,当然也包括该列是否是否是主键。另外还有一个很重要的复选框是“Identity”。选中 Identity 复选框则表示该列为自增列。123.切换到 Ke

15、ys 选中,在其中添加一行命名为 PK_ClassRoom,然后单击的“属性”按钮,打开键属性窗口,在该窗口中切换到 Columns 选项卡,单击添加列按钮,弹出列选择窗口,选中主键中应该包含的列,单击确定按钮即可完成主键的创建。13另外需要注意的是,在建立主键时,系统会在主键上建立索引,索引分为聚集索引和非索引,在“键属性”窗口的 General 选中可以设置该主键上建立的索引是索引还是非索引,:外键如果是由概念模型或者逻辑模型生成物理模型,那么外键是通过Relationship 生成的,也可以通过中的 Reference 来实现两表之间的外键关系。假如一个课程只会在一个固定的教室上课,而一

16、个教室会安排多个课程在不同的时间上课,所以教室和课程是一对多的关系,那么课程表中就需要添加RoomID 列以形成外键列,具体操作方法就是在中单击“Reference”按钮,然后在设计面板中,课程表上按下鼠标左键,并拖拽到教师表中放开鼠标,这时如果课程表中没有 RoomID 列,系统会自动创建 RoomID 列并创建该列上的外键,如果已经存在 RoomID 列,则只添加外键,不会再添加新列。14切换到鼠标指针模式,双击箭头,系统将弹出的属性窗口,在属性窗口中可以设置该的 Name、Code、关联的列、约束名、更新策略和删除策略等。15物理模型设计 2约束唯一约束唯一约束与创建唯一索引基本上是一回

17、事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。在 PD 中创建唯一约束的操作,以教室表来说,RoomID 是主键,必然是唯一的,RoomName 如果也要去必须是唯一的,那么具体操作如下:在 PD 的模型设计面板中,双击“教室”表,打开属性窗口,切换到”Keys”选,可以看到里面有一行数据 PK_ClassRoom,这是主键约束。添加一行数据,命名为 UQ_RoomName,不能将右边的“P”列选上,然后单击的“属性”按钮,弹出 UQ_Roo

18、mName 的属性窗口,切换到列选,单击增加列按钮,选择将 RoomName 列添加到其中,然后单击确定即可完成唯一约束的添加。16这样系统就会自动创建唯一约束。CHECK 约束CHECK 分为列约束和表约束,列约束是只对表中的某一个列进行的约束,可以在列的属性中进行设置,而表约束是对多个列进行的约束,需要在表的属性中进行设置(其实列约束也可以在表约束中设置)。1.标准 CHECK 约束对于一些常用的 CHECK 约束,可以直接通过设置界面来完成。以班级表为例,Claame 每个学校有名规则,假设这里规定Claame 必须以 2 开头,那么需要在 Claame 列上定义 CHECK 约束,使得

19、其满足命名规范。具体操作是在 PD 中双击 Class 表,打开 Class 的属性窗口,切换到列选项17卡,选择 Claame 列,单击的“属性”按钮,弹出 Claame 的属性窗口,切换到 StandardChecks 选如图:在这个选可以定义属性的标准检查约束,窗口中每项的参数的含义,如下:参数说明Minimum属性可接受的最小数um属性可接受的最大数Default属性不赋值时,系统提供的默认值Unit,如公里、吨、元Format属性的数据显示格式Lowercase属性的赋值全部变为小写字母Uppercase属性的赋值全部变为大写字母18Cannot modify该属性一旦赋值不能再修改

20、List Of Values属性赋值列表,除列表中的值,不能有其他的值Label属性列表值的2.直接编写 SQL 语句的 CHECK 约束面弹出 Claame 属性窗口中,单击左下角的“More”按钮,系统将弹出的选,切换到“Additional Checks”选,可以设置约束名和具体的约束内容,:表级的 CHECK 约束与列级的 CHECK 约束设置类似,单击表属性窗口左下角的“More”按钮,切换到 Check 选,设置 CHECK 约束名和 SQL语句内容。193.使用 Rule 创建约束同样以班级名必须以 2 开头为例,通过 Rule 创建 CHECK 约束。首先需要创建一个 Rule

21、,双击 Class 表,打开表的属性窗口,切换到 Rules 选,单击“Create a Object”按钮,系统将打开一个业务规则属性窗口,修改规则名,并将规则的类型修改为 Constra,:20然后切换到 Expres选,设置规则的内容为“Claame LIKE2%”,单击确定按钮即可完成 Rule 的设置。切换到表属性的 Check 选,默认约束内容中的“%RULES%”就是用来表示 Rule 中设置的内容,如果还有一些其他的 CHECK 约束内容,不希望在 Rule 中设置,而是在 Check 选项卡中设置,那么只需要删除%RULES%将 CHECK 约束内容添加进去,也可以保留%RU

22、LES%,然后在与%RULES%之间添加一个 and 即可。比如规定 Cla必须小于 10000,那么可以将 Check 内容设置如下:21生成的如下:create table Class (Clanot null,Claamevarchar(20)not null,constraPK_CLASS primary key nonclustered (Cla),constraCKT_CLASS check (Cla10000),constraClaameRule check (Claame LIKE 2%)go可以看到,根据 Rule 生成的 CHECK 约束与在 Check 选中设置的约束将分

23、别创建一个约束,相互并不影响。默认约束22默认约束是用户在没有输入值的情况下,系统给出默认的值。最常用的是CreateTime 字段,设置默认值为 getdate(),在用户创建一行数据时下创建时间。例如对于选课表,需要下选课的时间,则可以设置 ApplyTime 的默认值为 getdate()函数。设置默认值约束的操作如下:双击选课表,打开表属性窗口,选择ApplyTime 字段,单击的属性按钮,打开列的属性窗口,切换到 StandardChecks 选,在 Default 下拉列表框中选择 getdate()即可。至此所有的约束在 PD 中的设置都介绍完了,下一篇将介绍视图、23过程等数据

24、库对象。24物理模型设计 3视图、过程和函数25Usage 是表示视图是只读的视图还是可更新的视图,还有一个是 check option 选项,指定了 CHECK OPTION,也不能依据视图来验证任何直接对视图的基础表执行的更新。如果只创建一般的视图,那么就选择只查询选项。Dimenal Type 指定该视图表示的是维度还是事实,这个主要是在进行数据仓库数据建模时使用,一般情况下不需要指定。后面的两个复选框也不需要进行修改。Type 使用默认的 view 选项。切换到SQL Query 选,在文本框中可以设置视图定义的查询内容,建议直接先在 SSMS 中验证视图定义SQL 语句的正确性,然后

25、再将 SQL 语句粘贴到该文本框中。在定义视图时最好不要使用*,而 应该使用各个需要的列名,这样在视图属性的 Columns 中才能看到每个列。设计 SQL Query。视图在SQL Server 中视图定义了一个SQL 查询,一个查询中可以查询一个表也可以查询多个表,在 PD 中定义视图与在 SQL Server 中定义查询相似。例如要创几个所有学生的所有选课结果的视图,那么在中选择视图按钮,然后在设计面板中单击鼠标一次便可添加一个空白的视图,切换到鼠标指针模式,双击该视图便可打开视图的属性窗口。在 General 选中,可以设置视图的名字和其他属性。26当然,也可以在 PD 中使用自带的S

26、QL 编辑器编写 SQL 语句,单击右下角的“Edit with SQL Editor”按钮,即可弹出 SQL Editor 编辑器,编写 SQL 语句。过程和函数过程和用户自定义函数都是在同一个组件中设置的,在 中单击 Procedure 按钮,然后在设计面板中单击一次便可添加一个 Procedure。例如要创建一个 过程根据学生的学号获得学生所选的课程,那么对于的操作如下:在指针模式下双击添加的 Procedure,打开 Procedure 属性窗口,在 General 选 中可以设置该过程的名字。27在下面的 SQL 语句中,可以将 create procedure %QUALIFIER

27、%PROC%保留,其他的删除,根然后切换到 Definition 选,该选中定义了过程的定义,在下拉列表框中,选择选项,如果是要定义函数,那么就需要选择选项,系统会根据选择的类型创建 SQL 语句的模板。28据自己要创建的过程编写SQL 语句。create procedure %QUALIFIER%PROC% StudentIDas beginselect CourseName from vwStudentCoursewhere StudentID=StudentID end单击确定按钮,系统会根据编写的SQL 语句,将所使用的表、视图与过程关联起来,:创建函数的过程与之类似,只是使用的是 c

28、reate function 而不是 create Procedure 而已。至此,最常见的数据库对象:表(表的约束)、视图、过程、函数等在 PD 的创建已经介绍完了,接下来会介绍 PD 的设置。erDesigner15 使用时的十五个问题erDesigner 的主要作用一般还是数据库建模,并生成对应的数据库设计文档,可以与数据库保持同步。一般常用的有 CDM,PDM,UML 建模,CDM 可以转为 PDM。支持正向生成数据库和逆向工程从数据库中生成,并直接关联到到数据库中,PDM 可以直接和数据库进行关联,并将数据库,表,视图,触发器等数据库对象生成到数据库中,也可将这些对象更新到 PDM

29、中。erDesigner 的几个主要常用菜单是 M、DATEBASE、Tool,这三个菜单下命令使用比较多,要熟悉。PD 还可以用来画用例图,序列图,类图等 UML 图。也可以画企业架构图,应用架构图等等图形15 个问题列表:No.1:是不是一定要从 CDM 开始设计,然后在进行 PDM 的设计?NO.2: palette 不见了,如何把它找出来?NO.3: 如何建立与数据库的关联?NO.4: 域和数据项有何作用?No.5: 如何生成主键的自定义增长列,SQL Server 和 Oracle 数据分别是如何操作的?No.6: NAME 和 CODE 联动,如何取消?NO.7. 如何实现字段的

30、NAME 和 Comment 属性互换?NO.8: 如何修改某个对象名规则,比如外键,比如主键,比如触发器等?29No.9: 如何用 PD 生成测试数据,以便测试?No.10 如何把 CODE 的 NAME 中文也生成在中,也就是列名后就是 NAME 的说明文字?NO.11 如何将数据库结构,表名,表的字段导出到 Word 中,或者生成 HTML 文件以便查看?No.12 如何去除生成 SQL 时的双引号问题,双引号在 Oracle 中可以保证大小写,却异常麻烦?NO.13 如何修改 PD 的显示样式?No.14 如何去除表名,字段的长度限制?No.15 如何进行数据库的逆向工程?说明:本文提

31、到的PD 基于 PD15.英文版。No1:是不是一定要从 CDM 开始设计,然后在进行 PDM 的设计?本人觉得没有必要,项目的大小、熟悉程度、起步和个人不一样,熟练业务的,项目小的直接用 PDM 设计未尝不可。NO2:palette 不见了,如何把它找出来?这个问题我找了所有的菜单才找到,在【Tools】-【Customize Toolbars】点击打开,列表项里的【palette】选中即可,此外,这个窗口中还可以设计对齐的方式等等。NO3:如何建立与数据库的关联?详细建立:erDesigner 建立与数据库的连接,以便生成数据库和从数据库生成到 PD30中。Oracle 10G 版 erD

32、esigner 建立与数据库的连接,以便生成数据库和从数据库生成到 PD 中。SQL SERVER 2005 版NO4:域和数据项有何作用?域和数据项的作用是为了复用而设定的,数据类型可以保持一致,比如不少表里都有,则可以定义两个通用的域,点击【M】-【s】 出现,建了三个域,那么建表时可以复用,打开列的属性的时候就可以复用了,如果域的类型发生了改变,则该列的数据类型也发生改变。数据项作用类似于此。还有一些,比如主键递增 ID31No.5 如何生成主键的自定义增长列,SQL Server 和Oracle 数据分别是如何操作的?SQLSer 版本:/netsql/archive/2010/05/

33、19/1739481.htmlOracle 版本:/netsql/archive/2010/05/19/1739512.htmlNo.6 NAME 和 CODE 联动,如何取消?要熟悉几个常用的菜单,M,DATABASE,Tools,REPORT 等等,在【Tools】下找到【GeneralOptions】:32NO7. 如何实现字段的 NAME 和 Comment 属性互换?/netsql/archive/2010/05/24/1742734.html还有一个,如果你只想生成的时候,把 NAME 自动更新到 Comment 列,是这样操作的:NO.8: 如何修改某个对象名规则,比如外键,比如

34、主键,比如触发器等?下面以主键为例,一般每个表都有一个主键,那主键名规则如何修改定义呢,菜单:【Database】-【EditCurrentDBMS】,:33No.9: 如何用 PD 生成测试数据,以便测试?erdesigner 中如何生成测试数据No.10 :如何把 CODE 的 NAME 中文也生成在中,也就是列名后就是 NAME 的说明文字?修改字段生成规则。要给每个字段都添加一个注释的话,:NO.11: 如何将数据库结构,表名,表的字段导出到 Word 中,或者生成 HTML 文件以便查看?这个涉及到数据库的中,也就是将表生成数据库文档,可以是 HTML 格式,也可以是DOC 格式.:

35、34如果需要添加数据类型,注释等的信息,右键,选择【layout】,选择你需要的显示的信息即可。No.12: 如何去除生成 SQL 时的双引号问题,双引号在 Oracle 中可以保证大小写,却异常麻烦?生成 SQL 语句时,表名和字段名都是带双引号,这个在 ORACLE 中以后使用时都要带上非常的麻烦,必须生成时去除:【Database】-【EditCurrentDBMS】,:35NO.13 如何修改 PD 的显示样式?设计 PDM 文档时,样式不一样,这个在哪里设置呢,比如修改表的显示样式。【Tools】-【Displaypreference】,点击修改按钮,就可以修改表的样式了,包括字体大小,颜色,线的形状、阴影等等。36No.14 如何去除表名,字段的长度限制?当生成时,有的表名或者列名莫名其妙的缩短了,这时因为限定了长度,这是把双刃剑,如果要强制表名或者字段名在某个范围内,这个作用刚好,如果不想限制,就需要修改那个限制的值了。【Database】-【EditCurrentDBMS-依次找到:ScriptObjectsTableNo.15 如何进行数据库的逆向工程?如何进行数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论