SlideShare ist ein Scribd-Unternehmen logo
1 von 13
UNIVERSIDADE DO CONTESTADO - UnC
                 CURSO DE SISTEMAS DE INFORMAÇÃO -


                           DAIANA PAULA DE AVILA

                       DANNY LINO MOREIRA PENICHE

                       DOUGLAS ADRIANO BUSNELLO

                               ELIEZER POMPEO

                               TIAGO PELLIZZARO




                      MODELOS DE BASE DE DADOS



1ª Geração

      Hierárquico;
      Em rede.

2ª Geração

      Modelos orientados a objetos
      Extensões ao modelo relacional




MODELO HIERÁRQUICO




Exemplo:

Um departamento tem muitos empregados e cada um tem um supervisor e por sua
vez depende de outro empregado. Cada departamento tem muitos projetos no qual
trabalham muitos empregados.
Estruturas básicas:

   1. Registros (coleção de valores de campos que fornece informação sobre uma
       entidade de um relacionamento)
   2. Relacionamentos (pai-filho: 1-M) O acesso a qualquer um dos registros deve
       ser feito a partir da raiz e correndo para cada um dos nós da árvore da
       esquerda para a direita e de cima para baixo.

Restrições e dificuldades:

   1. Apenas o registro pai não se relaciona com outro registro pai;
   2. Se 1 registro filho tem mais do que 1 registro pai, então deve ser duplicado
       para cada um dos pais;
   3. Dificuldades de representação de relacionamentos M:M.

Restrições e dificuldades:

   1. Redundância de dados;
   2. Falta de dependência lógica;
   3. Utilização e programação muito exigente;
   4. Dificuldade de portabilidade.

Um dos exemplos de um SGBD concebido segundo o modelo hierárquico , na década
de 60, é o MIS (Management Information system) da IBM.




MODELO EM REDE

Exemplo:
Modelo em Rede tem por base o modelo hierárquico;
      Um filho pode ter mais do que um pai;
      Acesso aos dados de forma semelhante ao modelo hierárquico;
      Facilita a representação de relacionamentos de M:M.




      O acesso aos dados é mais flexível do que no modelo hierárquico;
      Sistema ainda complexo e exige um grande conhecimento dos programadores;
      Não existe verdadeira dependência dados - aplicações.

MODELO RELACIONAL

      Apresentado por Edgar Codd, em 1970;
      A estrutura básica é a tabela;
      Uma BD relacional é formada por um conjunto de tabelas que se relacionam
      através de atributos comuns.

Sistemas de Base de Dados:




Exemplo de Base de dados relacionais:

      SQL/OS da IBM;
      SGBD Oracle;
      DB2 e Informix (IBM);
      Oracle e Rdb da Oracle;
SQL server e Access da Microsoft;
       Grande sucesso;
       Uso da linguagem SQL (structuredQueryLaguage);
       Exigente ao nível de hardware e SO – hoje mais ultrapassado;
       Ambiente amigável.




DIAGRAMA DE ENTIDADE – RELACIONAMENTO




O diagrama entidade-relacionamento expressa graficamente a estrutura global de um
banco de dados. Segundo [SILBERSCHATZ]:




"O modelo de dados entidade-relacionamento baseia-se na percepção de um universo
constituído   por   um   grupo    básico   de    objetos   chamados    entidades e
por relacionamentos entre esses objetos. Ele foi desenvolvido a fim de facilitar o
projeto de bancos de dados permitindo a especificação de um esquema de
empreendimento. Tal esquema representa a estrutura lógica global do banco de
dados."




Exemplo:
Obs. Uma particularidade no modelo que foge um pouco da especificação do sistema,
é que não há nenhuma referência aos documentos fiscais exigidos (nota e cupom). A
explicação é que cada empresa trabalha com um formulário personalizado e pelo fato
de que os produtos podem ser regidos por legislações diferentes que alteram a forma
de calcular impostos. Devido a essa complexidade e para deixar o sistema mais
genérico, decidiu-se por retirar essa funcionalidade do escopo deste trabalho.




MODELO ORIENTADO A OBJETOS




       Tiveram origem nas linguagens de programação orientadas a objetos.
       Extensão ao modelo relacional.
       Um objeto é uma representação conceptual de uma entidade do mundo real –
       ex: factura;
       Objetos contem atributos que o descrevem – Ex: numero, data, valor total;
       E o seu comportamento, ou seja, as ações que lhe estão associadas - Ex:
       imprimir, criar;
       Um objeto contém quer a estrutura de dados quer as ações (métodos);
       Um atributo pode ser uma referencia a outro objeto;
       Uma classe é uma coleção de objetos que partilham a estrutura e o
       comportamento, permitindo uma definição única;
       As classes são organizadas hierarquicamente numa filosofia de herança de
       atributos e métodos.
Fazer diagrama OO

Categoria produtos- diferentes produtos.




CONCEITOS DOS MODELOS DE DADOS



MODELO HIERÁRQUICO

O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seu
desenvolvimento somente foi possível devido à consolidação dos discos de
armazenamento endereçáveis, pois esses discos possibilitaram a exploração de sua
estrutura de endereçamento físico para viabilizar a representação hierárquica das
informações. Nesse modelo de dados, os dados são estruturados em hierarquias ou
árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro é
uma coleção de campos (atributos), cada um contendo apenas uma informação. O
registro da hierarquia que precede a outros é o registro-pai, os outros são chamados
de registros-filhos.

