我正在尝试开发艺术品解决方案,但在如何将其编码到数据库模式中时遇到了类别类型问题。我刚刚开始了解父键和外键的概念。
艺术品属于照片、乐谱、绘画、雕塑等类别类型。我所做的是为艺术品创建一个表和一个类别类型表,并将外键链接到主艺术品表。如果照片具有特定或独特的信息,例如照片格式和照片拍摄日期,该怎么办。为了规范这一点,我们是否需要一个单独的表格来容纳照片信息?
如何转换图表模式?请参阅附件的 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');
});
}