quarta-feira, 23 de novembro de 2011

Modelo relacional

Introdução
No modelo relacional a informação é apresentada através de relações (i.e. tabelas), que são manipuladas através de conjuntos intersecção, produtos cartesiano (p.e. joins), união, etc.
A base de dados relacional é um conjunto de relações, e cada uma possui um número específico de atributos (i.e. colunas) e um número variável tuplos (i.e. linhas ou instâncias).
A cada atributo é atribuído um domínio (i.e. conjunto de valores válidos) e um nome único na relação.
Por seu lado, os valores são armazenados na intersecção entre as linhas e os atributos, pertencendo ao domínio do atributo. Na “ausência de valor” estas assumem o valor “NULL”.

Uma operação entre conjuntos, que produz um novo conjunto (constituído por todas as combinações entre os seus elementos), designa-se por produto cartesiano.
Assim, uma relação é um subconjunto do produto cartesiano de uma lista de domínios (p.e. qualquer subconjunto de Int x String x String é uma relação).
Contudo, a informação obtida unicamente através de produtos cartesianos entre tabelas pode ser incoerente, despoletando a necessidade de se efectuarem joins. Estes correspondem a produtos cartesianos complementados por uma filtragem das linhas que obedecem a um determinado critério de equivalência.

Corolários da relação como conjunto:
·         O modelo relacional preconiza que não podem existir dois tuplos exactamente iguais, pois representariam a mesma realidade ou seja, informação duplicada;
·         Não podemos assumir a existência de uma ordem definida entre as linhas de uma tabela (i.e. que esta se encontre ordenada por um ou mais atributos).


