Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI MODELAGEM DE DADOS PARTE 1 Disciplina: Banco de Dados Prof: Márcio Palheta, Esp Manaus - AM
ROTEIRO Introdução Modelo Conceitual Entidade-Relacionamento Noções Básicas Referências 2
INTRODUÇÃO A modelagem conceitual é uma fase muito importante no planejamento de uma aplicação de um banco de dados bemsucedida Geralmente, o termo aplicação de um banco de dados referese a um banco de dados particular e aos programas a ele associados, que implementam consultas e atualizações 3
INTRODUÇÃO Exemplo: Uma aplicação de um banco de dados BANCO, para manter as contas dos clientes, conteria programas para implementar as atualizações correspondentes aos depósitos e retiradas deles Esses programas oferecem interfaces gráficas User-Friendly Graphical User Interfaces (GUIs), que utilizam formulários e menus para interagir com os usuários finais da aplicação (caixas eletrônicos) 4
INTRODUÇÃO Parte da aplicação de um banco de dados exigirá o projeto, implementação e testes desses programas de aplicação Tradicionalmente, o projeto e teste dos programas de aplicação são tratados mais no domínio da engenharia de software do que no de um banco de dados 5
INTRODUÇÃO Como as metodologias de projeto de banco de dados priorizam os conceitos de operações em objetos de banco de dados A realização dessa metodologia se dá através da modelagem de dados E especificamente par este curso será usado o modelo entidade-relacionamento (modelo com base em registro) 6
MODELO CONCEITUAL ENTIDADE-RELACIONAMENTO
Introdução O modelo Entidade-Relacionamento (ER) que é um modelo de dados conceitual de alto nível, além de muito popular Esse modelo e suas variações são normalmente empregados para o projeto conceitual de aplicações de um banco de dados, e muitas ferramentas de projeto de um banco de dados aplicam seus conceitos 8
Introdução O primeiro passo é o levantamento e análise de requisitos O resultado dessa etapa é o registro conciso dos usuários Em paralelo à especificação dos requisitos dos dados, é útil definir os requisitos funcionais conhecidos da aplicação Esses requisitos no banco de dados, incluindo as recuperações e atualizações 9
Introdução O segundo passo é criar um esquema conceitual para o banco de dados, utilizando um modelo de dados conceitual de alto nível Essa fase é chamada de projeto conceitual As modificações no esquema conceitual podem ser feitas se alguns requisitos funcionais não puderem ser especificados usando-se o esquema inicial 10
Introdução O terceiro passo no projeto de banco de dados é a implementação real do banco de dados utilizando um SGBD comercial Essa fase é conhecida como projeto lógico ou mapeamento do modelo de dados 11
Introdução O quarto e último passo é a fase do projeto físico, durante a qual são definidas as estruturas de armazenamento interno, índices, caminhos de acesso e organizações de arquivo para arquivo de Banco de Dados 12
NOÇÕES BÁSICAS
Noções Básicas Há três noções básicas empregadas pelo modelo ER: Conjunto de entidade Conjunto de relacionamento Atributos 14
Conjunto de Entidade possui entidades do mesmo tipo que compartilham as mesmas propriedades Exemplo: o conjunto de todas as pessoas, empresas, árvores e feriados 15
Relacionamento Um relacionamento é uma associação entre várias entidades Exemplo: João trabalha_em projeto_xzy relacionamento 16
Conjunto de Relacionamento Conjunto de Relacionamento é uma relação matemática entre n 2 entidades, cada uma pertencendo a um conjunto de entidades {(e 1, e 2, e n ) e 1 E 1, e 2 E 2,, e n E n } onde (e 1, e 2,, e n ) é um relacionamento Exemplo:» (João, projeto_xzy) trabalha_em 17
Grau de um relacionamento Refere-se ao número de entidades que participam de um relacionamento Relacionamentos que involvem duas entidades são binários (ou de grau dois). Geralmente, a maioria dos relacionamentos em um banco de dados é binário 18
Grau de um relacionamento Relacionamentos podem envolver mais de duas entidades Exemplo: Suponha que os funcinários de um banco podem ter postos de trabalho (responsabilidades) em várias filiais, mas com trabalhos diferentes. Então existe uma relação ternária entre as entidades empregado, trabalho e filial 19
Grau de um relacionamento Postos_de_trabalho Empregado TRABALHA_EM Filial Relacionamentos entre mais de duas entidades são raros 20
Atributos Cada entidade tem seus atributos Entende-se por atributos as propriedades particulares que descreve cada entidade Exemplo: Uma entidade empregado pode ser descrita pelo nome, idade, endereço, salário, função, etc Uma determinada entidade terá um valor para cada um de seus atributos 21
Atributos Os valores dos atributos que descrevem cada entidade se tornarão a maior parte dos dados armazenados no banco de dados Há diversos tipos de atributos: Simples Composto Monovalorado ou Univalorado Multivalorado Armazenado Derivado 22
Atributos Simples x Composto Os atributos compostos podem ser divididos em subpartes menores, que representam a maioria dos atributos básicos com significados independentes Exemplo: O atributo endereço pode ser divido em rua, número, bairro, cidade, estado, cep Logo, o valor de um atributo composto é a concatenação dos valores componentes dos seus atributos simples Já os atributos simples ou atômicos não podem ser divisíveis 23
Atributos Simples x Composto Endereço Atributo Simples rua número bairro cidade estado cep Atributo Composto: Endereço 24
Atributos Monovalorado x Multivalorado Os atributos monovalorados tem um único valor Exemplo: O valor dos atributos idade, data_nascimento, nome_mãe... Os atributos multivalorados tem diversos valores: Exemplo: Os valores do atributo cor: Azul, vermelho, verde, branco, preto, etc 25
Atributos Armazenados x Derivado Os atributos derivados pode ser derivado de outros atributos ou entidades a ele relacionado Exemplo: Total dos valores, Nota Final, idade, etc Os atributos que estão persistentes (gravados) em disco são todos atributos armazenados Valores Nulos Há situação em que o atributo não terá valor num_apartamento, CNH, titulação, deficiencia_fisica, etc 26
Chaves em Conjunto de Relacionamento Permite que entidades e relacionamentos individuais sejam distintos Superchave É um conjunto de um ou mais atributos que, tomados coletivamente, nos permitem identificar de maneira única uma entidade em um conjunto de entidades 27
Chaves em Conjunto de Relacionamento Exemplo: O atributo cpf do conjunto de entidades cliente é suficiente para distinguir uma entidade cliente da outra, logo ele é uma superchave A combinação de um nome_cliente e cpf é superchave para entidade cliente O nome_cliente não é superchave de cliente, pois alguns podem ter o mesmo nome 28
Chaves em Conjunto de Relacionamento Chave Candidata e Primárias É um subconjunto do conjunto superchaves É comum indicar umas das chaves do conjunto das candidatas para serem chaves primárias da relação Geralmente é melhor optar por uma chave primária com um único atributo ou com números pequenos de atributos Chaves Estrangeiras São conjuntos de chaves primárias de outras entidades inseridas na entidade corrente 29
Chaves em Conjunto de Relacionamento Cadastro_Aluno Matr 17 Cadastro_Aluno Matr Nome End DataNasc Smith Xxx, 112 01/01/1991 Superchaves Nome End DataNasc Fone 9191-9191 Fone 17 Candidatas Smith Xxx, 112 01/01/1991 9191-9191 Cadastro_Aluno Matr 17 Primária Nome End DataNasc Smith Xxx, 112 01/01/1991 Fone 9191-9191 30
Chaves Estrangeiras É uma coluna ou uma combinação destas, cujos valores estão presentes necessariamente na chave primária de uma tabela 31
Chaves Estrangeiras A existência de uma chave estrangeira impõe restrições que devem ser garantidas em diversas situações de alteração do banco de dados: Inclusão de uma linha na tabela que contém a chave estrangeira deve ser garantido que o valor da chave estrangeira apareça na coluna da chave primária referenciada Exemplo: significa que um novo empregado deve atuar em um departamento já existente 32
Chaves Estrangeiras A existência de uma chave estrangeira impõe restrições que devem ser garantidas em diversas situações de alteração do banco de dados: Alteração do valor da chave estrangeira o novo valor de uma chave estrangeira deve aparecer na coluna da chave primária referenciada Exemplo: Significa que o código de departamento de um empregado deve ser alterado para um código existente na coluna da chave primária referenciada 33
Chaves Estrangeiras A existência de uma chave estrangeira impõe restrições que devem ser garantidas em diversas situações de alteração do banco de dados: Exclusão de uma linha da tabela que contém a chave primária referenciada pela chave estrangeira Deve ser garantido que na coluna chave estrangeira não apareça o valor da chave primária que está sendo excluída Exemplo: significa que um departamento não pode ser excluído, caso nele ainda existirem empregados 34
REFERÊNCIAS ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de Dados, 4ª Edição. Editora Pearson Addison Wesley. Ano 2005 SILBERSCHATZ, A., KORTH, H. F., SUDARSHAN, S., Sistema de Banco de Dados, 3ª Edição, Makron Books. 1999 35