精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SSIS高級轉換任務之漸變維度詳解

數據庫 SQL Server
和其他task不同,漸變維度轉換提供一個向導設置,通過問答的方式來設置,類似于在計算機中安裝一個新的程序時使用的安裝向導。它是一個自動化的task,提供了一種維護漸變維度或漸變表的方法。本文詳細介紹了這一過程,希望能對您有所幫助。

漸變維度(SCD)轉換提供了一種維護漸變維度或漸變表的方法,對漸變維度的分析處理是一個很大的話題。一般一個維度表通常包含一些描述其他信息的離散值,例如,價格,重量,銷售地區。問題是如果隨著時間的推移這些信息改變我們將如何維護這個表,特別是在數據轉移的過程中。例如我們查看AdventureWorks中的product表,如圖1

SSIS高級轉換任務之漸變維度詳解

圖1

通常在聯機事務處理(OLTP)數據庫中,我們會用一行的數據來保存產品信息。如果產品的售價從10美元上漲到15美元,我們直接更新StandardCost字段為15,這樣做完成了任務:現在的售價是多少?但是丟失了歷史數據,我們不知道漲價之前的價格是多少?價格上漲了多少?解決這個問題有三種基本的選擇,具體選擇哪一種要基于這個表的我們關注點和想要得到什么樣的結果,我們將這些基本的選擇簡單地命名為類型1,類型2,類型3

類型1:重寫歷史—通過使用新的產品價格來替換掉當前的產品價格,當然這樣會丟失歷史值。這個是最簡單的做法。

類型2:保留歷史—添加一行新的完整的數據,保留歷史數據行,當然這樣會有一些副作用,這樣做使得這個表更加復雜,占用空間更大。

類型3:僅保存上一次歷史—添加額外的屬性,僅保存上一次歷史值,這樣我們只能看到產品價格變化中的兩次價格。這種方法不常用。

注意:類型3不能直接實現,需要借助其他的task才能實現

和其他task不同,漸變維度轉換提供一個向導設置,通過問答的方式來設置,類似于在計算機中安裝一個新的程序時使用的安裝向導。高級設置提供更多的選擇,但是在我們完全掌握它之前***還是使用向導設置。雙擊維度轉換標簽或者右擊選擇編輯都可以打開向導。設置好之后將會產生一些更新和插入task來完成更新或插入的任務。圖2顯示的設置好之后的界面。可以看到這個task和其他的不同,它是由多個task組合而成的。

SSIS高級轉換任務之漸變維度詳解

圖2

漸變維度是一個自動化的task,概括地說漸變維度接收輸入數據和一個維度表數據,通過配置信息產生至少兩個輸出,并且這些輸出總共有6種類型,***使用OLE DB命令來完成數據庫的更新,這6種可能的輸出數據流如下:

修改屬性更新輸出:這種輸出屬于類型1。在SCD中被選中作為可變項的屬性都會和輸入數據源做比較。如果匹配主鍵的兩行屬性值有差異,輸入數據將會從這個輸出流輸出。

歷史屬性插入輸出:這種屬性屬于類型2。在SCD中被選中作為可變項的屬性都會和輸入數據源做比較。如果匹配主鍵的兩行屬性值有差異,輸入數據將會從這個輸出流輸出。

固定輸出:在SCD中被選作固定的屬性都會和輸入的數據源做比較。如果匹配主鍵的兩行屬性值有差異,輸入數據將會從這個輸出流輸出。這種輸出流適用于類型3,但是必須自己編寫sql語句。

推斷成員更新:在SCD的設置選中推斷成員的時候,將會有這個輸出流。如果需要將維度表轉到另外一個表中需要設置使用這個輸出流。這個輸出可能在后面的操作中添加到維度表中。

新輸出:這個和歷史輸出一樣都要合并到目標表中。

不變的輸出:默認沒有這個輸出。如果SCD發現輸入數據和維度表中的數據沒有差異,不會有任何操作。如果感興趣的話你可以為這個輸出建一個目標表,查看其中的數據。

說了這么一大堆,我們可以看看這些輸出到底在什么地方,如上圖2,左邊***個輸出是修改屬性更新輸出,中間那根線是新輸出,右邊那根線是歷史屬性插入輸出。

