精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

色偷偷成人一区二区三区91| 国产一区二区精品久久91| 日韩精品日韩在线观看| 国产精品拍拍拍| 毛片av在线| 成人在线视频一区二区| 青青久久aⅴ北条麻妃| 国产精品久久久久久成人| 国产亚洲亚洲国产一二区| 午夜精品久久久久| 视频在线99| 丰满肉肉bbwwbbww| 毛片av中文字幕一区二区| 色中色综合影院手机版在线观看| 无遮挡aaaaa大片免费看| 99视频这里有精品| 日韩欧美视频一区二区三区| 国产高清精品软男同| 色综合久久久久久| 国内精品久久久久影院色| 91国在线精品国内播放 | 成人在线观看免费播放| 一区二区三区久久| 亚洲一卡二卡| 日韩电影免费| 岛国一区二区在线观看| 成人在线中文字幕| 中文字幕免费观看| 影院欧美亚洲| 久久在线免费视频| xxxx日本黄色| 欧美jizz19性欧美| 日韩欧美一区二区视频| 亚洲精品手机在线观看| jk漫画禁漫成人入口| 一区二区三区中文字幕精品精品| 亚洲精品乱码视频| 美女欧美视频在线观看免费| 福利电影一区二区| 91在线网站视频| 97国产精品久久久| 奇米777欧美一区二区| 韩国精品美女www爽爽爽视频| 午夜剧场免费在线观看| 亚洲婷婷丁香| 亚洲欧美另类人妖| 香蕉视频免费网站| 日韩一二三区| 欧美一级二级三级蜜桃| 午夜视频在线网站| 成人国产精品久久| 欧美日韩国产综合一区二区三区| 欧美精品aaaa| 日韩av一级| 欧美在线短视频| 91视频免费版污| 日韩精选视频| 欧美中文字幕一区| 欧美黄色性生活| 日本肉肉一区| 欧美日韩国产a| 成人日韩在线视频| 欧美第一在线视频| 日韩视频免费观看高清完整版| 欧美性猛交xx| 97青娱国产盛宴精品视频| 日韩精品一区国产麻豆| 99久久久无码国产精品性波多| 99a精品视频在线观看| 精品国产三级电影在线观看| 黄色在线免费播放| 日韩欧美在线精品| 亚洲欧美国产一本综合首页| 在线观看免费黄色网址| 欧美xxxx中国| 久久69精品久久久久久久电影好| 青青草手机在线视频| 91久久亚洲| 日本午夜人人精品| 97人人爽人人爽人人爽| 国产精品2024| 久久精品magnetxturnbtih| 黄上黄在线观看| 国产精品毛片久久久久久久| 男人天堂成人网| 日韩激情av| 福利视频一区二区| 人人干人人干人人| 视频亚洲一区二区| 日韩成人在线视频网站| 日本人亚洲人jjzzjjz| 婷婷综合在线| 97在线视频精品| 懂色av中文字幕| 国产suv一区二区三区88区| 久久久久久久久一区二区| 777电影在线观看| 一二三区精品视频| 国产xxxxx视频| 亚洲一区二区三区四区电影| 亚洲毛茸茸少妇高潮呻吟| 四虎影视一区二区| 一区二区三区四区五区精品视频 | 高清不卡一区二区在线| 日韩福利二区| eeuss鲁一区二区三区| 欧美午夜精品久久久久久超碰| 九色91porny| 国产精品一国产精品| 欧美黄色三级网站| 91精品国产乱码久久| 成人精品免费看| 中文字幕久精品免| 午夜伦理福利在线| 欧美一级日韩一级| 国产又粗又黄又猛| 国产精品亚洲欧美| 99精品国产一区二区| 国产二区视频在线观看| 午夜精品福利一区二区三区av| 奇米影视四色在线| 中国av一区| 性欧美xxxx交| 精品国精品国产自在久不卡| 国产嫩草影院久久久久| 久久久999视频| 91精品入口| 久热精品在线视频| 在线播放亚洲精品| 国产欧美一区二区在线| www国产精品内射老熟女| 国产亚洲久久| 久久久精品久久久久| 中文字幕人妻丝袜乱一区三区| 99re视频这里只有精品| 日韩视频在线视频| 日韩中文一区二区| 久久av在线播放| 亚洲视频一区在线播放| 久久精品免视看| 日韩网址在线观看| 色哟哟精品丝袜一区二区| 欧美大片在线看| 精品久久人妻av中文字幕| 亚洲欧美综合网| 黄色三级视频在线播放| 色婷婷一区二区三区| 国产精品男女猛烈高潮激情| 国产剧情在线观看| 在线观看欧美精品| 国精品无码人妻一区二区三区| 中国女人久久久| 国产综合动作在线观看| a天堂资源在线| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 中日韩精品视频在线观看| 大陆成人av片| 欧美a v在线播放| 偷拍视屏一区| 国产成人自拍视频在线观看| 欧洲成人av| 欧美在线观看一区二区| 一本在线免费视频| 久久成人av少妇免费| 黄色高清视频网站| 日韩精品成人在线观看| 欧美大片在线看| 完全免费av在线播放| 国产日韩换脸av一区在线观看| 日本高清在线观看wwwww色| 欧美精品乱码久久久久久| 色婷婷在线视频观看| 成人丝袜18视频在线观看| 日本韩国欧美在线观看| 九九热线有精品视频99| 国产精品一区av| 伊人春色在线观看| 日韩精品久久久久 | 欧美日韩国产综合一区二区| 91狠狠综合久久久| 成人动漫中文字幕| 免费看a级黄色片| 亚洲精品888| 精品综合久久久| 久久久免费人体| 久久久久一本一区二区青青蜜月| 香蕉视频成人在线| 欧美三级中文字| 久久精品视频6| 中文一区二区在线观看| aaaaaaaa毛片| 羞羞视频在线观看欧美| 亚洲天堂av免费在线观看| 91成人午夜| 国产精品入口夜色视频大尺度| 99在线播放| 亚洲天堂av网| 亚洲av无码国产综合专区| 欧美日韩一区免费| 中文字幕av免费在线观看| 26uuu精品一区二区| aaa一级黄色片| 免费亚洲视频| 人妻无码一区二区三区四区| 精品黄色一级片| 国产精品自拍首页| 24小时成人在线视频| 欧美一区三区三区高中清蜜桃| 男人天堂久久久| 日韩精品在线观看一区| 国产精品视频a| 在线观看日韩国产| 国偷自拍第113页| 一区二区三区日韩精品| 免费91在线观看| 久久久久久亚洲综合影院红桃| 俄罗斯女人裸体性做爰| 久久精品国产秦先生| 18禁男女爽爽爽午夜网站免费 | 俺去了亚洲欧美日韩| 午夜在线视频免费| 精品乱码亚洲一区二区不卡| 7777久久亚洲中文字幕| 91精品福利在线| 丁香六月婷婷综合| 亚洲成人激情av| 精品99在线观看| 亚洲欧美福利一区二区| 成人国产精品久久久网站| 91免费版在线看| 亚洲精品国产成人av在线| 国产精品综合网| 亚洲妇熟xx妇色黄蜜桃| 日本v片在线高清不卡在线观看| 精品国产一区三区| 亚洲精品在线二区| 福利视频一二区| 一区视频在线看| 99久久99久久精品| 欧美一区高清| 免费在线精品视频| 999成人精品视频线3| 亚洲午夜精品一区二区 | 国产a级黄色大片| 欧美私人啪啪vps| 青青草影院在线观看| 亚洲男女av一区二区| 26uuu成人| 欧美一区二区三区另类| 欧美日韩dvd| 激情综合自拍| 秋霞无码一区二区| 国产欧美一区二区色老头 | 久久中文欧美| 日本久久精品一区二区| 三级在线观看一区二区| 成人性视频欧美一区二区三区| 日韩精彩视频在线观看| 久久综合九色综合88i| 亚洲一区激情| 亚洲色图38p| 久久精品国产999大香线蕉| 亚洲黄色片免费| 国产福利一区二区三区视频 | www.久久东京| 国产伦精品一区二区三区照片91| 99久久免费精品国产72精品九九| 国产精品av一区| 亚欧洲精品视频在线观看| 免费日韩电影在线观看| 欧美日韩伦理| 成人性做爰片免费视频| 永久91嫩草亚洲精品人人| 日本a在线天堂| 亚洲资源av| 天堂一区在线观看| 国产91色综合久久免费分享| 国产精品无码永久免费不卡| 欧美国产精品久久| 激情视频在线播放| 色综合网色综合| 99免费在线视频| 亚洲精品99久久久久| 岛国在线视频| 欧美国产亚洲视频| 中文字幕高清在线播放| 成人国产精品久久久久久亚洲| 色悠久久久久综合先锋影音下载| 欧美二区在线| 亚洲国产一成人久久精品| 无码精品a∨在线观看中文| 久久国产剧场电影| 国产人妻黑人一区二区三区| 中文字幕av资源一区| 国产一级黄色av| 在线日韩av片| 高h震动喷水双性1v1| 自拍视频国产精品| 春色校园综合激情亚洲| 国产欧美日韩视频| 日韩欧美美女在线观看| 亚洲免费视频播放| 性伦欧美刺激片在线观看| 国产欧美精品一二三| 91麻豆精品在线观看| 欧美在线视频第一页| 色婷婷综合五月| www.五月婷婷| 最新69国产成人精品视频免费| hd国产人妖ts另类视频| 成人精品在线视频| 国产欧美日韩视频在线| 男人天堂a在线| 国产在线播精品第三| 性欧美一区二区| 精品久久久精品| 亚洲男人天堂久久| 久久精品免费播放| 日本精品在线中文字幕| 久久久久久亚洲精品不卡4k岛国 | 欧美成人xxxxx| 国产高清不卡一区| 精品人妻伦九区久久aaa片| 91福利国产成人精品照片| 欧美自拍第一页| 欧美区在线播放| 91精品麻豆| 亚洲蜜桃av| 日韩高清不卡在线| 国产精品jizz| 精品久久在线播放| 亚洲国产综合网| 久久综合伊人77777蜜臀| 色综合视频一区二区三区44| 日本婷婷久久久久久久久一区二区 | 成人午夜看片网址| 欧美三级在线免费观看| 欧美精品三级在线观看| 永久免费av在线| 国产精品视频在线观看| 欧美精美视频| 久久久久免费精品| 久久久亚洲高清| 色老头在线视频| 国产午夜精品一区理论片飘花| 男人久久天堂| 九色91视频| 国产一区二区精品| 日本丰满少妇裸体自慰| 午夜精品久久久久久久久久 | 原创国产精品91| 国内欧美日韩| 亚洲一区三区电影在线观看| 老汉av免费一区二区三区| 精品人妻中文无码av在线| 欧美影视一区在线| 日本欧美在线视频免费观看| 成人欧美一区二区三区在线湿哒哒| 久久国产亚洲| 图片区乱熟图片区亚洲| 一区二区不卡在线视频 午夜欧美不卡在| a级片免费观看| 欧美激情在线观看视频| 日本成人7777| 亚洲成人av免费看| 中文字幕一区二区三区不卡在线| 一区二区三区午夜| 欧美日产国产成人免费图片| 超碰地址久久| 久久精品99国产| 国产精品狼人久久影院观看方式| 国产理论片在线观看| 九九热r在线视频精品| jazzjazz国产精品麻豆| 日本黄色三级大片| 中文字幕一区二区三区不卡| 亚洲国产www| 欧美性做爰毛片| 久久国产小视频| 中文字幕18页| 色狠狠综合天天综合综合| 国内外激情在线| 精品午夜一区二区| 美腿丝袜亚洲三区| 久久久久亚洲天堂| 亚洲美女av在线| 在线日韩三级| 国产精品一区二区免费在线观看| 国产欧美日韩视频在线观看| 国产绳艺sm调教室论坛| 91高清在线免费观看| 欧美freesextv| 国产激情视频网站| 精品污污网站免费看| 波多野结衣在线观看| 亚洲v日韩v欧美v综合| 成人蜜臀av电影| 影音先锋国产资源| 午夜精品福利在线观看| 久久人人88|