Что хороший схемы SQL Server?

Одним из способов решения этой проблемы является создание класса животных:

public interface IAnimal
{
    int LegCount { get; }
}

public abstract class Animal: IAnimal
{
     public virtual int LegCount {get{return 4;}}   

     public event EventHandler<AnimalRequiredEventArgs<Animal>> AnimalRequired;

     protected virtual void OnAnimalRequired(AnimalRequiredEventArgs e)
        {
            // Make a temporary copy of the event to avoid possibility of
            // a race condition if the last subscriber unsubscribes
            // immediately after the null check and before the event is raised.
            EventHandler<AnimalRequiredEventArgs<Animal>> handler = AnimalRequired;
            if (handler != null)
            {
                handler(this, e);
            }
        }
}

public class Dog : Animal
{
    public override int LegCount { get { return 4; } }
}

public class Octopus : IAnimal
{
    public override int LegCount { get { return 8; } }
}

Затем вы можете переопределить OnAnimalRequired в каждом производном классе, если хотите.

Для клиентов будет одно событие, представленное абстрактным базовым классом.

Надеюсь, это поможет.

183
задан Alexander Derck 20 December 2017 в 02:09
поделиться

4 ответа

Схемы логически таблицы группы, процедуры, просматривают вместе. Все связанные с сотрудником объекты в employee схема, и т.д.

можно также дать полномочия всего одной схеме, так, чтобы пользователи могли только видеть схему, у них есть доступ к и ничто иное.

158
ответ дан Palec 23 November 2019 в 06:01
поделиться

Они могут также обеспечить своего рода защиту коллизии именования для сменных данных. Например, новая функция Change Data Capture в SQL Server, 2008 помещает таблицы, которые это использует в отдельной схеме CDC. Таким образом, они не должны волноваться о конфликте имен между таблицей CDC и реальной таблицей, используемой в базе данных, и в этом отношении может сознательно теневой названия реальных таблиц.

29
ответ дан Joel Coehoorn 23 November 2019 в 06:01
поделиться

Я думаю, что схемы похожи на большое количество новых возможностей (ли к SQL Server или любому другому программному инструменту). Необходимо тщательно оценить, смещает ли преимущество добавления его к комплекту разработчика потерю простоты в разработке и реализации.

Это смотрит на меня как схемы, примерно эквивалентны дополнительным пространствам имен. Если Вы находитесь в ситуации, где имена объектов сталкиваются, и гранулярность полномочий не достаточно прекрасна, вот инструмент. (Я был бы склонен сказать, что могли бы быть вопросы проектирования, с которыми нужно иметь дело на более фундаментальном уровне сначала.)

проблема может состоять в том, что, если это там, некоторые разработчики начнут небрежно использовать его для краткосрочного преимущества; и после того как это там, это может стать кудзу.

5
ответ дан dkretz 23 November 2019 в 06:01
поделиться

разработка - каждый из наших devs заставляет их собственную схему как песочницу играть в.

0
ответ дан Nick Van Brunt 23 November 2019 в 06:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: