Your SlideShare is downloading. ×

Modelos de base de dados

7,396

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
7,396
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
145
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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 DADOS1ª Geração Hierárquico; Em rede.2ª Geração Modelos orientados a objetos Extensões ao modelo relacionalMODELO HIERÁRQUICOExemplo:Um departamento tem muitos empregados e cada um tem um supervisor e por suavez depende de outro empregado. Cada departamento tem muitos projetos no qualtrabalham 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écadade 60, é o MIS (Management Information system) da IBM.MODELO EM REDEExemplo:
  • 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 – RELACIONAMENTOO diagrama entidade-relacionamento expressa graficamente a estrutura global de umbanco de dados. Segundo [SILBERSCHATZ]:"O modelo de dados entidade-relacionamento baseia-se na percepção de um universoconstituído por um grupo básico de objetos chamados entidades epor relacionamentos entre esses objetos. Ele foi desenvolvido a fim de facilitar oprojeto de bancos de dados permitindo a especificação de um esquema deempreendimento. Tal esquema representa a estrutura lógica global do banco dedados."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). Aexplicação é que cada empresa trabalha com um formulário personalizado e pelo fatode que os produtos podem ser regidos por legislações diferentes que alteram a formade calcular impostos. Devido a essa complexidade e para deixar o sistema maisgené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 OOCategoria produtos- diferentes produtos.CONCEITOS DOS MODELOS DE DADOSMODELO HIERÁRQUICOO modelo hierárquico foi o primeiro a ser reconhecido como um modelo de dados. Seudesenvolvimento somente foi possível devido à consolidação dos discos dearmazenamento endereçáveis, pois esses discos possibilitaram a exploração de suaestrutura de endereçamento físico para viabilizar a representação hierárquica dasinformaçõ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. Oregistro da hierarquia que precede a outros é o registro-pai, os outros são chamadosde registros-filhos.Uma ligação é uma associação entre dois registros. O relacionamento entre umregistro-pai e vários registros-filhos possui cardinalidade 1:N. Os dados organizadossegundo este modelo podem ser acessados segundo uma seqüência hierárquica comuma navegação do topo para as folhas e da esquerda para a direita. Um registro podeestar associado a vários registros diferentes, desde que seja replicado. A replicaçãopossui duas grandes desvantagens: pode causar inconsistência de dados quandohouver atualização e o desperdício de espaço é inevitável. O sistema comercial maisdivulgado no modelo hierárquico foi o Information Management System da IBMCorp(IMS) para o ambiente MV(como o DB2). Grande parte das restrições econsistências de dados estava contida dentro dos programas escritos para asaplicações. Era necessário escrever programas na ordem para acessar o banco dedados. Um diagrama de estrutura de árvore descreve o esquema de um banco dedados hierárquico. Tal diagrama consiste em dois componentes básicos: Caixas, asquais correspondem aos tipos de registros e Linhas, que correspondem às ligaçõesentre 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 terno 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çõessimplesmente especificando-se para cada conjunto de dados qual e o seu conjuntomestre. 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 deintegridade 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 RELACIONALO modelo relacional foi criado por Codd, em 1970, e tem como finalidade representaros dados como uma coleção de relações, onde cada relação é representada por umatabela, ou seja. Quando uma relação é pensada como uma tabela de valores, cadalinha nesta tabela representa uma coleção de dados relacionados. Estes valorespodem ser interpretados como fatos, descrevendo uma instância de uma entidade ourelacionamento. O nome da tabela e de suas colunas é utilizado para facilitar a interpretação dosvalores armazenados em cada linha da tabela.Na terminologia do modelo relacional, cada tabela é chamada de relação, uma linhade uma tabela é chamada de tupla, o nome de cada coluna é chamado de atributo, otipo de dado que descreve cada coluna é chamado de domínio. O domínio é um conjunto de valores que possuem determinadas propriedadesem comum. O domínio engloba dados atômicos ou simples, porque não podem sofrermais nenhuma decomposição.
  • 8. Uma relação define-se sobre certo número de domínios e engloba duascomponentes: o cabeçalho e o corpo. O cabeçalho é um conjunto de atributos em quecada atributo corresponde a um domínio. O corpo corresponde a um conjunto detuplas. Cada tupla é um conjunto de valores: um por cada atributo constante docabeçalho. Cada linha da tabela representa uma proposição sobre determinada entidade.Enquanto que as linhas representam os valores atuais dos atributos, os domíniossimbolizam todos os valores possíveis. As linhas variam com as circunstânciasenquanto que os domínios e os atributos são constantes.Propriedades das relaçõesUma 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 identificadaspela 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 seidentificam pelo nome e não pela sua posição;• Cada um dos atributos contém valores retirados de um domínio particular, o que querdizer 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, oucombinação de atributos, cujos valores proporcionam uma identificação unívoca dastuplas duma relação, ou seja, certo valor para a chave só pode aparecer uma únicavez em cada relação. Significa ainda que as tuplas duma relação são todas diferentesentre si e não são permitidas linhas duplicadas,• Os dados, ou valores, são sempre de tipo atômico.MODELO EM REDEBusca seguir um padrão no seu desenvolvimento formado pela comissão COBOL daCodasyl. Ficou conhecido por DBTG (“Data Base Task Group”). O problema de sefazer um padrão é que muita gente vai posteriormente atrás dele, conseqüentementeassim surgiram GBDs comerciais que segue o modelo DBTG.
  • 9. Segundo Date (1990), a estrutura de dados em Rede pode ser considerada uma formaampliada da estrutura hierárquica de dados, onde a principal diferença é que naestrutura hierárquica, um registro-filho tem exatamente um pai, enquanto que naestrutura 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 dadosem rede está composto por dois conjuntos, um é o de ligações ou ocorrênciasmúltiplas dos vários tipos de registro e outro, um conjunto de ocorrências múltiplaspara cada um dos vários tipos de ligação, cada tipo de ligação envolvendo dois tiposde registros, um pai e outro filho.Cada ocorrência de uma ligação é composta por uma única ocorrência do tipo deregistro pai, disposto como um conjunto ordenado de múltiplas ocorrências de umregistro filho.Um banco de dados de rede é uma base de dados constituída por uma coleção ou umconjunto de registos, que são ligados entre si através de ligações numarede. O registo é semelhante a uma entidade, tais como aqueles utilizados no modelorelacional.Um registro é uma coleção ou conjunto de campos (atributos), onde cada um contendoum ú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 derede 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 especialda estrutura de rede.Conjuntos de dados:No modelo em rede (MRd), um conjunto de dados recebe o nome de “Record Type”. Opadrão DBTG especificou algumas modalidades de armazenamento para os “RecordType” (Record = Registro). Essa preocupação com o modelo interno permeou o MRdprejudicando o do ponto de vista de generalidade e de nível de abstração. Amodalidade de uso de uma chave é a utilização de rotinas de “Hashing”
  • 10. (espalhamento, randomização). Até hoje os GBDs do MRd continuam com problemaspara implementarem vários itens de busca, pois com “Hashing” direto só se podeespecificar um único item de busca. Para contornar esse problema, o DBTG fez umtruque 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 referencialpor meio de sua estrutura primária dos dados no momento de ligação. Podem serdeterminadas regras de inserção obrigando a colocação de um registro pai antes doentrada de um registro filho na primeira ocorrência.MODELO ORIENTADO A OBJETORecentemente, os bancos de dados orientados a objetos são uma possível evoluçãoao sistema relacional, com o surgimento de novas necessidades computacionais cadavez maiores, por exemplo, com desenho assistido por computador (CAD) ou bancosde dados multimídia, porém este modelo ainda não é muito encontrado, devidoprincipalmente a sua maior complexidade de implementação e a falta de padronizaçãonas linguagens de consulta (KORTH;SILBERSCHATZ, 1994). Segundo Fowler (2006),os bancos de dados orientados a objetos deverão trazer mais produtividade, devidoprincipalmente ao fato da POO não necessitar de um processo de mapeamentoobjeto-relacional (FOWLER, 2006).Como se pode notar existem algumas semelhanças nos conceitos de associaçõesentre objetos com a modelagem Entidade - Relacionamentos para bancos de dados.Page-Jones (1997) afirma que uma abordagem orientada a objetos permite umamelhor 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, representadorespectivamente 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 devidaprincipalmente 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 complexosde 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 é umapoderosa notação diagramática destinada a visualizar, especificar, construir edocumentar sistemas de qualquer espécie, não obrigatoriamente software.A UML possui os seguintes tipos de diagramas (RUMBAUGH et. al., 2000):Diagrama de classesDiagrama de objetosDiagrama de casos de usoDiagrama de seqüênciasDiagrama de colaboraçõesDiagrama de gráficos de estadosDiagrama de atividadesDiagrama de componentesDiagrama de implantaçãoPor demonstrar claramente ser uma evolução direta da modelagem ER, e quepossivelmente poderá servir de apoio ao presente trabalho, quando houvernecessidade de apresentar classes e suas associações, neste tópico será abordadoresumidamente apenas o diagrama de classes, conforme apresentado o exemplo daFigura 2.1.
  • 12. [..] Enquanto os diagramas E-R clássicos têm seu foco apenas nos dados, osdiagramas de classe vão um pouco além, permitindo ainda a modelagem decomportamentos. [..] (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 deassociação em diagrama de classes UML.Como pode ser notado na Figura 2.1, na notação básica da UML as classes sãorepresentadas 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 fazemas devidas interligações, juntamente com a informação sobre o tipo desterelacionamento. 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 anotação “1..*” junto as outras classes Departamento e Escritório, descrevem amultiplicidade do relacionamento, isto é, indicam que uma empresa possui um oumuitos 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, eque aponta para a superclasse, conforme exemplo demonstrado na Figura 2.2, ondeas 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 emdiagrama de classes UML.

×