




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第23章 对象数据库系统23.1 研究动机示例23.2 ORDBMS23.3 OODBMS23.4 OODBMS和ORDBMS的比较第23章 对象数据库系统n对象数据库系统两个发展方向面向对象的数据库系统目标是针对复杂对象扮演核心角色的应用领域,这种方法受面向对象的编程语言的影响。对象数据库管理组开发了新的标准:对象数据模型(ODM)和对象查询语言(OQL)。对象关系数据库系统扩展的关系型数据库系统。SQL:1999扩展了SQL标准以支持数据的对象关系模型。nRDBMSnOODBMSnORDBMS23.1 研究动机示例23.1.1 新的数据类型SQL:1999 DDL语句描述的部分Dinky的
2、ORDBMS模式,与传统关系系统的DDL有一些重要差别,它们突出了ORDBMS的新的数据建模能力。CREAT TABLE Frames(framno integer,image jpeg-image,category integer);(2)CREAT TABLE Categories(cid integer ,name text,lease-price float,comments text);(3)CREAT TYPE theater-t ASROW(tno integer,name text,address text,phone text) ;(4)CREAT TABLE Theater
3、s OF theater-t(5)CREAT TABLE Nowshowing(film integer,theater ref(theater-t) with scope theaters,start date,end date);(6) CREAT TABLE Films(filmno integer,title text,stars setof(text),director text,budget float );(7)CREAT TABLE Countries(name text, boundary polygon,population integer,language text);这
4、一列值只能引用第4行定义的theaters表中的行(一个给定的REF类型必须与一个特定的表相关联)23.1.2 操纵新数据类型例1(P574) Clog 公司想租用一个Herbet 和日出图案的图像,并组合成包装盒。 类SQL语法描述形式,一个用于查找可能需要的图像和它们的租借价格的查询。SELECT F.frameno, thumbnail(F.image), C.lease-priceFROM Frames F, Categories CWHERE F.category=C.cid AND is-sunrise(F.image) AND Is-herbert(F.image) thumbn
5、ail方法产生一个输入图像的缩略图。 Is-sunrises方法是一个分析图像的布尔函数,如果图像包含一个日出图案返回真。 Is-herbert方法图像包含Herbert的图形时返回真。结果产生一个图形祯的代码号,图像缩略图和所有包含Herbert和日出图形的价格。23.1.2 操纵新数据类型例2(P575) 在Andorra方圆100公里内正在放映Herbert电影的电影院名字。SELECT N.theatername, N.theateraddress,F.titleFROM Nowshowing N, Film F, Countries CWHERE N.film=F.filmno AN
6、D Overlaps(C.boundary,radius(N.theateraddress,100) AND C.name=Andorra AND HerbertF.stars(5)行 Nowshowing表中的theater属性是对另一个表中的一个对象的引用,包含属性name,address和phone.这个对象引用支持符号N.theatername和N.theateraddress.每个符号都指Nowshowing表中行N引用的theater-t对象的属性。(6)Films表的stars属性是每个电影中明星名字的集合Radius方法返回的第一参数为圆心,第二参数为半径的圆。 overlap
7、 测试空间重叠关系。23.2 对象关系数据库系统23.2.1 面向对象数据模型面向对象数据模型23.2.2 对象对象-关系数据库关系数据库23.2.3 小结小结23.2.1 面向对象数据模型 OO模型的核心概念模型的核心概念 类层次类层次(结构结构) 继承继承 对象的嵌套对象的嵌套 OO模型的核心概念1.对象n定义:对象是由一组数据结构和在这组数据结构上的操作的程序代码封装起来的基本单位。n组成部分n属性(Attribute)集合n属性描述对象的状态、组成和特性n方法(Method)集合n描述了对象的行为特性OO模
8、型的核心概念(续)2. 对象标识OID(Object IDentifier)n概念:面向对象数据库中的每个对象都有一个唯一的不变的标识称为对象标识(OID) n特点:n永久持久性 n独立于值的、系统全局唯一的OO模型的核心概念(续)3. 封装(Encapsulation)n每一个对象是其状态与行为的封装 n封装是对象的外部界面与内部实现之间实行清晰隔离的一种抽象,DBMS不需要知道一个ADT的数据是如何存储的,也不需要知道ADT的方法是如何工作的。只需要知道能获得什么方法,以及方法的输入输出类型。这种隐藏ADT内部细节的方法称为封装。n对象封装之后查询属性值必须通过调用方法 OO模型的核心概念
9、(续)4. 类(Class)n对象类对象类(简称类):共享同样属性和方法集的所有对象构成了一个对象类n实例实例:一个对象是某一类的一个实例(instance)23.2.1 面向对象数据模型 OO模型的核心概念模型的核心概念 类层次类层次(结构结构) 继承继承 对象的嵌套对象的嵌套类层次(结构)(续)n教员、行政人员、工人中只有本身的特殊属性和方法n同时它们又继承教职员工类和人的所有属性和方法n逻辑上它们具有人、教职员工和本身的所有属性和方法 图15.1 学校数据库的类层次结构图 类层次(结构)(续)n超类/子类之间的关系体现了“I
10、S A”的语义n超类是子类的抽象(Generalization)或概括n子类是超类的特殊化(Specialization)或具体化n类层次可以动态扩展,一个新的子类能从一个或多个已有类导出 23.2.1 面向对象数据模型 OO模型的核心概念模型的核心概念 类层次类层次(结构结构) 继承继承 对象的嵌套对象的嵌套 继承n单继承:一个子类只能继承一个超类的特性(包括属性和方法)n层次结构图是一棵树 n多重继承:一个子类能继承多个超类的特性n层次结构图是一个带根的有向无回路图 继承(续)n多重继承 具有多继承的类层次结构
11、图 继承(续)n继承性的优点n第一,建模的有力工具,提供了对现实世界简明而精确的描述n第二,提供了信息重用机制 n子类与超类的冲突n子类在定义自己特殊属性和方法时可能与继承下来的超类的属性和方法发生冲突n由系统解决23.2.1 面向对象数据模型 OO模型的核心概念模型的核心概念 类层次类层次(结构结构) 继承继承 对象的嵌套对象的嵌套 对象的嵌套n对象嵌套:n一个对象的属性可以是一个对象,这样对象之间产生一个嵌套层次结构 n设Obj1和Obj2是两个对象。如果Obj2是Obj1的某个属性的值,称Obj2属于Obj1
12、,或Obj1包含Obj2。n复杂对象 Obj1n子对象 Obj2n嵌套层次结构对象的嵌套(续)汽车的嵌套层次图 对象的嵌套(续)n对象嵌套层次结构和类层次结构形成了对象横向和纵向的复杂结构n各种类之间具有层次结构n某一个类内部也具有嵌套层次结构 关系模型与OO模型的比较表15.1 关系数据模型与OO模型的比较内容关系数据模型面向对象数据模型基本数据结构二维表类数据标识符码OID静态性质属性属性动态行为关系操作方法抽象数据类型无有封装性无有数据间关系主外码联系,数据依赖 继承、组合模式演化能力弱强23.2 对象关系数据库系统23.2.1 面向对象数据模型面向对象数据模型23.2.2 对象对象-关
13、系数据库关系数据库23.2.3 小结小结23.2.2 对象-关系数据库 对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的关系数据类型 对象关系数据库系统中扩展的对象类型及其定义对象关系数据库系统中扩展的对象类型及其定义 23.2.2.引用类型引用类型(Reference Type) 继承性继承性 子表和超表子表和超表对象关系数据库系统中扩展的关系数据类型n扩展的类型:nLOBnBOOLEANn集合类型ARRAYn用户定义的DISTINCT类型等n面向对象的数据类型n行类型ROW TYPEn抽象数据类型(Abstra
14、ct Data Type) ORDBS中扩展的关系数据类型(续)1.大对象LOB(Large OBject )类型nLOB可存储多达十亿字节的串。nLOB分类n二进制大对象BLOB(Binary Large OBject)nBLOB用于存储音频、图像数据n字符串大对象CLOB(Character Large OBject)。nCLOB用于存储长字符串数据 ORDBS中扩展的关系数据类型(续)2. BOOLEAN类型 n布尔类型,支持3个真值:true、false和unknownn操作符:NOT、AND、OR、EVERY、ANY 例如 WHERE EVERY(QTY200) 或WHERE ANY
15、(QTY200)nQTY列为空值:返回unknown;nQTY列为非空:n当该列的每一个值都使(QTY200)为true时,EVERY返回true,否则为false;n当该列的每一个值都使(QTY200)为false时,ANY返回false,否则为true。ORDBS中扩展的关系数据类型(续)3.集合类型(Collection Type)ARRAY n相同类型元素的有序集合称为数组ARRAYnSQL3新增的集合类型n允许在数据库的一列中存储数组nSQL3的数组只能是一维的n数组中的元素不能再是数组ORDBS中扩展的关系数据类型(续)例2CREATE TABLE SALES(ITEM_NO CH
16、AR(20),/*商品号*/QTY INTEGER ARRAY12, /*整数数组,存放销售额*/PRIMARY KEY(ITEM_NO) );ORDBS中扩展的关系数据类型(续)n向SALES表插入一个元组: INSERT INTO SALES(ITEM_NO,QTY)VALUES (T-shirt2000,ARRAY200,150,200,100,50,70, 80,200,10,20,100,200);n查找三月份销售额大于100的商品号: SELECT ITEM_NO FROM SALES WHERE QTY3100;ORDBS中扩展的关系数据类型(续)4. DISTINCT类型 nS
17、QL3新加了一种DISTINCT类型 n定义DISTINCT数据类型语法 CREAT TYPE AS FINAL ;ORDBS中扩展的关系数据类型(续)n没有使用DISTINCT类型n例如,职工的智商字段(IQ)和鞋号字段(SHOE_SIZE)定义成INTEGER类型nWHERE SHOE_SIZE IQORDBS中扩展的关系数据类型(续)n使用DISTINCT类型n重新定义这两字段类型nCREAT TYPE SHOE_SIZE_TYPE AS INTEGER FINAL;nCREAT TYPE IQ_TYPE AS INTEGER FINAL;nSHOE_SIZE_TYPE和IQ _TYPE
18、成为两种不同的数据类型 表达式:WHERE SHOE_SIZE IQ 是非法的n如果在定义类型时设置了选项, 下面用法也是合法的: WHERE MY_SHOE_SIZE CAST (MY_IQ AS SHOE_SIZE) 23.2.2 对象-关系数据库 对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的关系数据类型 对象关系数据库系统中扩展的对象类型及其定义对象关系数据库系统中扩展的对象类型及其定义 参照类型参照类型(Reference Type) 继承性继承性 子表和超表子表和超表ORDBS中扩展
19、的对象类型及其定义n在ORDBMS中,类型(TYPE)具有类(CLASS)的特征,可以看成类1.行对象与行类型行对象与行类型n定义行类型(ROW TYPE) : CREATE ROW TYPE ();ORDBS中扩展的对象类型及其定义(续)n创建行类型例3 CREATE ROW TYPE Person_type (pnoNUMBER, nameVARCHAR2(100), addressVARCHAR2(100) ); ORDBS中扩展的对象类型及其定义(续)n创建基于行类型的表 CREATE TABLE OF ;例4 CREATE TABLE person_extent OF Person_
20、type (pno PRIMARY KEY );ORDBS中扩展的对象类型及其定义(续)2.列对象与对象类型列对象与对象类型 n可以创建一个对象类型,表的属性可以是该对象类型。n创建列对象语句如下: CREATE TYPE AS OBJECT ();ORDBS中扩展的对象类型及其定义(续)例5 CREATE TYPE address_objtyp AS OBJECT (streetVARCHAR2(50), cityVARCHAR2(50) ); CREATE TYPE name_objtyp AS OBJECT (first_nameVARCHAR2(30), last_nameVARCHA
21、R2(30) ) ;ORDBS中扩展的对象类型及其定义(续)n创建表,定义其中的属性是对象类型例6 CREATE TABLE people_reltab (Id NUMBER(10), name_obj name_objtyp, address_obj address_objtyp); ORDBS中扩展的对象类型及其定义(续)3. 抽象数据类型(Abastract Data Type,ADT)n概念:SQL3允许用户创建指定的带有自身行为说明和内部结构的用户定义类型称为抽象数据类型 n定义ADT的一般形式为 CREATE TYPE ( 所有属性名及其类型说明, 定义该类型函数(方法);ADT的
22、特点(1) ADT的属性定义和行类型的属性定义类同。(2) 在创建ADT的语句中,通过用户定义的函数比较对象的值。(3) ADT的行为通过方法(methods)、函数(functions)实现。(4) SQL3要求抽象数据类型是封装的,而行类型则不要求封装。(5) ADT可以参与类型继承23.2.2 对象-关系数据库 对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的关系数据类型 对象关系数据库系统中扩展的对象类型及其定义对象关系数据库系统中扩展的对象类型及其定义 参照类型参照类型(Reference Type)
23、继承性继承性 子表和超表子表和超表 参照类型(Reference Type)nREF类型(参照类型、引用类型)n引入的原因: 类型之间可能具有相互参照的联系n形式 REF n特点:nREF类型总是和某个特定的类型相联系。n它的值是OID参照类型(续)n创建两个表:Employee和Company,两表之间存在相互参照关系,即某个职工在某个公司工作n(1)创建行类型例7 CREATE ROW TYPE employee_type( name VARCHAR(35), age INTEGER ); CREATE ROW TYPE Comp_ type( compna
24、me VARCHAR(20), location VARCHAR(20) ); 参照类型(续)n(2)创建基于行类型的表: CREATE TABLE Employee OF employee_type; CREATE TABLE Company OF Comp_ typen(3)描述参照关系 CREATE ROW TYPE Employment _type ( employee REF (employee_type), company REF (Comp_ type) ); CREATE TABLE Employment OF Employment _type n表Employment中某一个
25、元组的employee属性值是某个职工的OIDncompany属性值是该职工所在公司的OID 23.2.2 对象-关系数据库 对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的关系数据类型 对象关系数据库系统中扩展的对象类型及其定义对象关系数据库系统中扩展的对象类型及其定义 参照类型参照类型(Reference Type) 继承性继承性 子表和超表子表和超表 继承性nORDBMS应该支持继承性n一般是单继承性n例14 CREATE TYPE emp_type UNDER person
26、_type AS( emp_id INTEGER, salary REAL ) NOT FINAL;nNOT FINAL:表示不是类层次结构中最后的“叶结点”nFINAL:该类型是类层次结构的叶结点23.2.2 对象-关系数据库 对象关系数据库系统中扩展的关系数据类型对象关系数据库系统中扩展的关系数据类型 对象关系数据库系统中扩展的对象类型及其定义对象关系数据库系统中扩展的对象类型及其定义 参照类型参照类型(Reference Type) 继承性继承性 子表和超表子表和超表 子表和超表n超表、子表
27、、子表的子表构成一个表层次结构n表层次和类型层次的概念十分相似子表和超表(续)例15 对于下面的类型层次,先定义这些类型TYPE,然后创建基于这些类型的表 类型层次示例 子表和超表(续)CREATE TYPE person /*创建person 类型,根类型*/ (id INTEGER, name VARCHAR(20), birthyear INTEGER, address VARCHAR(40) NOT FINAL; /*NOT FINAL表示可以有子类型*/CREATE TYPE employee /*创建person的子类型employee*/ UNDER person /*类型emp
28、loyee继承person的属性*/ (salary INTEGER) /* employee定义自己的属性*/ NOT FINAL;子表和超表(续)CREATE TYPE executive /*创建employee的子类型executive*/ UNDER employee (bonus INTEGER) FINAL;CREATE TYPE student/*创建person的子类型student */ UNDER person (major VARCHAR(10),wage DECIMAL) FINAL子表和超表(续)例16Department类型和employee具有相互参照的联系,使
29、用REF来表示这种联系 CREATE TYPE department (ID INTEGER, manager REF(employee), Budget INTEGER); ALTER TYPE employee ADD ATTRIBUTE dept REF(department);子表和超表(续)n定义基于这些类型的基本表和表层次:nCREATE TABLE person_table OF person (name WITH OPTIONS NOT NULL);employee_table是person_table的子表nCREATE TABLE exec_table of executi
30、ve UNDER employee_tablenCREATE TABLE employee_table OF employee UNDER person_table;子表和超表(续)CREATE TABLE student_table OF student UNDER person_table;CREATE TABLE dept_table OF department (manager SCOPE IS employee_table);/ SCOPE IS 用来限定所引用的对象在一个确定的表employee_table的范围内ALTER TABLE employee_table ALTER C
31、OLUMN dept ADD SCOPE IS dept_table;子表和超表(续)n查询例16所创建的表例17 SELECT name,address FROM person_table WHERE birthyear =1970;/查询结果包括了person_table、employee_table、exec_table、student_table表上的所有人子表和超表(续)n关闭子表的检索例18 SELECT name,address FROM ONLY person_table WHERE birthyear =1970;/ONLY将检索的对象限制为指定表中的对象,而不是该表和它的子
32、表中的对象子表和超表(续)nINSERT、DELETE、UPDATE对子表和超表的操作规则nINSERT:向子表插入一行时一般会在该子表的超表上也插入一行。nDELETE:从表删除一行时一般会在该表的超表和子表上也删除相应的一行 23.2 对象关系数据库系统23.2.1 面向对象数据模型面向对象数据模型23.2.2 对象对象-关系数据库关系数据库23.2.3 小结小结23.2.3 小结nOO模型的基本概念n对象n对象标识OIDn封装n类n对象关系数据库系统中扩展的关系数据类型n大对象LOBnBOOLEAN类型n集合类型ARRAYnDISTINCT类型小结(续)n对象关系数据库系统中扩展的对象类
33、型n行对象与行类型n列对象与对象类型n抽象数据类型n关系对象数据库系统支持n继承n子表和超表23.3 OODBMS23.3.1 ODMG数据模型和ODL nODMG对象数据模型对象数据库管理组ODMG标准中定义的对象数据库模型,借鉴了面向对象程序设计语言和抽象数据类型的思想,表达了对象数据库管理系统中的各种语义,以描述对象的特征和行为。该对象模型可以在模式中显示地说明对象的数据成员、对象之间的联系、以及对象的操作方法。nODMG对象模型是一种可扩充性很强的数据模型,具有继承性、多态性以及很强的实体特征的抽象能力,能够捕捉和描述现实世界中更加丰富的语义。23.3.1 ODMG数据模型和ODL n
34、ODMG对象模型主要支持以下概念:数据模型的最基本的建模结构是对象。每个对象有一个唯一的标示符。Object对象都有一个类型,同一类型的对象具有相同的状态状态(特征集)和共同的行为行为(操作集)。一个对象是某个类型的实例。(Type)一个对象的状态由该对象的特征集来定义和描述,对象的特征可以是对象本身的属性或与其它对象之间的联系。(Property Attribute Relationship)一个对象的行为由一组操作来定义,这些操作可以输入、输出参数,并且可以返回特定类型的结果。利用ODL定义对象数据管理系统的模式。它存储的对象都是模式中定义的类型的实例,即对象,这些对象可以供多个用户和应用
35、共享。23.3.1 ODMG数据模型和ODLn对象:n对象标示符: n类:数据类中具有相同属性的对象的集合。n类的外延(Extent):类的所有实例构成的集合。 如果对象O是类型A的实例,那么它一定是类型A的外延中的元素。 如果对象A是类型B的子类型,A的外延是B的外延的子集。n类层次和继承:类与类之间的继承关系构成类的层次结构。子类继承超类的属性和方法。n父 B person p1n子 A student st1 A外延是B外延的子集23.3.1 ODMG数据模型和ODL属性 原子类型 结构的类型 ROW ARRAY List of Set of Bag of联 系 -联系描述对象与同一类或
36、不同类的一个或多个对象的关系。 逆联系-直观上它是“另一方向”的联系。 状态23.3.1 ODMG数据模型和ODL行为方法方法 应用到类的对象上的函数。 接口(接口(interface) 定义一个类,每个接口可以声明一个区间(extent)它是该类的当前对象集合的名称。如果只操作单个对象,则区间声明可以省略。例:Interface Movie (extent Movies key movieName) /没有两个对象有相同的movieName值 attribute date start; attribute date end; attribute date movieName; relatio
37、nship set ShownAt inverse Theater:nowshowing;/ 一部电影在多个电影院放映nMovie类的数据库对象集合称为Movies。n“Key”Movie中没有两个对象有相同的MovieName值。Interface Theater (extent Theaters key theaterName) /没有两个对象有相同的movieName值 attribute string TheaterName; attribute string address; attribute integer ticketPrice; relationship set nowsho
38、wing inverse Movie:shownAt; /一个电影院正在放映多个电影 int numshowing() /该电影院正在放映多少部电影nMovie 的shownAt和Theater的nowshowing联系的声明彼此是互逆的。定义一个联系 可通过遍历路径的说明来显示地定义一个联系。 遍历路径描述了参加联系的两个对象实例间的逻辑连接。 遍历路径的是成对进行的,分别用来说明该联系中的不同遍历方向。例:一个教授可以教多门课程,一门课程由某位教授来讲授,可以在professor中定义一个teachers遍历路径,在course中定义一个is-taught-by遍历路径。在两个遍历路径上使
39、用一个inverse子句来指明这两个遍历路径作用在同一个联系上。Class Professor :relationship set teaches Inverse Course:is-taught-by; : :;Class Courser :relationship set is-taught-by Inverse Professor:teaches; : :;由遍历路径teaches和is-taught-by定义的联系是Professor和Course对象间的一个一对多的联系,这种基数是在遍历说明中进行说明的,一个professor实例通过teaches遍历路径与多个Course实例相关联
40、;一个Course实例通过is-taught-by遍历路径与单个Professor实例相关联。23.3.2 OQLn国际化标准组织对对象的查询语言OQL进行了标准化。OQL语言的设计基于以下的原理和假设:OQL依赖于ODMG的对象模型。OQL类似于SQL 92 ,并且对面向对象的概念进行了扩充。 例如:复杂对象、对象标示符、路径表达式、多态性、方法调用、动态绑定。OQL提供了处理集合对象、包对象、列表对象和数组对象的基本方法。OQl是一种基于代数操作,可以自由复合的函数式语言。基于同一类型系统,能够在绑定编程语言中调用OQL查询。相反,OQL也调用绑定编程语言的操作。OQL提供对对象的说明性查询。可以容易地定义OQL语言的语义。 23.3.2 OQL例1 查找正在放映多于一部电影的电影院以及
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年北京市事业单位招聘考试教师招聘考试小学数学案例分析试卷
- 2025年互联网婚恋项目规划申请报告
- 一件心爱物品的诞生记物作文(14篇)
- 2025年高处作业特种作业操作证考试试卷(高空作业安全操作培训课程实施要点篇)
- 生物制药工艺与质量控制试题集及解析
- 2025年生态循环农业技术模式在农业科技创新与产业融合报告
- 现代农业科技开发与利用协议
- 基因检测技术在遗传性血液疾病诊断中的准确性研究报告001
- 医疗健康行业从业资格证明(5篇)
- 电商平台入驻商户协议条款修订版
- 第二章第二节《中国篆刻艺术》(教案)中职美术《艺术美术鉴赏与实践》同步教案(高教版(2023)(修订版))
- 【9物二模】深圳市2025年4月份九年级中考第二次模拟测试物理试卷(含答案)
- 初中地理核心考点速记(中国地理一)-2025年中考地理复习知识清单(题纲)
- 康复器具租赁协议书
- 四川省成都市双流县2024-2025学年三下数学期末复习检测模拟试题含解析
- 2025-2030溶剂型3C涂料行业市场现状供需分析及投资评估规划分析研究报告
- 福建省职业院校技能大赛高职组(健身指导赛项)考试题(附答案)
- 大学生创业之星路演
- 印章刻制工序的质量控制流程
- 幼儿园获奖公开课:中班语言美术《有趣的西瓜皮》课件
- 室内零星维修工程施工方案
评论
0/150
提交评论