Это в порядке для не использования Первичного ключа, Когда мне не нужен тот

http://regexlib.com/REDetails.aspx?regexp_id=610

^ (? =\d) (?: (?:31 (?!. (?:0? [2469] |11)) | (?:30|29) (?!.0? 2) |29 (? =.0? 2. (?: (?: (?:1 [6-9] | [2-9] \d)? (?:0 [48] | [2468] [048] | [13579] [26]) | (?: (?:16 | [2468] [048] | [3579] [26]) 00))) (? $:\x20|)) | (?:2 [0-8] |1\d|0? [1-9])) ([-./]) (?:1 [012] |0? [1-9]) \1 (?:1 [6-9] | [2-9] \d)? \d\d (?: (? = \x20\d) \x20| $))? (((0? [1-9] |1 [012]) (: [0-5] \d) {0,2} (\x20[AP] M)) | ([01] \d|2 [0-3]) (: [0-5] \d) {1,2})? $

Это РЕ проверяет и даты и шаблоны времен. Дни в феврале также проверены в течение многих Високосных годов. Даты: в dd/mm/yyyy или d/m/yy форматируют между 01.01.1600 - 31.12.9999. Продвижение обнуляет, являются дополнительными. Разделители даты могут или соответствовать тире (-), наклонные черты (/) или времена периодов (.): в hh:MM:ss/PM 12-часовой формат (12:00 - 23:59:59) или hh:MM:ss военный формат времени (0:00:00 - 23:59:59). 12-часовой формат времени: 1) может иметь начальный нуль в течение часа. 2) Минуты и секунды являются дополнительными для 12-часового формата 3), AM или PM требуются и чувствительны к регистру. Военное время 1) должно иметь начальный нуль в течение всех часов меньше чем 10. 2) Минуты являются manditory. 3) секунды являются дополнительными. Datetimes: комбинация вышеупомянутых форматов. Дата сначала тогда время, разделенное пространством. исключая) dd/mm/yyyy hh:MM:ss

Редактирование : Удостоверьтесь, что Вы копируете RegEx с веб-сайта regexlib.com, поскольку StackOverflow иногда удаляет/уничтожает специальные символы.

8
задан gbn 8 March 2010 в 17:45
поделиться

9 ответов

A primary key uniquely identifies a row in your table.

The fact it's indexed and/or clustered is a physical implementation issue and unrelated to the logical design.

You need one for the table to make sense.

13
ответ дан 5 December 2019 в 04:30
поделиться

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

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

2
ответ дан 5 December 2019 в 04:30
поделиться

Вам нужен первичный ключ. Вы просто этого еще не знаете.

40
ответ дан 5 December 2019 в 04:30
поделиться

If you don't need a primary key then don't use one. I usually have the need for primary keys, so I usually use them. If you have related tables you probably want primary and foreign keys.

3
ответ дан 5 December 2019 в 04:30
поделиться

A primary key will always help with query performance. So if you ever need to query using the "key" to a "foreign key", or used as lookup then yes, craete a foreign key.

0
ответ дан 5 December 2019 в 04:30
поделиться

Я не знаю. Я использовал пару таблиц, в которых есть только одна строка и один столбец. Всегда будет только одна строка и один столбец. Нет никаких отношений внешнего ключа.

Зачем мне помещать на него первичный ключ?

0
ответ дан 5 December 2019 в 04:30
поделиться

Первичный ключ в основном формально определяется для обеспечения ссылочной целостности, однако, если таблица очень мала или вряд ли будет содержать уникальные данные, это ненужные накладные расходы. Определение индексов в таблице обычно может использоваться для обозначения первичного ключа без его официального объявления. Однако вы должны учитывать, что определение первичного ключа может быть полезно для разработчиков и инструментов создания схемы или SQL Dev, поскольку наличие метаданных помогает понять, и некоторые инструменты полагаются на это для правильного определения отношений первичный / внешний ключ в модели.

0
ответ дан 5 December 2019 в 04:30
поделиться

Ну ...

Для каждой таблицы в реляционной БД нужен первичный ключ. Как уже отмечалось, первичный ключ - это данные, которые однозначно идентифицируют запись ...

Вы можете обойтись без поля «ID», если у вас есть таблица NM, которая объединяет две разные таблицы, но вы можете однозначно идентифицировать запись по значениям из обоих столбцов, которые вы соединяете. (Составной первичный ключ)

Наличие таблицы без первичного ключа противоречит первой нормальной форме и не имеет ничего общего с реляционной БД

0
ответ дан 5 December 2019 в 04:30
поделиться

Нет, если вы не можете найти пример: «Эта база данных работала бы намного лучше, если бы у table_x не было первичного ключа».

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

2
ответ дан 5 December 2019 в 04:30
поделиться
Другие вопросы по тегам:

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