|
|
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Есть простая задача, на первый взгляд: В данных фигурируют организации, у них само собой ИНН. Как создавать ключевую таблицу? 1. ИНН делать PK, но тогда как это отобразиться на объеме и быстродействии БД? Может просто генератором как обычно? 2. Какой вид данных ставить на поле ИНН Integer или Char? Поделитесь опытам как удобнее всего? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:03:35 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Borr B> 1. ИНН делать PK, но тогда как это отобразиться на объеме и B> быстродействии БД? Может просто генератором как обычно? Я бы сделал суррогатный ключ на генераторе, а на поле с ИНН наложил unique constraint Borr B> 2. Какой вид данных ставить на поле ИНН Integer или Char? Ага, интежер а завтра они 20-значный ИНН сделают :) Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:09:30 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
вполне могут быть организации с одинаковым ИНН ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:10:54 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
srf2000вполне могут быть организации с одинаковым ИНН хм, всегда думал, что ИНН - уникален ссылку, пожалуйста Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:14:10 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
вообще то ИНН отдельно нахер никому не нужен, разве что в платежке, и то все равно вместе с КПП. поэтому например 1С хранит ИНН и КПП как ДВА реквизита В ОДНОМ поле, разделенные символом /. И никто до сих пор не пострадал :-) ты бы предметную область подизучил, прежде чем ее автоматизировать. А то сразу "ИНН! Первичный ключ! Генератор!". ИНН даже как unique всем до лампочки. Вот есть ОГРН - который да, уникальный. И т.д. и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:16:16 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас srf2000вполне могут быть организации с одинаковым ИНН хм, всегда думал, что ИНН - уникален ссылку, пожалуйста Posted via ActualForum NNTP Server 1.3 Уникален то уникален, но бывают филиалы с другим адресом, названием и одинаковым ИНН с головной конторой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:17:23 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас srf2000вполне могут быть организации с одинаковым ИНН хм, всегда думал, что ИНН - уникален ссылку, пожалуйста Posted via ActualForum NNTP Server 1.3 ну например филиалы, подразделения и головное головное предприятие могут иметь одинаковый ИНН. ссылки лень искать :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:18:13 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
авторты бы предметную область подизучил, прежде чем ее автоматизировать. А то сразу "ИНН! Первичный ключ! Генератор!". Дело в том что я не с бухгалтерами работаю им КПП до лампочки. А данные не надо выводить типа ИНН/КПП - тогда каждый раз разделять строчку, зачем мне эта головная боль. Карабас Барабас Спасибо я так и сделал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 09:40:07 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
При постановке на учет в другой налоговый орган ИНН не изменяется, а изменяется КПП. Если и делать ключ, то по двум полям - ИНН+КПП. И то это имеет смысл лишь в случае, что это реестр организаций, и двух записей с одинаковыми реквизитами в этой таблице быть не может. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 10:03:59 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
И еще: ИНН вида 8901хххххх не поместится в тип Integer (или я не прав?..) А у физических лиц ИНН 12-значный - ну разве что его Int64 делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 10:07:36 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
авторИ еще: ИНН вида 8901хххххх не поместится в тип Integer (или я не прав?..) А у физических лиц ИНН 12-значный - ну разве что его Int64 делать. Тоже верно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 10:43:51 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Borr авторты бы предметную область подизучил, прежде чем ее автоматизировать. А то сразу "ИНН! Первичный ключ! Генератор!". Дело в том что я не с бухгалтерами работаю им КПП до лампочки. А данные не надо выводить типа ИНН/КПП - тогда каждый раз разделять строчку, зачем мне эта головная боль. Карабас Барабас Спасибо я так и сделал. а что за боль то? если firebird напиши UDF и им дели прям в процедуре... малоли где потом понадобится ;) сделай универсально, это не требует тут каких-то мега трудозатрат, а геороя в дальнейшем можно будет избежать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 11:51:21 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
zothа что за боль то? если firebird напиши UDF и им дели прям в процедуре... малоли где потом понадобится ;) сделай универсально, это не требует тут каких-то мега трудозатрат, а геороя в дальнейшем можно будет избежатьКак раз геморроя (как и прочих ЛузерДефайнедФанкшнз) позволит избежать хранение ИНН / КПП в отдельных полях. А клеить их в одну строку можно и полем calculated. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 12:01:52 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
авторпозволит избежать хранение ИНН / КПП в отдельных полях. А клеить их в одну строку можно и полем calculated. у Borr вроде как не бухгалтерия, поэтому ему не надо. а для бухгалтерии разделение ИНН и КПП на отдельные столбцы не является важным. В 1С исторически был только ИНН, потом указание КПП в платежках стало обязательным для некоторых случаев, поэтому КПП ввели как "аппендикс". Если бы сделали отдельным столбцом - ничего с точки зрения клиента это бы не поменяло. Поэтому udf необязательна, а если и нужна, то легко делается из той же самой функции которой комбинированный ИНН-КПП обрабатывался бы на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 12:13:16 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
WildSery zothа что за боль то? если firebird напиши UDF и им дели прям в процедуре... малоли где потом понадобится ;) сделай универсально, это не требует тут каких-то мега трудозатрат, а геороя в дальнейшем можно будет избежатьКак раз геморроя (как и прочих ЛузерДефайнедФанкшнз) позволит избежать хранение ИНН/КПП в отдельных полях. А клеить их в одну строку можно и полем calculated. а ну да... я просто изходил из того что уже имеется структура, не ругайся ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 12:21:18 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
zothя просто изходил из того что уже имеется структура, не ругайсяТы о чём? Никакой ругани, только обсуждение. Я стараюсь UDF использовать только в крайнем, действительно необходимом случае. А если можно заменить "родной" конструкцией, иногда даже выглядящей как бред, то и тогда только после тестов скорости выполнения в сравнении. ЗЫ: Вывести меня из себя (до ругани) практически невозможно даже нашим юзерам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 12:30:10 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
WildSery[quot zoth] ЗЫ: Вывести меня из себя (до ругани) практически невозможно даже нашим юзерам. ну или вопросами про абц ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.10.2006, 13:24:22 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Пару правил: При работе с ИНН не забываем проверять контрольную сумму. При 12 значном ИНН - КПП д.б. пустым. -- Dik76 Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 00:29:43 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
MazoHistИ еще: ИНН вида 8901хххххх не поместится в тип Integer (или я не прав?..) А у физических лиц ИНН 12-значный - ну разве что его Int64 делать. Не знаю как в русских, но в украинских ИНН могут быть ведущие нули, причем значащие. Потому, если ты надумал хранить его как число - то потом придется застрелиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 14:17:23 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
x.diablo MazoHistИ еще: ИНН вида 8901хххххх не поместится в тип Integer (или я не прав?..) А у физических лиц ИНН 12-значный - ну разве что его Int64 делать. Не знаю как в русских, но в украинских ИНН могут быть ведущие нули, причем значащие. Потому, если ты надумал хранить его как число - то потом придется застрелиться. зачем стреляться? неужели трудно приписать нули спереди? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 14:27:52 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
x.diabloНе знаю как в русских, но в украинских ИНН могут быть ведущие нули, причем значащие.И что, нулей впереди может быть разное количество, и это будут разные ИНН? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 14:46:39 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
WildSery W> И что, нулей впереди может быть разное количество, и это будут разные W> ИНН?наверное там в одноричной системе Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 14:48:15 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Карабас Барабаснаверное там в одноричной системе ну да всё равно, можно преобразовать и хранить только число цифр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.11.2006, 14:52:48 |
|
||
|
ИНН и вид данных
|
|||
|---|---|---|---|
|
#18+
Тоже хотел изменить тип с varchar(12) на bigint, но: 1. Таблица - справочник организаций 2. ИНН и КПП храню в разных колонках. 3. В списке есть и ЮЛ и ИП ИНН у которых 10 и 12 цифр соответственно Что имеем: ИНН у меня - первичный ключ. Если будет филиал - будет бяка. Пока их нет и не планируется, но если уж переделывать, то надо учесть. x.diabloНе знаю как в русских, но в украинских ИНН могут быть ведущие нули, причем значащие. Потому, если ты надумал хранить его как число - то потом придется застрелиться. Та же тема. Но не все так печально. Дописать нули в ответе можно таким запросом Код: sql 1. 2. 3. 4. 5. 6. Но проблема не решена. Я думаю, что ноль в начале может быть только один как у ЮЛ так и у ИП. То есть не может быть ИНН у ИП с тремя нолями впереди. А это решает задачу, но раздувает запрос. ИНН у меня primary key в таблице - справочнике и имеет много связей с другими таблицами. Как то вот все же хочется хранить цифры как число а не как текст. Но тут надо даже не беря во внимание филиалы, определиться что проще. Хранить как varchar(12) или дорисовывать нули при запросе. Делать в такой таблице суррогатный ключ мне совершенно не хочется, т.к. связка двух колонок ИНН и КПП в справочнике фирм - дело уникальное. А суррогатный ключ не будет использоваться ни для чего. Индексы, запросы, сортировка, чтение, правка - он нафиг не нужен! Единственное что можно сделать, это связи с другими таблицами по нему. Но зачем? Там тоже есть ИНН которым сейчас все и связывается. Как итог пока скажу так: С типом varchar(12) На небольшой базе со справочником фирм в 5000 записей и несколькими связанными журналами по 50'000 записей, все летает. Необходимости в оптимизации вообще нет. Но если можно лучше, почему бы это не сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2014, 17:24:35 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=34092918&tid=1563791]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
61ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 429ms |

| 0 / 0 |