在我們這里我們拿比較熟悉的員工工資這個例子來做一個示例。每個工資周期都會有一些費用被扣掉例如,個人所得稅,保險稅,醫療保險等等。為了模擬這些過程我們可能會新建一個表PayrollDeductItem類似于圖3。PayrollEventFact參照PayrollDeductItem來更新。

SSIS高級轉換任務之漸變維度詳解

圖3

現在假設一年的時間過去了,每個人的工資情況都會有些變動。我們的任務是來更新PayrollDeductItem這個表。我們發現有些工資項減少了,有工資項增加了,如果有些工資項刪除了,則記為0。可以在啟用新的工資標準之前執行一次更新,但是如果僅僅跟新這樣會丟失工資走向信息。在這種情形下我們使用漸變緯度來解決這個問題,參照下面的步驟。

首先為了跟蹤歷史變更我們要新建一個表添加一些數據列。即使只有其中的一部分會在執行這個任務的時候用得到,還是要添加所有可能會用到的數據列。使用下面的sql語句創建一個表并添加數據:

  1. Use AdventureWorks  
  2.  
  3. GO  
  4.  
  5. CREATE TABLE [dbo].[PayrollDeductItem](  
  6.  
  7. [PayrollDeductItemID] [int] IDENTITY(1,1) NOT NULL,  
  8.  
  9. [EmployeePlanIDNbr] [varchar](50) NULL,  
  10.  
  11. [DeductionAmount] [money] NULL,  
  12.  
  13. [EmployeeID] [int] NULL,  
  14.  
  15. [PayDeductType] [char](10) NULL,  
  16.  
  17. [HistTextStatus] [char](10) NULL  
  18.  
  19. CONSTRAINT [DF_PDI_HistTxtStatus] DEFAULT ('CURRENT'),  
  20.  
  21. [HistBitStatus] [bit] NULL  
  22.  
  23. CONSTRAINT [DF_PDI_HistBitStatus] DEFAULT ('TRUE'),  
  24.  
  25. [HistStartDate] [smalldatetime] NULL,  
  26.  
  27. [HistEndDate] [smalldatetime] NULL,  
  28.  
  29. CONSTRAINT [PK_POLICY] PRIMARY KEY CLUSTERED  
  30.  
  31. (  
  32.  
  33. [PayrollDeductItemID] ASC  
  34.  
  35. ) ON [PRIMARY]  
  36.  
  37. ) ON [PRIMARY]  
  38.  
  39. GO  
  40.  
  41. INSERT INTO PAYROLLDEDUCTITEM(EmployeePlanIDNbr, DEDUCTIONAMOUNT, EMPLOYEEID,  
  42.  
  43. PAYDEDUCTTYPE, HISTSTARTDATE)  
  44.  
  45. SELECT '000000001', 200.00, 1, '401K', '01/01/2004'  
  46.  
  47. UNION  
  48.  
  49. SELECT 'ZZ0-10001', 10.00, 1, 'LIFE', '01/01/2004'  
  50.  
  51. UNION  
  52.  
  53. SELECT '000000002', 220.00, 2, '401K', '01/01/2004'  
  54.  
  55. UNION  
  56.  
  57. SELECT 'DC001-111', 10.00, 2, 'BUSPASS', '01/01/2004'  
  58.  
  59. UNION  
  60.  
  61. SELECT '000000003', 300.00, 3, '401K', '01/01/2004'  
  62.  
  63. UNION  
  64.  
  65. SELECT 'ZZ0-10003', 10.00, 3, 'LIFE', '01/01/2004'  
  66.  
  67. GO 

創建一個文本文件,使用下面的內容作為工資變更信息:

  1. EMPLOYEEID,EMPLOYEEPLANIDNBR,DEDUCTIONAMOUNT,PAYDEDUCTTYPE,ENROLLDATE,COMMENT  
  2.  
  3. 1,000000001,225,401K,'01/01/05',INCREASED 401K DEDUCTION  
  4.  
  5. 1,ZZ0-10001,15,LIFE,'01/01/05',INCREASED LIFE DEDUCTION  
  6.  
  7. 2,000000002,220,401K,'01/01/05',NO CHANGE  
  8.  
  9. 2,DC001-111,0,BUSPASS,'01/01/05',TERMINATED BUSPASS DEDUCTION  
  10.  
  11. 3,000000003,250,401K,'01/01/05',DECREASED DEDUCTION  
  12.  
  13. 3,ZZ0-10003,10,LIFE,'01/01/05',NO CHANGE  
  14.  
  15. 4,000000004,175,401K, ‘01/01/05',NEW 401K DEDUCTION 

 #p#