Uma ligação é uma associação entre dois registros. O relacionamento entre um
registro-pai e vários registros-filhos possui cardinalidade 1:N. Os dados organizados
segundo este modelo podem ser acessados segundo uma seqüência hierárquica com
uma navegação do topo para as folhas e da esquerda para a direita. Um registro pode
estar associado a vários registros diferentes, desde que seja replicado. A replicação
possui duas grandes desvantagens: pode causar inconsistência de dados quando
houver atualização e o desperdício de espaço é inevitável. O sistema comercial mais
divulgado no modelo hierárquico foi o Information Management System da IBM
Corp(IMS) para o ambiente MV(como o DB2). Grande parte das restrições e
consistências de dados estava contida dentro dos programas escritos para as
aplicações. Era necessário escrever programas na ordem para acessar o banco de
dados. Um diagrama de estrutura de árvore descreve o esquema de um banco de
dados hierárquico. Tal diagrama consiste em dois componentes básicos: Caixas, as
quais correspondem aos tipos de registros e Linhas, que correspondem às ligações
entre os tipos de registros. Como exemplo do modelo hierárquico,

Outra definição possível seria a de uma rede em que cada conjunto de dados pode ter
no Maximo um conjunto de dados mestre (“owner”, no sentido do DBTG), sem ciclos.
Essa característica leva os modelos hierárquicos a declararem as ligações
simplesmente especificando-se para cada conjunto de dados qual e o seu conjunto
mestre. Com isso pode-se construir a arvore em toda a sua estrutura.




INTEGRIDADE DOS DADOS HIRÁRQUICOS:




O modelo hierárquico inclui suporte automático para determinadas formas de
integridade referencial mediante a seguir regra:

“nenhum filho tem permissão de existir sem um pai”.

Assim sendo, se um pai é eliminado, o sistema eliminara toda a árvore nele enraizada,
da mesma maneira que nenhum filho poderá ser inserido sem a existência do pai.




MODELO RELACIONAL



O modelo relacional foi criado por Codd, em 1970, e tem como finalidade representar
os dados como uma coleção de relações, onde cada relação é representada por uma
tabela, ou seja. Quando uma relação é pensada como uma tabela de valores, cada
linha nesta tabela representa uma coleção de dados relacionados. Estes valores
podem ser interpretados como fatos, descrevendo uma instância de uma entidade ou
relacionamento.

     O nome da tabela e de suas colunas é utilizado para facilitar a interpretação dos
valores armazenados em cada linha da tabela.

Na terminologia do modelo relacional, cada tabela é chamada de relação, uma linha
de uma tabela é chamada de tupla, o nome de cada coluna é chamado de atributo, o
tipo de dado que descreve cada coluna é chamado de domínio.

     O domínio é um conjunto de valores que possuem determinadas propriedades
em comum. O domínio engloba dados atômicos ou simples, porque não podem sofrer
mais nenhuma decomposição.
Uma relação define-se sobre certo número de domínios e engloba duas
componentes: o cabeçalho e o corpo. O cabeçalho é um conjunto de atributos em que
cada atributo corresponde a um domínio. O corpo corresponde a um conjunto de
tuplas. Cada tupla é um conjunto de valores: um por cada atributo constante do
cabeçalho.

     Cada linha da tabela representa uma proposição sobre determinada entidade.
Enquanto que as linhas representam os valores atuais dos atributos, os domínios
simbolizam todos os valores possíveis. As linhas variam com as circunstâncias
enquanto que os domínios e os atributos são constantes.

Propriedades das relações

Uma relação caracteriza-se por:
• Ter um nome único dentro do mesmo diagrama de modelo de dados relacional;
• Ter de zero a n linhas, cuja ordenação é indiferente dado que não são identificadas
pela sua posição. Uma relação sem nenhuma linha diz-se vazia.
• Ser composta por um ou mais atributos, onde a ordem não é importante, pois se
identificam pelo nome e não pela sua posição;
• Cada um dos atributos contém valores retirados de um domínio particular, o que quer
dizer que num mesmo atributo os dados são obrigatoriamente todos do mesmo tipo;
• Numa mesma relação não podem existir dois atributos com o mesmo nome;
• Cada relação tem que ter uma chave primária. Uma chave primária é um atributo, ou
combinação de atributos, cujos valores proporcionam uma identificação unívoca das
tuplas duma relação, ou seja, certo valor para a chave só pode aparecer uma única
vez em cada relação. Significa ainda que as tuplas duma relação são todas diferentes
entre si e não são permitidas linhas duplicadas,
• Os dados, ou valores, são sempre de tipo atômico.




MODELO EM REDE



Busca seguir um padrão no seu desenvolvimento formado pela comissão COBOL da
Codasyl. Ficou conhecido por DBTG (“Data Base Task Group”). O problema de se
fazer um padrão é que muita gente vai posteriormente atrás dele, conseqüentemente
assim surgiram GBDs comerciais que segue o modelo DBTG.
Segundo Date (1990), a estrutura de dados em Rede pode ser considerada uma forma
ampliada da estrutura hierárquica de dados, onde a principal diferença é que na
estrutura hierárquica, um registro-filho tem exatamente um pai, enquanto que na
estrutura de rede um registro-filho pode ter qualquer quantidade de pais, inclusive zero
(DATE, 1990).

Para entendermos melhor essa diferença, devemos observar que o banco de dados
em rede está composto por dois conjuntos, um é o de ligações ou ocorrências
múltiplas dos vários tipos de registro e outro, um conjunto de ocorrências múltiplas
para cada um dos vários tipos de ligação, cada tipo de ligação envolvendo dois tipos
de registros, um pai e outro filho.

Cada ocorrência de uma ligação é composta por uma única ocorrência do tipo de
registro pai, disposto como um conjunto ordenado de múltiplas ocorrências de um
registro filho.

Um banco de dados de rede é uma base de dados constituída por uma coleção ou um
conjunto de registos, que são ligados entre si através de ligações numa
rede. O registo é semelhante a uma entidade, tais como aqueles utilizados no modelo
relacional.



