• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    XML與對象關(guān)系模型之間的轉(zhuǎn)換*

    2019-06-25 06:03:20陸安江
    通信技術(shù) 2019年6期
    關(guān)鍵詞:列表文檔約束

    周 游,陸安江

    (貴州大學(xué),貴州 貴陽 550025)

    0 引 言

    XML是一種廣泛用來描述不同數(shù)據(jù)類型以及異構(gòu)關(guān)系數(shù)據(jù)庫的可擴展標記語言,并在異構(gòu)關(guān)系數(shù)據(jù)庫之間的轉(zhuǎn)換過程發(fā)揮橋梁作用[1-3]。為了更好的應(yīng)用和開發(fā)基于關(guān)系模型的數(shù)據(jù)庫系統(tǒng),為了實現(xiàn)數(shù)據(jù)共享,開發(fā)了許多轉(zhuǎn)換算法和方法。文獻[4]提出一種轉(zhuǎn)換方法,可以實現(xiàn)XML到word之間的轉(zhuǎn)換,同時也可以實現(xiàn)word到XML之間的轉(zhuǎn)換;文獻[5]通過Java可以實現(xiàn)從word文本到XML文本之間的轉(zhuǎn)換;文獻[6]提出一種基于XML文檔為中間件,利用ASP+XML技術(shù),使用基于模型驅(qū)動的方法來映射XML與關(guān)系數(shù)據(jù)庫數(shù)據(jù)之間的關(guān)系,然后借助SQL實現(xiàn)數(shù)據(jù)轉(zhuǎn)換。本文提出一種基于文檔類型定義(DTD)的XML模式轉(zhuǎn)換為對象關(guān)系模型模式的可逆轉(zhuǎn)換方法。

    1 準備工作

    在這一部分,我們將對在本文中使用到的術(shù)語、定義、符號以及用法進行介紹。對于對象關(guān)系模型的結(jié)構(gòu)組成成分,通過文獻[7-10]可概括為以下四個部分:

    (1)對象類型或具有屬性的用戶定義類型(UTD);

    (2)對象表、泛型類型以及繼承;

    (3)對象的集合或引用的集合;

    (4)對象的引用或類型引用。

    對于XML文檔模型,我們采用<>來表示,以“<”開始,以“>”停止,則可通過式(1)中的符號來對使用其屬性和內(nèi)容模型的XML元素進行定義[11]。那么,對于XML文檔中的元素A,它的定義就可以通過A給出。如式(1)所示:

    通過文獻[11]可知在式(1)中:(1)::=符號表示被定義為;(2)A表示元素的名稱;(3)N表示元素A的內(nèi)容模型;(4)Attrs表示元素A的屬性列表,即Attrs=Attr1,Attr2,…,Attrm通過式(1)中對Attrs(下劃線Attrs)屬性列表的定義,我們可知它可以通過‘_’和屬性Attri(1≤i≤m)獲得。因此我們可以這樣來表示Attrs,即Attrs=Attr1,Attr2,...,Attrm= Attr1,Attr2...,Attrm。

    接下來我們對屬性Attri,即Attri進行定義,如式(2)所示:

    在式(2)中,(1)Attri表示屬性;(2)ToV表示在XML模型中的屬性類型或其值的列表[12];(3)Dp表示屬性默認值,其定義如式(3)所示:

    通過文獻[13]可知在式(3)中,1)|表示或;#REQUIRED表示屬性是必須的;2)#IMPLED表示屬性不是必須的;3)#FIXED value表示屬性是固定的;4)value表示屬性是默認的。

    通過對術(shù)語、定義及符號的介紹,接下來我們將介紹XML文檔與對象關(guān)系模型之間的映射。

    2 XML與對象關(guān)系之間的映射

    接下來我們考慮一個多態(tài)函數(shù)β,該函數(shù)允許我們將XML schema轉(zhuǎn)換為對象關(guān)系模型。此函數(shù)將對象關(guān)系模型中的對象A與每一個XML中的元素A進行關(guān)聯(lián),因此可以給出對象類型β(A)的定義,其定義如式(4)所示:

    在式(4)中,(1)A(在::=右邊)表示對象關(guān)系類型中關(guān)聯(lián)到XML文檔中元素A的對象關(guān)系類型;(2)L表示屬性定義列表。

    在這個列表中的每一個元素都是對象類型中屬性的定義,這個定義可以通過式(5)得到:

    在式(5)中,(1)Attri表示對象類型屬性;(2)Type表示屬性Attr的類型;(3)M表示值的約束列表。這些約束可以為空(null)、非空(not null)、唯一性(unique)、外鍵約束(foreign key)、以及檢查約束(check)[14]。由巴科斯范式(BNF)可知,用尖括號(<>)括住表示必選項,用方括號([])括住表示可選項[15]。

    接下來我們看看如何通過β函數(shù)來計算對象類型“A”的屬性;在式(1)中我們有:A::=〈A;Attrs;N〉。因此可以給出對象類型的定義,其定義如式(6)所示:

    在式(6)中“U”表示聯(lián)合運算符;為了能得到對象類型 A,我們不得不分別計算 β(Attrs)和 β(N)。

    2.1 β(Attrs)的計算

    β(Attrs)是對象類型的屬性定義列表,β(Attrs)計算算法流程如圖1所示。

    通過式(2)可知,在XML schema中每個屬性Attri可以通過Attri::=〈Attri;ToV;Dp〉得到;因此對于 β(Attri),我們可以通過 β(Attri)::= β(<Attri;ToV;Dp>)得到。對于β(<Attri;ToV;Dp>)的值,我們可以通過式(7)計算得到:

    式(7)中C表示約束。通過式(7)我們可知,為了求 β(Attri),我們必須計算 β(ToV),β(Dp)和 C。

    圖1 β(Attrs)算法流程

    2.2 β(ToV)的計算

    在對象關(guān)系模型中β(ToV)表示的是屬性Attri類型的值,以及值得約束。我們可以通過表1得到 β(ToV)。

    在表 1中:(1)Varchar(n)表示在數(shù)據(jù)庫系統(tǒng)里字符串使用類型的標準,n表示類型的大?。唬?)Varchar(p)表示在對象關(guān)系型數(shù)據(jù)庫里值集合的數(shù)據(jù)類型,p表示集合的大??;(3)嵌套表表示的是在關(guān)系型數(shù)據(jù)庫里使用的數(shù)據(jù)類型,它反映的是大小沒有限制的值的集合:(4)通過文獻[16]我們可知Letter和Digit是按以下規(guī)律定義的:Letter::=[A...Za...z].Digit::=[0...9]。

    在表1的約束列有:(1)唯一約束(UC)表示在屬性是一個明確的值;(2)外鍵約束(FKC)表示引用一個完整性的約束;(3)枚舉約束(ELConstraint)表示具有與指定XML元素的內(nèi)容模型屬性的枚舉值對應(yīng)的值列表的約束。我們使用LAC 來表示 (Letter|_)(Letter|_|Digit|:|.|-)。

    表1 β(ToV)的計算

    2.3 β(Dp)的計算

    為 了 計 算 β(Attri), 我 們 不 得 不 計 算 β(Dp)。β(Dp)的值通常是一個數(shù)據(jù)庫約束的列表,通過表2可以求出 β(Dp)的值。

    表2 β(Dp)的計算

    為了更好的理解函數(shù)β,我們看一下下面的列子:

    <!ELEMENTcinema(...)>

    <!ATTLIST cinema id ID #REQUIRED>

    <!ATTLIST cinema popularity CDATA #IMPLIED>

    以上定義了id元素,元素cinema有兩個屬性:cinema和popularity;β(id)=β(〈id;ID;#REQUIRED〉),β(popularity)=β(〈popularity;CDATA;#IMPLED〉)。

    我們把函數(shù)β應(yīng)用到cinema可得:

    β(cinema)=cinema(β(id),β(popularity)...)

    首先,我們計算β(id),通過式(2)我們可得:

    β(id)=β(<id;ToV;Dp>)

    通過式(7)可得:

    β(<id;ToV;Dp>)=<id;β(ToV)-C;β(Dp)+C>

    由表1和表2可得:

    β(id)=〈id;β(ID)-(LAC+UC)〉;

    β(#REQUIRED)+(LAC+UC);

    β(#REQUIRED)=not null;

    那么

    β(id)= <id; varchar; not null +(LAC+UC)>。

    接下來我們計算 β(popularity),同理可得:β(popularity)=<popularity;varchar;null>。

    則cinema的對象變?yōu)椋?/p>

    cinema(〈id; varchar; not null +(LAC+UC)〉;

    popularity;varchar;null,...)

    通過以上分析有:XML文檔屬性到對象屬性的算法(命名為算法2)。具體流程如圖2所示。

    圖2 XML文檔屬性到對象屬性的算法

    2.4 β(N)的計算

    通過式(6)可知:β(A)::=A(β(Attrs)Uβ(N),通過(1)我們已經(jīng)對β(Attrs)的計算進行詳細介紹,為了得到完整的對象類型的屬性列表,我們必須計算 β(N)。接下來展開對 β(N)計算的介紹。

    通過式(1)有:A::=〈A;Attrs;N〉,其中N表示元素A的內(nèi)容模型,可以為any(該模型包含文本、元素和空格),empty(禁止把文本或者元素作為一個聲明為空的子元素)和混合模型(包含文本、內(nèi)容和屬性)。接下來看一個DTD的列子:

    <!ELEMENT cinema (time+)>

    <!ELEMENT cinema id ID #REQUIRED category CDATA #IMPLIED>

    <!ELEMENT time(date+)>

    <!ELEMENT date(move+)>

    <!ELEMENT move(move_name,director)>

    <!ELEMENT move_name (#PCDTATA)>

    <!ELEMENT director(#PCDTATA)>

    通過式(1)可知cinema元素可表示為:

    cinema::=<cinema;id,category; time +>。

    其中time+為cinema元素N的值;其定義如下:time::=<time;;date +>。

    同樣,對于元素move可以定義為:move::=<move;; move_name, director>?!癿ove_name,director”是move元素N的值。

    元素move_name的定義如下:move_name::=<move_name;;#PCDATA>;元素director的定義為:director::=< director;;#PCDATA>。 因 此 move_name和director元素的N值為#PCDATA。

    為了使β(N)的計算更加簡化,我們利用巴克斯范式(BNF)語法來對XML文檔的內(nèi)容模型進行求解(其中A是N的元素)。我們稱這種語法為,將語法G與式(1)結(jié)合可得語法G,最終可得β(G)。具體如下所示:

    (1)β(A)::=β(ANY);(ANY 指任何數(shù)據(jù)和任何類型)

    (2)β(A)::=β(EMPTY);(EMPTY指空的字符串)

    (3)β(A)::=(-A-1,A--2):=β(A--1),β(A--2);(A1,A2是用來區(qū)別’=’左邊和右邊的元素A)

    (4)β(A)::=(+,β(A--1),β(A--2);(定義一種可以保存對象類型 β(-A-1)和 β(A--2)的一般類型)

    (5)β(A)::={β(A)};(具有空約束的 β(A)表)

    (6)β(A)::={β(A)};(具有非空約束的 β(A)表)

    (7)β(A)::=[β(A)];(具有空約束的 β(E)

    (8)β(A)::=β(#PCDATD)。

    β(#PCDATD)的值通過 β(#PCDATD)::=<value;varchar;””>來計算。

    為了更好的理解β函數(shù),接下來看以下列子:

    那么move_name是一個具有屬性命名值得對象類型,屬性類型是沒有約束的varchar。

    (2)接下來看一個復(fù)雜的列子,對于XML文檔中的move元素我們定義如下所示:

    move::=<move;;move_name,director>, 則β(move)=move(β(move_name,director)=move(β(move_name), β(director)。假設(shè)用其值來代替 β(move_name)和 β(director),那么可得:β(move)=move(move_name(<value;varchar;””>),director(<value;varchar;””>)。

    因此,’move’是一個具有兩個屬性(move_name和director)的對象類型,它們中的每一個都具有一個與之對應(yīng)的屬性命值的對象類型。計算β(N)可以通過以下算法(命名為算法3)獲得:

    (1)開始;

    (2)輸入N,一個XML文檔元素A的內(nèi)容模型;

    (3)在不同的A中隨機選擇V,使得β(V)在β(N)中;

    (4)如果 β(V)不在 V 中,那么通過 β(G)和算法 2 計算 β(V);

    (5)如果沒有 β(V)在 β(N)中或者在 β(N)中的每一個 β(V)都沒在 V 中再或者 β(V)=β(E),那么退出循環(huán);否則返回c。

    (6)輸β(N),對象屬性列表;

    (7)結(jié)束。

    圖3 β(N)計算流程

    3 轉(zhuǎn)換算法

    通過以上的介紹,接下來我們考慮如何將XML模型轉(zhuǎn)換為對象關(guān)系模型。為了創(chuàng)建XML文檔到對象類型的映射,我們從以下兩方面進行討論:A)對象屬性的創(chuàng)建;B)創(chuàng)建與XML schema關(guān)聯(lián)的對象類型。

    3.1 對象屬性的創(chuàng)建

    將對象屬性的創(chuàng)建函數(shù)命名為COA,COA函數(shù)以一個屬性作為具有目錄列表的參數(shù),并返回表達式〈attr;typeOfAttribute;M〉。通過式(5)可知,該表達式反映的是對象關(guān)系模型中屬性的定義。該函數(shù)基于以上定義的β函數(shù)計算的值,其定義如下所示:

    通過上述定義的β函數(shù)計算元素x的值;

    對于在 attr 中的每一個 {β(x)},如果與 x 相關(guān)的類型沒有被創(chuàng)建,那么創(chuàng)建對象類型x作為不。完整類型;創(chuàng)建一個列表類型,稱為xs;在attr中用 <”xs”;xs;’’> 來替換 {β(x)};

    對于在 attr 中的每一個 [β(x)],在 (x(...)添加一個空約束(null constraint),然后在 attr中用 (x(...))來替換 [β(x)];

    如果與attr相關(guān)的類型沒有被創(chuàng)建,那么創(chuàng)建一個對象類型,稱為attr,返回<”attr”;attr;””>;其中每一個attr屬性相當于目錄列表中的目錄;

    對于形如 x(<value;varchar;””>)模型,創(chuàng)建對象屬性 (x(...),返回(4);

    對于形如x(y(<value;varchar;””>), f(<value;varchar;””>),…)模型,創(chuàng)建對象屬性 (x(...),在 attr 中 用 x(<”y”;y;””>,<”f”; f;””>,…)來替換,返回(4)。

    對于元素 e(...)與正則表達式(…β(x)…)有關(guān),如果x類型沒有被創(chuàng)建,那么創(chuàng)建一個對象類型,并用〈”x”;refx;〉替換 β(x)。

    為了更好的理解上訴定義,接下來看一個例子:

    <!ELEMENTmove(move_name,director,cite?)>

    <!ELEMENT move_name(#PCDAT)>

    <!ELEMENTdirector(fn,ln)>

    <!ELEMENTfn(#PCDAT)>

    <!ELEMENTln(#PCDAT)>

    <!ELEMENTcite(move*)>

    β(move)可以通過以下表達式來計算:β(move)=move(β(move_ame),β(director),[β(cite)]); 為 了 創(chuàng) 建對象屬性,我們不得不分別計算:β(move_ame),β(director)和 [β(cite)]。

    通過計算有:β(move_name)=move_name(<value;varchar;””>);

    β(director)=director(fn(<value;varchar;””>),ln(<value;varchar;””>);

    [β(cite)]的值為 [cite({[β(move)]})]。

    則β(move)=move(move_name(<value;varchar;””>),director(fn(<value;varchar;””>), ln(<value;varchar;””>), [cite({β(move)})])。

    為了創(chuàng)建move的對象屬性,我們分別對move_name(<value;varchar;””>,director(fn(<value;varchar;””>), ln(<value;varchar;””>),[cite({β(move)})]進行轉(zhuǎn)換。

    首先對 [cite({β(move)})]進行轉(zhuǎn)換,為了去掉”{”和”}”,使用步驟(2),可得:{β(move)}通過<”moves”;moves;””>替換掉,然后我們得到表 達 式 [cite(<”moves”;moves;null_constrant>)];為了去掉”[”和”]”,使用步驟(3),可得:(cite(<”moves”;moves;null_constrant>);通過步驟(4)可得:<”cite”;cite;null_constraint>。

    其次對move_name(<value;varchar;””>)進行轉(zhuǎn)換,使用步驟(5),可得對象屬性為:(move_name(<value;varchar;””>), 通 過 步 驟(4) 可 得 <”move_name”;move_name;””>。

    接 下 來 對 director(fn(<value;varchar;””>),ln(<value;varchar;””>) 進 行 轉(zhuǎn) 換, 由 表 達 式可 知 director屬 x(y(<value;varchar;””>),f(<value;varchar;””>),..)模型,通過步驟(6)可得:(director(<”fn”;fn;””>, <”ln”;ln;””>)),通過步驟(4)可得:<”director”;director;””>。

    最后,我們可得move表達式為:move(<”move_name”;move_name;””>,<”director”;-directoe;””>,<”cite”;cite;null_constraint>);對象屬性表達式為:<”move”;move;constraint_on(cite)>。

    3.2 創(chuàng)建與XML schema關(guān)聯(lián)的對象類型

    與XML schema關(guān)聯(lián)的對象類型創(chuàng)建方法具體如下所示:

    設(shè)y是一個對象屬性,通過對象屬性的創(chuàng)建可知y的表達式為:〈”object”;object;constraints〉;然后將其返回〈object;constraints〉(一個伴有約束的對象類型)。

    通過上訴方法我們可得〈”moeve”;move;constraint_on(cite)〉的對象類型為:〈move;constraint_on(cite)〉。

    最終轉(zhuǎn)換算法如下所示(見圖4):

    (1)開始;

    (2)輸入XML文檔,A是XML中的元素;

    (3)通過β(G)計算元素A的值;

    (4)通過對象屬性創(chuàng)建函數(shù)計算元素A的對象屬性;

    (5)通過與XML schema關(guān)聯(lián)的對象類型創(chuàng)建方法計算元素A的對象類型;

    (6)創(chuàng)建一個對象列表,命名為:“A_table”,此列表伴有對象類型A和約束(列表“A_table”是用來存儲XML文檔內(nèi)容的);

    (7)輸出對象關(guān)系模式;

    (8)結(jié)束。

    圖4 轉(zhuǎn)換算法流程

    基于對象類型move,我們創(chuàng)建一個名為Move_table的表,具體如圖5所示。

    圖5 Move_table結(jié)構(gòu)

    圖5 中:(1)id表 示 一 個 數(shù) 量 屬 性;(2)move_name表示一個具有名的屬性對象;(3)directors表示每個元素具有fn和ln屬性對象;(4)cite表示“move”對類型應(yīng)用的集合。

    4 結(jié) 語

    在這篇文章里介紹了一種將XML模式轉(zhuǎn)換為對象關(guān)系模式的方法,同時也可以將對象關(guān)系模型轉(zhuǎn)化為XML模型。該方法在處理XML數(shù)據(jù)的時候可以保護其數(shù)據(jù)結(jié)構(gòu),同時也提供一些語義約束;該方法與其他方法相比較,在整合XML元素的時候僅需較少的對象列表。

    猜你喜歡
    列表文檔約束
    巧用列表來推理
    有人一聲不吭向你扔了個文檔
    “碳中和”約束下的路徑選擇
    學(xué)習(xí)運用列表法
    擴列吧
    約束離散KP方程族的完全Virasoro對稱
    基于RI碼計算的Word復(fù)制文檔鑒別
    Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
    適當放手能讓孩子更好地自我約束
    人生十六七(2015年6期)2015-02-28 13:08:38
    不含3-圈的1-平面圖的列表邊染色與列表全染色
    中文字幕人妻丝袜一区二区| 最好的美女福利视频网| 久久 成人 亚洲| 又黄又粗又硬又大视频| 国产97色在线日韩免费| 69av精品久久久久久| 亚洲av电影在线进入| 欧美激情极品国产一区二区三区| 亚洲av第一区精品v没综合| 亚洲国产精品sss在线观看| 日韩欧美 国产精品| 国产亚洲精品久久久久久毛片| 亚洲真实伦在线观看| 宅男免费午夜| 天堂√8在线中文| 午夜福利欧美成人| 午夜a级毛片| 丰满的人妻完整版| 90打野战视频偷拍视频| 少妇裸体淫交视频免费看高清 | 国产亚洲精品一区二区www| 成人特级黄色片久久久久久久| 国产99白浆流出| 亚洲欧美精品综合久久99| 国产伦在线观看视频一区| 国产日本99.免费观看| 搡老妇女老女人老熟妇| 88av欧美| 一级毛片精品| 88av欧美| 天天躁夜夜躁狠狠躁躁| 午夜日韩欧美国产| 国产熟女午夜一区二区三区| 国产精品av久久久久免费| 欧美午夜高清在线| 亚洲精品在线观看二区| 777久久人妻少妇嫩草av网站| 中文字幕高清在线视频| 一区二区三区国产精品乱码| 国语自产精品视频在线第100页| 午夜免费成人在线视频| 国产91精品成人一区二区三区| 国产蜜桃级精品一区二区三区| 国产又爽黄色视频| 色综合亚洲欧美另类图片| АⅤ资源中文在线天堂| 男女之事视频高清在线观看| 亚洲狠狠婷婷综合久久图片| 男女之事视频高清在线观看| 国产高清视频在线播放一区| 国产亚洲av嫩草精品影院| 99精品欧美一区二区三区四区| 长腿黑丝高跟| 日本免费a在线| 丝袜人妻中文字幕| 别揉我奶头~嗯~啊~动态视频| 亚洲一区高清亚洲精品| 伦理电影免费视频| 亚洲午夜理论影院| 国产黄片美女视频| 老熟妇仑乱视频hdxx| 亚洲美女黄片视频| 中文字幕人成人乱码亚洲影| 欧美激情 高清一区二区三区| 久久久久久国产a免费观看| 国产精品久久久久久人妻精品电影| 丝袜人妻中文字幕| 亚洲免费av在线视频| 精品一区二区三区av网在线观看| 欧美日韩瑟瑟在线播放| 好男人电影高清在线观看| 久久中文看片网| 日日干狠狠操夜夜爽| 久久久久九九精品影院| 中文字幕精品亚洲无线码一区 | 亚洲精品久久国产高清桃花| 国内少妇人妻偷人精品xxx网站 | 一级黄色大片毛片| 欧美精品啪啪一区二区三区| 激情在线观看视频在线高清| 黄色成人免费大全| 成人国产一区最新在线观看| 国产在线观看jvid| 亚洲,欧美精品.| 中文字幕另类日韩欧美亚洲嫩草| 91国产中文字幕| 亚洲第一欧美日韩一区二区三区| 国产人伦9x9x在线观看| 中文字幕高清在线视频| 在线观看66精品国产| 婷婷精品国产亚洲av在线| 亚洲精品色激情综合| 精品国产乱码久久久久久男人| 久久久久国内视频| av片东京热男人的天堂| 黄片播放在线免费| 女性被躁到高潮视频| 99久久久亚洲精品蜜臀av| 1024香蕉在线观看| 国产成人精品久久二区二区91| 亚洲人成伊人成综合网2020| 亚洲欧美日韩高清在线视频| 成年版毛片免费区| 老司机靠b影院| 精品一区二区三区四区五区乱码| 欧美激情极品国产一区二区三区| 免费女性裸体啪啪无遮挡网站| 这个男人来自地球电影免费观看| 麻豆成人午夜福利视频| 免费看日本二区| 日日爽夜夜爽网站| 久久国产精品影院| 国产三级在线视频| 天堂√8在线中文| 在线观看免费日韩欧美大片| 成人亚洲精品av一区二区| 精品高清国产在线一区| 99国产精品一区二区三区| 亚洲欧美精品综合一区二区三区| 亚洲全国av大片| 在线观看一区二区三区| 亚洲性夜色夜夜综合| 亚洲人成电影免费在线| 欧美最黄视频在线播放免费| 国产99白浆流出| 亚洲激情在线av| 最近最新中文字幕大全免费视频| 在线观看午夜福利视频| bbb黄色大片| www.精华液| 免费一级毛片在线播放高清视频| 欧美三级亚洲精品| 男人舔女人下体高潮全视频| 免费观看人在逋| 日本撒尿小便嘘嘘汇集6| 亚洲专区字幕在线| 久久久久久久久久黄片| 亚洲欧美激情综合另类| 激情在线观看视频在线高清| 国产三级黄色录像| 亚洲男人的天堂狠狠| 夜夜看夜夜爽夜夜摸| 啦啦啦 在线观看视频| 国产成人av教育| 色av中文字幕| 国产精品av久久久久免费| 免费看十八禁软件| 97超级碰碰碰精品色视频在线观看| 亚洲国产精品久久男人天堂| 成人永久免费在线观看视频| 在线观看免费视频日本深夜| 久久精品91蜜桃| 欧美又色又爽又黄视频| 色在线成人网| 巨乳人妻的诱惑在线观看| 久久青草综合色| 亚洲精品一卡2卡三卡4卡5卡| 日本五十路高清| АⅤ资源中文在线天堂| 欧美成人一区二区免费高清观看 | 97人妻精品一区二区三区麻豆 | 久久青草综合色| 精品人妻1区二区| 69av精品久久久久久| 久久国产精品人妻蜜桃| 午夜福利18| 日本 欧美在线| 成人一区二区视频在线观看| 久久精品夜夜夜夜夜久久蜜豆 | 很黄的视频免费| 国产精品国产高清国产av| 久久久久久久久久黄片| 在线av久久热| 一区二区三区高清视频在线| 最近最新免费中文字幕在线| 久久精品国产综合久久久| 一区福利在线观看| 精品一区二区三区四区五区乱码| 亚洲电影在线观看av| 淫秽高清视频在线观看| 最新美女视频免费是黄的| 亚洲精品在线观看二区| 久久九九热精品免费| 一级毛片精品| 久久精品aⅴ一区二区三区四区| 欧美色视频一区免费| 一本综合久久免费| 久热这里只有精品99| 制服诱惑二区| 亚洲最大成人中文| 久久久久久大精品| 色av中文字幕| 大型黄色视频在线免费观看| 十八禁人妻一区二区| 在线国产一区二区在线| 草草在线视频免费看| 精品欧美国产一区二区三| 无限看片的www在线观看| 久久精品国产清高在天天线| 久久草成人影院| 精品国产超薄肉色丝袜足j| 国产精品av久久久久免费| 中文字幕最新亚洲高清| 国产在线观看jvid| 久久这里只有精品19| 免费无遮挡裸体视频| 亚洲熟妇熟女久久| 日本在线视频免费播放| 91成人精品电影| 在线观看午夜福利视频| 色播在线永久视频| 国产精品免费一区二区三区在线| 婷婷丁香在线五月| 97碰自拍视频| 久久九九热精品免费| 超碰成人久久| 国产精品一区二区三区四区久久 | 午夜福利高清视频| 欧美在线一区亚洲| 无限看片的www在线观看| 88av欧美| 国产高清videossex| 久久久久亚洲av毛片大全| 麻豆av在线久日| 亚洲国产日韩欧美精品在线观看 | 免费观看精品视频网站| 亚洲国产看品久久| 国产亚洲欧美98| 久久精品91蜜桃| 国产黄色小视频在线观看| 国产成人av激情在线播放| 国产在线观看jvid| 免费在线观看成人毛片| 丝袜在线中文字幕| 视频在线观看一区二区三区| 99久久99久久久精品蜜桃| 香蕉av资源在线| 亚洲一区高清亚洲精品| 99久久久亚洲精品蜜臀av| 免费人成视频x8x8入口观看| 午夜日韩欧美国产| 久久久久久久久久黄片| 丰满人妻熟妇乱又伦精品不卡| 99国产极品粉嫩在线观看| 日韩高清综合在线| 手机成人av网站| 久久久国产精品麻豆| 国产高清videossex| 色在线成人网| 欧美人与性动交α欧美精品济南到| 美女国产高潮福利片在线看| 少妇裸体淫交视频免费看高清 | 老司机深夜福利视频在线观看| 国产成年人精品一区二区| 成熟少妇高潮喷水视频| 亚洲真实伦在线观看| 两性夫妻黄色片| 成年版毛片免费区| 久久精品国产亚洲av高清一级| 久久 成人 亚洲| 国产蜜桃级精品一区二区三区| 桃色一区二区三区在线观看| 日韩精品青青久久久久久| 一区二区三区精品91| www日本在线高清视频| 国产精品九九99| 正在播放国产对白刺激| 日韩欧美一区视频在线观看| 国产亚洲欧美精品永久| 自线自在国产av| 桃红色精品国产亚洲av| 亚洲专区国产一区二区| 两个人视频免费观看高清| 男男h啪啪无遮挡| 国产精品免费一区二区三区在线| 亚洲精品国产一区二区精华液| 神马国产精品三级电影在线观看 | 夜夜躁狠狠躁天天躁| 草草在线视频免费看| 性欧美人与动物交配| 久久久久久九九精品二区国产 | 久久九九热精品免费| 亚洲va日本ⅴa欧美va伊人久久| 亚洲成av片中文字幕在线观看| 亚洲avbb在线观看| 午夜福利在线在线| 母亲3免费完整高清在线观看| 成人欧美大片| 黄片小视频在线播放| 黄频高清免费视频| 亚洲国产中文字幕在线视频| 欧美日本视频| 又黄又爽又免费观看的视频| 中文字幕人成人乱码亚洲影| 亚洲色图 男人天堂 中文字幕| 在线国产一区二区在线| 午夜福利一区二区在线看| 男人的好看免费观看在线视频 | 99热6这里只有精品| 久久久精品欧美日韩精品| 97超级碰碰碰精品色视频在线观看| 成人永久免费在线观看视频| 男人舔女人下体高潮全视频| 国产成人影院久久av| 中文字幕久久专区| 色在线成人网| 一级片免费观看大全| 九色国产91popny在线| 欧美亚洲日本最大视频资源| 极品教师在线免费播放| 国产精品 欧美亚洲| 国产成人欧美| 叶爱在线成人免费视频播放| 亚洲avbb在线观看| 成人特级黄色片久久久久久久| videosex国产| 亚洲欧美精品综合久久99| av天堂在线播放| 久久久国产成人免费| 亚洲三区欧美一区| 桃红色精品国产亚洲av| 一区二区三区激情视频| 亚洲成av人片免费观看| 亚洲中文字幕日韩| 亚洲五月婷婷丁香| 麻豆成人av在线观看| 狠狠狠狠99中文字幕| 好看av亚洲va欧美ⅴa在| 国产亚洲欧美在线一区二区| 成人一区二区视频在线观看| 久久久水蜜桃国产精品网| 国产又黄又爽又无遮挡在线| 精品国产美女av久久久久小说| 亚洲男人的天堂狠狠| 97人妻精品一区二区三区麻豆 | 一本大道久久a久久精品| 露出奶头的视频| 久久国产亚洲av麻豆专区| АⅤ资源中文在线天堂| 女人被狂操c到高潮| 亚洲精品在线美女| 黑人巨大精品欧美一区二区mp4| 国产精品久久久久久亚洲av鲁大| 中出人妻视频一区二区| 国产亚洲精品久久久久久毛片| 亚洲av电影在线进入| 日韩欧美在线二视频| 国产av在哪里看| 亚洲色图 男人天堂 中文字幕| 色老头精品视频在线观看| 国产精品日韩av在线免费观看| 欧美成人免费av一区二区三区| 一区二区三区激情视频| 性色av乱码一区二区三区2| 可以在线观看毛片的网站| 久久精品国产清高在天天线| 最新在线观看一区二区三区| 国产一级毛片七仙女欲春2 | 97超级碰碰碰精品色视频在线观看| 精品不卡国产一区二区三区| 女性生殖器流出的白浆| 亚洲欧洲精品一区二区精品久久久| 亚洲国产毛片av蜜桃av| 别揉我奶头~嗯~啊~动态视频| 亚洲专区国产一区二区| 久久久久久久午夜电影| 人妻久久中文字幕网| 国产精品综合久久久久久久免费| 亚洲国产欧美一区二区综合| 日日夜夜操网爽| 久久天堂一区二区三区四区| 性欧美人与动物交配| 日本免费一区二区三区高清不卡| 亚洲欧美一区二区三区黑人| 看免费av毛片| 国内揄拍国产精品人妻在线 | 欧美日韩亚洲国产一区二区在线观看| 老熟妇仑乱视频hdxx| 久久久久久久精品吃奶| 级片在线观看| 亚洲全国av大片| 高清毛片免费观看视频网站| 老司机深夜福利视频在线观看| 在线永久观看黄色视频| av福利片在线| 欧美激情久久久久久爽电影| 长腿黑丝高跟| 国产亚洲欧美精品永久| 999久久久国产精品视频| 亚洲精华国产精华精| 亚洲av片天天在线观看| 精品国产美女av久久久久小说| 很黄的视频免费| 精品国产亚洲在线| 色播亚洲综合网| 亚洲精品av麻豆狂野| 午夜福利一区二区在线看| av片东京热男人的天堂| 国产一区二区三区视频了| 国产高清有码在线观看视频 | xxxwww97欧美| 亚洲中文字幕一区二区三区有码在线看 | 久久伊人香网站| 久热这里只有精品99| 国产高清videossex| 亚洲,欧美精品.| 高潮久久久久久久久久久不卡| 十八禁网站免费在线| 窝窝影院91人妻| 久久久国产精品麻豆| 在线观看舔阴道视频| 黄频高清免费视频| 亚洲欧美精品综合一区二区三区| 给我免费播放毛片高清在线观看| 黄色 视频免费看| 黄色片一级片一级黄色片| 国产精品影院久久| 色综合欧美亚洲国产小说| 精品国产一区二区三区四区第35| 正在播放国产对白刺激| 久久精品影院6| 中文字幕高清在线视频| 一夜夜www| 美女国产高潮福利片在线看| 午夜免费激情av| 国产99白浆流出| 精品熟女少妇八av免费久了| 国产野战对白在线观看| 国产精品久久电影中文字幕| 88av欧美| 亚洲av成人一区二区三| 欧美成人性av电影在线观看| 欧美成人午夜精品| 免费在线观看黄色视频的| 亚洲真实伦在线观看| 久久久久国产一级毛片高清牌| 男女下面进入的视频免费午夜 | 搡老岳熟女国产| 欧美中文综合在线视频| 亚洲男人天堂网一区| 一二三四社区在线视频社区8| 日韩欧美一区视频在线观看| 国产区一区二久久| 久热爱精品视频在线9| 亚洲av电影在线进入| 国产精品一区二区免费欧美| 久久亚洲精品不卡| svipshipincom国产片| 国产爱豆传媒在线观看 | 久久性视频一级片| 黄网站色视频无遮挡免费观看| 黄频高清免费视频| 一级毛片高清免费大全| 男女做爰动态图高潮gif福利片| 欧美丝袜亚洲另类 | 亚洲成av片中文字幕在线观看| 国产成人啪精品午夜网站| 国产精品日韩av在线免费观看| 久久午夜综合久久蜜桃| 久久人人精品亚洲av| 99精品久久久久人妻精品| 女同久久另类99精品国产91| 俄罗斯特黄特色一大片| 丁香六月欧美| 美女高潮喷水抽搐中文字幕| 精品久久久久久久久久久久久 | 日本 欧美在线| 曰老女人黄片| 黄频高清免费视频| 国产免费男女视频| 欧美日韩中文字幕国产精品一区二区三区| 级片在线观看| 婷婷六月久久综合丁香| 欧美另类亚洲清纯唯美| 日韩欧美三级三区| 91在线观看av| 性色av乱码一区二区三区2| 少妇 在线观看| 欧美人与性动交α欧美精品济南到| 欧美又色又爽又黄视频| 欧美中文综合在线视频| 久久久水蜜桃国产精品网| 一本综合久久免费| www.www免费av| 天天躁夜夜躁狠狠躁躁| 亚洲av电影不卡..在线观看| 十八禁网站免费在线| 国产亚洲精品av在线| 99久久无色码亚洲精品果冻| 999久久久精品免费观看国产| 精品一区二区三区四区五区乱码| 国内揄拍国产精品人妻在线 | 午夜两性在线视频| 一进一出抽搐动态| 日韩精品免费视频一区二区三区| 啦啦啦观看免费观看视频高清| 丝袜美腿诱惑在线| 亚洲专区国产一区二区| 无人区码免费观看不卡| 一区二区日韩欧美中文字幕| 成人欧美大片| 亚洲国产精品成人综合色| 久久婷婷成人综合色麻豆| 十分钟在线观看高清视频www| 少妇被粗大的猛进出69影院| 中文字幕av电影在线播放| 两个人视频免费观看高清| 999久久久精品免费观看国产| 亚洲成a人片在线一区二区| 午夜福利一区二区在线看| 国产1区2区3区精品| 18禁美女被吸乳视频| 精品国产超薄肉色丝袜足j| e午夜精品久久久久久久| 国产欧美日韩一区二区三| 热re99久久国产66热| 母亲3免费完整高清在线观看| 国产高清视频在线播放一区| 午夜福利成人在线免费观看| 亚洲精品美女久久久久99蜜臀| 韩国av一区二区三区四区| 免费看十八禁软件| 日本五十路高清| 精品久久久久久久久久久久久 | 高潮久久久久久久久久久不卡| 中文字幕另类日韩欧美亚洲嫩草| 精品国产亚洲在线| 首页视频小说图片口味搜索| 亚洲男人天堂网一区| 亚洲专区字幕在线| 香蕉国产在线看| 午夜福利18| 久久久久久久久免费视频了| 中文字幕另类日韩欧美亚洲嫩草| 精品一区二区三区视频在线观看免费| 两人在一起打扑克的视频| 午夜免费观看网址| 久久久久免费精品人妻一区二区 | 成人国产综合亚洲| 国产精品美女特级片免费视频播放器 | 欧美乱码精品一区二区三区| 久久久久九九精品影院| 村上凉子中文字幕在线| 人人澡人人妻人| 少妇裸体淫交视频免费看高清 | 人人妻,人人澡人人爽秒播| 欧洲精品卡2卡3卡4卡5卡区| 欧美日韩中文字幕国产精品一区二区三区| 婷婷精品国产亚洲av| 国产成人av教育| 国产精品久久久久久精品电影 | 麻豆av在线久日| 人人妻,人人澡人人爽秒播| 一本精品99久久精品77| 亚洲九九香蕉| 欧美三级亚洲精品| 99久久综合精品五月天人人| 日韩三级视频一区二区三区| 欧美不卡视频在线免费观看 | 色综合婷婷激情| 又大又爽又粗| 无遮挡黄片免费观看| 国产又黄又爽又无遮挡在线| 男女之事视频高清在线观看| 国产高清视频在线播放一区| 久久伊人香网站| 日韩视频一区二区在线观看| 亚洲中文字幕日韩| 中出人妻视频一区二区| 19禁男女啪啪无遮挡网站| 老司机在亚洲福利影院| x7x7x7水蜜桃| 岛国视频午夜一区免费看| 欧美精品啪啪一区二区三区| 国产精品美女特级片免费视频播放器 | 亚洲av五月六月丁香网| 可以在线观看的亚洲视频| 午夜福利一区二区在线看| 国产熟女xx| 精品欧美国产一区二区三| av欧美777| 99久久99久久久精品蜜桃| 久久性视频一级片| 啦啦啦免费观看视频1| 久久 成人 亚洲| 这个男人来自地球电影免费观看| 亚洲欧美日韩无卡精品| 一级毛片女人18水好多| 亚洲精华国产精华精| 亚洲美女黄片视频| 最近最新中文字幕大全电影3 | 精品久久久久久久人妻蜜臀av| 亚洲精品久久国产高清桃花| 亚洲自拍偷在线| 中文字幕久久专区| 中亚洲国语对白在线视频| 久久久国产欧美日韩av| 日日夜夜操网爽| 亚洲精品久久国产高清桃花| 国产精品久久久av美女十八| 丁香六月欧美| 一本久久中文字幕| 97人妻精品一区二区三区麻豆 | 国产成年人精品一区二区| 成人国产综合亚洲| 国产日本99.免费观看| 亚洲熟妇中文字幕五十中出| 久久精品亚洲精品国产色婷小说| 亚洲人成电影免费在线| 久久精品国产清高在天天线| 99国产精品一区二区三区| 无人区码免费观看不卡| 深夜精品福利| 亚洲欧美精品综合一区二区三区| 成人国语在线视频|