internal DBTableRequiredInitAction(DBTableRequiredInitActionType requiredAction, DBTable table)
            : this(table)
        {
            if (requiredAction == DBTableRequiredInitActionType.None)
            {
                throw new ArgumentNullException("requiredAction");
            }
            if (!(requiredAction == DBTableRequiredInitActionType.CreateRequired || requiredAction == DBTableRequiredInitActionType.RenameRequired))
            {
                throw new ArgumentException("Требуемым действием при инициализации таблицы может быть создание.");
            }

            this.TableRequiredAction = requiredAction;
        }
        internal DBTableRequiredInitAction(DBTableRequiredInitActionType requiredAction, DBColumn column, DBTable table)
            : this(table)
        {
            if (requiredAction == DBTableRequiredInitActionType.None)
            {
                throw new ArgumentNullException("requiredAction");
            }
            if (!(requiredAction == DBTableRequiredInitActionType.CreateRequired ||
                  requiredAction == DBTableRequiredInitActionType.UpdateRequired ||
                  requiredAction == DBTableRequiredInitActionType.RenameRequired))
            {
                throw new ArgumentException("Требуемым действием при инициализации столбца может быть создание, переименование или обновление.");
            }
            if (column == null)
            {
                throw new ArgumentNullException("column");
            }

            this.ColumnRequiredAction = requiredAction;
            this.Column = column;
        }
        internal DBTableRequiredInitAction(DBTableRequiredInitActionType requiredAction, DBIndex index, DBTable table)
            : this(table)
        {
            if (requiredAction == DBTableRequiredInitActionType.None)
            {
                throw new ArgumentNullException("requiredAction");
            }
            if (!(requiredAction == DBTableRequiredInitActionType.CreateRequired ||
                  requiredAction == DBTableRequiredInitActionType.RenameRequired ||
                  requiredAction == DBTableRequiredInitActionType.RecreateRequired))
            {
                throw new ArgumentException("Требуемым действием при инициализации индекса может быть создание, переименование или пересоздание.");
            }
            if (index == null)
            {
                throw new ArgumentNullException("index");
            }

            this.IndexRequiredAction = requiredAction;
            this.Index = index;
        }
        internal DBTableRequiredInitAction(DBTableRequiredInitActionType requiredAction, DBTrigger trigger, DBTable table)
            : this(table)
        {
            if (requiredAction == DBTableRequiredInitActionType.None)
            {
                throw new ArgumentNullException("requiredAction");
            }
            if (!(requiredAction == DBTableRequiredInitActionType.CreateRequired ||
                  requiredAction == DBTableRequiredInitActionType.RenameRequired ||
                  requiredAction == DBTableRequiredInitActionType.RecreateRequired ||
                  requiredAction == DBTableRequiredInitActionType.UpdateRequired))
            {
                throw new ArgumentException("Требуемым действием при инициализации триггера может быть создание, переименование или пересоздание.");
            }
            if (trigger == null)
            {
                throw new ArgumentNullException("trigger");
            }

            this.TriggerRequiredAction = requiredAction;
            this.Trigger = trigger;
        }