I read that we can have maximum table interleaving depth of 6 in Google Spanner and an interleaved table can have only one direct parent table, But can we have multiple tables with same parent?
For Example:
TableA (root)
TableB (INTERLEAVE IN PARENT TableA)
TableC (INTERLEAVE IN PARENT TableA)
Yes you can. The following DDL is for example accepted:
CREATE TABLE `PARENT` (
ID INT64 NOT NULL,
DESCRIPTION STRING(100) NOT NULL,
) PRIMARY KEY(ID);
CREATE TABLE CHILD1 (
ID INT64 NOT NULL,
CHILD1_ID INT64 NOT NULL,
CHILD1_DESCRIPTION STRING(100) NOT NULL,
) PRIMARY KEY(ID, CHILD1_ID),
INTERLEAVE IN PARENT `PARENT` ON DELETE NO ACTION;
CREATE TABLE CHILD2 (
ID INT64 NOT NULL,
CHILD2_ID INT64 NOT NULL,
CHILD2_DESCRIPTION STRING(100) NOT NULL,
) PRIMARY KEY(ID, CHILD2_ID),
INTERLEAVE IN PARENT `PARENT` ON DELETE NO ACTION