460 likes | 869 Views
Projeto de Banco de Dados. Mundo Real. Modelo Descritivo. Modelo Conceitual. Modelo Operacional. Modelo Físico. Modelagem de Dados. Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD. seres, objetos, fatos Informações informais
E N D
Mundo Real Modelo Descritivo Modelo Conceitual Modelo Operacional Modelo Físico Modelagem de Dados • Objetivo: coletar os dados do mundo real e transformar em informações que podem ser armazenadas em um SGBD. seres, objetos, fatos Informações informais informações formais dados cadeias de bits
Modelos de Banco de Dados • Modelo de (Banco de) Dados: descrição das informações que estão armazenadas em um banco de dados.
Modelos de Banco de Dados • Modelo Conceitual: não contém detalhes sobre a representação em meio físico das informações; • Modelo Lógico: descrição de como as informações estão organizadas internamente, visão do usuário do SGBD; e • Modelo Físico: descreve os dados no nível mais baixo (interno); trata dos aspectos de implementação do SGBD.
DESENVOLVIMENTO DE BANCOS DE DADOS Modelo Conceitual
DESENVOLVIMENTO DE BANCOS DE DADOS Modelo Lógico
DESENVOLVIMENTO DE BANCOS DE DADOS Modelo Físico
Modelos de Banco de Dados • Modelo Conceitual
Modelos de Banco de Dados • Modelo Conceitual • Registra que dados podem aparecer no banco de dados, mas não registra como estes dados estão armazenados no SGBD; • Existem vários técnicas de modelagem conceitual: - Abordagem Entidade-Relacionamento; e - Abordagem orientada a objetos.
Modelos de Banco de Dados • Diagrama Entidade-Relacionamento (DER)
Modelos de Banco de Dados • Modelo Lógico
Modelos de Banco de Dados • Modelo Lógico • Também conhecido como Modelo Lógico com Base em Registros; • Dependente do tipo particular de SGBD que está sendo usado;
Modelos de Banco de Dados • Os modelos lógicos mais conhecidos são: • Modelo de Rede • Modelo Hierárquico • Modelo Relacional • Modelo Orientado a Objetos • Modelo Objeto – Relacional
TEmpregado TEmpregado TEmpregado RG RG RG nome nome nome endereço endereço endereço gerente gerente gerente salárioBase salárioBase salárioBase comissão comissão comissão salário() salário() salário() Orientado a Objetos Objeto-Relacional
Modelagem • Exemplo: Sistema para o controle de dados dos alunos de uma universidade. (1) • (2) Modelo descritivo: A universidade mantém o cadastro de seus alunos por RA, nome, endereço, fone e data de nascimento. Sobre as disciplinas que são oferecidas a universidade mantém o código, título, descrição e carga horária. O histórico de um aluno associa os alunos as disciplinas que eles cursaram em cada ano e mantém a nota e freqüência que eles obtiveram.
RA nome cod título ano n n Disciplinas end. Alunos Hist. freq nota fone descr. carga_hor data_nasc. Modelagem de Dados • (3) Modelo Conceitual: • MER - Modelo Entidade-Relacionamento: objetos são representados como entidades e as associações entre eles como relacionamentos.
Modelagem de Dados • Modelo Orientado a Objetos: dados do mundo real são representados como objetos, que possuem atributos e métodos. Objetos organizados em classes ligados por associações. Exemplo usando OMT: Alunos Disciplinas RA cod. nome Histórico título end. ano fone descr. freqüência data_nasc nota carga_hor. cadastrar_Hist cadastrar_disc cadastrar alterar_nota atualizar end.
Modelagem de Dados • (4) Modelo Operacional: descrição de alto nível da implementação. • Modelo Relacional: dados e relacionamentos representados por uma coleção de tabelas. Ocupa mais de 90 % do mercado atual.
RA nome end fone data cod título descr. carga RA cod ano freq nota Modelagem de Dados alunos disciplinas Exemplo: histórico
Características do modelo relacional: • cada tabela tem seu nome diferente das demais na mesma base de dados • cada coluna tem seu nome diferente das demais na mesma tabela • colunas contém os atributos • linhas contém informações de 1 entidade • cada célula pode conter no máximo 1 item de dado • ordem das linhas é irrelevante • ordem das colunas é irrelevante • nunca temos duas linhas iguais • chave primária
Modelagem de Dados • (5) Modelo Físico: representação dos dados no meio físico. Estruturas de dados mais complexas. Representação própria de cada SGBD.
Projeto de um BD Modelo Entidade-Relacionamento (ER) • Técnica de modelagem de dados mais utilizada • Criada em 1976 por Peter Chen • Os conceitos centrais dessa abordagem são: • Entidade: conjunto de objetos da realidade, modelada sobre os quais deseja-se manter informações no BD. Geralmente, uma entidade é representada como uma tabela em bancos de dados relacionais. Representadas por retângulos. Aluno Disciplina Cliente Conta Corrente
Projeto de um BD Modelo Entidade-Relacionamento (ER) • Os conceitos centrais dessa abordagem são: • Atributo: dado que é associado a cada ocorrência de uma entidade ou de um relacionamento. Em termos relacionais, geralmente significa um campo. Representadas em eclipses Cliente
Projeto de um BD Modelo Entidade-Relacionamento (ER) Relacionamento: conjunto de associações entre entidades. A
Projeto de um BD Modelo Entidade-Relacionamento (ER) Relacionamento: conjunto de associações entre entidades. movimenta Cliente Conta Corrente cursa Aluno Disciplina
Cardinalidade Expressa o número de entidades ao qual outra entidade pode ser associada através do relacionamento. Pode ser expressa por alguns sinais: flechas, pés de galinha, números, etc... São grafadas sobre a linha do relacionamento nas duas extremidades: Cardinalidade 1: Cardinalidade N:
Cardinalidade Cardinalidade Um-para-um (1:1) possui 1 1 Estado Capital
Cardinalidade Cardinalidade Um-para-muitos (1:N) movimenta 1 N Cliente Conta Corrente cursa 1 N Aluno Disciplina
Cardinalidade Cardinalidade Muitos-para-muitos (N : N) movimenta N N Cliente Conta Corrente cursa N N Aluno Disciplina
movimenta 1 N Cliente Conta Corrente Diagramas ER Nome Rua Código Cidade Numero Quantia
Cursa 1 N Aluno Disciplina Diagramas ER Matr Nome Codigo Curso Período Nome CargaH
Projeto de um BD • A transformação do projeto da abordagem ER para um BD relacional não é direta, mesmo assim, existem algumas regras que nos auxiliam nessa conversão:
Entidade -> Relação A Aluno (Numero, Nome, Morada) Criança (NumA, Nome)
Prestando atenção nas cardinalidades.... As relações 1:1 ou 1:N do ER não geram tabelas mas obrigam à inclusão de novos atributos nas tabelas já existentes:
Prestando atenção nas cardinalidades.... As relações 1:1 ou 1:N do ER não geram tabelas mas obrigam à inclusão de novos atributos nas tabelas já existentes:
Prestando atenção nas cardinalidades.... Para cada relação N:N deve existir uma tabela própria com os atributos determinantes das entidades relacionadas que formam a sua chave primária