Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Тип данных record  [new]
Гуэст_
Guest
Требуется перенести кое какие данные из Оракла.
Скажите существует ли в MSSQL возможность создания своих типов например RECORD
например в оракле это создавалось вот так:
TYPE cust_address_typ
  AS OBJECT
    ( street_address     VARCHAR2(40)
    , postal_code        VARCHAR2(10)
    , city               VARCHAR2(30)
    , state_province     VARCHAR2(10)
    , country_id         CHAR(2)
    );
Можно ли подобное реализовать в MS не хотелось бы таблицы менять.
19 ноя 09, 16:32    [7952169]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Гуэст_
Guest
Или скажем какой нибудь тип МАССИВный. Который бы позволил в одном поле хранить скажем 2 - 3 однотипные записи
19 ноя 09, 16:36    [7952193]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Гуэст_
не хотелось бы таблицы менять.
Это у Вас в таблице поле такого типа?
А почему не 5 отдельных полей?
19 ноя 09, 16:36    [7952197]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
Гуэст_,

XML.
19 ноя 09, 16:37    [7952204]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Konst_One
Member

Откуда:
Сообщений: 11515
declare @mytype table (
      street_address  VARCHAR2(40)
    , postal_code        VARCHAR2(10)
    , city               VARCHAR2(30)
    , state_province     VARCHAR2(10)
    , country_id         CHAR(2)
   )

?
19 ноя 09, 16:41    [7952251]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Гуэст_
Guest
Паганель

А почему не 5 отдельных полей?

Вы знаете, я не в курсе почему так, но в оракле это обыденное дело, есть например у чела десяток телефонов. Зачем лепить 10 полей? когда можно в одно поле все прекрасно засунуть.
или скажем адрес, он стандартный таблица остается линейная, выдергивается опять же очень просто.
19 ноя 09, 16:43    [7952268]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Гуэст_
Guest
Konst_One
declare @mytype table (
      street_address  VARCHAR2(40)
    , postal_code        VARCHAR2(10)
    , city               VARCHAR2(30)
    , state_province     VARCHAR2(10)
    , country_id         CHAR(2)
   )

?


а как я это в поле таблицы засуну?
19 ноя 09, 16:48    [7952326]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Konst_One
Member

Откуда:
Сообщений: 11515
нет, это вам не подойдёт, вашу задачу я не понял.
вам предложили уже XML. думаю, что это самое оптимальное решение.
19 ноя 09, 16:49    [7952339]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Гуэст_
Вы знаете, я не в курсе почему так, но в оракле это обыденное дело, есть например у чела десяток телефонов. Зачем лепить 10 полей? когда можно в одно поле все прекрасно засунуть.


Это так прекрасно, что маме не горюй!!! Засунуть то можно, вот только как потом это все обрабатывать. Телефон - это сущность, и если "у чела десяток телефонов" то в таблице, реализующей эту сущность должно ыбть десять записей. А не какие то там рекорды.
19 ноя 09, 16:51    [7952359]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Гуэст_
есть например у чела десяток телефонов. Зачем лепить 10 полей? когда можно в одно поле все прекрасно засунуть.
Это будет не record, а уже array
Я про необходимость record-ов спрашивал
19 ноя 09, 16:51    [7952360]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Гуэст_
Guest
ну а если эти телефоны есть у десятка сущностей, мне каждой делать таблицу? или все телефоны сложить в одну? и то и другое не приемлемо.
За XML спасибо, но я про него знал.
19 ноя 09, 17:46    [7952743]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
-=DiM@n=-
Member

Откуда: Москва
Сообщений: 1564
автор
все телефоны сложить в одну

По-моему, оптимальное решение. Не знаю, чем вам оно не нравится?
19 ноя 09, 17:51    [7952766]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гуэст_
ну а если эти телефоны есть у десятка сущностей, мне каждой делать таблицу? или все телефоны сложить в одну? и то и другое не приемлемо.
За XML спасибо, но я про него знал.

Зачем на каждую ? Одна таблица с телефонами для всех сущностей
19 ноя 09, 17:53    [7952778]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4255
Гуэст_
Паганель