創建一個package,命名為SlowChangingDemension。創建一個Data Flow Task點擊進入Data Flow界面。在Data Flow界面內下面的ConnectionManageers內新建一個Flat File Connection連接上面的文本文件,選擇***行作為列名如圖4。在高級標簽內設置EmployeePlanNbr和PayDeductType兩個列的長度是10,設置EmployeeID的類型是32-bit Integer [DT_I4],設置DeductionAmount的數據類型是currency[DT_CY],如圖5。

SSIS高級轉換任務之漸變維度詳解

圖4

SSIS高級轉換任務之漸變維度詳解

圖5

使用上述連接添加一個Flat File DataSource

添加一個漸變緯度任務,將Flat File DataSource和它連接起來

查看PayrollDeductItem表的內容如圖6,你可能會奇怪為什么會有一些多余的字段例如HistTextStatus, HistBitStatus, HistStartDate, HistEndDate,在執行task的時候并不是所有的字段都用得上,我們會根據不同的設置來使用不同的列。注意這個截圖是我執行這個SCD之后的表,數據已經被修改。

SSIS高級轉換任務之漸變維度詳解

圖6

初次打開SCD的時候,設置向導會展開四個設置步驟,這些步驟如下:

維度表和維度選擇步驟:這個步驟中設置維度表的位置,輸入數據和維度表中對應字段,和使用那些字段作為主鍵以便一一對應。那些需要對應的字段將會被覆蓋或者更新,還需要設置那些字段作為主鍵字段,以便對應。雙擊打開Slow Changing Demension進入向導設置界面,點擊下一步進入Select a Dimension and Keys界面,首先選擇數據庫AdventureWorks和這個數據庫下的表PayrollDeductItem作為Dimension Table,Imcoming columns這一列中的數據一部分被作為Business key來匹配Dimension Columns中的對應列,剩下的作為更新數據源,這里EmployeePlanIDNbr,EmployeeID兩列作為Business key,剩下的兩列默認Not a key column。這里注意到必須選擇一列作為Business key才能進入下一步設置。設置好的界面如圖7

SSIS高級轉換任務之漸變維度詳解

圖7

漸變維度設置步驟:這個步驟只關心在***個步驟中未被設置為主鍵字段的的那些字段。在這個步驟中將設置按照什么樣的策略來更新這些字段。在運行的時候目標表中的數據將按照這些策略來更新。這些cerulean如下:

固定屬性:  在維度表中的值是固定的,如果輸入數據源中的數據有變動,將會報錯。

更改屬性:維度表中的數據總是被輸入數據源中的數據覆蓋掉。這是相面討論的類型2。

歷史屬性:維度表中的數據和輸入源中的數據會有不同,但是有重大意義,將會被保存起來。

如圖8

SSIS高級轉換任務之漸變維度詳解

圖8

在這個例子中,點擊下一步進入Slow Changing Dimension Clumns界面,上一個步驟中設置為默認Not a key column的兩個列將會出現在這個步驟中,在這里他們作為更新Dimension Table的兩個候選列。在Changing Type中選擇修改屬性為更新屬性的或者歷史屬性,如果選擇更新的,遇到匹配項的時候這一列的值將會被修改。如果選擇為歷史的將會評估變更,如果檢測到更新,將會根據選擇的歷史變更添加一個新的行。這里我們做一個試驗,將DeductionAmount和PayDeductType都選擇為更新的。

固定和更新屬性設置:點擊下一步會看到如圖9。在這里如果選擇了固定屬性,如果數據不同通過這個設置可以在運行時報錯。前一個步驟我們沒有選擇更新屬性,所以這里是灰色的不可用。另外一個選項設置是否覆蓋當前活動數據,或者覆蓋活動和實效的數據。

SSIS高級轉換任務之漸變維度詳解

圖9

