Pola Variant w MS SQL
Radoslaw Krzyzan - 21-12-2005 12:14
Pola Variant w MS SQL
Witam
Czy ktoś zna jakieś przeciwwskazania za używaniem pól typu Variant w bazie MS SQL ?
Mam dylemat związany z tworzeniem przez użytkownika własnego dokumentu sprzedaży, pola będą dynamicznie przechowywane w postaci
opcja 1.
ID_POLA : INTEGER ; WARTOSC : VARIANT ;
lub opcja 2.
ID_POLA : INTEGER ; TYP : INTEGER ; //1=STRING,2=MONEY,3=..... WARTOSC_INT : INTEGER ; WARTOSC_STRING : VARCHAR(255); WARTOSC_MONEY : MONEY ;
Drugie rozwiązanie wykorzystuje tylko jedno pole zaleznie od typu danych , więc jest pewna nadmiarowość.
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radoslaw Krzyzan, pl.communicator@radek <-- backwards ! www.communicator.pl , Skype : radoslaw.krzyzan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Radoslaw Krzyzan, pl.communicator@radek <-- backwards ! www.communicator.pl , Skype : radoslaw.krzyzan ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Grzesiek G. - 21-12-2005 12:14
Radoslaw Krzyzan napisał(a): > Witam > > Czy ktoś zna jakieś przeciwwskazania za używaniem pól typu Variant w bazie > MS SQL ? > > Mam dylemat związany z tworzeniem przez użytkownika własnego dokumentu > sprzedaży, pola będą dynamicznie przechowywane w postaci > > opcja 1. > > ID_POLA : INTEGER ; > WARTOSC : VARIANT ; > > lub > opcja 2. > > ID_POLA : INTEGER ; > TYP : INTEGER ; //1=STRING,2=MONEY,3=..... > WARTOSC_INT : INTEGER ; > WARTOSC_STRING : VARCHAR(255); > WARTOSC_MONEY : MONEY ; > > > Drugie rozwiązanie wykorzystuje tylko jedno pole zaleznie od typu danych , > więc jest pewna nadmiarowość. > > Polecam rozważyć opcję 3 jako alternatywę dla pierwszej: ID_POLA : INTEGER ; TYP : INTEGER ; //1=STRING,2=MONEY,3=..... WARTOSC : VARCHAR(255); Zalety: - wartość jest zawsze widoczna dla człowieka w sposób czytelny, - ze stringami radzą sobie wszystkie biblioteki narzędzi do tworzenia GUI, z wariantami nie.
Pośrednio też odpowiedziałem jakie są wady używania sql_varianta.
Pozdrawiam
-- Grzegorz Gruza Odpowiadając usuń "spamerom_nie." z adresu!!!
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?=
=?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?=
[MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?=
Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?=
[MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?=
=?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?=
[Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?=
=?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?=
[oracle] - Oracle SQL Developer - co to jest SID?
=?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
zanotowane.pldoc.pisz.plpdf.pisz.plkfia-tek.keep.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|