天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

令我難忘的DB2數(shù)據(jù)庫之路

  IBM的DB2是關(guān)系數(shù)據(jù)庫的鼻祖,可惜非科班出身的我一直沒有機會接觸。在數(shù)據(jù)庫應(yīng)用領(lǐng)域摸爬滾打數(shù)年后,缺乏理論指導(dǎo)讓我吃盡了苦頭。終于在機緣巧合下學(xué)到了DB2的關(guān)系模型理論,關(guān)系模型改變了我的程序人生,并在我從事的項目中留下了深深的烙印。

  1. DB2的神秘王國

  印象中,DB2一直和IBM的大型主機聯(lián)系在一起,而大型主機對于我來說,就像小學(xué)生眼里的科學(xué)家,是權(quán)威和智慧的化身,代表著崇高而遠大的理想。我在大學(xué)學(xué)的是通信專業(yè),不過畢業(yè)后沒有為中國通信事業(yè)作出過什么貢獻,倒是沉迷于計算機和編程語言,憑著一本C語言教程和DOS 6.22系統(tǒng)調(diào)用手冊,整天混跡于程序員之列,當(dāng)了個濫竽充數(shù)的南郭處士。好在,我的運氣比南郭處士好一些,宣王死,閔王立,好一一聽之,南郭先生落了個處士逃的下場,而我在經(jīng)歷了幾番煎炒烹炸之后,居然可以靠寫程序維持生計了。

  作為一個半路出家的二流程序員,除了DOS,我沒有用過別的操作系統(tǒng)。就像微軟董事會主席比爾·蓋茨先生說過640K內(nèi)存對任何人來說都足夠用了的話那樣,我也認(rèn)為DOS 6.22可以勝任任何應(yīng)用領(lǐng)域的需求,能計算,能顯示,能打印,能存盤,如果必要,還可以常駐內(nèi)存,甚至通過串口通信,還有什么應(yīng)用需求得不到滿足呢?我非常自信,只要給我時間,我可以用C和DOS描繪整個世界!

  當(dāng)然,這樣的自信沒有維持多久,就被DOS之外還有Unix以及PC之外還有大型主機的事實擊得粉碎。IBM的AS400是我最先知道的小型機,那時我正思量著跳槽,招聘廣告上屢屢出現(xiàn)的熟悉IBM AS400的要求,讓我隱隱覺得自己好像少了點什么,請教了幾位高人后,終于知道,原來PC和AS400相比,是小巫見大巫最貼切的注解。從那時開始,我的囂張氣焰收斂了不少,明白了自己和真正程序員的距離,而當(dāng)后來又知道AS400之上還有S/370、S/390這樣的大型主機時,我終于開始夾著尾巴做人了。

  我非常想學(xué)點大型主機的知識,可惜,沒有這樣的機會,即使有,估計人家也不敢讓我動大型主機的鍵盤。IBM的大型主機就這樣,一直保持著它的神秘性,直到今天,我依然只能從圖片上,一睹它的芳顏。

  和IBM大型主機一樣神秘的,還有IBM的DB2數(shù)據(jù)庫。這不奇怪,DB2一直伴隨著大型主機而存在,雖然出過Windows版本的,但它在我眼里,還是過于高貴,除了景仰之外,不敢有其他非分之想。DB2的應(yīng)用領(lǐng)域常在金融行業(yè),而金融行業(yè)歷來有世襲的習(xí)慣,外來者即使是一流大學(xué)計算機專業(yè)的,也輕易不能進入,何況我這樣沒權(quán)沒勢兼且非科班出身的二流大學(xué)的畢業(yè)生。所以,我的數(shù)據(jù)庫經(jīng)驗中,只有dBase、FoxBase、FoxPro,Oracle,Sybase,沒有DB2的任何痕跡。

  2. 我最初的數(shù)據(jù)庫經(jīng)歷

  dBase是我接觸的第一個數(shù)據(jù)庫管理系統(tǒng),具體版本好像是dBase III吧。忘了是大幾了,只記得大家手持散發(fā)著油墨香味的操作手冊,在從計算機系借來的機房里面,一字排開,老師在上面聲嘶力竭地吼著操作指令,下面的我們緊張地按著鍵盤,兩根中指(也有單手的,只用一根)在鍵盤上走走停停,臉色因為興奮和機房的溫度而泛著潮紅,雙眼在鍵盤和屏幕上來回移動,單色顯示器發(fā)出的熒光,從眼球或者鏡片上反射出來,使我們看上去像一群兩眼發(fā)綠的餓狼,如饑似渴地撕咬著尖端科技的獵物。

  我有沒有在具體項目上運用過Dbase III,已經(jīng)無從考證了,即使用過,我相信也不超過一個項目,因為我參加工作不過半年,就開始移情別戀到FoxBase了。那是一個數(shù)據(jù)庫應(yīng)用項目,我以兼職程序員的身份,被我的學(xué)長雇傭,在工作日的晚上和周六周日全天,騎50分鐘單車,趕到他只有一間房子的公司里打第二份工,全然不顧我還是某保密的軍品研發(fā)項目的成員,為著幾個銅錢,不惜耽誤國防科技事業(yè)的進步。

  FoxBase讓我領(lǐng)略了數(shù)據(jù)庫的魅力,我用FoxBase開發(fā)的程序不下20個,大到工資和人事管理系統(tǒng),小到資產(chǎn)負(fù)債表的匯總打印。Windows 3.1開始流行后,F(xiàn)oxPro成為主流的數(shù)據(jù)庫,界面改變了,不過核心是一樣的。那段時間,我有非常優(yōu)越的學(xué)習(xí)環(huán)境,一個人獨占一間電腦室,比董事長的還大,里面設(shè)備齊全,電腦網(wǎng)絡(luò)、打印機、UPS電源、空調(diào)、防靜電地板等等,要什么有什么,最匪夷所思的是,居然還有帶浴缸的獨立衛(wèi)生間,如果再加上一張床,就是五星級賓館了。

  這些其實都是電腦的待遇,我只不過沾了電腦的光罷了。動輒數(shù)萬的電腦,那時是單位里除總經(jīng)理之外,最嬌貴的物品,而作為程序員的我,被幾十歲的資深老會計稱呼為某工,自尊心也受到了前所未有的滿足。

  有一臺386的機器,配置相當(dāng)高,20M硬盤,1M內(nèi)存,是我的至愛。當(dāng)舊程序不出問題,又沒有新程序要開發(fā)時,我的全部時光,就消耗在這臺電腦上了。拿出我珍藏的3M軟盤,里面有Windows 3.1的安裝程序,總共好像包括12片軟盤吧。每次安裝Windows我都鄭重其事,將安裝盤放在右手邊,按順序排好,用過后的放到左手邊,一絲不茍,如果條件允許,我都想沐浴更衣后,焚上一拄香,才行安裝之事。

  那時的數(shù)據(jù)庫管理系統(tǒng)都很小,我那20M的硬盤,除了容納Windows 3.1以外,還有足夠的空間讓我安裝FOXBASE。我整天整夜地呆在電腦室里,徜徉于數(shù)據(jù)庫的廣闊天地,以至于經(jīng)理都被我感動了,在部門例會上三番五次表揚我的敬業(yè)精神,并且不忘在下班前和藹地叮囑我早點休息,完全不知道我除了編程序外,其實還順便享受了免費的空調(diào)。

  3. 數(shù)據(jù)一致性的慘痛教訓(xùn)

  我開發(fā)的程序絕大多數(shù)是基于數(shù)據(jù)庫的,由于開發(fā)和維護都是我一手把持,所以,如何讓自己變得輕松一點,成了我絞盡腦汁嘗試各種數(shù)據(jù)庫設(shè)計方案的動力所在。不是我有自虐的嗜好,實在是忍受不了程序設(shè)計問題導(dǎo)致的數(shù)據(jù)不一致所帶來的打擊。寫過數(shù)據(jù)庫程序的人都知道,沒有比數(shù)據(jù)不一致更讓人痛苦的事了。

  這張表顯示張三某天請假被扣了全勤獎,可那張表上卻死活找不到請假記錄,找來簽到本一核對,張三其實真的沒有請假,新來的錄入員小姑娘,錄入了一條張三請假的錯誤記錄,然后又自行刪除了,可是電腦不愿意將扣掉的全勤獎補回來。我不思改程序,反出一條例,稱此類異常操作應(yīng)立即知會電腦部,不得擅做主張云云。

  上個星期所有人都多上了一天班,最多的是李四,連加班在內(nèi),上了八天班,可所有日歷上都沒有星期八,費九牛二虎之力找到那段代碼,發(fā)現(xiàn)一個循環(huán)初值應(yīng)該為1,而不是0,導(dǎo)致所有的星期一都被重復(fù)計數(shù),在表中被插入兩次。幸虧負(fù)責(zé)打印表格的小伙子是個電腦愛好者,平日里喜歡向我問些電腦問題,被吹噓得有點崇拜我,所以,在簽字蓋章前偷偷地告訴了我。不過,從此此君對我的教誨多持三思的態(tài)度,買來很多書一一求證,結(jié)果進步反而神速,后來甚至可以幫著我寫程序了。

  王五從甲部門調(diào)到了乙部門,在程序上執(zhí)行調(diào)動操作,王五果然出現(xiàn)在乙部門的花名冊中,一應(yīng)資料齊全,省卻人事人員很多文案工作,獲多謝數(shù)次,甚為得意。月底,人事人員向主管匯報各部門人力資源狀況,主管赫然發(fā)現(xiàn)公司多出一人,怒而斥之。查,原來王五的陰魂還在甲部門未散,人事人員朝我翻了幾下白眼,扔下一句什么破程序,還不如我自己統(tǒng)計呢,掩面而去。直到辭職離開,我再無臉面進人事部辦公室,偶爾討論需求,也只通過電話,或支使那個曾經(jīng)崇拜我的候補程序員。

  系統(tǒng)越做越大,問題越來越多,有些問題,靠坑蒙拐騙已經(jīng)掩蓋不住了,有段時間,我?guī)缀醭闪饲Х蛩浮N译m然臉皮鍛煉得有點厚了,不過還沒有厚到長不出胡子來的地步,所以,知恥而后勇,一有空,我就在我的準(zhǔn)五星級賓館里研究數(shù)據(jù)庫的設(shè)計,看各種各樣的書,做各種各樣的設(shè)計,比較各種各樣的方案,參加各種各樣的講座,慢慢地,一些設(shè)計原則在我的頭腦中形成了,雖然很不清晰。

  有了一些心得后,我很喜歡和別的程序員爭論表格設(shè)計方案的優(yōu)劣,有些設(shè)計,直覺告訴我會有問題,但我無法說出令人信服的理由,于是雙方各執(zhí)一詞,臉紅脖子粗,甚至不歡而散。當(dāng)然,有些程序員記仇,但所有的程序員都不記這種仇,所以,三五天后,大家又會呼朋喚友物以類聚,一邊吃著川菜一邊繼續(xù)臉紅脖子粗。

  程序員都視捍衛(wèi)真理為己任,只要自己認(rèn)定的事,沒有權(quán)威的論斷,誰也不服誰。一旦起爭端,或固執(zhí)如石頭,對手的利箭全部彈回,或優(yōu)柔似棉花,敵人的拳腳盡數(shù)落空。于是,所有的爭論都沒有結(jié)果,這對于我來說,是件折磨人的事。我是個極端理性的人,凡事喜歡弄個明白,一二三四,有條有理,對就是對,錯就是錯,容不得任何問題的答案在對與錯的中間地帶流落,像一個非坐非站的人,半蹲著馬步立在那里,無法安定。交鋒多次后,我知道,憑自己的修為無法肯定什么和否定什么,更談不上說服任何人了。

  4. DB2的關(guān)系模型理論

  顯然,要想贏得爭論,我需要一個權(quán)威的理論來支持我,因此,當(dāng)我讀到DB2的關(guān)系數(shù)據(jù)庫模型時,我照例用我的問題去拷問它,試圖將它打倒。很多理論被打倒了,但這次,DB2的關(guān)系模型沒有倒下。

  忘了是如何搞到那份介紹DB2關(guān)系模型的文章的了,不過我印象深刻的是,那是一份制作精美的PowerPoint文檔,可能是某大學(xué)教授的講義,或是IBM培訓(xùn)教材的中文版,總之,是一份非常優(yōu)秀的文檔,既有理論,也有例子,深入淺出,很快就帶我跨入了關(guān)系數(shù)據(jù)庫的門檻。

  最吸引我的,是DB2的關(guān)系模型。關(guān)系模型,是現(xiàn)代關(guān)系數(shù)據(jù)庫系統(tǒng)的理論基礎(chǔ),是一個偉大的數(shù)學(xué)模型。數(shù)學(xué)是人類抽象思維的最高境界,我對數(shù)學(xué)的崇拜,從讀研開始。我有一個學(xué)應(yīng)用數(shù)學(xué)的舍友,我經(jīng)常向他請教一些問題,討論到最后,剝?nèi)o關(guān)緊要的細枝末節(jié)和千變?nèi)f化的表面現(xiàn)象,問題的本質(zhì)往往歸結(jié)為一個數(shù)學(xué)命題,而晦澀的數(shù)學(xué)專著里,大師們早已用聊聊數(shù)語為我準(zhǔn)備了答案。

  數(shù)學(xué)之難學(xué),往往不是數(shù)學(xué)本身的深奧,而是數(shù)學(xué)著作的寫作方式太過專業(yè),其實如果能夠結(jié)合一些具體的應(yīng)用去舉例說明,我的數(shù)學(xué)也許不會現(xiàn)在這么差。帶著問題去學(xué)數(shù)學(xué),是更適合于我的方式,只要將定理中字里行間隱藏的意思,聯(lián)系到應(yīng)用中,很快就能心領(lǐng)神會。

  那篇介紹DB2關(guān)系模型的文檔,正是用這樣的風(fēng)格來寫作的,所以讓我產(chǎn)生了相見恨晚的感覺。先介紹一個概念,讓你去琢磨,然后舉幾個例子,作進一步的闡述,一來二去,作者想要告訴你的,你不知不覺中全盤接受了。

  但凡是這類文章,絕對不能走馬觀花,一目十行,否則,可能會漏掉一些至關(guān)重要的信息。碰到新的概念或定理,別急著翻看后面的例子,先回想一下應(yīng)用中讓你郁悶的難題,嘗試自己去理解,實在參不透了,才在例子中尋找思維的線索。我利用所有的空閑,反復(fù)閱讀、研磨那份文檔。大部分時間,我都在對著文檔發(fā)呆,雙手托腮,面無表情,腦子卻飛快運轉(zhuǎn),像一臺CPU使用率達到100%的Windows電腦,停止了對鼠標(biāo)和鍵盤的響應(yīng)。如此這般一個多月,關(guān)系模型的理論,在我心中逐漸生根、發(fā)芽,并開始開花結(jié)果。每一段論述,都能解開郁結(jié)于心中的謎團,那種豁然開朗的感覺,如同醍醐灌頂。

  我第一次認(rèn)識了Codd這個名字,油然而生對大師的敬意,并且將1970年烙在了記憶深處。這是數(shù)據(jù)庫歷史上劃時代的一年,IBM公司的研究員E.F.Codd發(fā)表了業(yè)界第一篇關(guān)于關(guān)系數(shù)據(jù)庫理論的論文A Relational Model of Data for Large Shared Data Banks,首次提出了關(guān)系模型的概念。這篇論文是計算機科學(xué)史上最重要的論文之一,也奠定了Codd 博士關(guān)系數(shù)據(jù)庫之父的地位。

  DB2的關(guān)系模型,是廣東人的老火功夫湯。十幾種材料,十幾個小時,最后煲出來,也就那么小小幾碗,味道之鮮美,讓人過齒不忘。我一直懷疑那位PowerPoint文檔的作者是廣東人,并且長于煲湯。Codd博士提供的材料原汁原味,PowerPoint文檔作者又廚藝精湛,方才煲出DB2關(guān)系模型這份影響我一生的文檔。

  5. 關(guān)系模型改變了我

  關(guān)系模型是一本武功秘笈,打通了我的任督二脈,那一個多月的閉門修煉,讓我的功力大有長進。我開始把自己想象成一個獲得師傅真?zhèn)鞯奈淞值茏樱瑧汛шP(guān)系模型的內(nèi)功心訣,走出山門,要去闖蕩江湖了。我非常急切地想要獲得一份DB2的拷貝,一試身手,可惜,動用了所有渠道,還是未能如愿。DB2只存在于銀行的大型主機中,像紫禁城里的大內(nèi)高手,非我等凡夫俗子可以與之切搓。若想一睹英雄風(fēng)采,好像只有引刀自宮做太監(jiān)一條路了。

  好在那時候關(guān)系模型已經(jīng)成為大型數(shù)據(jù)庫的理論基礎(chǔ),除DB2以外,還有諸如Oracle、Sybase、SQL Server等以關(guān)系模型為核心的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),所以,我沒有做太監(jiān),仍然獲得了與高手過招的機會。我的一些朋友任職的公司,購買了正版的大型數(shù)據(jù)庫,整箱整箱的英文資料,擺在書架上,落滿了塵土。買正版數(shù)據(jù)庫的,通常都是關(guān)鍵應(yīng)用,容不得任何差錯,因此,一般都會一同購買技術(shù)支持服務(wù),所以,出了問題一律有技術(shù)支持可以依靠,維護人員就都懶得去啃這些大部頭的蝌蚪文了。

  這些被人遺棄的廢紙,我卻如獲至寶,因為偶然翻看,竟然發(fā)現(xiàn)那里面有關(guān)于關(guān)系模型的精彩論述。我提出要借來一讀,朋友們欣然允諾,仿佛我是收廢品的阿叔,幫他們弄走了一堆垃圾,以至于有些書像肉包子打狗,一去無回,他們也都裝作不知道了。

  有將近一年多,因為某種關(guān)系,我周末一般要到另外一個城市去度過。周六中午下班,搭上長途車,三、四個小時的顛簸后,才能到達目的地。上車前,我必隨身帶一本借來的大部頭,車上的時光正好睡個午覺,下車后將書掏出來拿在手里,擦干嘴角因為睡覺殘留的印記,再用手指梳理出一個三七分頭,裝作三好學(xué)生的模樣,混入旁邊的一所大學(xué)。或許是大部頭的欺騙性外表,或許是我的偽裝術(shù)著實了得,反正每次都在保安的眼皮子底下偷渡成功。大學(xué)校園是最適合修身養(yǎng)性的地方,我隨便找個角落,或坐或臥或半躺,翻開大部頭,在徐徐清風(fēng)的熏陶下,很快便能進入忘我的境界。

  這段經(jīng)歷,養(yǎng)成了我?guī)讉€嗜好。第一,坐車愛打瞌睡,并因此丟失過一個提包、兩只運動鞋和三把鑰匙;第二,沒事喜歡混入大學(xué)校園,看書,上網(wǎng)或者僅僅是發(fā)呆;第三,有英文資料和中文資料,則多半會看英文的;第四,做設(shè)計時拋不開數(shù)據(jù)庫,凡是能用數(shù)據(jù)庫實現(xiàn)的,決不做他想。當(dāng)然,還有一點,那就是我現(xiàn)在一直都梳三七分頭,以便使自己看上去顯得文化些。

  可以毫不夸張地說,DB2的關(guān)系模型,改變了我的程序人生,從此以后,我的所有設(shè)計,都無一例外地烙上了關(guān)系模型的烙印。DB2的關(guān)系模型是一套革命性的理論,從1970年出世到現(xiàn)在,整整37年過去了,在數(shù)據(jù)庫領(lǐng)域,還沒有可以取代關(guān)系模型的學(xué)說出現(xiàn)。我作為一個程序員成長的過程中,管理信息系統(tǒng)在中國遍地開花,我的大部分經(jīng)驗,都集中在這個一日千里的領(lǐng)域里。現(xiàn)在,MIS已經(jīng)演變?yōu)镋RP、CRM,不過,DB2關(guān)系模型的核心地位,依然穩(wěn)如磐石,不管作為關(guān)系模型具體實現(xiàn)的RDBMS市場如何風(fēng)云變幻,也不管Codd博士已經(jīng)在4年前與世長辭,DB2關(guān)系模型思想的光芒,一直照亮著數(shù)據(jù)庫的夜空。

  6. DB2邁向平民

  在本文就要結(jié)束時,來自db2china的一條消息讓我頗感意外,DB2有免費版本可以下載了,稱為DB2 Express_C。呵呵,雖然來得有點遲,不過,大名鼎鼎的DB2終于走出深宮,邁向平民,始終是值得慶賀的一件大事。

  我一直很留意程序員對數(shù)據(jù)庫技術(shù)的討論,時常光顧ITPUB.NET,看看數(shù)據(jù)庫板塊的帖子。數(shù)據(jù)庫板塊是ITPUB.NET非常活躍的一個分支,從安裝、配置、管理、維護、調(diào)優(yōu)到開發(fā)、認(rèn)證、培訓(xùn)和專題討論等,內(nèi)容不可謂不豐富,可惜,美中不足的是,關(guān)于數(shù)據(jù)庫設(shè)計方面的帖子不多。

  其實,早年我也非常迷戀DBA的角色,能將復(fù)雜的數(shù)據(jù)庫系統(tǒng)玩弄于股掌之中,被我視為數(shù)據(jù)庫修為的最高境界。后來,經(jīng)歷的項目多了,發(fā)現(xiàn)項目的成敗,設(shè)計舉足輕重,而具體的數(shù)據(jù)庫系統(tǒng),反倒無關(guān)緊要了。其實所有的數(shù)據(jù)庫都是大同小異的,因此,我對具體數(shù)據(jù)庫系統(tǒng)的關(guān)注日漸淡漠,興趣開始轉(zhuǎn)向所有數(shù)據(jù)庫應(yīng)用系統(tǒng)都要面臨的設(shè)計問題。再好的數(shù)據(jù)庫系統(tǒng)也無法挽救拙劣的設(shè)計,而良好的設(shè)計在任何數(shù)據(jù)庫系統(tǒng)上都會有上佳表現(xiàn)。數(shù)據(jù)庫設(shè)計的基礎(chǔ)不是具體的RDBMS,而是RDBMS的靈魂,即DB2的關(guān)系模型,要想在數(shù)據(jù)庫設(shè)計上有所作為,除了精通DB2的關(guān)系模型理論,別無他法。

  現(xiàn)在,DB2來了,帶著Codd的關(guān)系模型理論,讓我們終于有機會溯本追源,一探關(guān)系模型的正宗源頭。借著DB2的東風(fēng),希望ITPUB.NET能開辟一個以數(shù)據(jù)庫設(shè)計為側(cè)重點的板塊,向程序員普及和推廣DB2的關(guān)系模型理論,以及這一理論在實際項目上的運用原則,讓有志在數(shù)據(jù)庫設(shè)計領(lǐng)域發(fā)展的程序員們,少點把時間和精力浪費在諸如如何消除重復(fù)記錄之類毫無意義的帖子上,讓DB2關(guān)系模型的理論,深入程序員的心中。

it知識庫令我難忘的DB2數(shù)據(jù)庫之路,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 在线观看日本免费 | 蜜臀久久99精品久久久久久做爰 | 三级色视频 | 久久久久伊人 | 99爱在线观看精品视频 | 永久免费精品精品永久-夜色 | 鬼灭之刃花街篇免费樱花动漫 | 欧美午夜精品一区区电影 | 日本19禁啪啪吃奶大尺度 | 色即是空 BT | 嫩草成人影院 | 91热久久免费频精品99欧美 | 一区二区三区福利视频 | couo福利姬图库 | 97碰成视频免费 | 国产精品高清在线观看地址 | 久久影院午夜理论片无码 | 国产精品一区二区激情 | 久久中文字幕免费视频 | 久久成人免费观看全部免费 | 亚洲三级成人 | 欧美成人中文字幕在线看 | 欧美日韩一区在线观看 | 亚洲一区日韩一区欧美一区a | 男人网站在线 | 久草在在线免视频在线观看 | brazzers巨臀系列| 国产麻豆精品传媒AV国产在线 | 国产亚洲美女精品久久久2020 | 国产亚洲日韩另类在线播放 | 999视频精品全部免费观看 | 久久免费观看视频 | 特级毛片全部免费播放免下载 | 天天拍拍国产在线视频 | 欧美性狂猛bbbbbbxxxx | 理论片午午伦夜理片久久 | 成人毛片免费观看视频大全 | 亚洲国产精品自在自线观看 | 一二三四电影完整版免费观看 | 蜜芽tv在线观看免费网站 | 91精品国产91热久久p |