Diferentes tipos de Keys
Chave primária ou Primary Key (doravante designada por PK) é um conjunto minimal de atributos que permitem identificar univocamente um tuplo de uma relação. Esta chave não pode conter registos vazios a deve ser única (i.e. não pode conter dois tuplos com o mesmo valor). Todas as relações têm de possuir uma cave primária.
Ao conjunto da PK com outro atributo, designa-se por Super-Chave (p.e. Num_cliente e Nome_cliente). Nesta chave, apenas o atributo PK deve encontrar-se sempre preenchido e ser único (no exemplo previamente facultado, o Nome_Cliente pode possuir registos com a mesma informação ou com valor “NULL”.
As Chaves Candidatas ou Candidate Keys são representadas por um conjunto de atributos, entre os quais se encontra a PK. Desta forma, os restantes atributos são designados por Chaves Alternativas ou Alternative Keys.

A Chave Composta ou Composed Key é constituída por mais do que um atributo e tal como a PK deve ser única (i.e. não podem existir registos com informação duplicada no conjunto ordenado de valores assumidos em todos os atributos que a compõem) e não deve conter registos “NULL”.

No processo de selecção da PK devem ser tidos em consideração os seguintes aspectos:
·         Deve ser composta por um atributo familiar ao utilizador – designadas por Chaves Naturais (conceito inexistente no modelo relacional original);
·         Por motivos de eficiência, esta deve pertencer a um domínio numérico;
·         Também por motivos de eficiência, esta deve ser composta por apenas um atributo.

A Chave Estrangeira ou Foreign Key (doravante designada por FK) corresponde ao atributo cujo domínio é composto por valores existentes na PK e apenas em PK. Caso, o atributo em causa possua valores “NULL” então este não será uma FK, uma vez que esse valor não é válido na PK.
A FK permite o cruzamento de variáveis entre tabelas.  


Restrição da integridade referencial
A restrição da integridade referencial corresponde à restrição dos dados na FK imposta por uma PK, ou seja, a FK apenas poderá conter valores não “NULL” definidos previamente na PK.
O quadro abaixo, permite-nos percepcionar as opções que os Administradores dos sistemas possuem para gerir esta restrição quando os utilizadores pretendem apagar, criar ou alterar as PK’s.

Opção
“ON DELETE”
“ON UPDATE”
Restrict
A BD não permite apagar o valor da PK, sem que se apague primeiro todas as linhas com FK associadas ao valor
A BD não permite criar/alterar o registo
Cascade
A BD permite apagar o valor da PK, apagando automaticamente todas as linhas com FK associadas a esse valor
Ao alterar a PK, a BD automaticamente actualiza todos os registos na FK.
Set NULL
A BD permite apagar o valor da PK, e automaticamente todos os registos de FK associadas a esse valor, passam a assumir o valor “NULL”
Ao alterar a PK, a BD automaticamente actualiza todos os registos na FK com o valor “NULL”.  
Quadro 1 – Restrição da integridade referencial


Os Administradores possuem ainda outros tipos de restrições que lhes permite gerir a integridade dos dados:
·         Definir o atributo como PK ou FK;
·         Definir se o atributo pode ou não assumir valores “NULL”;
·         Definir o atributo como “UNIQUE”, ou seja, definir se este pode ou não possuir registos duplicados;
·         Definir validações por lógica envolvendo um ou mais atributos e operadores lógicos;
·         Definir o “valor por omissão”, ou seja, o valor que é automaticamente preenchido no caso de existirem registos vazios;
·         Definir descritivos textuais (i.e. comentários) sobre o objectivo do atributo.


Referências
Professor José Farinha (2011): Apontamentos e documentação em formato digital, facultada no âmbito do MSIAD do ISCTE-IUL.

Introdução às bases de dados

Introdução
As bases de dados (doravante designadas por BD’s) permitem o rápido acesso a grandes quantidades de dados, por uma grande quantidade de acessos simultâneos. Características exigidas pelos sistemas de informação de grande escala.
Estas armazenam informação estruturada que pode ser consultada e alterada de múltiplas e variadas formas por múltiplos utilizadores em simultâneo.

As principais características das BD’s são:
·         Eficiência na consulta e escrita de dados;
·         Possibilidade de solicitar qualquer informação que este contida nas relações;
·         Possibilidade de acessos de vários utilizadores sem simultâneo;
·         Protecção de dados contra incorrecções;
·         Gerir permissões de acesso.

Existem diversos tipos de BD’s, que se encontram associadas a diferentes tecnologias:
·         Transaccionais ou operacionais – suportam as operações/transacções das empresas para registarem informação diariamente, privilegiando a alteração dos dados;
·         Analíticas ou dimensionais – são BD’s de apoio à gestão e Data Warehouses, privilegiando a consulta dos dados;
·         Gráficas ou GIS – são BD’s que utilizam muita informação multimédia (p.e. Google Maps);
·         Multimédia – são BD’s que implicam o reconhecimento da imagem;
·         Textuais – são BD’s de texto (p.e. Google).

O ciclo do sistema de construção de uma BD é composto pelas seguintes fases:
·         Levantamento de necessidades;
·         Análise do problema (equivalente ao arquitecto);
·         Desenho do sistema (equivalente ao construtor civil);
·         Programação (equivalente aos pedreiros, electricistas, etc.);
·         Utilização.


Outros conceitos
Os sistemas transaccionais são dotados da capacidade de efectuar transacções. Nestes sistemas, ou são realizadas todas as operações “invisíveis” que compõem as transacções, ou não é realizada nenhuma.

Os sistemas concorrenciais permitem múltiplos acesso em simultâneo aos mesmos dados sem gerar conflitos, através do policiamento dos dados (p.e. dois levantamentos na mesma conta bancária).


Referências

Professor José Farinha (2011): Apontamentos e documentação em formato digital, facultada no âmbito do MSIAD do ISCTE-IUL.

sábado, 19 de novembro de 2011

Práticas de modelação

Função logística


A função exponencial apresenta limitações quanto à sua aplicabilidade em temas tais como peso dos indivíduos e vendas (p.e. no início de vida de um individuo, o aumento do seu peso pode ser proporcional ao tempo de vida, contudo a partir de determinada altura, o aumento do seu peso começa a abrandar, limitado pelo peso máximo que um individuo pode atingir).

Em 1838, o matemático Pierre François Verhulst abordou pela primeira vez a equação que viria em 1845 a suportar a designação de função logística. Esta função segue um padrão sigmóide, conforme poderá ser verificado no gráfico abaixo:

                                               Gráfico 1 – Função logística

Nos anos 20, Raymond Pearl e Reed Lowell disseminaram a utilização desta função aplicada em diversas áreas. Aplicando-se, no caso especifico das vendas, a seguinte equação:




Desta forma, apresentamos abaixo um exemplo utilizado nas aulas do MSIAD, para efectuar a modelação da previsão das vendas de televisões a cores, através da utilização da função logística:



                                             Gráfico 2 – Modelação da previsão de vendas

Conforme podemos constatar, a curva das vendas previstas assemelha-se à curva que representa as vendas efectivas, pelo que podemos concluir que a função logística é adequada para a modelação da previsão das vendas.

Referências

Trigueiros, D. (2011). I: In Sistemas Integrados de Apoio à Decisão.

sexta-feira, 4 de novembro de 2011

A informação

Conceito de informação
Antes de procedermos à descrição dos atributos qualitativos da informação, é essencial compreendermos o significado de “informação”, correntemente confundida com os dados e com o conhecimento. Contudo, são termos bastante distintos, pelo que é essencial aprendermos a distingui-los.
Os dados, caracterizados por atributos e valores, sem um processamento adequado não transmitem ao utilizador qualquer tipo de informação e desta forma não geram valor para a organização.
A informação consiste nos dados capazes de remover incertezas, de forma total ou parcial, e desta forma auxiliar no processo de tomada de decisão. No entanto, a informação não é apenas um conjunto de dados estruturados, pois estes têm de ser úteis ao utilizador. Os dados que “eu já sabia” ou sobre os quais eu “não quero saber”, não são dados úteis uma vez que não removem incertezas, não sendo informação.
Dados é tudo o que pode ser processado e as informações são dados que descrevem um domínio físico ou abstracto (Gadomski, 1993).
Salienta-se que a informação é um dado, mas poucos dados são informação. O dado apenas é informação quando é novidade e revela algo que se deseja saber (Trigueiros, 2011).

O conhecimento, advém de diversos factores, tais como os dados, a informação e do seu envolvente. Significa que os utilizadores interpretam a informação e utilizam-na nos seus processos de decisão.
Numa lista telefónica, podemos claramente efectuar a distinção dos conceitos acima referidos. A lista em si, como estamos habituados a consultar, possui informação estruturada que permite ao utilizador possuir acesso ao número de telefone ou à morada de determinado indivíduo. Por outro lado, se este apenas tivesse acesso a determinados dados, por exemplo apenas ao número de telefone, este só por si não lhes transmitiria qualquer género de informação pois estes são dados sem contexto.

Os sistemas de informação (SI) têm como objectivo a transformação dos dados em informação e/ou em conhecimento, tendo como input os dados. Desta forma, os SI podem ser equiparados a fabricas, pois da mesma forma que estas transformam matérias-primas em produtos acabados prontos a serem enviados para os clientes, os SI transformam a informação e os dados em mais informação para fornecer aos utilizadores (Wang, 2000). Sendo a sua missão, fornecer informação com qualidade aos seus utilizadores.

Requisitos (desafio) da informação
A conversão dos dados em informação depara-se com os seguintes desafios:
·         Os dados têm de ser de boa qualidade, sendo este um dos maiores problemas. Apenas nos anos 90, é que os SSD (Sistemas de Suporte à Decisão) se viraram para os dados, não porque não se preocupassem com eles, mas sim devido à complexidade intrínseca ao seu tratamento, nomeadamente quanto ao seu tratamento de uma forma estruturada e sistemática;
·         Não devem ser recolhidos mais dados do que aqueles que são necessários. Caso necessário esse processo incremental deverá ser efectuado de uma forma gradual;
·         Automação da recolha dos dados. Este processo evoluiu bastante com o aparecimento dos códigos de barras, que permitem a introdução no sistema de uma maior volume de informação num curto espaço de tempo e informação de maior qualidade;
·         A informação deve ser atempada, caso contrário permite a remoção da incerteza no processo de tomada de decisão, consequentemente deixa de ser útil;
·         A informação deve ser comunicada ao utilizador de forma a permitir-lhe absorvê-la. Esta deve ir de encontro às “questões/duvidas” do mesmo (“straight to the point”), pelo que os analistas de dados não devem divagar na informação que transmitem.

É de salientar, que um conjunto de dados pode estar correcto, mas se a sua forma de apresentação ao utilizador não for de simples interpretação e se esta não for disponibilizada atempadamente, a qualidade da mesma será reduzida para o utilizador.

A informação ao falhar no cumprimento dos requisitos acima, perde interesse para o utilizador, naturalmente este deixará de utilizar os sistemas de informação. Cada vez mais, os utilizadores exigem obter atempadamente informação de qualidade de uma forma rápida.

Atributos da informação
Nos últimos anos tem-se vindo a reconhecer a importância estratégica da informação para as empresas. Consequentemente, os problemas associados à falta da qualidade da informação são um sentimento cada vez mais trivial nas empresas. A mais-valia gerada pelos investimentos em informação é só por si bastante difícil de mensurar, no entanto após a implementação dos mesmos a falta de qualidade da informação repercute-se nas empresas, com maior ou menor impacto, traduzindo-se no acréscimo de custos ou na redução dos proveitos. Ou seja, é difícil mensurarmos à priori o beneficio gerado pela qualidade da informação, mas por outro lado torna-se simples mensurarmos os impactos causados pela falta da mesma.

Destacam-se as seguintes características qualitativas da informação:
·         Detalhe – o nível de detalhe é o principal atributo da informação e classifica-se em exaustiva, detalhada e resumida. Apenas deve ser facultada ao utilizador, a informação que este pretende obter;
·         Exactidão – Classifica-se em precisa, aproximada e vaga. Os utilizadores nem sempre pretendem obter os dados mais precisos. Por exemplo, os sistemas FUZZI baseiam-se em informação vaga sobre a qual não temos uma certeza mas apenas uma ideia. Por vezes a exactidão pode ser confusa, não sendo a informação adequada. Por exemplo, saber-se que se tem de travar o carro 6 segundos antes de se chegar ao local no qual se pretende parar, é uma informação inútil;
·         Dureza – Classifica-se em evidente, inferencial e conjectural. Informação evidente é a que pode ser verificada imediatamente, a inferencial pode tornar-se evidente após algum raciocínio e a conjectural é informação que não podemos validar (por exemplo, um advogado afirmar a inocência do seu cliente sem provas que suportem a sua afirmação). É importante fazermos a distinção entre a informação que é conjectural da que não o é;
·         Claridade – Classifica-se em clara, confusa ou ambígua. A informação clara é a que apenas possui uma interpretação, a confusa é a informação a partir da qual não conseguimos chegar directamente ao seu significado e a ou ambígua é a que pode ter mais do que uma interpretação. Os utilizadores pretendem sempre informação clara e nunca ambígua;
·         Consistência / abrangência – Classifica-se em abrangente, parcial ou truncada. A informação abrangente é a que descreve tudo o que deveria descrever, a parcial apenas demonstra uma parte do todo (p.e. apenas mostra um dos lados da moeda, é uma meia verdade) e a truncada é a que apenas contem uma parte ínfima da verdade;
·         Objectividade – Classifica-se em objectiva, distorcida ou falsa. Por exemplo, na consistência omite-se informação e na objectividade distorce-se a realidade, representando a omissão vs a mentira.

Os atributos acima mencionados podem ou não possuir uma relação directa entre si. Por exemplo, informação que não é consistente também não é objectiva.

Contudo, para outros autores e sectores de actividade, existem outras dimensões para categorizar a qualidade da informação. Adaptando a visão de outros autores como Wang (Richard Y. Wang, 2002) a qualidade da informação deve ter em consideração as seguintes características:
·         Intrínseca – Os dados, independentemente do seu fim, devem ser correctos, objectivos, fiáveis e ser verdadeiros;
·         Contextual – A informação, dependendo do seu contexto, deve gerar valor acrescentado, ser relevante, estar disponível, ser completa e de volume apropriado;
·         Representacional – A informação deve ser transmitida aos utilizadores de forma que esta seja interpretável, compreensível, consistente e concisa;
·         Acessibilidade – Na qualidade da informação um importante aspecto é a acessibilidade e a segurança dos dados.


Por outro lado, é interessante distinguirmos as características exigidas por diferentes hierarquias nas empresas. O quadro abaixo permite-nos distinguir entre as necessidades exigidas ao nível táctico e ao nível operacional.

Nível táctico
Nível operacional
Não comparativa
Rotineira
Precisa
Alta circulação
Orientada para decisões de curto prazo
Informa a regra e não a excepção
Detalhada
Interna à empresa
Comparativa
Apresentada graficamente
Baixa precisão
Baixa circulação
Orientada para decisões de longo prazo
Informa a excepção
Pouco detalhada
Interna e externa à empresa
        Quadro 1 - Evolução dos sistemas de suporte à decisão

Nos últimos anos, têm-se vindo a sentir a exigência dos utilizadores, relativamente à rapidez com que a informação é disponibilizada e os custos associados à mesma, emergindo duas novas características associadas à informação: esta deve ser veloz e económica. Os custos associados à implementação de SI têm vindo a diminuir, tornando-se cada vez mais acessíveis a empresas de pequena e média dimensão. Esta progressão, deve-se não só aos avanços tecnológicos, mas também à crescente oferta de sistemas cada vez mais “user friendly” e de mais simples de implementação.
Como pode ser verificado, não existe unanimidade sobre as características e o significado das mesmas, no entanto devemos estar cientes que estas devem ser sempre adaptadas às necessidades dos utilizadores, tarefa que por vezes é bastante difícil pois deriva da experiencia e conhecimento de cada um independentemente do seu papel na organização.



Referências

Gadomski, A. (1993).
Richard Y. Wang, L. L. (2002). Obtido em 2011, de web.mit.edu/tdqm/www/.../PipinoLeeWangCACMApr02.pdf
Trigueiros, D. (2011). I: Teoria da Decisão ISCTE-IUL, DCTI. In Sistemas Integrados de Apoio à Decisão.
Wang, R. Y. (2000). Data quality. Kluwer Academic Publishers.