歷史屬性設置步驟:只有在第2步驟選擇歷史屬性會有這二個設置步驟。如果設置了歷史的屬性,那就是類型2。有兩種方法來保存歷史數據。每一種都會新插入一個行。我們來看這兩個設置。

使用單獨的行來顯示當前的何過期的數據:這個選項允許在維度表中選擇一個列,這個列用來標識這一行數據是老舊的,而另一行數據是更新的。在SCD中有兩組值用來標識數據的時效性:True/False,Current/Expired。

使用開始時間和結束時間來標識更新的和老舊的數據:這個選項會使用維度表中的的兩個列來標識這一行的有效期的開始時間和結束時間。要注意的一點是要使用一個時間變量來給這些列賦值。

這里既然DeductionAmount字段為歷史的,PayrollDeductItem表中的一些看起來冗余的字段就有用了,這些字段可以標記這一行數據的不同的生效時間。選擇變更類型為歷史的時候字段HistStartDate和HistEndDate用來記錄有效時間。當使用新加列的方法時這兩個字段會變成false和Expired,新添加的一行將會是ture和Current。如圖6-23示例說明如何使用HistStartDate和HisEndDate。設置時間值選項有一些系統變量,也可以使用自定義的變量,這里我們設置為System::StartTime然后點擊下一步。

推斷成員選項設置:當你從其他表中將數據導入到維度表中,但是維度表中的數據列不全或者你想過一段時間再執行它,可以在這個步驟中設置。這里我們不設置這個選項,如圖10。

SSIS高級轉換任務之漸變維度詳解

圖10

完成向導步驟:使用這個步驟來完成整個SCD的設置,如圖11。

SSIS高級轉換任務之漸變維度詳解

圖11

在這個例子中,我們要判斷維度表中那些字段作為主鍵,在PayrollDeductItem表中我們可以判斷出[EmployeeIDNbr]字段是員工號,這個是不會改變的,另外[EmployeeID]也是不會改變的,這兩個建組合成一個主鍵可以唯一標識一行數據。[PayrollDeductItemID]字段在這里不選擇作為主鍵,因為在輸入數據源中沒有這樣的一個字段。當運行的時候這個字段不能幫助我們判斷這個行應該更新或插入到維度表中。

另外一個重要的設置是輸入數據源中有匹配的數據的時候選擇什么樣的策略來更新維度表。舉一個例子,在輸入源數據中[EmployeePlanIDNbr] = "0000000001" [EmployeeID]= "1", [PayDeductType] ="401"這一行數據中對應的DeductionAmount是225.00,而在維度表中對應的值是200.00,我們應該怎么設置呢?下面的表格給出了選擇項和對應的結果。

SSIS高級轉換任務之漸變維度詳解

圖12

按照表中提示的信息,我們雙擊打開SCD,點擊下一步轉到選擇主鍵選擇設置。***必須新建一個OLE DB數據源,并從數據源中選擇維度表PayrollDeductItem。所有作為主鍵的字段和作為更新的字段都砸這里選擇設置。默認的設置是“Not a key column”。在這里[EmployeePlanIDNbr]和[EmployeeID]選為business key。注意這里至少要選擇一個列作為主鍵,否則不能點擊下一步。***的設置效果如圖7。

#p#

下一個步驟將設置那些沒有被選擇作為主鍵的字段,這些字段將作為更新和覆蓋的候選字段。每個字段需要設置更新屬性或者歷史屬性。如果選擇更新屬性,維度表中的值將被直接更新。如果選擇歷史屬性,列將會評估更新。當發現有任何變動,根據設置一個新的行將被寫入。這里我們如果把[DeductionAmount]設置為歷史屬性,[PayDeductType]字段都設置為更新屬性。

既然選擇了一個字段作為歷史屬性,在后面的設置中將會出現歷史屬性向導設置。如果DeductionAmount發生了變動,我們可以選擇兩種方式來保存歷史數據。現在PayRollDeductionItem表中的那些額外的字段就開始起作用了。這些字段不是必須的,但是這里我們為了做一些練習把他們加在維度表中。在設置歷史屬性時會用到HistStartDate和HistEndDate這兩個字段,在設置單獨列保存的時候,HistBitStatus 和HistTextStatus字段會被用到,它將把已經過時的字段標識為false或者expired,新的數據行將會被標識為true和current。這里要注意,如果我們選擇Column to indicate current record屬性值為HistBitStatus的時候因為它是bit類型的,那么Value when current和Expiration value將會被默認的設置為True和False如圖13。如果我們選擇Column to indicate current record屬性值為HistTextStatus的時候,那么Value when current和Expiration value應該相應的設置為True和False如圖14

SSIS高級轉換任務之漸變維度詳解

圖13

SSIS高級轉換任務之漸變維度詳解

圖14

下一個步驟是推斷成員選項設置。在這例子中,在維度表中沒有一個新的工資扣除項,所以不需要設置推斷選項。如果在輸入源數據中有一個新的扣除選項需要添加的話設置這個選項可以為維度表添加一個占位符。如圖10,如果設置了推斷成員,必須選擇將歷史屬性或者變更屬性字段設置為null或者使用一個bool列來表示數據是推斷成員。

點擊下一步如圖11,在這個步驟中預覽SCD有哪些輸出項,可以在使用這些輸出項定制自己的task,但是一旦這樣整個SCD將會被重新配置,把以前的設置打亂,頁不能使用這個向導。

完成整個設置向導之后如圖2,整個SCD共有三個輸出,最左邊的是Changing Attribute Updates Output,這個輸出使用OLE DB Command來更新維度表中的數據,如圖15。我們可以看到有一個SQL語句來更新[PayDeductType]字段。中間的輸出時New Output,這里將處理那些新出現的行,最終它將和右邊的歷史屬性輸出合并起來,并輸入到維度表中。最右邊的輸出的作用是當識別出有更新數據的時候要更新[HistEndDate]這個列,如圖16。

SSIS高級轉換任務之漸變維度詳解

圖15

SSIS高級轉換任務之漸變維度詳解

圖16

***我們來看看運行后的效果。

SSIS高級轉換任務之漸變維度詳解

圖17

SSIS高級轉換任務之漸變維度詳解

圖18

在圖18中我們可以發現第1,3,4,5行現在是老舊的無效的數據,他們的[HistEndDate]字段都被設置成當前時間,對應的新的有效地的數據分別是第8,11,10,9行。第2,6行雖然有匹配的主鍵,但是輸入數據源中和維度表中的DeductionAmount值是一樣的,所以沒有更新,但是他們的[HistStartDate]被重新設置成當前時間。

在實際的生產環境中如果要使用SCD,建議認真檢查輸入數據源,看里面是否有臟數據。使用SCD來講OLTP中的數據更新到數據倉庫中的時候會很省力。如果想這個例子這樣,可以檢查***輸出中的OLE DB命令,但是總的來說SCD已經為我們做了大部分的工作。

關于漸變維度的知識就介紹到這里,謝謝!

【編輯推薦】

  1. 誤刪SQL Server日志文件后怎樣附加數據庫
  2. 利用mysql的audit審計功能記錄用戶操作信息
  3. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建
  4. 在SQL SERVER 2005執行存儲過程的權限分配問題
  5. T-SQL行列相互轉換命令:PIVOT和UNPIVOT使用詳解

 

責任編輯:趙鵬 來源: 博客園
相關推薦

2012-09-20 09:43:37

SSIS

2011-04-14 14:43:38

SSISTransformat

2021-09-12 07:30:10

配置

2011-04-19 09:18:02

SSIS數據轉換

2011-04-27 16:09:48

SQL ServerSSIS

2019-07-12 08:49:04

MySQ數據庫Redis

2011-03-02 13:23:42

Vsftpd配置

2015-08-27 14:50:40

BISSIS

2015-08-27 14:56:36

SSIS部署項目部署包部署

2011-08-02 09:46:04

iOS開發 XML

2011-08-02 10:08:32

IOS開發 XML

2014-04-04 10:53:04

2015-09-07 09:18:43

企業安全安全維度網絡安全

2024-03-14 09:07:05

刷數任務維度后端

2013-05-21 13:55:51

Android游戲開發圖像漸變特效

2023-01-03 10:38:04

函數計算技術

2009-07-06 15:03:53

JSP向Servlet

2011-06-16 16:20:32

JavaScript分解任務

2011-03-28 09:23:31

Visual Stud

2009-04-16 17:06:50

SSIS集成開發平臺BI
點贊
收藏

51CTO技術棧公眾號

少妇高潮流白浆| 国产啪精品视频网站| 伊人网综合视频| 欧美xxx网站| 国产精品欧美一区喷水| 亚洲字幕在线观看| 国产精品va无码一区二区三区| 国产亚洲一区| 日韩欧美一区视频| 亚洲欧洲三级| 亚洲欧美激情国产综合久久久| 狠狠干综合网| 伊人久久五月天| 欧美激情一区二区三区p站| 粉嫩一区二区三区| 亚洲午夜一区二区三区| 午夜精品一区二区三区四区 | 成人精品视频在线| 亚欧视频在线观看| 这里只有精品在线| 亚洲天堂影视av| 欧美激情 亚洲| 成人豆花视频| 欧美亚洲尤物久久| 好吊妞无缓冲视频观看| 黄色在线免费看| 91首页免费视频| 147欧美人体大胆444| 国产情侣呻吟对白高潮| 亚洲日本激情| 久久91超碰青草是什么| 青青草华人在线视频| 亚洲综合图色| 亚洲第一天堂av| 亚洲成a人片在线www| 亚洲一区二区小说| 欧美视频一区二区三区在线观看| 一区二区传媒有限公司| 七七成人影院| 亚洲精品成人天堂一二三| 西游记1978| 北岛玲一区二区三区| 99国产精品久久久久久久久久久 | 日本成人中文字幕在线| 欧产日产国产精品视频| 亚洲国产精品自拍| 精品免费久久久久久久| 2021国产在线| 亚洲精选视频在线| 99中文字幕在线观看| 国产在线观看av| 亚洲色图在线视频| avove在线观看| av片在线观看| 亚洲影视在线观看| 日韩中文字幕在线免费| av不卡高清| 精品久久久久久电影| 黄色一级在线视频| 日本蜜桃在线观看视频| 欧美日韩亚洲高清| 已婚少妇美妙人妻系列| 精品三区视频| 欧美三区在线视频| 亚洲精品免费一区亚洲精品免费精品一区| 激情亚洲小说| 91精品国产综合久久久久久| 在线播放黄色av| 亚洲综合网站| 亚洲精品美女久久| 亚洲成人黄色av| 久久高清精品| 欧美激情久久久久| 日韩高清免费av| 久久久久久夜| 国产精品久久久| av综合在线观看| 不卡一区在线观看| 欧美日本国产精品| 美女写真理伦片在线看| 亚洲一区二区三区爽爽爽爽爽 | 高h视频免费观看| 亚洲韩日在线| 国产精品欧美一区二区三区奶水 | 成人软件在线观看| 欧美日韩中文一区| 秋霞午夜鲁丝一区二区| 香蕉精品久久| 久久视频在线观看免费| 91看片在线播放| 琪琪一区二区三区| 国产精品久久久久久久久婷婷| 免费在线观看一级毛片| 亚洲欧美自拍偷拍色图| av之家在线观看| 国产精品久久久久久久久免费高清| 欧美日韩一本到| 极品白嫩少妇无套内谢| 一区二区三区韩国免费中文网站| 最近免费中文字幕视频2019| 国产一级久久久| 人人精品人人爱| 国产亚洲欧美另类一区二区三区| 狠狠狠综合7777久夜色撩人| 亚洲精品国产视频| 亚洲性生活网站| 97人人澡人人爽91综合色| 国产一区二区三区在线| 久一视频在线观看| 久久精品国产亚洲一区二区三区| 国产伦精品一区二区三区在线 | 99久久精品日本一区二区免费| 99麻豆久久久国产精品免费优播| 一区二区三区四区不卡| 在线最新版中文在线| 日韩精品影音先锋| 亚洲欧美卡通动漫| 久久伊人亚洲| 精品不卡在线| 免费看电影在线| 欧美三级中文字| 美女100%无挡| 99精品免费| 超碰在线观看97| 国产乱色在线观看| 欧美日韩在线播放三区四区| 丰满圆润老女人hd| 一本色道精品久久一区二区三区| 亚洲一区二区三区香蕉| 日本欧美在线视频免费观看| 在线日韩国产精品| 精品人妻互换一区二区三区| 9国产精品视频| 国产精品12| 天堂av中文在线| 91麻豆精品国产自产在线观看一区| 久久精品—区二区三区舞蹈| 午夜在线a亚洲v天堂网2018| 国产专区一区二区| 国产蜜臀av在线播放| 欧美一级xxx| 国产精品 欧美激情| 韩国av一区二区三区四区| 亚洲制服欧美久久| 欧美天堂一区二区| 日韩专区中文字幕| 国产精品视频一二区| 中文字幕在线不卡| 黄色aaaaaa| 午夜久久久久| 高清日韩一区| 草美女在线观看| 亚洲国产精品电影在线观看| 日本熟妇毛茸茸丰满| 成人丝袜18视频在线观看| 中国丰满熟妇xxxx性| 国产精品videossex| 午夜精品久久久久久久久久久久久| 蜜臀av在线观看| 婷婷久久综合九色综合绿巨人 | 国产精品久久久久一区二区三区 | 欧美久久精品午夜青青大伊人| 国产美女无遮挡永久免费| 亚洲乱码中文字幕| 成人在线电影网站| 六月婷婷一区| 亚洲日本欧美在线| 免费看日产一区二区三区 | 免费观看黄色大片| 999久久久精品一区二区| 久久久免费在线观看| 视频三区在线观看| 色老汉一区二区三区| 日本免费网站视频| 国产精品一区二区三区四区| 六月婷婷在线视频| 欧美日韩国产免费观看视频| 成人免费观看a| av电影在线地址| 一区二区三区无码高清视频| 国产情侣av在线| 午夜天堂影视香蕉久久| 人妻少妇一区二区| 韩国v欧美v亚洲v日本v| 日韩激情免费视频| 99久久久久国产精品| 国产三区二区一区久久| 成人国产精品| 欧美激情视频一区二区三区不卡 | 久久av.com| 五月天丁香视频| 欧美卡1卡2卡| 日韩三级视频在线播放| 中文字幕在线视频一区| 成人免费毛片日本片视频| 免费观看在线综合| av免费观看国产| 性xxxx欧美老肥妇牲乱| 久久一区二区精品| 精品一区视频| 国产精品色悠悠| 韩国精品一区| 久久亚洲综合国产精品99麻豆精品福利| 午夜视频在线播放| 日韩一区二区视频| 最近中文字幕免费观看| 亚洲成精国产精品女| 成年人免费视频播放| 91美女片黄在线观看91美女| 手机在线观看日韩av| 男女男精品视频| 欧美日韩性生活片| 欧美日韩日本国产亚洲在线| 性欧美精品一区二区三区在线播放 | 欧美jjzz| 夜夜春亚洲嫩草影视日日摸夜夜添夜 | 99国产精品久久久久久久| 99精品视频网站| 狠狠色丁香婷婷综合影院| 国产精品亚洲一区| 精品国产一区二| 国产色视频一区| 免费日韩电影| 奇米4444一区二区三区| heyzo在线| 欧美激情一区二区三区在线视频观看 | 96sao精品免费视频观看| 国产精品久久久久久久午夜| 秋霞伦理一区| 91av成人在线| 国产美女高潮在线观看| 欧美激情精品久久久久久免费印度| а√天堂在线官网| 另类视频在线观看| 国产精品刘玥久久一区| 最近2019中文免费高清视频观看www99| 日本福利片高清在线观看| 亚洲国产精品人久久电影| 成人久久精品人妻一区二区三区| 91精品国产色综合久久不卡电影| 一本色道久久综合无码人妻| 欧美性大战久久久久久久蜜臀| 91视频在线视频| 欧美在线你懂得| 中文字幕一区二区三区人妻四季| 欧美性淫爽ww久久久久无| 日韩精品在线一区二区三区| 91豆麻精品91久久久久久| 毛片在线免费播放| 欧美日韩一二三| 国产欧美综合视频| 欧美大黄免费观看| 色婷婷激情五月| 国产视频久久网| 岛国大片在线观看| 中文字幕视频一区二区在线有码| av男人的天堂在线| 久久久av电影| 日本三级在线观看网站| 午夜精品一区二区三区av| 国产精品yjizz视频网| 欧洲亚洲免费在线| 香蕉成人av| 成人夜晚看av| av动漫精品一区二区| 国产一区二区三区四区hd| 日韩高清一级| 亚洲春色在线视频| 自拍偷拍欧美专区| 1024av视频| 免费高清在线视频一区·| 福利片一区二区三区| 国产成人啪午夜精品网站男同| 国产高清成人久久| 国产欧美综合色| 唐朝av高清盛宴| 黄色一区二区在线观看| 久久精品国产亚洲av麻豆蜜芽| 51精品秘密在线观看| 人妻偷人精品一区二区三区| 亚洲欧美999| 18+激情视频在线| 8090成年在线看片午夜| 欧美综合社区国产| 国产欧美亚洲日本| 欧美艳星介绍134位艳星| 精品国产三级a∨在线| 99伊人成综合| 久久6免费视频| 91亚洲午夜精品久久久久久| 天天舔天天操天天干| 亚洲一区二区高清| 中文字幕av在线免费观看| 精品国内二区三区| 在线观看国产原创自拍视频| 久久免费视频网| 精品女同一区二区三区在线观看| 国产精品裸体一区二区三区| 青青草91久久久久久久久| www.xxx麻豆| 美女国产一区二区| 菠萝菠萝蜜网站| 亚洲免费三区一区二区| 国产乱码77777777| 亚洲国产精品嫩草影院久久| 黄色av网站在线播放| 日韩免费在线观看视频| 大奶一区二区三区| 国产福利片一区二区| 久久一区中文字幕| 国产精品久久无码| 亚洲自拍偷拍麻豆| 国产一区二区在线不卡| 亚洲欧美中文日韩在线| 麻豆蜜桃在线| 国产在线观看91精品一区| 国产成人黄色| 黄色免费观看视频网站| 岛国精品在线播放| 成年人av电影| 欧美欧美午夜aⅴ在线观看| 青青草观看免费视频在线| 久久久人成影片一区二区三区观看 | 欧美一区二区三区影院| 中文字幕中文字幕一区二区| 色老头在线视频| 国产丝袜一区视频在线观看| heyzo在线欧美播放| 大波视频国产精品久久| 一精品久久久| 国产精品久久久久久久av福利| 欧美韩国日本综合| 成人午夜精品视频| 亚洲毛片在线免费观看| 自拍网站在线观看| 精品乱子伦一区二区三区| 伊人久久婷婷| 亚洲无人区码一码二码三码| 亚洲宅男天堂在线观看无病毒| 国产一区二区三区三州| 日韩视频免费在线观看| 欧美视频免费看| 日本一级淫片演员| 国产一区二三区| 在线观看成人毛片| 精品成人免费观看| av影视在线| 久久伊人资源站| 天堂在线一区二区| 国产激情av在线| 欧美日韩免费观看一区三区| 午夜免费视频在线国产| 国产精品私拍pans大尺度在线| 日韩精品四区| 国产xxxxhd| 亚洲国产精品精华液网站 | 日韩一区二区三区xxxx| 日韩有码欧美| www国产无套内射com| 成人高清在线视频| 色一情一乱一伦| 深夜福利国产精品| 国产一区二区三区亚洲综合| 青青青青在线视频| 91丝袜国产在线播放| 亚洲无码精品一区二区三区| 中文字幕久热精品视频在线| 中文成人在线| 欧美一级片免费播放| 久久久午夜电影| 国产精品久久久久久无人区| 欧美韩国理论所午夜片917电影| 欧美wwwwww| 久久撸在线视频| 亚洲一级电影视频| 国产三级视频在线看| 95av在线视频| 男人的天堂亚洲| 性生交大片免费全黄| 亚洲第一福利网站| 欧美日一区二区三区| 国产a级黄色大片| 久久久777精品电影网影网| 国产又粗又黄又爽| 5252色成人免费视频| 欧美r级电影| 国产亚洲无码精品| 67194成人在线观看| 中国字幕a在线看韩国电影| 影音欧美亚洲| 99久精品国产| a天堂在线视频| 国产成人精品网站| 黄色在线成人| 日韩av片在线免费观看| 亚洲变态欧美另类捆绑| 久久av影院| 青青在线视频观看| 亚洲最大的成人av| 麻豆视频免费在线观看|