Banco de Dados Prof. Flávio Souza Graduado em Análise e Desenvolvimento de Sistema Modelo de Dados • Descrição formal de um estrutura de banco de dados. • Pode ser divido em três modelos • Modelo Conceitual • Modelo Lógico • Modelo Físico Modelo Conceitual • Modelo de dados abstrato que descreve a estrutura de um banco de dados sem a necessidade de um Sistema Gerenciador de Banco de Dados (SGBD). • O modelo conceitual mais utilizado é o relacional. Modelo Relacional • Criado em 1970 por Edgar Frank Codd, descrito no seu artigo “Relational Model of Data for Large Shared Data Banks”. • Sucessor dos modelos hierárquicos, em rede, codasyl e listas invertidas. • A técnica mais usada é a modelagem entidade-relacionamento (ER) na qual é representada graficamente através do diagrama entidaderelacionamento (DER). Modelo Relacional • Entidade, Registro, Linha ou Tupla – Representação de um conjunto de informações sobre uma um determinado assunto. PESSOA CARRO Código Código Nome Marca Sexo Modelo Idade Ano Telefone Modelo Relacional • Atributo, Coluna ou Campo – São as características de uma entidade. PESSOA CARRO Código Código Nome Marca Sexo Modelo Idade Ano Telefone • Os atributos podem ser classificados como: • Monovalorado • Multivalorado Modelo Relacional • Atributo Simples ou Monovalorado – Só assume um tipo de informação, como por exemplo temos o atributo nome da entidade pessoa que só assume um tipo de informação da entidade que é no caso o nome da pessoa. PESSOA Nome Modelo Relacional • Atributo Composto – O seu conteúdo pode ser dividido em outros atributos. Exemplo: Avenida Gomes de Matos, n.º 500, Montese – Fortaleza/CE PESSOA PESSOA Endereço Tipo de Logradouro Nome do Logradouro Número Bairro Cidade Estado Modelo Relacional • Atributo Multivalorado – Assume mais de um tipo de informação, como por exemplo temos o atributo telefone da entidade pessoa que pode assumir vários tipos de telefones como comercial, residencial, celular e etc.. PESSOA Telefone Modelo Relacional • Atributo Determinante – Identifica de forma única a entidade. Exempo: CPF, CNPJ, Código da Matrícula, Código de Barras e etc... PESSOA Código Modelo Relacional • Domínio – Conjunto de valores que um atributo pode assumir. PESSOA CARRO Sexo (Masculino e Feminino, etc...) Marca (Chevrolet, Fiat, etc...) Modelo (Chevete, Fusca, etc...) Modelo Relacional • Tabela, Relação ou Entidades – Conjunto de entidades organizado em linhas e colunas. PESSOA Código Nome Sexo Idade Telefone 1 Francisco Masculino 28 9999-9999 5 Maria Feminino 15 8888-8888 15 José Masculino 29 7777-7777 23 Tereza Feminino 22 6666-6666 Modelo Relacional PESSOA Código Nome Sexo Idade Telefone 1 Francisco Masculino 28 9999-9999 5 Maria Feminino 15 8888-8888 15 José Masculino 29 7777-7777 23 Tereza Feminino 22 6666-6666 Atributos, Colunas ou Campos Tupla, Registro ou Entidade Modelo Relacional • Relacionamento – É uma associação entre entidades através de um atributo em comum. Entidade A • nomeDoRelacionamento Entidade B Exemplo de relacionamento Medico Consulta Paciente Cliente Aluga Filme Modelo Relacional • Cardinalidade de um relacionamento – Em um relacionamento a cardinalidade é definida de três formas: • Relacionamento um para um (1:1). • Relacionamento um para muitos (1:N). • Relacionamento muitos para muitos (N:N). Modelo Relacional • Relacionamento um para um (1:1). Ocorre quando uma ocorrência de A está associada a no máximo uma ocorrência de B e uma ocorrência de B está associada a no máximo uma ocorrência de A. Modelo Relacional • Relacionamento um para um (1:1). Conjunto A (Empregado) João Contabilidade Pedro Financeiro Jurídico Paulo Maria Empregado 1 Conjunto B (Departamento) Gerencia 1 Departamento Leia-se, um empregado gerencia um setor e o setor só pode ser gerenciado por apenas um empregado. Modelo Relacional • Relacionamento um para muitos (1:N). Ocorre quando uma ocorrência de A está associada a mais de uma ocorrência de B e uma ocorrência de B está associada a no máximo uma ocorrência de A. Modelo Relacional • Relacionamento um para muitos (1:N). João Conjunto A (Departamento) Contabilidade Pedro Financeiro Paulo Conjunto B (Empregado) Maria Departamento 1 Loca N Empregado Leia-se, um departamento loca vários empregados, um empregado só pode estar locado em um departamento. Modelo Relacional • Relacionamento muitos para muitos (N:N). Ocorre quando uma ocorrência de A está associada a mais de uma ocorrência de B e uma ocorrência de B está associada a mais de uma ocorrência de A. Modelo Relacional • Relacionamento muitos para muitos (N:N). Conjunto A (Empregado) João Sinpli Pedro AATOM Paulo MM-TOM Sigmoda Maria Empregado • N Conjunto B (Projeto) Atua N Projeto Leia-se, um empregado pode atuar em vários projetos e um projeto comporta vários empregados. Modelo Relacional • Cardinalidade mínima e máxima. Mínima – Número mínimo de ocorrências de uma entidade A em relação a uma entidade B. Máxima – Número máximo de ocorrências de uma entidade A em relação a uma entidade B. Modelo Relacional • Cardinalidade mínima e máxima. Cliente Empregado (1,1) (1,1) ContaCliente Gerencia (1,N) Conta (0,1) Departamento Possíveis Valores: (1,1), (1,N), (0,1), (0,N), (N,N). Modelo Relacional • Cardinalidades de atributos – Os atributos também podem ser classificados por sua cardinalidade: Cardinalidade mínima 1 – Atributo Obrigatório PESSOA Nome (1, 1) 0 – Atributo Opcional Telefone (0, N) Cardinalidade máxima Endereço (1, N) 1 – Atributo monovalorado N – Atributo multivalorado CPF (1, 1) Modelo Relacional • Papeis em um relacionamento – A função que uma ocorrência de uma entidade cumpre em um relacionamento. • Não é obrigatório no Modelo ER. Movimenta Cliente É movimentada (1,1) ContaCliente (1,N) Envolve Alocado Empregado (1,N) Conta Atua (0,N) Projeto Referências Bibliográficas • Elmarsi e Navathe, Sistema de Bancos de Dados, 6ª Edição – São Paulo. • Modelo Entidade-Relacionamento (Vania Bogorny) – Instituto de Informática e Estatística da Universidade Federal de Santa Catarina. • http://pt.wikipedia.org/wiki/Modelo_Relacional • http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649 • http://pt.wikipedia.org/wiki/Banco_de_dados_relacional#O_Modelo_Relacional • http://www.luis.blog.br/analise-de-entidade-atributos-simples-compostosmultivalorados.aspx