中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

BeX5開發中MySQL視圖使用的一個小問題

發布時間:2020-04-15 17:53:52 來源:網絡 閱讀:6099 作者:googlingman 欄目:數據庫

問題

    數據操作中的查詢是極端重要的,使用頻繁。MySQL數據庫中視圖概念的存在十分類似于微軟Access小型關系數據庫中的查詢(二級考試重點)。視圖的存在極大減小了數據表的創建數量,而且還有更為高級的運用技巧。本文介紹在基于起步科技的BeX5平臺上使用MySQL數據庫中視圖時反向生成本體時注意的一個小問題。


    MySQL數據庫中表在BeX5平臺開發中對應于“物理表”概念,但是為了增強軟件開發中數據層的靈活性(軟件需求階段的實體結構不是一下百分之分確定的;有時需要不斷調整),平臺引入了本體的概念。


    實際開發中,一般需要先創建本體,再由本體生成物理表。但是,有時在已經存在物理表的情況下,也需要由物理表反向生成本體。


    上面提到了視圖(相當于ACCESS的選擇查詢)的重要性;但是,要想在BeX5平臺開發中使用視圖技術,則必然需要和本體打交道。這就需要由視圖反向生成本體。


    第一,在MySQL中創建視圖是比較簡單的,如下例:

CREATE VIEW v AS mv_homepage_person_view
SELECT a.fID,a.fLegCode,a.fCaseName,a.fBeginDate,a.fWho,b.fPersonName,c.fEndDate
FROM MV_LegInfo a,MV_Person2 b,MV_Penalty2 c
where a.fLegCode=b.fLegCode and b.fLegCode=c.fLegCode


    上述視圖一旦保存,便生成MySQL中的一個物理表(這一點與Access的生成表查詢是一致的)。


    第二,在平臺端即可由上述由視圖創建的表反向生成平臺開發要求的本體。


    此過程中,許多初次使用這個功能的同學往往在創建上面視圖時忽略了字段a.fID的選擇,而這個字段在默認的平臺生成的本體中是擔當主鍵作用的,而且其默認值為guid()。如果不選擇這個字段,則創建UI2端.W文件時引用此本體對應的ACTION必然出現錯誤(提示大致內容是缺少fID字段)!


解決辦法


    經過上面分析,解決上述問題的辦法就很簡單了。但是,要注意兩個小問題:


    (1)在上面創建視圖時一定要選擇某一個表的fID字段(其實也未必一定是這個字段,只要是直到主鍵作用的字段理論上講都可以--但后面的guid()函數很可以不再適合了,需要根據需要靈活表達)。


    (2)在反向生成本體后,一定要修改一下“主鍵關系”,類似于下圖:


BeX5開發中MySQL視圖使用的一個小問題


    點擊上面的“主鍵關系”后在彈出的對話框中選擇你創建視圖時選擇的主鍵即可。當然,在此高度建議使用默認的fID作為主鍵。這就要求生成視圖的子表中要提供fID字段(這個是平臺默認支持的)。


  之后的其他操作便不再贅述。盡管視圖生成的子表是“死”的,但是由于創建視圖的create view語句可以輕松修改,即可以根據開發需要隨時創建需要的這種臨時表;所以,視圖的應用在數據庫端是高頻的。相應地,在BeX5平臺上由視圖反向生成本體的操作也會是高頻的。


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

鄂托克前旗| 保山市| 太和县| 华池县| 芦山县| 天峨县| 怀远县| 交城县| 陇西县| 绥宁县| 长子县| 清水县| 普兰店市| 南平市| 互助| 太湖县| 来宾市| 都兰县| 吉木乃县| 双辽市| 泰兴市| 万安县| 郁南县| 洪洞县| 涡阳县| 泗洪县| 二连浩特市| 马山县| 宁都县| 涿鹿县| 托克逊县| 安西县| 双桥区| 平度市| 凤城市| 华坪县| 乌拉特中旗| 政和县| 汉阴县| 贵港市| 旬阳县|