国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

基于視圖的增刪改查操作(顛覆傳統(tǒng)思維吧)

2019-11-17 02:09:29
字體:
供稿:網(wǎng)友
基于視圖的增刪改查操作(顛覆傳統(tǒng)思維吧)

視圖是關(guān)系型數(shù)據(jù)庫提供的一個非常強大好用的功能,它提供了一種基于基本表(相對視圖的虛擬表而言)的數(shù)據(jù)提取重組和分隔技術(shù)。

視圖通過對一個或者多個基本表進行數(shù)據(jù)提取和重新組織,將數(shù)據(jù)以用戶希望的方式重新呈現(xiàn)。

需要注意的是,視圖的主要目的就是重新組織多個基礎(chǔ)表的數(shù)據(jù)以新的方式展現(xiàn),重點是數(shù)據(jù)展示,并不涉及到增刪改的功能。(另一個主要功能是數(shù)據(jù)隔離)

對于現(xiàn)有市場上不同的數(shù)據(jù)庫來說,對于視圖的增刪改都不支持,或者說支持的很不好,有很多約束條件。

有人說過,產(chǎn)品功能是有限的,用戶需求是無限的,真理。我遇見了有無限需求的客戶。

先說一下用戶大體需求:

我們的產(chǎn)品是一個智能開發(fā)平臺,客戶使用可視化的方式可以定義表單和流程,使用零編碼的方式就可以快速開發(fā)出一套信息化管理系統(tǒng)。這種方式一直運行的很好,直到有一天。

客戶:我們有一個系統(tǒng)是c/s結(jié)構(gòu)的,想改成b/s結(jié)構(gòu),用你們的平臺能做嗎?

我: 可以啊,非常快。

客戶:我看了你們的視頻介紹,基本都是一個表單一個數(shù)據(jù)表對應(yīng)的,但是我們的系統(tǒng)有時候一個表單要對應(yīng)好幾個數(shù)據(jù)表,這個怎么辦呀?

我:用視圖功能來定義表單就可以。

客戶:我試了,視圖功能只能查看,不能新增和修改啊

。。。。。(確實如此)

  其實,在產(chǎn)品的研發(fā)和使用中,一直都不斷有客戶提出過這樣的需求,為此也丟失了不少客戶,痛定思痛,不能再痛。于是,一個新的視圖操作概念誕生了

基于視圖的增刪改查操作

  • 前言:

    本文中所有操作都采用圖形界面的方式完成,并不涉及到任何程序編寫。所以,即使您不懂程序,也沒有關(guān)系。

  • 基本概念    

    • 視圖:不用多做解釋,知道的都清楚,不知道的查書。
    • 基礎(chǔ)表:本文的基礎(chǔ)表和大家理解的基礎(chǔ)表有一點區(qū)別。大家理解的或者書本上介紹的基礎(chǔ)表指的是實際的物理數(shù)據(jù)表,本文的基礎(chǔ)表指的是視圖所依賴的實際物理表或者視圖。(有點繞,因為視圖可以再次通過“視圖”的功能進行數(shù)據(jù)重組)。所以本文中只要視圖引用的表或者視圖,都叫基礎(chǔ)表
    • 物理表:數(shù)據(jù)庫中真實的表
  • 場景

    基于視圖的增刪改操作,他不是提供一個接口工具,讓您輸入sql語句來完成,而是提供一個圖形界面,通過 視圖定義來自定生成操作界面,在操作界面進行新增、修改、刪除和查詢功能。在用戶對視圖進行增刪改查操作時,后臺運行的是視圖分析引擎,所有的視圖操作都交給視圖引擎來完成。

  • 實現(xiàn)原理

  原理并不復(fù)雜,一句話,所有對視圖的增刪改查操作,都通過視圖引擎和表單引擎轉(zhuǎn)化到視圖對應(yīng)的基礎(chǔ)表的操作(如果基礎(chǔ)表本身也是視圖,那么就遞歸進行轉(zhuǎn)化,直到找到最后的物理表)。

所有真理都是簡單明了的,但要證明他,確實非常復(fù)雜的一件事情。視圖引擎和表單引擎就是如此。特別是當視圖對應(yīng)的基礎(chǔ)表之間有外鍵關(guān)系時,要維護外鍵關(guān)系(同時添加,補充增加等)需要很多細心地判斷。

  • 圖形界面

    1、視圖定義

     這里提供了一個向?qū)降囊晥D構(gòu)建,如果您熟悉sql語句,直接寫視圖的sql也可以。

      第一步:選擇基礎(chǔ)表

      

      第二步:選擇需要的字段

      

      第三步:設(shè)置表之間的關(guān)系:系統(tǒng)其實已經(jīng)幫您做好了所選基礎(chǔ)表的表之間的關(guān)聯(lián)關(guān)系,您可以再次修改

      

    2、生成視圖界面(設(shè)計圖)

      視圖sql語句構(gòu)建好后,就可以生成視圖了,系統(tǒng)會做兩部分工作。

      一個是根據(jù)輸入的視圖sql語句,在數(shù)據(jù)庫中生成真實的視圖。

      另一個是生成針對這個視圖進行的增刪改查的界面。

      下面是自動生成的設(shè)計界面(編輯界面)

      

      3、視圖界面調(diào)整

        您可以在系統(tǒng)自動生成的設(shè)計界面上進行調(diào)整為更好看的界面,這里就不做調(diào)整了,直接使用系統(tǒng)生成的格式。

        自動生成界面后,就可以在視圖的編輯頁面進行操作了

       4、列表

        這是自動生成的視圖的列表界面,可以通過這個界面進行視圖數(shù)據(jù)的增刪改查、導(dǎo)出、統(tǒng)計等。

        

      5、新增記錄

        

        這里需要說明一點,我們創(chuàng)建的視圖是從兩個基礎(chǔ)表獲取數(shù)據(jù)的,一個是用戶表的登錄名和姓名,另一個部門表的部門名稱。所以新增數(shù)據(jù)的時候,要從當前界面取值,然后分別新增到對應(yīng)的部門表和用戶表,同時還是設(shè)置這兩條數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系(“用戶屬于哪個部門”這個關(guān)系)

      6、修改記錄

        修改界面和新增界面是相同的,修改的時候,也是要把用戶修改的數(shù)據(jù)更新到對應(yīng)的物理表中

       7、刪除記錄

        這里需要注意的是:刪除的時候,只刪除這個視圖的主表(在本文的演示案例中,用戶表就是這個視圖的主表)對應(yīng)的數(shù)據(jù),而不能刪除部門表的數(shù)據(jù)。在其他案例中,如果構(gòu)成視圖的基礎(chǔ)表之間沒有關(guān)聯(lián)關(guān)系(主外鍵),那么就同時刪除所有的基礎(chǔ)物理表的數(shù)據(jù)。

  • 技術(shù)細節(jié)(待續(xù))


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北安市| 嘉善县| 甘孜县| 正镶白旗| 鸡泽县| 平陆县| 多伦县| 白山市| 张家界市| 菏泽市| 禄劝| 密山市| 南昌县| 揭阳市| 平乐县| 岗巴县| 隆德县| 都匀市| 邹平县| 古丈县| 万载县| 阳高县| 桑日县| 蒙城县| 游戏| 鄂州市| 峨眉山市| 津市市| 宁蒗| 穆棱市| 饶阳县| 金塔县| 寿阳县| 嘉荫县| 黔南| 龙游县| 昌都县| 北票市| 万源市| 巨鹿县| 饶平县|