课程资源复试数据库chdbmanage_第1页
课程资源复试数据库chdbmanage_第2页
课程资源复试数据库chdbmanage_第3页
课程资源复试数据库chdbmanage_第4页
课程资源复试数据库chdbmanage_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

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

文档简介

Chapter

7Integrity,

Views,

Security,

andCatalogsfrom

Database

Design

to

Physical

FormCREATE

TABLEintegrity

constraints(完整性约束)CREATE

VIEWSecurityThe

GRANT

&

REVOKE

statementsCatalogsSchemas2021/9/5Integrity,Views,Security,andCatalogs27.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs3CREATE

TABLECreate

Table

StatementIntegrityColumn

ConstraintsTable

ConstraintsReferential

Integrity:

Foreign

KeyTriggerALTER

TABLEDROP

TABLECREATE

TABLE

statement2021/9/5Integrity,Views,Security,andCatalogs4CREATE

TABLE customers

(cid

char(4)

not

null,cname

varchar(13),city

varchar(20),discnt

real,primary key(cid)

);Integrity

Constraintscidprimary

key

attributemin-card

is

1discntmin-card

is

0,

so

can

enter

a

tuple with

no

discnt

valueIntegrity

Constraint

(Figure

7.1,

pg.

411)–

Integrity

Constraints

in

a

single

column{

NOT

NULL

|[

CONSTRAINT

constraint_name

]UNIQUE|

PRIMARY

KEY|

CHECK

(

search_condition

)|

REFERENCES

table_name

[

(

column_name

)

][

ON

DELETE

CASCADE

|

RESTRICT

|

SET

NULL

][

ON

UPDATE

CASCADE

|

RESTRICT

|

SET

NULL]}2021/9/5Integrity,Views,Security,andCatalogs5–

Integrity

Constraints

in

multiple

columns[

CONSTRAINT

constraint_name

]{

UNIQUE

(

colname

{

,

colname

...

}

)|

PRIMARY

KEY

(

colname

{

,

colname

...

}

)|

CHECK

(

search_condition

)|

FOREIGN

KEY

(

colname

{

,

colname

...

}

)REFERENCES

tab_name

[

(colname

{,

...})

][ON

DELETE

CASCADE|RESTRICT|SET

NULL][ON

UPDATE

CASCADE|RESTRICT|SET

NULL]}2021/9/5Integrity,Views,Security,andCatalogs67.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs7Def.7.1.1 Clauses

of

the

Create

Table

Command (Figure

7.1)schema

name

& table

namecolumn

defintioncolumn

name

&

data

typean

optional

DEFAULT

clause»

DEFAULT

{

default_constant

|

NULL

}column

constraintstable

constraints7.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs8Def.7.1.2 Column

ConstraintsNOT

NULL

vs.

DEFAULT

NULLConstraint

nameoptionalwe

can

later

drop

the

constraint

withan

ALTER

TABLE

commandUNIQUE

vs.

NOT

NULLcandidate

key:

UNIQUE

and

NOT

NULL7.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs9Def.7.1.2 Column

Constraints

(cont.)PRIMARY

KEY

vs.

NOT

NULLREFERENCESFOREIGN

KEY

vs.

PRIMARY

KEYValues

of

foreign

keyCASCADE

|

RESTRICT

|

SET

NULLCHECKDef.7.1.3 Table

ConstraintsConstraint

nameUNIQUE

vs.

NOT

NULLcandidate

key:UNIQUE

and

all

attributes

is

NOT

NULLPRIMARY

KEY

vs.

NOT

NULLFOREIGN

KEYFOREIGN

KEY

vs.

PRIMARY

KEYValues

of

foreign

keyCASCADE

|

RESTRICT

|

SET

NULLCHECK2021/9/5Integrity,Views,Security,andCatalogs107.1

Integrity

ConstraintsExample

7.1.2

(Figure

7.2,

pg.

415)create

table

customers

(cid

char(4)

not

null,cname

varchar(13),city

varchar(20),discnt

real

constraint

discnt_maxcheck(discnt

<=

15.0),primary

key(cid));2021/9/5Integrity,Views,Security,andCatalogs117.1

