Projeto de Banco de Dados
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 Mundo Real Modelo Descritivo Modelo Conceitual Modelo Operacional Modelo Físico
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 Id Tipo Devastação Number Varchar
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
Orientado a Objetos Objeto-Relacional TEmpregado RG nome endereço gerente salárioBase comissão salário() TEmpregado RG nome endereço gerente salárioBase comissão salário() TEmpregado RG nome endereço gerente salárioBase comissão salário()
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.
Modelagem de Dados (3) Modelo Conceitual: MER - Modelo Entidade-Relacionamento: objetos são representados como entidades e as associações entre eles como relacionamentos. Alunos Hist. Disciplinas n nota freq ano RA nome end. fone data_nasc. cod título descr. carga_hor
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 atualizar end. alterar_nota
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.
Modelagem de Dados Exemplo: alunos disciplinas RA nome end fone data cod título descr. carga histórico RA cod ano freq nota
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 Representação própria de cada SGBD. (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 1 cursa N Aluno Disciplina
Cardinalidade Cardinalidade Muitos-para-muitos (N : N) movimenta N N Cliente Conta Corrente N cursa N Aluno Disciplina
Diagramas ER Nome Rua Cliente Conta Corrente movimenta 1 N Código Cidade Numero Quantia
Diagramas ER Matr Nome Codigo Aluno Disciplina Cursa 1 N Curso Período 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
Entidade -> Relação 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