А почему не 5 отдельных полей?

Вы знаете, я не в курсе почему так, но в оракле это обыденное дело, есть например у чела десяток телефонов. Зачем лепить 10 полей? когда можно в одно поле все прекрасно засунуть.
или скажем адрес, он стандартный таблица остается линейная, выдергивается опять же очень просто.


вам что 10 полей жалко? если не собиаретесь обрабатывать потом средствами сервера - храните как бинарник или XML и обрабатывайте тогда на клиенте
19 ноя 09, 17:55    [7952788]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
Гуэст_
ну а если эти телефоны есть у десятка сущностей, мне каждой делать таблицу? или все телефоны сложить в одну? и то и другое не приемлемо.


Для чего не приемлемо?!
19 ноя 09, 18:01    [7952820]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
pkarklin
Гуэст_
ну а если эти телефоны есть у десятка сущностей, мне каждой делать таблицу? или все телефоны сложить в одну? и то и другое не приемлемо.


Для чего не приемлемо?!

Ну, если все телефоны сложить в одну таблицу, а сущности раскидать по разным - то как FK поддерживать то? Это ж не Navision.
19 ноя 09, 18:03    [7952828]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
locky
Ну, если все телефоны сложить в одну таблицу, а сущности раскидать по разным - то как FK поддерживать то? Это ж не Navision.


Ну, не только у навижена все сущности могут быть "унаследованы" от одной базовой - Object или Subject. ;)

Да даже если и нет от одной, то не вижу никаких проблем реализации через промежуточную таблицу EntityPhone для каждой сущности.
19 ноя 09, 20:52    [7953353]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
pkarklin
Да даже если и нет от одной, то не вижу никаких проблем реализации через промежуточную таблицу EntityPhone для каждой сущности.

А смысл тогда в общей таблице телефонов? Лишни джойн?
Разве что искать - чей это, собственно, телефон....
19 ноя 09, 21:10    [7953402]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
pkarklin
Ну, не только у навижена все сущности могут быть "унаследованы" от одной базовой - Object или Subject. ;)

У навижена хуже.
У него "условные ФК". "если тип равен нулю, то это ИД кастомера. Если тип равен 1 то это ИД склада" и т.д. :)
19 ноя 09, 21:15    [7953409]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
locky
А смысл тогда в общей таблице телефонов? Лишни джойн?
Разве что искать - чей это, собственно, телефон....


Гм... Ну, начнем с того, что номер телефона таки должен быть уникальным.
Скажем, проживающие в одной квартире члены семьи могут являться клиентами одного и того же банка. Опять же, телефон может переходить от одного абонента к другому (периодический реквизит). Вообщем модель можно раскрутить в зависимости от потребностей. :)
19 ноя 09, 21:15    [7953410]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
locky
У навижена хуже.
У него "условные ФК". "если тип равен нулю, то это ИД кастомера. Если тип равен 1 то это ИД склада" и т.д. :)


Чур меня, чур...
19 ноя 09, 21:16    [7953411]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
pkarklin
Гм... Ну, начнем с того, что номер телефона таки должен быть уникальным.

Да щаз!
И потом выяснять: а это только у меня поменялся номер телефона (и тогда нужно делать дубляж) или у всей моей семьи - и тогда можно просто обновить :)
19 ноя 09, 21:18    [7953416]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
pkarklin
Чур меня, чур...

А я с этим живу
Или, например, ФК на сабсет.
"Это ИД из списка кастомеров с типом 12"
19 ноя 09, 21:19    [7953422]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
locky
pkarklin
Чур меня, чур...

А я с этим живу
Или, например, ФК на сабсет.
"Это ИД из списка кастомеров с типом 12"
"Ненавижн"!
19 ноя 09, 21:24    [7953430]     Ответить | Цитировать Сообщить модератору
 Re: Тип данных record  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
locky
И потом выяснять: а это только у меня поменялся номер телефона (и тогда нужно делать дубляж) или у всей моей семьи - и тогда можно просто обновить :)


Ага, Data, понимаешь ли, их, Mining. ;)
19 ноя 09, 21:27    [7953438]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить