<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      主表,從表,關聯表,父表,子表

      文章轉載自:http://paladin1988.iteye.com/blog/1620412

       

      一、前言


          在數據庫設計中,Hibernate,iBatis等ORM框架的使用中經常聽說主鍵,外鍵,主表,從表,關聯表,父表,子表之類的術語,弄懂它們之前的區別與聯系對于數據庫設計和ORM框架的學習使用是非常有必要的。

       

       

      二、概述

       

          下面從數據庫設計角度,ORM框架使用(以Hibernate為例),PowerDesigner軟件以及實際業務角度進行一下介紹。

       

       

       

      (1) 數據庫角度而言

       

          主鍵:一般情況下,滿足第一范式的表都有一個主鍵Primary key,用于唯一標示數據庫中的一個字段。


          外鍵:外鍵是相對于數據庫設計中的參考完整性而言,它與主鍵之間是彼此依賴的關系。假設現在有兩個表,產品分類表ProductCategory(主鍵 CategoryId)和產品信息表Product(主鍵ProductId),每類產品都屬于一個分類。那么如果產品信息表肯定需要參考產品分類表進行 定義。因為如果沒有產品分類表,又何談產品分類呢。所以產品信息表Product需要引用ProductCategory中的主鍵CategoryId 進行產品分類定義,Product表中引用CategoryId的字段就是外鍵。


         在概念模型(Concept Model)中,從產品分類角度看,產品分類和產品之間就是一對多的關系,一個分類下可以有多個產品。從產品角度看,產品和產品分類之間是多對一的關系,多種產品屬于一個分類。


          主表:在數據庫中建立的表格即Table,其中存在主鍵(primary key)用于與其它表相關聯,并且作為在主表中的唯一性標識。(摘自百度百科)


          從表:以主表的主鍵(primary key)值為外鍵 (Foreign Key)的表,可以通過外鍵與主表進行關聯查詢。從表與主表通過外鍵進行關聯查詢。(摘自百度百科)


         關聯表:兩個數據庫及其(數據)表之間的數據的相互依賴和影響關系。

        比如現有某學校三個數據表:學生(學號,姓名),課程(課程名,課程編號),選課(學號,課程 號,成績)。選課表中的“學號”,“課程號”必須是另外兩個表中存在的數據,才有意義;而且一旦另外兩表中的某一學生或課程被刪除,選課表中的相應學號或 課程號必須自動刪除。這就是一種關聯關系。它實際上是保證數據完整性的一種做法.



         父表,子表的說法其實在PowerDesigner中解釋可能更加恰當,這里就不多說了。




      (2)從ORM框架來看


         Hibernate的主表從表請參照:

         http://www.iteye.com/problems/31280


         關聯表: 在Hibernate的關聯關系中,存在著多對多的關聯,但是實際情況下,我們是很少使用多對多關聯的,因為它的查詢效率很低(http://zhidao.baidu.com/question/244432511.html)。

         舉個例子,一個訂單可以訂多個產品,一個產品也可以出現在多張訂單。很明顯,一個多對多的關系,因為效率問題,我們必須將它分解成兩個1對多的關系,所以,必須添加一個中間表,也就是關聯表,用來保存兩個表的主鍵,從而實現多對多關系的分解。





      (3)PowerDesigner


         一個截圖,足以說明一切了,多的也不用舉例,上面的單詞相信大家還是可以看懂的。


        



      (4)實際業務功能


          關于這個業務功能,不多介紹了,從網上截取了一個不錯的例子,大家可以看一下,介紹的非常不錯。



      http://www.iteye.com/problems/31280


      班級:Class 學生:Student
      Class的表結構
      id int identity,
      name varchar

      Student
      id int identity,
      name varchar,
      classId int refrence Class ('id')

          Student 中classId引用Class,一個班級中可能有多個學生,那么此時可以說Class是主表,Student是Class的從表,從hibernate的角度看,Student和Class是一個many-to-one的關系。

          不過主表和從表是相對的,沒有絕對的,比如,老師和學生的關系,一個老師有多個學生,一個學生同時也有多個老師,這時如果以老師為主表,那學生就是從表,一學生為主表,那老師就是從表。

          如何確定主表和從表?

          則完全取決于業務,業務上的主體就是主表,比如軟件A是為老師而設計,用于管理學生的,那老師就是主表,軟件B是為家長設計,用于管理老師的,那學生就是主表。主表和從表沒有絕對,完全取決業務上的重心。




        相信看了上面的介紹,大家都這些概念也大致的所有了解了。把這些基本概念弄懂對于學習ORM框架是非常重要的。

       

       

      三、參考文檔

       

      http://www.iteye.com/problems/31280

      http://baike.baidu.com/view/3566336.htm

      http://baike.baidu.com/view/3246364.htm

      Hibernate Reference

      posted @ 2016-04-27 23:12  宮學良  閱讀(5891)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 粉嫩av国产一区二区三区| 国产亚洲精品VA片在线播放| 国产日韩av免费无码一区二区三区| 丰满无码人妻热妇无码区| 日韩一欧美内射在线观看| 国产又黄又爽又不遮挡视频| 亚洲国产欧美在线观看片| 国产精品一区二区不卡视频| 4虎四虎永久在线精品免费| 福利一区二区不卡国产| 99国产午夜福利在线观看| 伊人色综合一区二区三区影院视频| 男人狂桶女人出白浆免费视频 | 久久三级中文欧大战字幕| 丁香婷婷无码不卡在线| 在线亚洲+欧美+日本专区| 亚洲精品专区在线观看| 成年女人免费碰碰视频| 彰化县| 国产精品成熟老女人| 国产综合色精品一区二区三区| 亚洲人成网网址在线看| 久久亚洲精品中文字幕馆| 麻豆精品一区二正一三区| 粉嫩国产av一区二区三区| 国精偷拍一区二区三区| 国产亚洲一区二区三区成人| 国产无套精品一区二区| 国产最大的福利精品自拍| 中文字幕无码av不卡一区| 性色欲情网站iwww| 日本亚洲一级中文字幕| 久久中精品中文字幕入口| 高清偷拍一区二区三区| 无码人妻一区二区三区AV| 亚洲欧洲精品日韩av| 精品人妻伦九区久久aaa片69| 亚洲av永久无码精品天堂久久| 米奇亚洲国产精品思久久| 国产午夜福利免费入口| 日韩精品中文字幕有码|