Mostrando postagens com marcador MDR. Mostrar todas as postagens
Mostrando postagens com marcador MDR. Mostrar todas as postagens

segunda-feira, 8 de setembro de 2008

Valor - Dado - MDR

image

Um valor é um símbolo (termo ou elemento simbólico) que é utilizado para caracterizar (quantificar ou qualificar) uma propriedade ou característica de uma entidade, um objeto, um relacionamento ou uma ligação.

No MDR os valores são atômicos, por uma necessidade de simplicidade quando da criação do MDR.

Ver: Valor - Termo - Símbolo

Atributo - Coluna - MDR

image
 
Uma Coluna de uma Tabela num BD Relacional representa um Atributo de uma Entidade-Tipo, de um Relacionamento-Tipo, de uma Classe ou de uma Classe de Associação.

Uma Tabela nu BD Relacional deve ter uma quantidade finita de Colunas.

Cada coluna apresenta um nome único numa Tabela.

A ordem entre as colunas é indiferente do ponto de vista lógico, podendo ser relevante do ponto de vista físico, dependendo do SGBD.

Todo o atributo de uma relação tem um nome.

O conjunto de valores que um atributo pode tomar é chamado de domínio do atributo.

Normalmente, obriga-se a que os valores dos atributos sejam atómicos, ou seja, indivisíveis:

  • atributos multivalor não são atómicos
  • atributos compostos não são atómicos

O valor especial null pertence a todos os domínios.

O valor null causa complicações na definição de muitas operações.

Ignoraremos o efeito dos valores nulos em grande parte da apresentação mas consideraremos posteriormente as suas implicações.

image

image

MDR - Modelo de Dados Relacional - Componentes Estruturais

image

São os seguintes os elementos (componentes) de modelagem estrutural do MDR:

  1. Valor (Dado) Ver também => Termo (Elemento Simbólico - Símbolo - Valor - Dado) 
  2. Domínio (Tipo de Dado)
  3. Linha - Tupla
  4. Coluna - Atributo
  5. Tabela - Relação
    1. Relação - Esquema
    2. Relação - Instância
    3. Relação - Chaves

Produto Cartesiano

Na Matemática, dados dois conjuntos X e Y, o produto cartesiano (ou produto direto) dos dois conjuntos (escrito como X × Y) é o conjunto de todos os pares ordenados cujo primeiro elemento pertence a X e o segundo, a Y.


 

 


O produto cartesiano recebe seu nome de René Descartes, cuja formulação da geometria analítica deu origem a este conceito.

Por exemplo, se o conjunto X é o dos treze elementos do baralho ingles X = {A,K,Q,J,10,9,8,7,6,5,4,3,2} e o Y é o dos quatro “naipes” Y = {♠, ♥, ♦, ♣}
então o produto cartesiano desses dois conjuntos será o conjunto com as 52 cartas do baralho:

X × Y = {(A, ♠), (K, ♠), ..., (2, ♠), (A, ♥), ..., (3, ♣), (2, ♣)}.

image

image 

a) Link para Produto Cartesiano - Relações e Funções

Chave - MDR

image

Em BDR uma Chave é composta de uma ou mais Colunas (Atributos) de uma Tabela (Relação) com um dos seguintes propósitos:

  1. Chave de Identificação Unívoca
    1. Super-Chave
    2. Chave Candidata
    3. Chave Primária
    4. Chave Alternada 
  2. Chave de Relacionamento entre Tabelas
    1. Chave Estrangeira 
  3. Chave de Acesso
    1. Chave Secundária 

Relação - Instância - MDR

image

Um esquema Relacional de um Banco de Dados é formado por um conjunto de esquemas das relações S = {R1,R2,…, Rm} e um conjunto de restrições de integridade IC

Uma Instância de um esquema relacional de um Banco de Dados (BD) é um conjunto de instâncias de relações pertencentes a a um esquema Relacional (S) BD = {r1, r2, … rm}, tal que ri é instância de Ri, e tal que as ri’s satisfazem IC.

image

 image

 image

image

image

image

Relação - Esquema - MDR

image

Usado para descrever uma relação através da especificação de seus atributos e domínios.

Formado pelo nome da relação e uma lista de atributos A1, A2, ..., An, onde Aj é o nome do papel desempenhado pelo domínio Dj no esquema da relação R.

Também chamado de intenção da relação R.

SE A1, A2, …, An são atributos

ENTÃO R = (A1, A2, …, An ) é um esquema de relação.

Exemplo: Customer-schema = (customer-name, customer-street, customer-city)

image

image

Relação - Tabela - MDR

