Database design task

You are designing a small database for recipes. The analysis has revealed that you need the following data

Functional dependencies

Tables

create table dish (
     dish_code varchar(20) not null primary key,
     dish_name varchar(120) not null,
     portion_size smallint not null,
     easiness varchar(10)
  );
  
  create table material (
     material_id varchar(20) not null primary key,
     material_name varchar(120) not null
  );
  
  create table phase (
     dish_code varchar(20) not null,
     phase_number_in_preparation smallint not null,
     phase_name  varchar(120) not null,
     phase_description varchar(2000),
     primary key (dish_code,  phase_number_in_preparation),
     foreign key (dish_code) references dish on delete cascade
  );
  
  create table material_use (
     dish_code varchar(20) not null,
     material_id varchar(20) not null,
     amount_needed varchar(40),
     primary key (dish_code, material_id),
     foreign key (dish_code) references dish on delete cascade,
     foreign key (material_id) references material
  );