Integrity

Constraintscreate

table

orders(ordno

integer

not

null,month

char(3),cid

chdaorl(l4a)rnsoftlonualtl,default

0.0aid

char(3)

not

nucll,onstraint

dollarsckpid

char(3)notnucllh,

eck

(

dollars

>=

0.0

),qtycoinntesgterar

innott

cniudllrecof

nstraint

qtyck

check(

qty

>=

0

),doflloarresifglonatkdeeyfa(uclitd0).0recfoenrsetnracinetsdcoullasrtsocmk

echrse,ck(

dollars

>=

0.0

),primary

key

(

ordno

),constraint

cidref

foreign

key

(cid)

references

customers,constraint

aidref

foreign

key

(aid)

references

agents,constraint

pidref

foreign

key

(pid)

references

products

);2021/9/5Integrity,Views,Security,andCatalogs127.1

Integrity

Constraintswe

can

create

table

orders

by

following

statement create

table

orders

(ordno

integer

not

null,month

char

(3),cid

char

(4)

not

null

references

customers,aid

char

(3)

not

null

references

agents,pid

char

(3)

not

null

references

products,cidqtcyhinatreg(4e)r

nnoottnnuullllcorenfsetrraeinntcqetsycckucshteocmk

e(

rqsty,

>=

0

),dollars

float

default

0.0

constraint

dollarsck

check(

dollars

>=

0.0

),primary

key

(ordno)

);2021/9/5Integrity,Views,Security,andCatalogs132021/9/5Integrity,Views,Security,and

Catalogs

147.1

Integrity

Constraintsc001...c002...c003...c004...c005...c006cid

cname

city...

......

......

......

......

......

......Primary

Keys,

Foreign

Keys,

and

Referential

Integrityordno

month

cid

......1011

jan

c001

......1019

feb

c001

......1017

fscnt

1023

meb

c001

......ar

c001

......1022

mar

c001

......1013janc002......1026mayc002......1015janc003......1014janc003......1021febc004......1016janc006......1020febc006......1024marc006......Primarykeydi

Foreign

key7.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs15Def.7.1.4 Foreign

Key,

Referential

IntegrityForeign

Key–

A

set

of

columns

F

in

table

T1

is

defined

asa

foreign

key

of

T1

if

the

combination

ofvalues

of

F

in

any

row

is

required

to

eithercontain

at

least

one

null

value,

or

else

tomatch

the

value

combination

of

a

set

ofcolumns

P

representing

a

candidate

orprimary

key

of

a

referenced

table

T2.7.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs16Referential

Integrity–

the

columns

of

F

in

any

row

of

T1

musteither

(1)

have

null

values

in

at

least

one

column

that

allows

null

values,

or

(2)

have

no

null

values

and

be

equal

to

the

value

combination

of

P

on

some

row

of

T2.Exampleprimary

key:

red

characterforeign

key:

underlineEMPLOYEE

(

fname,

lname,

ssn,

address,

salary,superssn,

dno

)DEPARTMENT

(

dname,

dno,

ssn,

mgrstartdate

)DEPT_LOCATION

(

dno,

dcity

)PROJECT

(

pname,

pno,

pcity,

dno

)WORKS_ON

(

ssn,

pno,

hours

)DEPENDENT(ssn,

dependent-first-name,

sex,

bdate,relationship)2021/9/5Integrity,Views,Security,andCatalogs17Example

of

foreign

keyEMPLOYEE:Emp

(

fname,

lname,

ssn,

address,

salary,

superssn,

dno

)DEPARTMENT:Dept

(

dname,

dno,

ssn,

mgrstartdate

)CREATE

TABLE

Dept

(dno char(4)

PRIMARY

KEY,

……);CREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)

REFERENCES

Dept,在对Emp表进行数

据的增、删、改操作时,保证外键

dno的引用完整性。……);2021/9/5Integrity,Views,Security,andCatalogs182021/9/5 Integrity,Views,Security,andCatalogsExample

of

foreignkeyCREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)

REFERENCES

Dept,……);但在对Dept表进行数据的增、删、改操作时,不能保证

Emp表中外键dno的正确性。19CREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)REFERENCES

Dept

ON

DELETE

RESTRICT,……);如果某部门中有职工,那么将不允许在Dept表中删除该部门元组,从而保证了Emp表中外键dno的引用完整性。2021/9/5 Integrity,Views,Security,andCatalogsExample

of

foreign

keyCREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)

REFERENCES

Dept,……);CREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)REFERENCES

Dept

ON

DELETE

CASCADE,……);如果某部门中有职工,那么在Dept表中删除该部门元组的同时,将从Emp表中删除该部门的所有职工。20Example

of

foreign

keyCREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)

REFERENCES

Dept,……);CREATE

TABLE

Emp

(ssn

char(8)

PRIMARY

KEY,dno

char(4)REFERENCES

Dept

ON

DELETE SET

NULL,……);如果某部门中有职工,那么在Dept表中删除该部门元组的同时,在Emp表2021/9/5 Integrity,Views,Security,andCatalogs中将该部门所有职工的dno置为NULL。21Foreign

Key

Constraints:

Product

Variations(Figure

7.6)2021/9/5Integrity,Views,Security,andCatalogs22ORACLEINFORMIXDB2

UDBX/OpenFull

SQL-99ONDELETE

...CASCADESET

NULLNO

ACTIONCASCADESET

NULLRESTRICTNO

ACTIONCASCADESET

NULLSET

DEFAULTRESTRICTWithout

ONDELETENOACTIONeffectNOACTIONeffectNO

ACTIONeffect7.1

Integrity

Constraints2021/9/5Integrity,Views,Security,andCatalogs23The

Alter

Table

Statementchange

the

table

structure

&

integrityconstraintsFigure

7.7

~

7.9

(pg.

423)columnAddDropModifyconstraintsAddDrop7.1

Integrity

ConstraintsTrigger

(Figure

7.10,

pg.

425)(触发器)CREATE

TRIGGER

trigger_name

{

BEFORE|AFTER

}{

INSERT

|

DELETE|

UPDATE

[

OF

colname

{

,

colname

...

}

]

}ON

