0

艺术品.jpg

我正在尝试开发艺术品解决方案,但在如何将其编码到数据库模式中时遇到了类别类型问题。我刚刚开始了解父键和外键的概念。

艺术品属于照片、乐谱、绘画、雕塑等类别类型。我所做的是为艺术品创建一个表和一个类别类型表,并将外键链接到主艺术品表。如果照片具有特定或独特的信息,例如照片格式和照片拍摄日期,该怎么办。为了规范这一点,我们是否需要一个单独的表格来容纳照片信息?

如何转换图表模式?请参阅附件的 artifact.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');
            
        });
    }

4

1 回答 1

1

如果您刚刚开始了解主键和外键的概念,那么您可能才刚刚开始进行关系数据库设计。有很多东西要学,虽然你可以先从简单的案例开始,然后再学习很多。

您可能希望了解的一个概念是 HAS-A 关系和 IS-A 关系之间的区别。HAS-A 关系的一个例子可能是艺术家和艺术品之间的关系(与您的问题无关)。HAS-A 关系贯穿于所有帮助您快速了解数据库设计的教程中。

IS-A 关系更加微妙,数据库教程通常不会清楚地呈现这一点。IS-A 关系的一个例子是照片和艺术品之间的关系。照片是艺术品。这通常是一对一的关系,并且通常是类-子类(type-subtype)情况的一个实例。这里就是这种情况。照片、乐谱、绘画、雕塑都是艺术品的子类型。

对于具体的技术,我建议你查看这三个标签下分组的信息和问题:

于 2016-08-07T11:19:51.790 回答