Um registro é uma coleção ou conjunto de campos (atributos), onde cada um contendo
um único valor armazenado, apenas a ligação é a associação entre dois registros,
para que possamos vê-lo como estritamente binária.

Uma estrutura de rede do banco de dados, por vezes chamado estrutura duplex,
abrange mais do que a estrutura de árvore, porque um nó filho na estrutura de
rede pode ter mais de um nó pai. Em outras palavras, a restrição de que, em uma
árvore hierarquia cada criança pode ter apenas um dos pais , torna-se menos grave.

Assim, a estrutura de árvore pode ser considerada como um caso especial
da estrutura de rede.

Conjuntos de dados:

No modelo em rede (MRd), um conjunto de dados recebe o nome de “Record Type”. O
padrão DBTG especificou algumas modalidades de armazenamento para os “Record
Type” (Record = Registro). Essa preocupação com o modelo interno permeou o MRd
prejudicando o do ponto de vista de generalidade e de nível de abstração. A
modalidade de uso de uma chave é a utilização de rotinas de “Hashing”
(espalhamento, randomização). Até hoje os GBDs do MRd continuam com problemas
para implementarem vários itens de busca, pois com “Hashing” direto só se pode
especificar um único item de busca. Para contornar esse problema, o DBTG fez um
truque de introduzir uma ligação com o sistema. Ligações Diagramas de redes –
Baseado em sistema de arquivo, não em SGBD.




INTEGRIDADE DOS DADOS EM REDE:




O modelo em rede inclui suporte para determinadas formas de integridade referencial
por meio de sua estrutura primária dos dados no momento de ligação. Podem ser
determinadas regras de inserção obrigando a colocação de um registro pai antes do
entrada de um registro filho na primeira ocorrência.




MODELO ORIENTADO A OBJETO



Recentemente, os bancos de dados orientados a objetos são uma possível evolução
ao sistema relacional, com o surgimento de novas necessidades computacionais cada
vez maiores, por exemplo, com desenho assistido por computador (CAD) ou bancos
de dados multimídia, porém este modelo ainda não é muito encontrado, devido
principalmente a sua maior complexidade de implementação e a falta de padronização
nas linguagens de consulta (KORTH;SILBERSCHATZ, 1994). Segundo Fowler (2006),
os bancos de dados orientados a objetos deverão trazer mais produtividade, devido
principalmente ao fato da POO não necessitar de um processo de mapeamento
objeto-relacional (FOWLER, 2006).




Como se pode notar existem algumas semelhanças nos conceitos de associações
entre objetos com a modelagem Entidade - Relacionamentos para bancos de dados.

Page-Jones (1997) afirma que uma abordagem orientada a objetos permite uma
melhor convergência entre as análises procedural e de dados, citando que esses dois
aspectos da análise sempre apresentaram certo atrito entre eles, representado
respectivamente pelos diagramas de Fluxo de Dados e de Entidades-Relacionamentos
(PAGE-JONES, 1997).

Segundo Rumbaugh et. al. (2000), a forma tradicional de analisar um problema,
quebrando-o em problemas menores, dificulta a manutenção dos sistemas devida
principalmente a mudanças nos requisitos e ao crescimento certo do sistema.

A partir da evolução das técnicas de análise e representação de sistemas complexos
de software em diagramas, após a introdução da abordagem ER por Peter Chen
(CHEN, 1990), aplicadas à metodologia de orientação a objetos, Rumbaugh et. al.
(2000) apresenta a linguagem UML (Linguagem de Modelagem Unificada). Esta é uma
poderosa notação diagramática destinada a visualizar, especificar, construir e
documentar sistemas de qualquer espécie, não obrigatoriamente software.

A UML possui os seguintes tipos de diagramas (RUMBAUGH et. al., 2000):

Diagrama de classes

Diagrama de objetos

Diagrama de casos de uso

Diagrama de seqüências

Diagrama de colaborações

Diagrama de gráficos de estados

Diagrama de atividades

Diagrama de componentes

Diagrama de implantação




Por demonstrar claramente ser uma evolução direta da modelagem ER, e que
possivelmente poderá servir de apoio ao presente trabalho, quando houver
necessidade de apresentar classes e suas associações, neste tópico será abordado
resumidamente apenas o diagrama de classes, conforme apresentado o exemplo da
Figura 2.1.
[..] Enquanto os diagramas E-R clássicos têm seu foco apenas nos dados, os
diagramas de classe vão um pouco além, permitindo ainda a modelagem de
comportamentos. [..] (RUMBAUGH et. al., 2000, pág 109)




                                       Empresa
                                      cnpj: Texto




                                       1
              1..*                                             1..*
            Departamento                                  Escritório
            nome: Texto                                endereço: Texto
          fazerCafezinho()                           expediente: Horario



     Figura Error! No text of specified style in document..1 - Exemplo de
associação em diagrama de classes UML.

Como pode ser notado na Figura 2.1, na notação básica da UML as classes são
representadas como retângulos subdivido horizontalmente, onde, de cima para baixo,
são descritos o nome da classe, os atributos e seus métodos.

Os seus relacionamentos com outras tabelas são representados por linhas que fazem
as devidas interligações, juntamente com a informação sobre o tipo deste
relacionamento. Conforme o exemplo, definido por um losango preenchido em preto,
significa uma associação do tipo agregação. A notação “1” junto a classe Empresa e a
notação “1..*” junto as outras classes Departamento e Escritório, descrevem a
multiplicidade do relacionamento, isto é, indicam que uma empresa possui um ou
muitos Departamentos, e um ou muitos Escritórios.

Outro tipo de relacionamento entre objetos é a herança, cuja notação da UML é
representada por um triângulo presente sobre a linha do respectivo relacionamento, e
que aponta para a superclasse, conforme exemplo demonstrado na Figura 2.2, onde
as classes Estudante e Professor derivam da classe Pessoa.
Pessoa
                                    nome: Texto
                                       falar()
                                       comer()




               Estudante                                 Professor
           Matricula: Inteiro                          salario: Valor
               lerLivro()                              turno: Horario
                                                         darAula()


 Figura Error! No text of specified style in document..2 - Exemplo de herança em
diagrama de classes UML.

Weitere ähnliche Inhalte

Was ist angesagt?

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo FísicoCentro Paula Souza
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de DadosJanynne Gomes
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados ConceitosCleber Ramos
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dadosessa
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoLeinylson Fontinele
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosClara Ferreira
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Leinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Gustavo Zimmermann
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Matéria de apoio (Base de dados)
Matéria de apoio  (Base de dados)Matéria de apoio  (Base de dados)
Matéria de apoio (Base de dados)André Silva
 

Was ist angesagt? (20)

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Bases De Dados
Bases De DadosBases De Dados
Bases De Dados
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Banco de Dados Conceitos
Banco de Dados ConceitosBanco de Dados Conceitos
Banco de Dados Conceitos
 
1º trabalho base dados
1º trabalho base dados1º trabalho base dados
1º trabalho base dados
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de DadosAula 2 - Introdução a Banco de Dados
Aula 2 - Introdução a Banco de Dados
 
Banco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e EspecializaçãoBanco de Dados I Aula 06 - Generalização e Especialização
Banco de Dados I Aula 06 - Generalização e Especialização
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
Banco de Dados II Aula 03 - Modelagem de Dados (Modelo Lógico)
 
Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
Banco de Dados II: Normalização de dados e as Formas Normais (aula 5)
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Matéria de apoio (Base de dados)
Matéria de apoio  (Base de dados)Matéria de apoio  (Base de dados)
Matéria de apoio (Base de dados)
 

Andere mochten auch

Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dadosEdgar Stuart
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosPatrícia Morais
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetosStefan Horochovec
 
Sistemas de organização e rotulação
Sistemas de organização e rotulaçãoSistemas de organização e rotulação
Sistemas de organização e rotulaçãoInstituto Faber-Ludens
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
Bases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosBases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosClara Ferreira
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 
Criação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaCriação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaDavid Canjamba 2D
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetoseneck
 
Utilizando o audacity para editar e cortar músicas
Utilizando o audacity para editar e cortar músicasUtilizando o audacity para editar e cortar músicas
Utilizando o audacity para editar e cortar músicasDaiana de Ávila
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º anoEste FC Juniores
 
Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)Elen Arantza
 
Delphi e interbase
Delphi e interbaseDelphi e interbase
Delphi e interbaseMarcos Rocha
 
Projeto Informática na Escola
Projeto Informática na EscolaProjeto Informática na Escola
Projeto Informática na EscolaDaiana de Ávila
 
Integridade de dados e administração de segurança em SGBDs
Integridade de dados e administração de segurança em SGBDsIntegridade de dados e administração de segurança em SGBDs
Integridade de dados e administração de segurança em SGBDsSemana da Computação da UFSCar
 

Andere mochten auch (20)

Modelos de banco de dados
Modelos de banco de dadosModelos de banco de dados
Modelos de banco de dados
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
Conceitos essenciais de bases de dados
Conceitos essenciais de bases de dadosConceitos essenciais de bases de dados
Conceitos essenciais de bases de dados
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetos
 
Sistemas de organização e rotulação
Sistemas de organização e rotulaçãoSistemas de organização e rotulação
Sistemas de organização e rotulação
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Bases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosBases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutórios
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Criação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma bibliotecaCriação de uma base de dados para gestão de uma biblioteca
Criação de uma base de dados para gestão de uma biblioteca
 
Trabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetosTrabalho banco de dados orientado a objetos
Trabalho banco de dados orientado a objetos
 
Arroba Do Boi
Arroba Do BoiArroba Do Boi
Arroba Do Boi
 
Utilizando o audacity para editar e cortar músicas
Utilizando o audacity para editar e cortar músicasUtilizando o audacity para editar e cortar músicas
Utilizando o audacity para editar e cortar músicas
 
Base de dados tic 10º ano
Base de dados   tic 10º anoBase de dados   tic 10º ano
Base de dados tic 10º ano
 
Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)Apresentação interbase (atualização 2)
Apresentação interbase (atualização 2)
 
Delphi e interbase
Delphi e interbaseDelphi e interbase
Delphi e interbase
 
Projeto Informática na Escola
Projeto Informática na EscolaProjeto Informática na Escola
Projeto Informática na Escola
 
Integridade de dados e administração de segurança em SGBDs
Integridade de dados e administração de segurança em SGBDsIntegridade de dados e administração de segurança em SGBDs
Integridade de dados e administração de segurança em SGBDs
 
Trabalho Tic
Trabalho TicTrabalho Tic
Trabalho Tic
 

Ähnlich wie Modelos de base de dados

Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoDaniel Brandão
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfedilson42986
 
Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosBruno Pereira
 
Modelos de dados
Modelos de dadosModelos de dados
Modelos de dadosaeasantos
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLRaphael Donaire Albino
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosLuciano Ramalho
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dadosinfo_cimol
 
Bancodedados
BancodedadosBancodedados
Bancodedadosnikson123
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadosM Serafim
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01Rangel Javier
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfCelestino24
 

Ähnlich wie Modelos de base de dados (20)

Introdução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel BrandãoIntrodução ao Banco de dados - Prof. Daniel Brandão
Introdução ao Banco de dados - Prof. Daniel Brandão
 
Aula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdfAula 1 - 31 Jan 23.pdf
Aula 1 - 31 Jan 23.pdf
 
Modelos de dados
Modelos de dados Modelos de dados
Modelos de dados
 
Conceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dadosConceitos geraiss gestão de base dados
Conceitos geraiss gestão de base dados
 
Modelos de dados
Modelos de dadosModelos de dados
Modelos de dados
 
Sql - introdução
Sql -  introduçãoSql -  introdução
Sql - introdução
 
Oficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQLOficina WEB Design Lecom - PHP e MySQL
Oficina WEB Design Lecom - PHP e MySQL
 
Bancos de Dados para Bibliotecários
Bancos de Dados para BibliotecáriosBancos de Dados para Bibliotecários
Bancos de Dados para Bibliotecários
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Dbmod
DbmodDbmod
Dbmod
 
Apostila modelagem de banco de dados
Apostila modelagem de banco de dadosApostila modelagem de banco de dados
Apostila modelagem de banco de dados
 
Introdução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de DadosIntrodução a modelagem de dados parte II - Banco de Dados
Introdução a modelagem de dados parte II - Banco de Dados
 
Data WareHOuse
Data WareHOuseData WareHOuse
Data WareHOuse
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
4º semestre
4º semestre4º semestre
4º semestre
 
Aula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdfAula 3-IDB - Modelo Conceptual-2.pdf
Aula 3-IDB - Modelo Conceptual-2.pdf
 

Mehr von Daiana de Ávila

Qual é o seu maior sonho?
Qual é o seu maior sonho? Qual é o seu maior sonho?
Qual é o seu maior sonho? Daiana de Ávila
 
Projeto sonhos (Preto e Branco)
Projeto sonhos (Preto e Branco)Projeto sonhos (Preto e Branco)
Projeto sonhos (Preto e Branco)Daiana de Ávila
 
Dicas de como pesquisar no Google
Dicas de como pesquisar no GoogleDicas de como pesquisar no Google
Dicas de como pesquisar no GoogleDaiana de Ávila
 
Conhecendo o funcionamento do sistema operacional
Conhecendo o funcionamento do sistema operacionalConhecendo o funcionamento do sistema operacional
Conhecendo o funcionamento do sistema operacionalDaiana de Ávila
 
Criando um e-mail no Gmail
Criando um e-mail no GmailCriando um e-mail no Gmail
Criando um e-mail no GmailDaiana de Ávila
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informáticaDaiana de Ávila
 
Relatório de Estágio Sistemas de Informação
Relatório de Estágio Sistemas de InformaçãoRelatório de Estágio Sistemas de Informação
Relatório de Estágio Sistemas de InformaçãoDaiana de Ávila
 
10 de março dia do Assistente de Educação
10 de março dia do Assistente de Educação10 de março dia do Assistente de Educação
10 de março dia do Assistente de EducaçãoDaiana de Ávila
 
Dados atuais sobre a água
Dados atuais sobre a águaDados atuais sobre a água
Dados atuais sobre a águaDaiana de Ávila
 
Sistema Gerenciador Para um Salão de Beleza
Sistema Gerenciador Para um Salão de BelezaSistema Gerenciador Para um Salão de Beleza
Sistema Gerenciador Para um Salão de BelezaDaiana de Ávila
 
Desvio postural e peso das mochilas de alunos do ensino fundamental
Desvio postural e peso das mochilas de alunos do ensino fundamentalDesvio postural e peso das mochilas de alunos do ensino fundamental
Desvio postural e peso das mochilas de alunos do ensino fundamentalDaiana de Ávila
 

Mehr von Daiana de Ávila (20)

Qual é o seu maior sonho?
Qual é o seu maior sonho? Qual é o seu maior sonho?
Qual é o seu maior sonho?
 
Projeto Sonhos
Projeto SonhosProjeto Sonhos
Projeto Sonhos
 
Windows Movie Maker
Windows Movie MakerWindows Movie Maker
Windows Movie Maker
 
Projeto sonhos (Preto e Branco)
Projeto sonhos (Preto e Branco)Projeto sonhos (Preto e Branco)
Projeto sonhos (Preto e Branco)
 
Projeto sonhos
Projeto sonhosProjeto sonhos
Projeto sonhos
 
Dicas de como pesquisar no Google
Dicas de como pesquisar no GoogleDicas de como pesquisar no Google
Dicas de como pesquisar no Google
 
Conhecendo o funcionamento do sistema operacional
Conhecendo o funcionamento do sistema operacionalConhecendo o funcionamento do sistema operacional
Conhecendo o funcionamento do sistema operacional
 
Sistemas operacionais
Sistemas operacionaisSistemas operacionais
Sistemas operacionais
 
Criando um e-mail no Gmail
Criando um e-mail no GmailCriando um e-mail no Gmail
Criando um e-mail no Gmail
 
Resumo básico de introdução à informática
Resumo básico de introdução à informáticaResumo básico de introdução à informática
Resumo básico de introdução à informática
 
Relatório de Estágio Sistemas de Informação
Relatório de Estágio Sistemas de InformaçãoRelatório de Estágio Sistemas de Informação
Relatório de Estágio Sistemas de Informação
 
Sistema Operacional iOS
Sistema Operacional iOSSistema Operacional iOS
Sistema Operacional iOS
 
Protocolos de Segurança
Protocolos de SegurançaProtocolos de Segurança
Protocolos de Segurança
 
10 de março dia do Assistente de Educação
10 de março dia do Assistente de Educação10 de março dia do Assistente de Educação
10 de março dia do Assistente de Educação
 
Dados atuais sobre a água
Dados atuais sobre a águaDados atuais sobre a água
Dados atuais sobre a água
 
Sistema Gerenciador Para um Salão de Beleza
Sistema Gerenciador Para um Salão de BelezaSistema Gerenciador Para um Salão de Beleza
Sistema Gerenciador Para um Salão de Beleza
 
