0

artwork.jpg我們如何處理數據庫模式與唯一具有每種類型數據的圖形類型?

我想開發一個圖形解決方案,但堅持在類型問題上如何將其編碼到數據庫模式。我剛開始瞭解父母和外鍵的概念。

藝術品屬於類別類型,如照片,樂譜,繪畫,雕塑。我所做的事情是爲藝術作品創建了一個表格,併爲類別類型創建了一個表格,並將外部關鍵字鏈接到主要藝術品表格。如果照片具有特定或獨特的信息(如照片格式和拍攝日期)會怎麼樣?爲了規範這一點,我們是否需要一個單獨的表來容納照片信息?

如何轉換圖表模式?請參閱附件artwork.jpg中的圖表。我不僅將藝術作品錶鏈接到類別,每個類別類型還將有一個單獨的表格,以便爲照片,作曲家名稱和樂譜的長度(分鐘)帶來獨特的信息,如照片格式。請幫助闡明這一點。謝謝。


 

 
public function up() 
 
    { 
 
     Schema::create('artwork', function (Blueprint $table) { 
 

 
      
 

 
      $table->increments('id'); 
 
      $table->string('title'); 
 

 
      //this is foreign key to the categories table 
 
      $table->integer('category_id')->nullable()->unsigned(); 
 
      $table->foreign('category_id')->references('id') 
 
        ->on('categories') 
 
        ->onDelete('cascade'); 
 
      
 
      $table->string('author'); 
 
      $table->string('groupcountry'); 
 
      $table->string('year'); 
 
      $table->string('description'); 
 
      
 
     }); 
 
    } 
 

 
============================= 
 

 
class CreateCategoriesTable extends Migration 
 
{ 
 
    /** 
 
    * Run the migrations. 
 
    * 
 
    * @return void 
 
    */ 
 
    public function up() 
 
    { 
 
     Schema::create('categories', function (Blueprint $table) { 
 
      $table->increments('id'); 
 
      $table->string('category_name'); 
 
      $table->string('category_description'); 
 
      
 
     }); 
 
    }

回答

1

如果你是剛開始瞭解主鍵和外鍵的概念,那麼你可能纔剛剛在關係數據庫設計開始。有很多東西需要學習,儘管在你學習很多東西之前你可以開始使用簡單的案例。

您可能希望瞭解的一個概念是HAS-A關係和IS-A關係之間的區別。 HAS-A關係的一個例子可能是藝術家和藝術品之間的關係(與你的問題無關)。 HAS-A關係貫穿於所有教程中,可以幫助您快速掌握數據庫設計。

IS-A關係更加微妙,數據庫教程通常沒有清楚地表達這一點。一個IS-A關係的例子是照片和藝術品之間的關係。一張照片是一件藝術品。這通常是一對一的關係,並且通常是類 - 子類(類型 - 子類型)情況的實例。情況就是這樣。照片,樂譜,繪畫,雕塑都是藝術品的亞型。

對於具體的技術,我建議你看看在信息和這三個標籤下分組的問題:

+0

謝謝您沃爾特指着我的資源 – BraveHeart

相關問題