It is possible to create a new column with a default value as a metadata-only operation (not a size-of-data operation):
ALTER TABLE dbo.MyReallyBigTable
ADD MyThingId INT NOT NULL
DEFAULT 0;
But is it possible to also create such a column that references another table as a metadata-only operation?
ALTER TABLE dbo.MyReallyBigTable
ADD MyThingId INT NOT NULL
DEFAULT 0
REFERENCES dbo.MyThing(MyThingId);
In theory it's possible because there should only be one value to check in the referenced table. However, in my example, the foreign key creation seems to be a size-of-data operation.