Шаблоны базы данных [дубликат]

Я решил это так, используя Angular 5.2.6 и TypeScript 2.6.2:

class Range implements Iterable<number> {
    constructor(
        public readonly low: number,
        public readonly high: number,
        public readonly step: number = 1
    ) {
    }

    *[Symbol.iterator]() {
        for (let x = this.low; x <= this.high; x += this.step) {
            yield x;
        }
    }
}

function range(low: number, high: number) {
    return new Range(low, high);
}

Он может использоваться в Компонента следующим образом:

@Component({
    template: `<div *ngFor="let i of r">{{ i }}</div>`
})
class RangeTestComponent {
    public r = range(10, 20);
}

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

24
задан 3 revs, 2 users 73% 30 October 2012 в 13:12
поделиться

5 ответов

А именно, относительно ключей: Я категорически не согласен со странной идеей, что ключи должны быть без значения. В целом я считаю базу данных набором фактов; как только Вы начинаете добавлять произвольные числа (как сгенерированные ключи) и другая несоответствующая информация в него, это должен быть предупредительный знак. Я рекомендую этот articly Joe Celko для больше на ключах.

более общие сведения:

Предложения для проектов/моделей данных схемы для различных компаний: David C. Hay: Шаблоны Модели данных: Соглашения Довольно старой Мысли, но существуют причина, почему это находится все еще в печати
http://www.dorsethouse.com/books/dmp.html

, Возможно, не очень подобно шаблону, но все еще очень хорошо: Stephane Faroult, Peter Robson: Искусство SQL http://oreilly.com/catalog/9780596008949/

Другой, который я могу рекомендовать: Vadim Tropashko: Шаблоны разработки SQL - Экспертное руководство к Программированию SQL http://www.rampant-books.com/book_2006_1_sql_coding_styles.htm

Систематический учебник о моделировании данных: Graeme Simsion & Graham Witt, "Основы Моделирования данных" http://www.elsevierdirect.com/product.jsp?isbn=9780126445510

, Возможно, Вы на самом деле ищете "руководство по стилю"?. Я, что случай: Joe Celko: Стиль программирования SQL http://www.elsevierdirect.com/product.jsp?isbn=9780120887972

10
ответ дан Troels Arvin 29 November 2019 в 00:14
поделиться

Книги E.F. Codd и C.J. Дата является самыми очевидными ответами. Я не прочитал эту конкретную книгу, но я знаком с авторами, это, вероятно, довольно хорошо.

Прикладной Mathmatics для Профессионалов Базы данных Lexx de Haan и Toon Koppelaars.

5
ответ дан Ethan Post 29 November 2019 в 00:14
поделиться

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

Поэтому, если у меня есть, например, таблица Invoice и таблица InvoiceDetail, мы можем, вероятно, использовать InvoiceNumber в качестве нашего первичного ключа на первом. Это уже существует в наших данных и (я принимаю?) было бы уникально. Для второй таблицы мы, вероятно, собираемся быть застрявшей необходимостью в суррогатном ключе, однако - соединено ли это с Номером счета-фактуры как составной объект или нет.

В любом случае, назад к исходному вопросу... ссылка hometoast должна запустить Вас.

- Kevin Fairchild

4
ответ дан Kevin Fairchild 29 November 2019 в 00:14
поделиться

Ответить точно: да . Существуют s*-tons информации, записанной на 'хорошем' проектировании баз данных. Хотя Ваше эмпирическое правило в качестве примера, конечно, сомнительно.

2
ответ дан hometoast 29 November 2019 в 00:14
поделиться

Используя первичные ключи с бизнесом, означающим ("естественные ключи"), конечно, имеет его достоинства, но он может сделать рефакторинг Вашей базы данных очень трудным. Соблюдите осторожность, особенно если существует какая-либо причина полагать, что структура базы данных будет изменяться со временем.

1
ответ дан James A. Rosen 29 November 2019 в 00:14
поделиться
Другие вопросы по тегам:

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