數據庫原理及應用復習知識_第1頁
數據庫原理及應用復習知識_第2頁
數據庫原理及應用復習知識_第3頁
數據庫原理及應用復習知識_第4頁
數據庫原理及應用復習知識_第5頁
已閱讀5頁,還剩15頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、數據庫原理及應用復習知識第一章 緒論一、基本概念:1.數據(data):數據庫中存儲的基本對象,是描述事物的符號記錄,如:數字、文字、圖形、圖像、聲音等,數據與其語義是不可分的。2.數據庫(database,db) :是長期儲存在計算機內、有組織的、可共享的大量數據集合。其特征是: 數據按一定的數據模型組織、描述和儲存。 可為各種用戶共享。 冗余度較小。 數據獨立性較高、易擴展。3.數據庫管理系統(database management system,dbms):是位于用戶與操作系統之間的一層數據管理軟件。dbms的主要功能有: 4.數據管理功能:數據定義功能,數據組織、存儲和管理,數據操縱功

2、能,數據庫的事物管理和運行管理,數據庫的建立和維護功能,其他功能:提供數據庫的用戶接口5.數據庫系統(database system,dbs):是指在計算機系統中引入數據庫后的系統 “db+dbms+應用系統+數據庫管理員(database administration, dba )”二、數據庫管理階段:1.人工管理階段(40年代中-50年代中)應用需求:科學計算 硬 件:無直接存取存儲設備 軟 件:無通用的操作系統 處理方式:批處理數據管理者:應用程序,數據不保存。 數據面向的對象:某一應用程序。 數據共享程度:無共享、冗余度極大。 數據獨立性:不獨立,完全依賴于程序。 數據結構化:無結構。

3、 數據控制能力:應用程序自己控制。2.文件系統階段(50年代末-60年代中)應用需求:科學計算、數據處理 硬 件:出現磁盤、磁鼓等 軟 件:操作系統、高級語言 處理方式:批處理、共享的實時處理方式數據管理者:文件系統,數據長期保存。 數據面向的對象:某一應用程序。 數據共享程度:共享性差、冗余度大。 數據結構化:記錄內有結構,整體無結構。 數據獨立性:邏輯結構改變須修改應用程序。 數據控制能力:應用程序自己控制。3.數據庫系統階段(60年代末以來)應用需求:大規模管理 硬 件:出現大容量磁盤、磁盤陣列 軟 件:數據庫管理系統 處理方式:聯機實時處理、分布處理和批處理數據管理者:dbms 數據面

4、向的對象:整個系統 數據高度結構化:數據庫與文件系統的根本區別 數據的共享性高,冗余度低,易擴充 數據的獨立性高:物理獨立性和邏輯獨立性 數據控制能力:由dbms統一管理和控制4.數據庫系統的特點數據結構化數據的共享性高,冗余度低,易擴充數據獨立性高數據由dbms統一管理和控制三、三級模式、兩級映像從數據庫管理系統角度看數據庫系統內部的模式結構。 三級模式結構:外模式、模式 、內模式應用a應用b應用c應用d應用e內模式外模式1外模式3模式外模式2數據庫1.模式(邏輯模式) 是數據庫中全體數據的邏輯結構和特征的描述,是所有用戶的公共數據視圖,綜合了所有用戶的需求。 一個數據庫只有一個模式。 模式

5、是數據庫系統模式結構的中間層,與數據的物理存儲細節和硬件環境無關,與具體的應用程序、開發工具及高級程序設計語言無關。2.外模式(子模式或用戶模式) 數據庫用戶使用的局部數據的邏輯結構和特征的描述,是數據庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示。 外模式通常是模式的子集,一個數據庫可以有多個外模式 同一外模式可以為某一用戶的多個應用系統所使用。 外模式是保證數據庫安全性的一個有力措施3.內模式(存儲模式) 數據物理結構和存儲方式的描述,是數據在數據庫內部的存儲方式 一個數據庫只能有一個內模式三級模式是對數據庫中數據的三個抽象級別,兩級映象是在dbms內部實現這三個抽象層次的聯系和轉換。