Matematicamente, uma relação é qualquer subconjunto de um produto cartesiano. Em termos mais explícitos, definimos uma relação R como sendo um conjunto de pares (a,b) ordenados tais que a pertença ao conjunto A e que b pertença ao conjunto B.


Em termos matemáticos:





Note-se que até o próprio conjunto cartesiano é um tipo de relação, dado que todo conjunto é subconjunto de si mesmo.

Até o conjunto vazio pode ser considerado uma relação.

image

image

image

image

image

Formalmente, dados os conjuntos D1, D2, …. Dn uma relação r é um sub-conjunto de
D1 x D2 x … x Dn

Assim uma relação é um conjunto de n-tuplas (a1, a2, …, an) onde ai Î Di

Exemplo:

  • Se customer-name = {Jones, Smith, Curry, Lindsay}
        customer-street = {Main, North, Park}
        customer-city = {Harrison, Rye, Pittsfield}
  • Então r = { (Jones, Main, Harrison),
                    (Smith, North, Rye),
                    (Curry, North, Rye),
                    (Lindsay, Park, Pittsfield)}
    é uma relação sobre customer-name x customer-street x customer-city

 image

Uma Tabela ou Relação é um conjunto de elementos de dados (valores) que é organizada usando um modelo (matriz) de linhas e colunas.

As colunas são identificadas pelo seu nome.

As linhas são identificadas pelos valores que assumem as chaves candidatas da tabela.

Existem diferenças entre tabelas (num BD Relacional) e relações (do ponto de vista puramente matemático):

  • Uma tabela pode admitir linhas repetidas (ela é um bag);
  • Uma relação matemática não admite repetição de elementos (ela é um set - conjunto).

Cada tabela tem um nome que deve ser único no BD ao qual pertence.

Uma tabela possui uma quantidade fixa de colunas, não apresentando limitações teóricas quanto a quantidade de linhas.

MDR - Domínio - Tipo

O elemento mais básico do MDR é o domínio ou tipo de dado ("data type"), usualmente abrviado como tipo ("type").

image

Em BD Relacionais um domínio representa um conjunto de valores semelhantes sobre os quais os atributos ou colunas serão definidos.

image

Todo domínio possui uma descrição física e outra semântica.

A descrição física serve para identificar o tipo e o formato dos valores que compõem o domínio.

exemplo: char(13), “(dd)dddd-dddd”

A descrição semântica serve para ajudar na interpretação de seus valores.

exemplo: “Números de telefone do Estado do RJ”

image

image

quinta-feira, 13 de dezembro de 2007

MDR - Chave Secundária

Uma Chave Secundária é uma Chave que tem como propósito otimizar o acesso as Linhas de Tabelas em um BDR, normalmente são implementadas através de Índices num BDR.


MDR - Chave Estrangeira

Uma Chave Estrangeira é uma Chave de Relacionamento ou seja ela tem como propósito representar os Relacionamentos entre Tabelas num BDR.

A chave estrangeira de uma tabela pode ser definida como um conjunto de atributos da tabela (um ou mais atributos) com a propriedade de estabelecer relacionamento entre linhas de tabelas.

Uma chave estrangeira corresponde sempre a uma chave primária previamente definida em alguma tabela.

Em outras palavras um valor de chave estrangeira sempre aponta para um valor de chave primária previamente existente no banco de dados. Essa restrição é denominada de “Restrição de Integridade Referencial”.

Uma chave estrangeira pode conter valor nulo.

Chave Estrangeira é o mecanismo através do qual o Modelo de Dados Relacional implementa relacionamentos entre tabelas.

MDR - Chave Alternada

As Chaves Candidatas não selecionadas para Chave Primária são consideradas Chaves Alternadas (alternativas a Chave Primária).



MDR - Chave Primária

A Chave Primária de uma Tabela é uma Chave Candidata escolhida de acordo com algum critério, lógico ou físico.
  1. Volatilidade
  2. Tamanho
  3. ...

MDR - Chave Candidata

Uma Chave Candidata é uma Super-Chave minimal, ou seja é uma Super-Chave da qual não podemos eliminar uma Coluna (Atributo) senão ela perde a propriedade de "Identificação Unívoca de Linhas" da Tabela.



MDR - Super Chave

Uma Super-Chave de uma Tabela pode ser definida como um conjunto de colunas (atributos) da tabela (um ou mais) com a propriedade de identificação unívoca de linhas da tabela.

Em outras palavras não podem existir duas ou mais linhas da tabela com o(s) mesmo(s) valores de uma Super-Chave. Essa restrição é denominada “Restrição de Integridade de Entidade”.

