2016-12-01 13:04 GMT-02:00 Márcio A. Sepp <[email protected]>: >> >> Você quer dizer tipos compostos nas chaves primárias, ou chaves >> primárias compostas? > > Tipos compostos em chaves primárias.
Certo. É pergunta tão rara, que achei que podia ter sido erro de expressão. > Exemplo hipotético: > > CREATE TYPE public.tanimal AS > (especie integer, > chip integer); > > CREATE TABLE public.animal > ( > identificacao tanimal NOT NULL, > nascimento timestamp with time zone, > CONSTRAINT animal_pkey PRIMARY KEY (identificacao) > ) > > Numa modelagem tradicional eu teria na tabela (hipotética) de animal os > campos especie e chip como chave primária, pois para cada especie de animal > eu posso ter um chip de tamanhos diferentes e a numeração digamos que possa > se repetir entre os diferentes tipos de chips. > > Que vantagens/desvantagens eu teria em utilizar esta abordagem ao invés de > utilizar a tradicional? > Onde pode ser aplicado um tipo composto e que ele se sairá melhor que a > modelagem tradicional? Sinceramente não vejo vantagem alguma. Talvez facilite mapeamento para alguma estrutura de dados nalguma linguagem, mas não consigo imaginar nada específico. Na dúvida, sempre mantenha a simplicidade. São dois atributos diferentes, só vejo sentido se eles fossem sempre manipulados juntos. Esse é um daqueles exemplos de como o SQL nem é relacional, nem foi bem feito: esse TYPE do SQL não é um tipo de verdade. Um tipo de verdade seria uma especificação de um domínio e de seus operadores; aliás, o DOMAIN do SQL também não é um domínio de verdade. O SQL é melhor que as alternativas não relacionais (na verdade, sub ou prerrelacionais), mas ele mesmo não é relacional (seria mais sub ou quase-relacional) nem segue uma lógica clara. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:[email protected] +55 (61) 9302 2691 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT−3 MSN: msnim:[email protected] _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