6、4.外模式模式映象定義了外模式與模式之間的對應關系,每一個外模式都對應一個外模式模式映象。 保證了數據的邏輯獨立性5.模式內模式映象定義了數據全局邏輯結構與存儲結構之間的對應關系,數據庫中模式內模式映象是唯一的。 保證了數據的物理獨立性應用1應用2應用3應用4外模式1外模式2外模式3模 式映 像內模式映像1映像2映像3外模式/模式映像數據庫模式/內模式映像數據庫系統:數據庫+數據庫管理系統(及其開發工具)+應用系統+數據庫管理員6.數據庫管理員(dba)的主要職責是負責全面管理和控制數據庫系統,包括:決定數據庫中的信息內容與結構決定數據庫的存儲結構和存取策略定義數據的安全性和完整性約束條件監控

7、數據庫的使用和運行(例如定義和實施備份和恢復策略)數據庫的改進與重組重構第二章 數據模型一、數據模型的組成要素1.數據結構系統的靜態特性數據結構不僅要描述數據庫組成對象,還要描述對象之間的聯系。通常所說的層狀、網狀和關系模型,就是按照此處的數據結構來進行劃分的。2.數據操作系統的動態特性是指對數據庫中的各種對象運行執行的操作的集合,包括操作及有關的操作規則。數據庫的操作包括查詢和更新。3.數據的完整性約束條件一組完整性規則的集合完整性規則是數據模型中數據及其聯系所具有的約束規則,用來限定數據庫狀態以及狀態的變化,以保證數據的正確。4.關系模型是以集合論中的關系(relation)概念為基礎發展

8、起來的數據模型。5.基本關系的性質列是同質的(homogeneous),即每一列中的分量是同一類型的數據,來自同一個域。不同的列可出自同一個域,稱其中的每一列為一個屬性,不同的屬性要給予不同的屬性名。列的順序無關緊要,即列的次序可以任意交換。任意兩個元組不能完全相同。但在大多數實際關系數據庫產品中,例如oracle、foxpro等,如果用戶沒有定義有關的約束條件,它們都允許關系表中存在兩個完全相同的元組。行的順序無關緊要,即行的次序可以任意交換。分量必須取原子值,即每一個分量都必須是不可分的數據項。 二、關系模型:用二維表的形式表示實體和實體間聯系的數據模型1.關系模型特點:數據結構 數據操作

9、關系數據操作是集合操作 關系模型將操作中的存取路徑對用戶屏蔽 完整性約束 實體完整性、參照完整性、用戶自定義完整性優點: 建立在嚴格的數學概念的基礎上 概念單一,實體和聯系都用關系表示,數據操作結果為關系 數據的存取路徑對用戶是透明的。缺點: 由于存取路徑透明,使得數據存取的效率不如非關系模型第三章 關系數據庫一、概念、性質:關系數據庫,是建立在關系數據庫模型基礎上的數據庫,借助于集合代數等概念和方法來處理數據庫中的數據。選擇運算是從關系的水平方向進行運算,是從關系r中選擇滿足給定條件的諸元組,記作,其形式定義如下:其中,f中的運算對象是屬性名(或列的序號)或常數,運算符算術比較府(,=,)和

10、邏輯運算符( ,) 。等值連接:當為“=”時,稱之為等值連接,記為,其形式定義如下: 自然連接: 是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中將重復屬性列去掉 。記為,其形式定義如下: 自然連接可以由基本的關系運算投影、選取和笛卡兒積導出。連接運算符是“=”的連接運算稱為等值連接。它是從關系r與s的廣義笛卡爾積中選取a,b屬性值相等的那些元組二、等值連接與自然連接的區別:自然連接是一種特殊的等值連接,它要求兩個關系中進行比較的分量必須是相同的屬性組,并且在結果中把重復的屬性列去掉第四章 sql語句一、sql概念:實際上它的功能包括查詢(query),操縱