Uma Super-Chave de uma Tabela não pode conter Valor Nulo (NULL).




MDR - Tupla ou Linha


Na matemática uma tupla é uma seqüência finita (também conhecida como uma "lista ordenada") de objetos matemáticos.

Uma tupla contendo "n" objetos matemáticos é conhecida como uma "n-tupla" ou ênupla.

Tuplas são utilizadas para descrever entes matemáticos. Por exemplo, um grafo direcionado pode ser definido como uma tupla (N, A) onde:
  1. N é o conjunto de Nós do Grafo; e
  2. A é o conunto de Arcos do Grafo. A é um sub-conjunto de N x N.

Num BD Relacional uma tupla equivale a uma linha de uma tabela.

Um tupla ou linha armazena valores (dados) sobre entidades, relacionamentos, objetos, ligações.

terça-feira, 9 de outubro de 2007

Edgar Frank Codd


Liks importantes:
  1. Wikipédia (Port.)=> Edgar Frank Codd
  2. Wikipédia (Eng.)=> Edgar Frank Codd
  3. Codd's 12 rules
  4. Database normalization
  5. Relational Model/Tasmania (RM/T)
  6. OLAP cube
  7. Christopher J. Date
  8. Hugh Darwen
Referências:
  1. Codd, E.F. (1970). "A Relational Model of Data for Large Shared Data Banks". Communications of the ACM 13 (6): 377–387 (Artigo Original sobre o MDR).
  2. Codd, E.F. (1990). The Relational Model for Database Management, Version 2, Addison Wesley Publishing Company. ISBN 0-201-14192-2.
  3. National Academy of Sciences (1999). "Chapt. 6: The Rise of Relational Databases", Funding a Revolution: Government Support for Computing Research. Washington DC, USA: National Academy Press.
  4. Date, C.J. (2000). The Database Relational Model: A Retrospective Review and Analysis: A Historical Account and Assessment of E. F. Codd's Contribution to the Field of Database Technology. Addison Wesley Longman. ISBN 0-201-61294-1.
  5. Codd, E.F.; Codd S.B. and Salley C.T. (1993). Providing OLAP to User-Analysts: An IT Mandate. Retrieved on 2007-08-08.

Modelo de Dados Relacional - MDR - Codd - 1970

O Modelo de Dados Relacional (MDR) foi criado por Edgar Frank Codd em 1970, sendo descrito no artigo "Relational Model of Data for Large Shared Data Banks", foi o primeiro modelo de dados descrito teoricamente, os bancos de dados já existentes passaram então a ser conhecidos como (modelo hierárquico, modelo em redes ou Codasyl e modelo de listas invertidas). Posteriormente o MDR foi aprimorado por Chris Date e Hugh Darwen como um modelo geral de dados. No Terceiro Manifesto (1995) eles mostraram como o MDR pode ser extendido com características de orientação à objeto sem comprometer os seus princípios fundamentais.

Historicamente ele é o sucessor do modelo hierárquico e do modelo em rede. O MDR foi o primeiro modelo de banco de dados formal. Somente depois seus antecessores, os bancos de dados hierárquicos e em rede, passaram a ser também descritos em linguagem formal.

O MDR é um modelo de dados que tem como fundamento teórico a lógica/cálculo de predicados e a teoria dos conjuntos e baseia-se no princípio prático de que todos os dados em um banco de dados serão armazenados em tabelas (ou, matematicamente falando, relações). A principal proposição do modelo relacional é que todos os dados são representados como relações matemáticas, isto é, um subconjunto do produto Cartesiano de n conjuntos.

O princípio básico do MDR é o princípio da informação: toda informação é representada por valores em relações. O MDR permite ao projetista criar um modelo lógico consistente da informação a ser armazenada. Este modelo lógico pode ser refinado através de um processo de normalização. Um banco de dados construído puramente baseado no modelo relacional estará inteiramente normalizado.

Os blocos básicos (elementos/componentes de modelagem) do MDR são:

  1. domínio, ou tipo de dado
  2. tupla: é um conjunto de atributos que são ordenados em pares de domínio e valor.
  3. relação é um conjunto desordenado de tuplas.

Apesar destes conceitos matemáticos, eles correspondem basicamente aos conceitos tradicionais dos bancos de dados. Uma relação é similar ao conceito de tabela e uma tupla é similar ao conceito de linha.

A linguagem padrão para os bancos de dados relacionais, SQL, do inglês Structured Query Language, é apenas vagamente remanescente do modelo matemático. Atualmente ela é adotada, apesar de suas restrições, porque ela é antiga e muito mais popular que qualquer outra linguagem de banco de dados.