table_name[

REFERENCING

corr_name_def

{

,

......

}

][

FOR

EACH

ROW

|

FOR

EACH

STATEMENT

][

WHEN

(

search_condition

)

]{

statement|

BEGIN

ATOMIC

statement;

{

...

}

END2021/9/5Integrity,Views,Security,andCatalogs247.1

Integrity

ConstraintsThe

corr_name_def

that

defines

a

correlation

namefollows:{

OLD

[

ROW

]

[

AS

]

old_row_corr_name|

NEW

[

ROW

]

[

AS

]

new_row_corr_name|

OLDTABLE

[

AS

]old_table_corr_name|

NEW

TABLE

[

AS

]

new_table_corr_name

}2021/9/5Integrity,Views,Security,andCatalogs25CREATE

TRIGGER

trigger_name

{

BEFORE

|

AFTER

}{

INSERT

|

DELETE|

UPDATE

[

OF

colname

{

,

colname

...

}

]

}ON

table_name[

REFERENCING

corr_name_def

{

,

......

}

][

FOR

EACH

ROW

|

FOR

EACHSTATEMENT

][

WHEN

(

search_condition

)

]{

statement|

BEGIN

ATOMIC

statement;

{

statement;

...

}

END26触发事件结果事件触发方式Example

7.1.5–

Use

a

trigger

to

CHECK

that

the

discnt

value

ofa

new

customers

row

does

not

exceed

15.0.create

trigger

discnt_maxafter

insert

on

customersreferencing

new

as

xfor

each

row

when (

x.discnt

>

15.0

)beginraise_application_error(-20003,

“invaliddiscount

attempted

on

insert”);end;2021/9/5Integrity,Views,Security,andCatalogs27Example7.1.6:删除一个客户元组时,需要将该客 户所有订单上的cid置为空值(set

null)create

trigger

foreign_cidafter

delete

on

customersreferencing

old

as

old_customfor

each

rowbeginupdate

ordersset cid

=

nullwhere cid

=

:old_custom.cid

;end;2021/9/5Integrity,Views,Security,andCatalogs287.2 CreatingViews2021/9/5Integrity,Views,Security,andCatalogs29Viewidea

?The

data

retrieved

by

any

SQL

SELECT statement

is

in

the

form

of

a

table.We

want

to

use

this

TABLE

inFROM clause

of

other

Select

statement.Method?Subquery

in

the

FROM

clause

(Fig

3.11)Creating

Views7.2 CreatingViewsView

Table

(

or

View

)DefinitionIt

is

a

table

that

results

from

a subquery,

but

which

has

its

own

nametable

name

&

attributes

nameIt

can

be

used

in

most

ways

as

a

Base

Table

created

by

SQL

CREATE

TABLE statement2021/9/5Integrity,Views,Security,andCatalogs307.2 CreatingViewsView

Table

(

or

View

)Propertyno

data

storage

in

its

own

right, just

window

on

data

it

selects

fromso,

it

is

regarded

as

a

Virtual

TableWeaknesslimits

to

View

Updates2021/9/5Integrity,Views,Security,andCatalogs31Create

View

statement

(Figure

7.13,

pg.

434) CREATE

VIEW

view_name

[(col_name

{,

…...})]AS

subquery[

WITH

CHECK

OPTION

]List

of

column

namesCan

leave

out

list

of

colnames

iftarget

list

(Select

clause)

ofsubquery

has

colnames

that

requireno

qualifiers.Need

to

give

names

for

expressions

orfor

ambiguous

colnames.Can

rename

column

in

any

way

atall.2021/9/5Integrity,Views,Security,andCatalogs32CREATE

VIEW

view_name

[(col_name

{,

…...})]AS

subquery[

WITH

CHECK

OPTION

]subqueryFigure

3.14no

ORDER

BY

clauseWITH

CHECK

OPTIONwill

not

permit

an

update

orinsertthrough

a updatable

view

ifthey

result

in

rows

that

would

be invisible

to

the

view

Subquery.2021/9/5Integrity,Views,Security,andCatalogs33Create

View

statement

(cont.)CREATE

VIEW

view_name

[(col_name

{,

…...})]AS

subquery[

WITH

CHECK

OPTION

]2021/9/5Integrity,Views,Security,andCatalogs34Create

View

statement

(cont.)Nested

View

definition–

create

a

view

based

on

otherviews7.2 CreatingViewsCREATE

VIEW

view_name

[(col_name

{,

…...})]AS

subquery[

WITH

CHECK

OPTION

]Executing

of

Create

View

statementThe

definition

of

the

view

is

placed

in the

system

catalogs

as

a

distinct

object

of

the

database.No

data

is

retrieved

orstored.2021/9/5Integrity,Views,Security,andCatalogs357.2 CreatingViewsCREATE

VIEW

view_name

[(col_name

{,

…...})]AS

subquery[

WITH

CHECK

OPTION

]Operations

through

Viewsquery

modificationA

query

or

update

statement

that accesses

a

view

can

be

modified.So

that

the

modified

query

or

update actually

performs

accesses

on

base tables.2021/9/5Integrity,Views,Security,andCatalogs367.2 CreatingViewsPrivileges

on

ViewsThe

user

creating

the

view es

the

ownerof the

viewThe

owner

is

given

update

privileges

on

the view,

assume:the

view

is

updatablethe

user

has

the

needed

update

privileges on

the

base

table

on

which

the

viewis defined.2021/9/5Integrity,Views,Security,andCatalogs377.2 CreatingViewsExample

7.2.1

Create

ViewCREATE

VIEW

agentorders

(ordno,

month,

cid,

aid,pid,

qty,charge,

aname,acity,

percent)AS

SELECT o.ordno,

o.month,

o.cid,

o.aid,

o.pid,o.qty,o.dollars,

a.aname,

a.city,

a.percentFROM orders

o,

agents

aWHERE o.aid

=

a.aid;2021/9/5Integrity,Views,Security,andCatalogs387.2 CreatingViewsSELECT sum

(charge)FROM

agentordersWHERE acity

=

'Toledo';CREATE

VIEW

agentorders

(ordno,

month,

cid,

aid,pid,

qty,charge,

aname,acity,

percent)AS

SELECT o.ordno,

o.month,

o.cid,

o.aid,

o.pid,o.qty,o.dollars,

a.aname,

a.city,

a.percentFROM orders

o,

agents

aWHERE o.aid

=

a.aid;Example

7.2.2

Query

on

View2021/9/5Integrity,Views,Security,andCatalogs397.2 CreatingViewsExample

7.2.2

(cont.)

Query

ModificationSELECT sum

(charge)FROM

agentordersWHERE

acity

=

'Toledo';SELECT

sum(o.dollars)FROM orders

o,

agents

aWHERE o.aid

=

a.aid

and

a.city

='Toledo';2021/9/5Integrity,Views,Security,andCatalogs40CREATE

VIEW

agentorders

(ordno,

month,

cid,

aid,pid,

qty,charge,

aname,acity,

percent)AS

SELECT o.ordno,

o.month,

o.cid,

o.aid,

o.pid,o.qty,o.dollars,

a.aname,

a.city,

a.percentFROM orders

o,

agents

aWHERE o.aid

=

a.aid;Example:

Agentorders

view

can

be

created

by following

statement.CREATE

VIEW

agentordersAS

SELECT

o.ordno,

o.month,

o.cid,

o.aid,o.pid,

o.qty,

o.dollars,

a.aname,a.city,

a.percentFROM orders

o,

agents

aWHERE o.aid

=

a.aid;2021/9/5Integrity,Views,Security,andCatalogs41Example

7.2.3:

illegal

view

definition

CREATE

VIEW

cacities

ASSELECT

c.city,

a.cityFROM customers

c,

agents

a,

orders

oWHERE c.cid

=

o.cid

and

a.aid

=

o.aid;–

legal

view

definition2021/9/5Integrity,Views,Security,andCatalogs42CREATE

VIEW cacities

(

ccity,

acity

)

ASSELECT

c.city,

a.cityFROM customers

c,

agents

a,

orders

oWHERE c.cid

=o.cid

and

a.aid

=o.aid; Exp

7.2.4

Create

Views

with

‘WITH

CHECK

OPTION’Assume:

No

CHECK

clause

on

discnt

of

customersCREATE

VIEW

custs

ASSELECT

*FROM

customersWHERE discnt

<=

15.0WITH

CHECK

OPTION;Now

cannot

insert/update

a

row

into

custs

with discnt

>

15.0:2021/9/5Integrity,Views,Security,andCatalogs43This

insert

will

fails.insert

into

custs

values(‘c009’,

‘AM’,

‘Kyoto’,

16.0);Consider

the

update:update

custs

set discnt

=

discnt

+

4.0;Note,

this

insert

and

update

statement

can

execute

on

the

base

table

customers.cidcnamecitydiscntc001TipTopDuluth10.00c002BasicsDallas12.00c003AlliedDallas8.00c004ACMEDuluth8.00c006ACMEKyoto0.00This

update

fails

for

customer

c002

on

the

basisof

the

values

of

Figure

2.22021/9/5Integrity,Views,Security,andCatalogs447.2 CreatingViewsExample

7.2.5 Nested

ViewsCREATE

VIEW acorders

(ordno,

month,

cid,

aid,pid,

qty,

dollars,

aname,

cname)AS

SELECT ao.ordno,

ao.month,

ao.cid,

ao.aid,ao.pid,

ao.qty,

ao.charge,

ao.aname,

ameFROM

agentorders

ao,

customers

cWHERE ao.cid

=

c.cid;2021/9/5Integrity,Views,Security,andCatalogs457.2 CreatingViews2021/9/5Integrity,Views,Security,andCatalogs46Listing

Defined

Views–

In

ORACLEselect

view_name

from

user_views;DESCRIBE

{

view_name

|

table_name

};Dropping

Tables

and

Views–

When

a

view

table

is

dropped,

no

rows

aredropped.DROP

{

TABLE

table_name

|

VIEW

view_name

}{

CASCADE

|

RESTRICT

};7.2 CreatingViewsUpdatable

and

Read-Only

ViewsThe

problemHow

do

we

translate

updates

onthe View

into

changes

on

the

base

tables?Figure

7.15Restrictions

on

the

Subquery

Clause for

an

Updatable

View2021/9/5Integrity,Views,Security,andCatalogs47A

view

table

is

said

to

be

updatable

when

the following

conditions

hold

for

its

Subquery

clause.The

FROM

clause

of

the

Subquery

must

contain only

a

single

table,

and

if

that

table

is

a

view

table it

must

also

be

an

updatable

view

table.Neither

the

GROUP

BY

nor

HAVING

clause

is present.The

DISTINCT

keyword

is

not

specified.The

WHERE

clause

does

not

contain

a

Subquery

that

references

any

table

in

the

FROM

clause, directly

or

indirectly

via

views.All

result

columns

of

the

Subquery

are

simple column

names:

no

expressions,

no

column

name

appears

more

than

once.2021/9/5Integrity,Views,Security,andCatalogs487.2 CreatingViewsExample

7.2.6,

7.2.7CREATE

VIEW

colocated

ASselect cid,

cname,

aid,

aname,a.city

as

acityfrom customers

c,

agents

awhere

c.city

=

a.city;2021/9/5Integrity,Views,Security,andCatalogs49CREATE

VIEW

agentsales

(aid,

totsales)AS

select

aid,

sum(dollars)from

ordersgroup

by

aid;7.2 CreatingViewsUpdatable

Views

in

ORACLEcan

update

join

views

ifjoin

isN-1(many-to-one),

andcolumns

of

the

view

contains

the primary

key

of

the

table

on

Nside2021/9/5Integrity,Views,Security,andCatalogs50example

7.2.1:the

view

contains

the

primarykey

of

the

table

on

N

side

(orders)CREATE

VIEW

agentorders

(ordno,

month,

cid,

aid,pid,

qty,charge,

aname,acity,

percent)AS

SELECT o.ordno,

o.month,

o.cid,

o.aid,

o.pid,o.qty,o.dollars,

a.aname,

a.city,

a.percentFROM orders

o,

agents

aWHERE

o.aid

=

a.aid;join

is

many

to

one

(orders

to

agents)2021/9/5Integrity,Views,Security,andCatalogs51example

7.2.1:CREATE

VIEW

agentorders

(ordno,

month,

cid,

aid,pid,

qty,charge,

aname,acity,

percent)AS

SELECT o.ordno,

o.month,

o.cid,

o.aid,

o.pid,o.qty,o.dollars,

a.aname,

a.city,

a.percentFROM orders

o,

agents

aWHERE o.aid

=

a.aid;we

can

only

update

the

columns

that

map

one- to-one

with

the

orders

table

(

on

N

side

)not

the

aname,

acity,

or

percent

columns

(

on

1 side

),

and

also

not

the

aid

column2021/9/5Integrity,Views,Security,andCatalogs527.2 CreatingViews2021/9/5Integrity,Views,Security,andCatalogs53–

Display

updatable

column

of

this

viewselect column_name,

updatablefrom

user_updatable_columnswhere

table_name

=

‘AGENTORDERS’7.2 CreatingViews2021/9/5Integrity,Views,Security,andCatalogs54The

Value

of

ViewsViews

provide

a

way

to

make

complex,commonly

issued

queries

easier

tocompose.Views

allow

obsolete

tables,

and

programsthat

reference

them,

to

survivereorganization.program-data

independence

(数据独立性)Views

add

a

security

aspect

to

allowdifferent

users

to

see

the

same

data

indifferent

ways.7.3

SecurityThe

Grant

Statement

in

SQLGRANT

{ALL

PRIVILEGES|

温馨提示

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

评论

0/150

提交评论