11、(manipulation),定義(definition)和控制(control)四個方面,是一個綜合的、通用的、功能極強的關系數據庫語言。二、sql的主要特點1. 綜合統一2. 高度非過程化3. 面向集合的操作方式4. 兩種使用方式,統一的語法結構5. 語言簡潔,易學易用(1).數據庫查詢 select (2). 數據定義 create, drop (3). 數據操縱 insert, update, delete (5). 數據控制 grant, revoke6.常用語句:創建數據庫create database database-name刪除數據庫drop database dbname備

12、份sql server創建 備份數據的 deviceuse masterexec sp_addumpdevice disk, testback, c:mssql7backupmynwind_1.dat開始 備份backup database pubs to testback創建新表create table tabname(col1 type1 not null primary key,col2 type2 not null,.)根據已有的表創建新表:a:create table tab_new like tab_old (使用舊表創建新表)b:create table tab_new as s

13、elect col1,col2 from tab_old definition only刪除新表drop table tabname增加一個列alter table tabname add column col type注:列增加后將不能刪除。db2中列加上后數據類型也不能改變,唯一能改變的是增加varchar類型的長度。添加主鍵: alter table tabname add primary key(col)說明:刪除主鍵: alter table tabname drop primary key(col)創建索引:create unique index idxname on tabnam

14、e(col.)刪除索引:drop index idxname注:索引是不可更改的,想更改必須刪除重新建。創建視圖:create view viewname as select statement刪除視圖:drop view viewname幾個簡單的基本的sql語句選擇:select * from table1 where 范圍插入:insert into table1(field1,field2) values(value1,value2)刪除:delete from table1 where 范圍更新:update table1 set field1=value1 where 范圍查找:s

15、elect * from table1 where field1 like %value1% -like的語法很精妙,查資料!排序:select * from table1 order by field1,field2 desc總數:select count as totalcount from table1求和:select sum(field1) as sumvalue from table1平均:select avg(field1) as avgvalue from table1最大:select max(field1) as maxvalue from table1最?。簊elect

