Prévia do material em texto
Introdução e Modelo de Entidade e Relacionamento (MER) Introdução e Modelo de Entidade e Relacionamento (MER) Prof. Rogério Vassoler rogerio.vassoler@pro.unifacs.br ConceitosConceitos • O que é Dado? – Qualquer símbolo ou conjunto de símbolos. • O que é Informação? – “Informações são dados que foram organizados e comunicados” (Castells) – Dados úteis, contextualizados. 2 ConceitosConceitos • Na área de modelagem de dados é importante definir alguns conceitos: – Banco de Dados; – Banco de Dados Relacional; – Sistema Gerenciador de Banco de Dados (SGBD). 3 IntroduçãoIntrodução • Dados registrados necessitam ser recuperados no futuro; • Buscar informações de forma rápida; • Para que os dados passem pelo processo de transformação em informações úteis é preciso alguma forma de processamento; • A computação agilizou o processo de registro, transformação e busca das informações. Nome: Ana Endereço : Av. Sete Função: Medica 4 Surgimento dos Bancos de DadosSurgimento dos Bancos de Dados • Banco de dados surge com uma iniciativa de organização dos dados presentes nos arquivos; • Bancos de dados compartilham grande volume de informações; • Os programas passam a ter acesso aos dados de maneira uniforme. Nome Código Curso Manuela A32 INF Paula A31 MAT Aluno 5 HistóricoHistórico • Fim da década 60 – Primeiros produtos de banco de dados hierárquicos • 1969-1970 – Criação do modelo relacional • Década 70 – Criação do modelo SQL (Structured Query Language, ou Linguagem de Consulta Estruturada) – Produtos de BD no modelo de rede – Pesquisas e desenvolvimento de produtos relacionais • 1980-1983 – Primeiros produtos relacionais • 1986-1987 – SQL definido como padrão ANSI (American National Standards Institute em 1986 e ISO (International Organization for Standardization) em 1987. 6 O que é Banco de DadosO que é Banco de Dados • “Banco de dados é uma coleção de dados relacionados” (Elmasri &Navathe) • “Um banco de dados é projetado, construído e povoado com dados que possuem um objetivo específico. Ele possui um grupo provável de usuários e aplicações preconcebidas, nas quais estes usuários estão interessados” (Elmasri &Navathe) • “Um banco de dados é uma coleção de dados persistentes utilizados pelos sistemas de aplicações de uma determinada 'empresa' ” (Date) 7 O que é Banco de DadosO que é Banco de Dados • Mecanismo de armazenamento de dados; • Conjunto de informações com estrutura regular; • Banco de dados não relacionais – Arquivos estruturados • Banco de dados relacionais – Dados organizados em tabelas; – Tabelas podem se relacionar com outras tabelas; – Menor espaço de armazenamento; – Maior velocidade de acesso aos dados; – Padrão mundialmente utilizado. 8 Bancos de Dados RelacionaisBancos de Dados Relacionais • Bancos de dados – Ferramentas que permitem o armazenamento e manipulação de dados organizados em forma de tabelas; • Tabelas – Forma de organização de dados formada por linhas e colunas; • Colunas – Campos que formam um registro; • Linhas – Registros ou tuplas. Banco de Dados Tabela PRODUTOS PRODUTO PREÇO TV 1000 DVD Player 290 Bluray Player 490 Tabela CLIENTES NOME IDADE ESTADO Maria 25 BA Eduarda 30 SP João 35 MG 9 TabelasTabelas 101997James CameronTitanic75 21996Jerry Maguire61 41986Platoon57 61994Robert ZemeckisForrest Gump50 01999John McTiernanThomas Crown20 11999Andy WashowskiMatrix17 51999Sam MendesBeleza Americana12 01999John WooMissão Impossível 211 71996Anthony MinghellaO Paciente Inglês2 OscarAnoDiretorFilmeCodigo Colunas Linhas FILMES 10 Bancos de Dados RelacionaisBancos de Dados Relacionais • Visões – Consultas SQL a dados das tabelas do banco sem armazená-los; • Índices – Estruturas que gerenciam a ordenação de valores dos campos informados para melhorar a performance de processamento destes campos. 11 SGBD (Conceito)SGBD (Conceito) • Sistema de Gerenciamento de Banco de dados (SGBD) é uma coleção de dados relacionados e um conjunto de programas para acessá-los permitindo ao usuário criar e manter o banco de dados. 12 SGBDsSGBDs • SGBD – Sistema Gerenciador de Banco de Dados; – DBMS: Database Management System; – SGBD não é um banco de dados, mas sim um complemento; – SGBD é um grupo de programas para interação com os dados. Sistema de Banco de Dados Banco de Dados SGBD Sistema Sistema Usuário 13 Funções do SGBDFunções do SGBD • Definição de Dados • Manipulação de Dados • Segurança e Integridade • Utilitários para Inclusão, Recuperação e Reorganização • Controle de Concorrência • Catálogo/Otimizador • Desempenho 14 UsuáriosUsuários • Administradores de Dados • Administrador de Banco de Dados • Usuários Finais • Analistas de Sistemas e Programadores 15 UsuáriosUsuários • Administradores de Dados (DA ou AD) – Exige conhecimentos específicos do ramo de negócio; – Interagem com os usuários para desenvolver o modelo de dados. • Administrador de Banco de Dados (DBA) – Exige conhecimentos técnicos específicos do SGBD; – O DBA geralmente é um profissional de ciência da computação. 16 Atribuições do DA e DBAAtribuições do DA e DBA • Projetar a estrutura do BD, ou seja, o conjunto de objetos do BD (nomes de tabelas, nomes dos campos, tamanhos dos campos, valores válidos, relacionamentos entre as tabelas, etc.); • Estabelecer que usuários podem acessar quais informações; • Criar e manter os objetos do BD; • Fazer cargas de dados; • Gerenciar inclusão/recuperação de dados; • Monitorar o desempenho do SGBD. 17 Modelo Entidade-RelacionamentoModelo Entidade-Relacionamento • Definição: Modelo baseado na percepção do mundo real, que consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre esses objetos. • Objetivo: Facilitar o projeto de banco de dados, possibilitando especificar a estrutura lógica geral do banco de dados. • Diagrama Entidade-Relacionamento (DER) – No contexto da análise estruturada, define os dados mantidos pelo sistema, isto é, os depositos de dados do diagrama de fluxo de dados. – Considera os dados independentemente do processamento que os transforma. 18 Modelo de Entidade e RelacionamentoModelo de Entidade e Relacionamento Componentes do MER: • Entidade • Atributo • Relacionamento 19 Entidade e Conjuntos-EntidadeEntidade e Conjuntos-Entidade • Entidade: é uma representação abstrata de um objeto do mundo real. – Ex: O fornecedor Pedro, com código F1. • Conjunto-Entidade: Grupo de entidades referindo-se a objetos concretos ou abstratos com características semelhantes. – Ex: Fornecedor, Pessoa, Curso 20 Instância de uma EntidadeInstância de uma Entidade • Representa o estado de uma entidade em determinado instante. • O estado de cada entidade do conjunto é determinado pelos valores das caracterísicas (atributos) da entidade. – Ex: Instâncias de “Fornecedor”. 21 Atributo (campo)Atributo (campo) • Elemento de dado que contém o valor de uma propriedade de uma entidade. 22 Classificação de AtributosClassificação de Atributos • Atributo Simples: Não tem outros atributos aninhados, apenas o valor. – Ex: Nome • Atributo Composto: Tem outros atributos aninhados. – Ex: Endereço • Atributo Monovalorado: Um único valor para cada instância. – Ex: Nome • Atributo Multivalorado: Mais de um valor para cada entidade. – Ex: Depenedentes 23 Classificação de AtributosClassificação de Atributos • Atributo(s) Determinante(s) ou Chave: Identifica unicamente cada entidade de um conjunto-entidade. – Ex: Cod_Func • Atributo Derivado: O seu valor pode ser calculadoa partir do valor de outro(s) atributo(s). – Ex: Idade (derivada da data de nascimento) • Tipo de um Atributo: Determina a natureza dos valores permitidos para um attributo. – Ex: inteiro, real, string, etc. • Atributo Multivalorado: Refina o conjunto de valores permitidos para o atributo. – Ex: Sexo {M, F} 24 Modelo de Entidade e RelacionamentoModelo de Entidade e Relacionamento • Chaves Primária e Estrangeira • Atributo composto e multivalorado 25 Projeto de ChavesProjeto de Chaves • Chave: é um conjunto de um ou mais atributos que, tomados coletivamente, permite-nos identificar unicamente uma entidade no conjunto-entidade • Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos. 26 Aspectos Relevantes do Projeto de Chaves Aspectos Relevantes do Projeto de Chaves • A questão fundamental do projeto de chaves é reduzir ao máximo os efeitos de redundância. • A alteração dos valores de campos constituintes da chave primária ou a remoção de uma entidade de um conjunto-entidade pode ocasionar problemas de integridade referencial. 27 Aspectos Relevantes do Projeto de Chaves Aspectos Relevantes do Projeto de Chaves • Entidade Fornecedor: Cod_Forn • Entidade Produto: Cod_Prod • Relacionamento Pedido: Cod_Forn e Cod_Prod 28 RelacionamentosRelacionamentos • As entidades são conectadas umas às outras através de relacionamentos. • Para determinar os relacionamentos deve-se considerar as entidades dentro do contexto do software a ser construído e do domínio de aplicação a que se destina. 29 RelacionamentoRelacionamento • Estrutura que indica uma associação entre instâncias de duas ou mais entidades. 30 • Atributos de Relacionamento Relacionamento Binário (grau 2)Relacionamento Binário (grau 2) • Relaciona dois conjuntos-entidade distintos. 31 Relacionamento Ternário (grau 3)Relacionamento Ternário (grau 3) • Relaciona três conjuntos-entidade distintos. 32 CardinalidadeCardinalidade • São quatro as cardinalidades: • 1 para N • N para 1 • N para N • 1 para 1 33 CardinalidadeCardinalidade Exemplos: Chaves e Atributos 34 Cardinalidade de um RelacionamentoCardinalidade de um Relacionamento Indica o número de instâncias de entidade que podem estar associadas umas as outras através de um relacionamento. 35 Relacionamento de cardinalidade 1:1Relacionamento de cardinalidade 1:1 Uma entidade em A está associada no máximo a uma entidade em B e uma entidade em B está associada no máximo a uma entidade em A. 36 Relacionamento de cardinalidade 1:NRelacionamento de cardinalidade 1:N Uma entidade em A está associada a qualquer número de entidades em B, enquanto uma entidade em B, está associada no máximo a uma entidade em A. 37 Relacionamento de cardinalidade N:NRelacionamento de cardinalidade N:N Uma entidade em A está associada a qualquer número de entidades em B, e uma entidade em B, está associada a qualquer número de entidades em A. 38 Relacionamento ParcialRelacionamento Parcial No relacionamento entre dois conjuntos-entidade A e B, a participação de A é parcial no relacionamento com B, se alguma instância de A, pode existir sem relacionamento com nenhuma instância de B. 39 Relacionamento Participação TotalRelacionamento Participação Total • Quando todas as instâncias de uma entidade precisam estar associadas a alguma instância de outra entidade através de um relacionamento. 40 Dependência ExistencialDependência Existencial • Ocorre quando a existência de uma determinada entidade está associada à existência de uma outra entidade a ela relacionada. 41 Entidades FracasEntidades Fracas • Uma entidade fraca não possui identidade própria. Sua chave primária é composta pela chave estrangeira proveniente da entidade “dona” concatenada a um indentificador de si própria. 42 RestriçãoRestrição Além dos relacionamentos é importante definir também as restrições entre as entidades envolvidas permitindo melhor entendimento da situação. Veja acima a restrição de integridade, onde: pode existir departamento sem funcionário, mas não pode existir funcionário sem departamento. 43 AgregaçãoAgregação É utilizada quando for preciso definir um relacionamento de uma entidade com um conjunto de entidades. 44 Diagrama de Entidade e RelacionamentoDiagrama de Entidade e Relacionamento É a representação gráfica dos elementos definidos como parte de MER, após o levantamento das entidades, atributos e relacionamentos. 45 Modelo DERModelo DER 46 Modelo DERModelo DER 47 Modelo DERModelo DER 48 Modelo DERModelo DER 49 Modelo DER para o Modelo FísicoModelo DER para o Modelo Físico 50 Estudo de CasoEstudo de Caso Situação Problema – Padaria do Sr. João 51 • Passo 1: Listar entidades candidatas; • Passo 2: Analisar e selecionar as entidades que fazem parte do modelo; • Passo 3: Analisar o relaciomento existente entre as entidades; • Passo 4: Definir a cardinalidade entre os relacionamentos; • Passo 5: Definir as retrições de integridade entre os relacionamentos; • Passo 6: Definir os atributos, campos, chaves primária e estrangeira; • Passo 7: Desenhar o Diagrama de Entidade e Relacionamento. Modelo de DER Modelo de DER 52 Obrigado e até a próxima aulaObrigado e até a próxima aula 53