O que é ideologia
O que é ideologiaO que é ideologia
O que é ideologia
 
Vírus informático
Vírus informáticoVírus informático
Vírus informático
 
Desvio postural e peso das mochilas de alunos do ensino fundamental
Desvio postural e peso das mochilas de alunos do ensino fundamentalDesvio postural e peso das mochilas de alunos do ensino fundamental
Desvio postural e peso das mochilas de alunos do ensino fundamental
 
VHDL
VHDLVHDL
VHDL
 

Modelos de base de dados

  • 1. UNIVERSIDADE DO CONTESTADO - UnC CURSO DE SISTEMAS DE INFORMAÇÃO - DAIANA PAULA DE AVILA DANNY LINO MOREIRA PENICHE DOUGLAS ADRIANO BUSNELLO ELIEZER POMPEO TIAGO PELLIZZARO MODELOS DE BASE DE DADOS 1ª Geração Hierárquico; Em rede. 2ª Geração Modelos orientados a objetos Extensões ao modelo relacional MODELO HIERÁRQUICO Exemplo: Um departamento tem muitos empregados e cada um tem um supervisor e por sua vez depende de outro empregado. Cada departamento tem muitos projetos no qual trabalham muitos empregados.
  • 2. Estruturas básicas: 1. Registros (coleção de valores de campos que fornece informação sobre uma entidade de um relacionamento) 2. Relacionamentos (pai-filho: 1-M) O acesso a qualquer um dos registros deve ser feito a partir da raiz e correndo para cada um dos nós da árvore da esquerda para a direita e de cima para baixo. Restrições e dificuldades: 1. Apenas o registro pai não se relaciona com outro registro pai; 2. Se 1 registro filho tem mais do que 1 registro pai, então deve ser duplicado para cada um dos pais; 3. Dificuldades de representação de relacionamentos M:M. Restrições e dificuldades: 1. Redundância de dados; 2. Falta de dependência lógica; 3. Utilização e programação muito exigente; 4. Dificuldade de portabilidade. Um dos exemplos de um SGBD concebido segundo o modelo hierárquico , na década de 60, é o MIS (Management Information system) da IBM. MODELO EM REDE Exemplo:
  • 3. Modelo em Rede tem por base o modelo hierárquico; Um filho pode ter mais do que um pai; Acesso aos dados de forma semelhante ao modelo hierárquico; Facilita a representação de relacionamentos de M:M. O acesso aos dados é mais flexível do que no modelo hierárquico; Sistema ainda complexo e exige um grande conhecimento dos programadores; Não existe verdadeira dependência dados - aplicações. MODELO RELACIONAL Apresentado por Edgar Codd, em 1970; A estrutura básica é a tabela; Uma BD relacional é formada por um conjunto de tabelas que se relacionam através de atributos comuns. Sistemas de Base de Dados: Exemplo de Base de dados relacionais: SQL/OS da IBM; SGBD Oracle; DB2 e Informix (IBM); Oracle e Rdb da Oracle;
  • 4. SQL server e Access da Microsoft; Grande sucesso; Uso da linguagem SQL (structuredQueryLaguage); Exigente ao nível de hardware e SO – hoje mais ultrapassado; Ambiente amigável. DIAGRAMA DE ENTIDADE – RELACIONAMENTO O diagrama entidade-relacionamento expressa graficamente a estrutura global de um banco de dados. Segundo [SILBERSCHATZ]: "O modelo de dados entidade-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre esses objetos. Ele foi desenvolvido a fim de facilitar o projeto de bancos de dados permitindo a especificação de um esquema de empreendimento. Tal esquema representa a estrutura lógica global do banco de dados." Exemplo:
  • 5. Obs. Uma particularidade no modelo que foge um pouco da especificação do sistema, é que não há nenhuma referência aos documentos fiscais exigidos (nota e cupom). A explicação é que cada empresa trabalha com um formulário personalizado e pelo fato de que os produtos podem ser regidos por legislações diferentes que alteram a forma de calcular impostos. Devido a essa complexidade e para deixar o sistema mais genérico, decidiu-se por retirar essa funcionalidade do escopo deste trabalho. MODELO ORIENTADO A OBJETOS Tiveram origem nas linguagens de programação orientadas a objetos. Extensão ao modelo relacional. Um objeto é uma representação conceptual de uma entidade do mundo real – ex: factura; Objetos contem atributos que o descrevem – Ex: numero, data, valor total; E o seu comportamento, ou seja, as ações que lhe estão associadas - Ex: imprimir, criar; Um objeto contém quer a estrutura de dados quer as ações (métodos); Um atributo pode ser uma referencia a outro objeto; Uma classe é uma coleção de objetos que partilham a estrutura e o comportamento, permitindo uma definição única; As classes são organizadas hierarquicamente numa filosofia de herança de atributos e métodos.
  • 6. Fazer diagrama OO Categoria produtos- diferentes produtos. CONCEITOS DOS MODELOS DE DADOS MODELO HIERÁRQUICO O modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seu desenvolvimento somente foi possível devido à consolidação dos discos de armazenamento endereçáveis, pois esses discos possibilitaram a exploração de sua estrutura de endereçamento físico para viabilizar a representação hierárquica das informações. Nesse modelo de dados, os dados são estruturados em hierarquias ou árvores. Os nós das hierarquias contêm ocorrências de registros, onde cada registro é uma coleção de campos (atributos), cada um contendo apenas uma informação. O registro da hierarquia que precede a outros é o registro-pai, os outros são chamados de registros-filhos. Uma ligação é uma associação entre dois registros. O relacionamento entre um registro-pai e vários registros-filhos possui cardinalidade 1:N. Os dados organizados segundo este modelo podem ser acessados segundo uma seqüência hierárquica com uma navegação do topo para as folhas e da esquerda para a direita. Um registro pode estar associado a vários registros diferentes, desde que seja replicado. A replicação possui duas grandes desvantagens: pode causar inconsistência de dados quando houver atualização e o desperdício de espaço é inevitável. O sistema comercial mais divulgado no modelo hierárquico foi o Information Management System da IBM Corp(IMS) para o ambiente MV(como o DB2). Grande parte das restrições e consistências de dados estava contida dentro dos programas escritos para as aplicações. Era necessário escrever programas na ordem para acessar o banco de dados. Um diagrama de estrutura de árvore descreve o esquema de um banco de dados hierárquico. Tal diagrama consiste em dois componentes básicos: Caixas, as quais correspondem aos tipos de registros e Linhas, que correspondem às ligações entre os tipos de registros. Como exemplo do modelo hierárquico, Outra definição possível seria a de uma rede em que cada conjunto de dados pode ter no Maximo um conjunto de dados mestre (“owner”, no sentido do DBTG), sem ciclos.
  • 7. Essa característica leva os modelos hierárquicos a declararem as ligações simplesmente especificando-se para cada conjunto de dados qual e o seu conjunto mestre. Com isso pode-se construir a arvore em toda a sua estrutura. INTEGRIDADE DOS DADOS HIRÁRQUICOS: O modelo hierárquico inclui suporte automático para determinadas formas de integridade referencial mediante a seguir regra: “nenhum filho tem permissão de existir sem um pai”. Assim sendo, se um pai é eliminado, o sistema eliminara toda a árvore nele enraizada, da mesma maneira que nenhum filho poderá ser inserido sem a existência do pai. MODELO RELACIONAL O modelo relacional foi criado por Codd, em 1970, e tem como finalidade representar os dados como uma coleção de relações, onde cada relação é representada por uma tabela, ou seja. Quando uma relação é pensada como uma tabela de valores, cada linha nesta tabela representa uma coleção de dados relacionados. Estes valores podem ser interpretados como fatos, descrevendo uma instância de uma entidade ou relacionamento. O nome da tabela e de suas colunas é utilizado para facilitar a interpretação dos valores armazenados em cada linha da tabela. Na terminologia do modelo relacional, cada tabela é chamada de relação, uma linha de uma tabela é chamada de tupla, o nome de cada coluna é chamado de atributo, o tipo de dado que descreve cada coluna é chamado de domínio. O domínio é um conjunto de valores que possuem determinadas propriedades em comum. O domínio engloba dados atômicos ou simples, porque não podem sofrer mais nenhuma decomposição.
  • 8. Uma relação define-se sobre certo número de domínios e engloba duas componentes: o cabeçalho e o corpo. O cabeçalho é um conjunto de atributos em que cada atributo corresponde a um domínio. O corpo corresponde a um conjunto de tuplas. Cada tupla é um conjunto de valores: um por cada atributo constante do cabeçalho. Cada linha da tabela representa uma proposição sobre determinada entidade. Enquanto que as linhas representam os valores atuais dos atributos, os domínios simbolizam todos os valores possíveis. As linhas variam com as circunstâncias enquanto que os domínios e os atributos são constantes. Propriedades das relações Uma relação caracteriza-se por: • Ter um nome único dentro do mesmo diagrama de modelo de dados relacional; • Ter de zero a n linhas, cuja ordenação é indiferente dado que não são identificadas pela sua posição. Uma relação sem nenhuma linha diz-se vazia. • Ser composta por um ou mais atributos, onde a ordem não é importante, pois se identificam pelo nome e não pela sua posição; • Cada um dos atributos contém valores retirados de um domínio particular, o que quer dizer que num mesmo atributo os dados são obrigatoriamente todos do mesmo tipo; • Numa mesma relação não podem existir dois atributos com o mesmo nome; • Cada relação tem que ter uma chave primária. Uma chave primária é um atributo, ou combinação de atributos, cujos valores proporcionam uma identificação unívoca das tuplas duma relação, ou seja, certo valor para a chave só pode aparecer uma única vez em cada relação. Significa ainda que as tuplas duma relação são todas diferentes entre si e não são permitidas linhas duplicadas, • Os dados, ou valores, são sempre de tipo atômico. MODELO EM REDE Busca seguir um padrão no seu desenvolvimento formado pela comissão COBOL da Codasyl. Ficou conhecido por DBTG (“Data Base Task Group”). O problema de se fazer um padrão é que muita gente vai posteriormente atrás dele, conseqüentemente assim surgiram GBDs comerciais que segue o modelo DBTG.
  • 9. Segundo Date (1990), a estrutura de dados em Rede pode ser considerada uma forma ampliada da estrutura hierárquica de dados, onde a principal diferença é que na estrutura hierárquica, um registro-filho tem exatamente um pai, enquanto que na estrutura de rede um registro-filho pode ter qualquer quantidade de pais, inclusive zero (DATE, 1990). Para entendermos melhor essa diferença, devemos observar que o banco de dados em rede está composto por dois conjuntos, um é o de ligações ou ocorrências múltiplas dos vários tipos de registro e outro, um conjunto de ocorrências múltiplas para cada um dos vários tipos de ligação, cada tipo de ligação envolvendo dois tipos de registros, um pai e outro filho. Cada ocorrência de uma ligação é composta por uma única ocorrência do tipo de registro pai, disposto como um conjunto ordenado de múltiplas ocorrências de um registro filho. Um banco de dados de rede é uma base de dados constituída por uma coleção ou um conjunto de registos, que são ligados entre si através de ligações numa rede. O registo é semelhante a uma entidade, tais como aqueles utilizados no modelo relacional. Um registro é uma coleção ou conjunto de campos (atributos), onde cada um contendo um único valor armazenado, apenas a ligação é a associação entre dois registros, para que possamos vê-lo como estritamente binária. Uma estrutura de rede do banco de dados, por vezes chamado estrutura duplex, abrange mais do que a estrutura de árvore, porque um nó filho na estrutura de rede pode ter mais de um nó pai. Em outras palavras, a restrição de que, em uma árvore hierarquia cada criança pode ter apenas um dos pais , torna-se menos grave. Assim, a estrutura de árvore pode ser considerada como um caso especial da estrutura de rede. Conjuntos de dados: No modelo em rede (MRd), um conjunto de dados recebe o nome de “Record Type”. O padrão DBTG especificou algumas modalidades de armazenamento para os “Record Type” (Record = Registro). Essa preocupação com o modelo interno permeou o MRd prejudicando o do ponto de vista de generalidade e de nível de abstração. A modalidade de uso de uma chave é a utilização de rotinas de “Hashing”
  • 10. (espalhamento, randomização). Até hoje os GBDs do MRd continuam com problemas para implementarem vários itens de busca, pois com “Hashing” direto só se pode especificar um único item de busca. Para contornar esse problema, o DBTG fez um truque de introduzir uma ligação com o sistema. Ligações Diagramas de redes – Baseado em sistema de arquivo, não em SGBD. INTEGRIDADE DOS DADOS EM REDE: O modelo em rede inclui suporte para determinadas formas de integridade referencial por meio de sua estrutura primária dos dados no momento de ligação. Podem ser determinadas regras de inserção obrigando a colocação de um registro pai antes do entrada de um registro filho na primeira ocorrência. MODELO ORIENTADO A OBJETO Recentemente, os bancos de dados orientados a objetos são uma possível evolução ao sistema relacional, com o surgimento de novas necessidades computacionais cada vez maiores, por exemplo, com desenho assistido por computador (CAD) ou bancos de dados multimídia, porém este modelo ainda não é muito encontrado, devido principalmente a sua maior complexidade de implementação e a falta de padronização nas linguagens de consulta (KORTH;SILBERSCHATZ, 1994). Segundo Fowler (2006), os bancos de dados orientados a objetos deverão trazer mais produtividade, devido principalmente ao fato da POO não necessitar de um processo de mapeamento objeto-relacional (FOWLER, 2006). Como se pode notar existem algumas semelhanças nos conceitos de associações entre objetos com a modelagem Entidade - Relacionamentos para bancos de dados. Page-Jones (1997) afirma que uma abordagem orientada a objetos permite uma melhor convergência entre as análises procedural e de dados, citando que esses dois
  • 11. aspectos da análise sempre apresentaram certo atrito entre eles, representado respectivamente pelos diagramas de Fluxo de Dados e de Entidades-Relacionamentos (PAGE-JONES, 1997). Segundo Rumbaugh et. al. (2000), a forma tradicional de analisar um problema, quebrando-o em problemas menores, dificulta a manutenção dos sistemas devida principalmente a mudanças nos requisitos e ao crescimento certo do sistema. A partir da evolução das técnicas de análise e representação de sistemas complexos de software em diagramas, após a introdução da abordagem ER por Peter Chen (CHEN, 1990), aplicadas à metodologia de orientação a objetos, Rumbaugh et. al. (2000) apresenta a linguagem UML (Linguagem de Modelagem Unificada). Esta é uma poderosa notação diagramática destinada a visualizar, especificar, construir e documentar sistemas de qualquer espécie, não obrigatoriamente software. A UML possui os seguintes tipos de diagramas (RUMBAUGH et. al., 2000): Diagrama de classes Diagrama de objetos Diagrama de casos de uso Diagrama de seqüências Diagrama de colaborações Diagrama de gráficos de estados Diagrama de atividades Diagrama de componentes Diagrama de implantação Por demonstrar claramente ser uma evolução direta da modelagem ER, e que possivelmente poderá servir de apoio ao presente trabalho, quando houver necessidade de apresentar classes e suas associações, neste tópico será abordado resumidamente apenas o diagrama de classes, conforme apresentado o exemplo da Figura 2.1.
  • 12. [..] Enquanto os diagramas E-R clássicos têm seu foco apenas nos dados, os diagramas de classe vão um pouco além, permitindo ainda a modelagem de comportamentos. [..] (RUMBAUGH et. al., 2000, pág 109) Empresa cnpj: Texto 1 1..* 1..* Departamento Escritório nome: Texto endereço: Texto fazerCafezinho() expediente: Horario Figura Error! No text of specified style in document..1 - Exemplo de associação em diagrama de classes UML. Como pode ser notado na Figura 2.1, na notação básica da UML as classes são representadas como retângulos subdivido horizontalmente, onde, de cima para baixo, são descritos o nome da classe, os atributos e seus métodos. Os seus relacionamentos com outras tabelas são representados por linhas que fazem as devidas interligações, juntamente com a informação sobre o tipo deste relacionamento. Conforme o exemplo, definido por um losango preenchido em preto, significa uma associação do tipo agregação. A notação “1” junto a classe Empresa e a notação “1..*” junto as outras classes Departamento e Escritório, descrevem a multiplicidade do relacionamento, isto é, indicam que uma empresa possui um ou muitos Departamentos, e um ou muitos Escritórios. Outro tipo de relacionamento entre objetos é a herança, cuja notação da UML é representada por um triângulo presente sobre a linha do respectivo relacionamento, e que aponta para a superclasse, conforme exemplo demonstrado na Figura 2.2, onde as classes Estudante e Professor derivam da classe Pessoa.
  • 13. Pessoa nome: Texto falar() comer() Estudante Professor Matricula: Inteiro salario: Valor lerLivro() turno: Horario darAula() Figura Error! No text of specified style in document..2 - Exemplo de herança em diagrama de classes UML.