16、min(field1) as minvalue from table1子查詢(表名1:a 表名2:b)select a,b,c from a where a in (select d from b 或者: select a,b,c from a where a in (1,2,3)外連接查詢(表名1:a 表名2:b)select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.c在線視圖查詢(表名1:aselect * from (select a,b,c from a) t where t.a 1;between的

17、用法,between限制查詢數據范圍時包括了邊界值,not between不包括select * from table1 where time between time1 and time2select a,b,c, from table1 where a not between 數值1 and 數值2三、視圖與基表:視圖:在sql中,視圖是外模式一級數據結構的基本單位。它是從一個或幾個基本表中導出的 表,是從現有基本表中抽取若干子集組成用戶的“專用表”。 基本表:基本表的定義指建立基本關系模式,而變更則是指對數據庫中已存在的基本表進行刪除與修改。四、視圖與基表區別:1、視圖是已經編譯好的sq

18、l語句。而表不是 2、視圖沒有實際的物理記錄。而表有。 3、表是內容,視圖是窗口 4、表只用物理空間而視圖不占用物理空間,視圖只是邏輯概念的存在,表可以及時四對它進行修改,但視圖只能有創建的語句來修改 5、表是內模式,試圖是外模式 6、視圖是查看數據表的一種方法,可以查詢數據表中某些字段構成的數據,只是一些sql語句的集合。從安全的角度說,視圖可以不給用戶接觸數據表,從而不知道表結構。 7、表屬于全局模式中的表,是實表;視圖屬于局部模式的表,是虛表。 8、視圖的建立和刪除只影響視圖本身,不影響對應的基本表。視圖的作用1. 視圖能夠簡化用戶的操作.2. 視圖使用戶能以多種角度看待同一數據.3.視

19、圖對重構數據庫提供了一定程度的邏輯獨立性.關系數據庫中,數據庫的重構造是不可避免的。最常見的情況是把一個表垂直地分為兩個以上的表。例如把學生關系 student(sno,sname,ssex,sage,sdept) 分為: sx(sno,sname,sage) sy(sno,ssex,sdept) 如果視圖涉及兩個表,意味著有兩個表的連接操作,而在視圖上執行的更新都是最終在基本表上的更新,視圖本身只是一個用來簡化用戶操作的邏輯概念,執行時都是將對視圖的操作翻譯成基本表的操作。對視圖的更新無法翻譯成對基本表的操作時,就不允許更新了。除了兩個基本表的視圖不允許更新外,聚合操作導出的視圖也不允許更新

20、五、模糊查詢:第五章 數據庫安全性一、計算機系統安全性:為計算機系統建立和采取的各種安全保護措施,以保護計算機系統中的硬件、軟件及數據,防止其因偶然或惡意的原因使系統遭到破壞,數據遭到更改或泄露等。二、三類計算機系統安全性問題技術安全類管理安全類政策法律類三、授權與收權:1、grantgrant語句的一般格式: grant ,. on to ,. with grant option;語義:將對指定操作對象的指定操作權限授予指定的用戶發出grant:dba數據庫對象創建者(即屬主owner)擁有該權限的用戶按受權限的用戶 一個或多個具體用戶public(全體用戶) with grant opti

21、on子句:指定:可以再授予沒有指定:不能傳播不允許循環授權2、revoke授予的權限可以由dba或其他授權者用revoke語句收回revoke語句的一般格式為: revoke ,. on from ,.;第六章 數據庫完整性一、數據的完整性:防止數據庫中存在不符合語義的數據,也就是防止數據庫中存在不正確的數據防范對象:不合語義的、不正確的數據數據的安全性保護數據庫防止惡意的破壞和非法的存取防范對象:非法用戶和非法操作二、實體完整性規則:若屬性(指一個或一組屬性)a是基本關系r的主屬性,則a不能取空值或重復值。關系模型的實體完整性create table中用primary key定義單屬性構成的

22、碼有兩種說明方法 定義為列級約束條件定義為表級約束條件對多個屬性構成的碼只有一種說明方法定義為表級約束條件三、參照完整性規則:若屬性(或屬性組)f是基本關系r的外碼,它與基本關系s的主碼ks相對應,則對于r中每個元組在f上的值必須為: f或者取空值(f的每個屬性值均為空值) f或者s中某個元組的主碼值關系模型的參照完整性定義在create table中用foreign key短語定義那些列為外碼用references短語指明這些外碼參照那些表的主碼四、用戶定義的完整性就是針對某一具體應用的數據必須滿足的語義要求 rdbms提供,而不必由應用程序承擔create table時定義列值非空(not

23、 null)列值唯一(unique)檢查列值是否滿足一個布爾表達式(check)索引分為聚簇索引和非聚簇索引兩種,聚簇索引 是按照數據存放的物理位置為順序的,而非聚簇索引就不一樣了;聚簇索引能提高多行檢索的速度,而非聚簇索引對于單行的檢索很快。五、兩類索引1.聚簇索引也叫簇類索引,是一種對磁盤上實際數據重新組織以按指定的一個或多個列的值排序。由于聚簇索引的索引頁面指針指向數據頁面,所以使用聚簇索引查找數據幾乎總是比使用非聚簇索引快。每張表只能建一個聚簇索引,并且建聚簇索引需要至少相當該表120%的附加空間,以存放該表的副本和索引中間頁。2.非聚簇索引,索引的一種。索引分為聚簇索引和非聚簇索引兩

24、種。建立索引的目的是加快對表中記錄的查找或排序。牽引順序與數據物理排列順序無關。第七章 事務一、概念、特性事務(transaction)是訪問并可能更新數據庫中各種數據項的一個程序執行單元(unit)。事務通常由高級數據庫操縱語言或編程語言(如sql,c+或java)書寫的用戶程序的執行所引起,并用形如begin transaction和end transaction語句(或函數調用)來界定。事務由事務開始(begin transaction)和事務結束(end transaction)之間執行的全體操作組成。特性:事務是恢復和并發控制的基本單位。 事務應該具有4個屬性:原子性、一致性、隔離性

25、、持久性。這四個屬性通常稱為acid特性。 原子性(atomicity)。一個事務是一個不可分割的工作單位,事務中包括的諸操作要么都做,要么都不做。 一致性(consistency)。事務必須是使數據庫從一個一致性狀態變到另一個一致性狀態。一致性與原子性是密切相關的。 隔離性(isolation)。一個事務的執行不能被其他事務干擾。即一個事務內部的操作及使用的數據對并發的其他事務是隔離的,并發執行的各個事務之間不能互相干擾。 持久性(durability)。持續性也稱永久性(permanence),指一個事務一旦提交,它對數據庫中數據的改變就應該是永久性的。接下來的其他操作或故障不應該對其有任

26、何影響。二、故障:1、事務內部的故障 事務內部的故障有的是可以通過事務程序本身發現的,有的是非預期的,不能由事務程序處理的。事務內部更多的故障是非預期的,是不能由應用程序處理的。如運算溢出、并發事務發生死鎖而被選中撤消該事務、違反了某些完整性限制等。以后,事務故障僅指這類非預期的故障。事務故障意味著事務沒有達到預期的終點(commit或者顯式的rollback),因此,數據庫可能處于不正確狀態。恢復程序要在不影響其它事務運行的情況下,強行回滾(rollback)該事務,即撤消該事務已經作出的任何對數據庫的修改,使得該事務好象根本沒有啟動一樣。這類恢復操作稱為事務撤消(undo)。2、系統故障

27、系統故障是指造成系統停止運轉的任何事件,使得系統要重新啟動。例如,特定類型的硬件錯誤(cpu故障)、操作系統故障、dbms代碼錯誤、突然停電等等。這類故障影響正在運行的所有事務,但不破壞數據庫。這時主存內容,尤其是數據庫緩沖區(在內存)中的內容都被丟失,所有運行事務都非正常終止。發生系統故障時,一些尚未完成的事務的結果可能已送入物理數據庫,有些已完成的事務可能有一部分甚至全部留在緩沖區,尚未寫回到磁盤上的物理數據庫中,從而造成數據庫可能處于不正確的狀態。為保證數據一致性,恢復子系統必須在系統重新啟動時讓所有非正常終止的事務回滾,強行撤消(undo)所有未完成事務。重做(redo)所有已提交的事

28、務,以將數據庫真正恢復到一致狀態。 3、介質故障 系統故障常稱為軟故障(soft crash),介質故障稱為硬故障(hard crash)。硬故障指外存故障,如磁盤損壞、磁頭碰撞,瞬時強磁場干擾等。這類故障將破壞數據庫或部分數據庫,并影響正在存取這部分數據的所有事務。這類故障比前兩類故障發生的可能性小得多,但破壞性最大。四、數據庫恢復技術恢復操作的基本原理:冗余用存儲在系統其它地方的冗余數據來重建數據庫中已被破壞或不正確的那部分數據?;謴蜋C制涉及的關鍵問題:如何建立冗余數據數據轉儲(backup)登錄日志文件(logging)如何利用這些冗余數據實施數據庫恢復1.事務故障:事務在運行至正常終止

29、點前被終止恢復方法由恢復子系統應利用日志文件撤消(undo)此事務已對數據庫進行的修改事務故障的恢復由系統自動完成,對用戶是透明的,不需要用戶干預事務故障的恢復步驟:(1)反向掃描文件日志(即從最后向前掃描日志文件),查找該事務的更新操作。(2)對該事務的更新操作執行逆操作。即將日志記錄中“更新前的值” 寫入數據庫。插入操作, “更新前的值”為空,則相當于做刪除操作刪除操作,“更新后的值”為空,則相當于做插入操作若是修改操作,則相當于用修改前值代替修改后值(3)繼續反向掃描日志文件,查找該事務的其他更新操作,并做同樣處理。(4)如此處理下去,直至讀到此事務的開始標記,事務故障恢復就完成了。2、

30、系統故障的恢復系統故障造成數據庫不一致狀態的原因未完成事務對數據庫的更新已寫入數據庫已提交事務對數據庫的更新還留在緩沖區沒來得及寫入數據庫恢復方法1. undo 故障發生時未完成的事務2. redo 已完成的事務系統故障的恢復由系統在重新啟動時自動完成,不需要用戶干預系統故障的恢復步驟(1)正向掃描日志文件(即從頭掃描日志文件)重做(redo) 隊列: 在故障發生前已經提交的事務這些事務既有begin transaction記錄,也有commit記錄撤銷 (undo)隊列:故障發生時尚未完成的事務 這些事務只有begin transaction記錄,無相應的commit記錄(2)對撤銷(und

31、o)隊列事務進行撤銷(undo)處理反向掃描日志文件,對每個undo事務的更新操作執行逆操作即將日志記錄中“更新前的值”寫入數據庫 (3)對重做(redo)隊列事務進行重做(redo)處理正向掃描日志文件,對每個redo事務重新執行登記的操作即將日志記錄中“更新后的值”寫入數據庫3、介質故障的恢復(1)重裝數據庫(2)重做已完成的事務恢復步驟(1) 裝入最新的后備數據庫副本(離故障發生時刻最近的轉儲副本) ,使數據庫恢復到最近一次轉儲時的一致性狀態。對于靜態轉儲的數據庫副本,裝入后數據庫即處于一致性狀態對于動態轉儲的數據庫副本,還須同時裝入轉儲時刻的日志文件副本,利用與恢復系統故障的方法(即r

32、edo+undo),才能將數據庫恢復到一致性狀態。(2) 裝入有關的日志文件副本(轉儲結束時刻的日志文件副本),重做已完成的事務。首先掃描日志文件,找出故障發生時已提交的事務的標識,將其記入重做隊列。然后正向掃描日志文件,對重做隊列中的所有事務進行重做處理。即將日志記錄中“更新后的值”寫入數據庫。介質故障的恢復需要dba介入dba的工作重裝最近轉儲的數據庫副本和有關的各日志文件副本執行系統提供的恢復命令具體的恢復操作仍由dbms完成第八章 并發控制一、并發控制 數據不一致發控制機制的任務對并發操作進行正確調度保證事務的隔離性保證數據庫的一致性二、并發操作帶來的數據不一致性1.丟失修改(lost

33、 update)指兩個事務t1與t2從數據庫中讀入同一數據并修改,t2的提交結果破壞了t1提交的結果,導致t1的修改被丟失。2.不可重復讀(non-repeatable read)指t1讀取數據后,t2執行更新操作,使t1無法再現前一次讀取結果。3.讀“臟”數據(dirty read)指t1修改某一數據,并將其寫回磁盤,t2讀取同一數據后,t1由于某種原因被撤消,這時t1已修改過的數據恢復原值,t2讀到的數據就與數據庫中的數據不一致,是不正確的數據,又稱為“臟”數據。三、封鎖類型的相容矩陣t2t1xs-xnnysnyy-yyy四、 活鎖如何避免活鎖先來先服務當多個事務請求封鎖同一數據對象時:按

34、請求封鎖的先后次序對這些事務排隊;該數據對象上的鎖一旦釋放,首先批準申請隊列中第一個事務獲得鎖。五. 死鎖解決方法預防死鎖死鎖的診斷與解除兩段封鎖協議(two-phase locking,簡稱2pl)是最常用的一種封鎖協議,理論上證明使用兩段封鎖協議產生的是可串行化調度.指所有事務必須分兩個階段對數據項加鎖和解鎖:在對任何數據進行讀、寫操作之前,事務首先要申請并獲得對該數據的封鎖;在釋放一個封鎖之后,事務不再申請和獲得任何其他封鎖?!皟啥巍辨i的含義:事務分為兩個階段 第一階段是獲得封鎖,也稱為擴展階段; 第二階段是釋放封鎖,也稱為收縮階段。六、兩段鎖協議slock b讀b=2y=bxlock aa=y+1寫回a=3unlock bunlock aslock a 等待 等待 等待 等待slock a讀a=3y=a xlock bb=y+1寫回b=4unlock bunlock aslock b讀b=2y=bunlock bxlock aa=y+1寫回a=3unlock aslock a等待等待等待slock a讀a=3x=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論