Modelagem Conceitual C O objetivo É: Representar a semântica da informação, independente de considerações de eficiência. D O objetivo NÃO É: Descrever a estrutura do armazenamento do banco de dados. I Requisitos de um modelo conceitual: - clareza (facilidade de compreensão) - exatidão (formal) Modelo Semântico (ex: Entidade-Relacional)
Modelagem Conceitual Padrão para a modelagem conceitual de Sistemas de Banco de Dados Abordagem Entidade-Relacionamento (ER) Principais Características: Utilização de poucos conceitos Excelente representação gráfica Facilidade de compreensão Elementos Básicos: Entidade Atributo Relacionamento Cardinalidade
Modelo Entidade - Relacionamento O modelo de dados entidade-relacionamento baseia-se na percepção de um universo constituído por um grupo básico de objetos chamados entidades e por relacionamentos entre estes objetos. Ele foi desenvolvido a fim de facilitar o projeto de banco de dados permitindo a especificação de um esquema de empreendimento. Tal esquema representa a estrutura lógica global do banco de dados.
ENTIDADES O objeto básico tratado pelo modelo ER é a entidade, que pode ser definida como um objeto do mundo real, concreto ou abstrato e que possui existência independente. Cada entidade possui um conjunto particular de propriedades que a descreve chamado atributos Exemplos de entidades: Aluno, Conta Bancaria, Cliente, Nota Fiscal, etc. Entidade: objeto que existe e é distinguível de outros objetos. Conjunto de Entidades: grupo de entidades do mesmo tipo.
Dependência Existencial Se a existência da entidade x depende da existência da entidade y, então diz-se que x é existencialmente dependente de y. A entidade y é chamada dominante e x é chamada subordinada. Y X a1 b1 b2 a2 a3 b4
Entidades Fortes e Fracas Entidade Forte: é uma entidade que possui chave primária, por definição é uma entidade dominante. Entidade Fraca: é uma entidade que não possui chave primária, por definição é uma entidade subordinada. Para formarmos a chave primária de uma entidade fraca, utilizamos a chave primária da entidade forte da qual ela é existencialmente dependente mais um conjunto mínimo de atributos que possa identificar uma entidade em um conjunto de entidades fracas.
Entidade Fraca / Relacionamento Identificador Empregado (1,1) (0,n) Possui Dependente Código Nome Número Sequência Nome Empregado 10 Afonso 11 Pedro 12 Augusto 13 Marta Dependente 10 1 Marcelo 10 2 Ana 12 3 Helena 13 4 Mariana
ATRIBUTOS Uma entidade é representada por um conjunto de atributos. Atributos são propriedades descritivas de cada membro de um conjunto de entidades. Exemplos de atributos: Para entidade Alunos: Idade, Nome, Data Nascimento, Endereço Para entidade Contas: Numero, Cliente, Saldo
DOMÍNIO DE ATRIBUTOS: Conjunto de valores permitidos aos atributos. Ex: O atributo Data de Nascimento somente pode conter valores no padrão dd/mm/aaaa (dia/mês/ano). O atributo Idade somente pode conter números inteiros positivos.
TIPOS DE ATRIBUTO Atributos Compostos: É a divisão de um atributo em partes. Ex: Endereço pode ser formado por Rua + Numero + Bairro + Cidade + Estado + CEP Atributos Monovalorados: atributos que somente contém um valor para cada instância. Ex: Idade Atributos Multivalorados: atributos que podem conter mais de um valor para cada instância. Ex: Nome_Dependente em uma entidade Funcionário. Atributos Derivado: atributos que podem ser obtidos a partir de cálculo sobre o valor de outros atributos. Ex: Idade pode ser obtida a partir do atributo Data_Nascimento
Atributos (Chave) Superchave: Uma superchave é um conjunto de um ou mais atributos que, tomando coletivamente, permitenos identificar unicamente uma entidade no conjunto de entidades. Por exemplo, o atributo seguridade-social do conjunto de entidades cliente é suficiente para distinguir uma entidade cliente das outras. Desta forma, seguridade-social é uma superchave. De forma semelhante, a combinação nome-cliente e seguridadesocial é uma superchave para o conjunto de entidades cliente. O atributo nome-cliente de cliente não é uma superchave, pois diversas pessoas podem ter o mesmo nome.
Atributos (Chave) Chaves Candidatas: conjuntos com o menor número possível de atributos que permite identificar unicamente uma entidade no conjunto de entidades. Chave Primária: chave candidata escolhida como identificação de entidades no conjunto de entidades. Chave Estrangeira: atributo de uma entidade que é chave primária da entidade com a qual possui relacionamento.
EXERCÍCIOS 1. Explique o conceito de modelo entidade-relacionamento apresentado. 2. Qual a diferença entre atributo monovalorado e multivalorado 3. Crie 10 atributos para a entidade alunos. A seguir defina o domínio de cada atributo. Deve haver pelo menos um atributo para cada tipo.
RELACIONAMENTO É uma associação entre uma ou mais entidades. Restrições de Mapeamento Cardinalidade Restrição que expressa o número de entidades ao qual outra entidade pode estar associada via um relacionamento.
Tipos de Cardinalidade Um-para-um (1:1): uma entidade em A está associada a no máximo uma entidade em B, e uma entidade em B está associada a no máximo uma entidade em A. EX: Considere um relacionamento entre Funcionário e Dependente, onde somente é permitido um Dependente por Funcionário
Tipos de Cardinalidade Um-para-muitos (1:N): uma entidade em A está associada a qualquer número de entidades em B, entretanto uma entidade em B está associada a no máximo uma entidade em A. Ex: Considere um relacionamento entre Funcionário e Depto, onde cada funcionário somente pode estar lotado em um Depto, mas cada Depto pode ter vários funcionários.
Tipos de Cardinalidade Muitos-para-muitos (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. Ex: Considere um relacionamento entre Funcionário e Projeto, onde cada funcionário pode participar de vários projetos e cada Projeto pode ter vários funcionários trabalhando
Auto-Relacionamento Pré-Requisito liberada liberadora Departamento (1,1) Responsável (0,n) (0,n) (0,n) Disciplina (0,n) Disc-Curso Aluno (0,n) (1,1) Inscrição Curso (0,n)
Exercícios A partir de objetos do mundo real apresente exemplos, estabelecendo as cardinalidades 1:1, 1:N e N:N
Enxergando entidades Quando efetuamos o levantamento de dados, estamos identificando entidades ou classes de dados. Devemos procurar conhecer os objetos principais. A descrição dos objetos irá nos mostrar a realidade retratada em diversas entidades.
Exemplo de regra de negócios mini mundo Uma clínica médica necessita controlar as consultas médicas realizadas e marcadas pelos médicos a ela vinculados, assim como acompanhar quem são os pacientes atendidos para manter o acompanhamento clínico dos mesmos. Ao levantarmos os dados, nos foi informado que para cada médico a clínica mantém uma ficha com o número de CRM do médico, seu nome, endereço, especialidade etc. Os pacientes preenchem um cadastro com dados pessoais. Toda a consulta é registrada em fichário próprio com as informações sobre médico e paciente, diagnóstico etc.
Quais são os objetos candidatos a entidades? Paciente, Médico, Consulta Qual o objetivo máximo da clínica? Administração das consultas médicas O que descreve a consulta médica? Data da realização da consulta; Idenficação do médico; Idenficação do paciente. Apresente os atributos para as entidades encontradas no problema apresentado.
MÉDICO CONSULTA MÉDICA PACIENTE Objetos concretos : Médico e paciente Objeto abstrato : Consulta Médica
Representação gráfica do MER
Tipos de restrição: Restrições de Integridade Declarações de Chave: O conjunto de restrições e atualizações válidas é restringido àquelas que não criam duas entidades com o mesmo valor numa chave candidata. Cardinalidade: Restringe o conjunto de relacionamentos válidos entre entidades. Tipo de Domínio: Restringe o atributo a um tipo específico de dado. Os tipos variam de acordo com o SGBD usado. Integridade Referencial: Assegura que um valor que aparece em uma relação para um dado conjunto de atributos apareça também em um certo conjunto de atributos em outra relação.
Generalização Existe um encapsulamento de informações sob a forma de entidade genérica, a qual possui subconjuntos de dados que formam classes diferenciadas, mas que possuem características que nos permitem colocá-las sob a visão de uma entidade única. A entidade médico é na realidade uma generalização para diversas classes de dados de médicos. Ex.: Pediatra, Cardiologista, Neurologista, Clínico geral.
O que na realidade fizemos foi, através da colocação de um atributo qualificador, o qual permite a distinção entre cada classe de dados, generalizar todas estas classes em uma única, que denominamos MÉDICO. Temos como regra então que quando encontrarmos entidades que possuem o mesmo conjunto de atributos para descrevêlas, podemos generalizá-las, em uma única entidade, mantendo sua identidade de subconjunto através da inserção de um atributo qualificador para as ocorrências de cada uma. Medico Cardiologista Pediatra Clínico Geral
Especialização ou Generalização numero Conta saldo juros Poupança é uma descoberto Corrente 28
Relacionamentos (Existência) A utilização de verbos na apresentação de um relacionamento torna-o mais expressivo, criando então uma ligação entre objetos. Exemplos : As Pessoas Moram em Apartamentos; Os apartamentos Formam Condomínios; Os condomínios Localizam-se em Ruas; As Ruas Estão em uma Cidade.
Pessoas Moram Aptos Formam Condomínios Localizam-se Cidade Estão Ruas
Relacionamentos condicionais Relacionamentos que possuem uma condição, uma qualificação para ocorrerem. São relacionamentos que nem todos os elementos de uma entidade A estão ligados com elementos de uma entidade B. Possuindo então opcionalidade. Ex.: Relacionamento Homem e Mulher.. Todos os homens são casados? Todas as mulheres são casadas?
Relacionamentos incondicionais Todos os elementos de uma entidade estão obrigatoriamente relacionados com um elemento, no mínimo, da outra entidade. MÃE MÃE 1 MÃE 2 MÃE 3 MÃE 4 FILHO FILHO 1 FILHO 2 FILHO 3 FILHO 4 FILHO 5 FILHO 6
Restrições de Mapeamento nome rg endereço Cliente 1 1-N ClienteConta numero CC saldo nome rg endereço Cliente 1-2 N ClienteConta numero CC saldo nome rg endereço Aluno 30 N Matricula Nome Disciplina Prof 33
Papéis nome rg endereço Empregado 1 N gerente Trabalha para funcionário Entidade Fraca saldo numero CC 1 N CCTransação numero data Transações valor 34
Unário Grau do Relacionamento nome rg endereço Empregado 1 N gerente funcionário Trabalha para Binário saldo numero CC 1 N CCTransação numero data Transações valor 35
Grau do Relacionamento Ternário nome rg endereço Cliente 1-2,1-N saldo numero CC 1-N,1-N 1,N ClienteCCGerente nome Agência 36
Dependência Existencial ou Relacionamento Parcial saldo numero CC 1 N CCTransação numero data Transações valor Nem todas as contas correntes precisam conter transações, mas todas as transações devem se relacionar com uma conta corrente. 37
Atributos de Relacionamentos nome rg endereço Cliente N rg ClienteConta N numero CC saldo numero 38
Agregação Funcionário N Trabalha N Projeto 1 Usa N Máquina São relacionamentos dependentes de outros, que somente existem após a ocorrência do outro considerado fundamental. 39
Exercício Construa o MER a partir das seguintes informações: Cliente faz pedido; Vendedor tira pedido; Pedido tem produto.
Definindo as entidades, seus relacionamentos e suas cardinalidades Cliente 1 N N N Pedido Produto 1 N 1 1 1 1 N N 1 N Vendedor 1 N 1 1
Agora defina os atributos das entidades Cliente 1 N N N Pedido Produto 1 N 1 1 N 1 N N 1 1 Vendedor 1 N 1 1
Exercícios - Sistemas de Controle de Assinaturas de Tv a Cabo. A empresa de Assinaturas de TV a cabo, possui diversos planos de assinatura com preços e canais diferenciados; Os clientes assinam planos e podem comprar programas adicionais (pay-per-view); Cada plano possui diversos canais; Cada canal possui uma programação. Cada programa em um canal possui data e hora de exibição
Exercícios - Universidade A universidade possui alunos, professores, cursos, disciplinas, turmas e departamentos. Cada aluno está matriculado em um curso na universidade e possui um registro das disciplinas já cursadas com sua nota; As disciplinas possuem várias turmas. Cada turma possui um professor ministrando uma disciplina. Cada curso possui um professor como coordenador. Os departamentos da universidade possuem professores alocados e um professor como chefe.
Empresa de Projetos em Sistemas Em uma empresa de desenvolvimento de sistemas informatizados, pessoas são alocadas a tarefas. No momento da alocação da pessoa a tarefa, podem ser alocados equipamentos para resolver a tarefa. Um equipamento só pode ser utilizado por uma pessoa em um projeto.
Exercícios : Transplantes Os transplantes ocorridos referem-se a um paciente e a vários órgãos. Cada transplante ocorre em uma data e hora; Cada transplante ocorre um uma sala do hospital. Em um transplante utiliza-se vários equipamentos. O transplante é pago através de um convênio/ plano de saúde. O transplante é de responsabilidade de um ou vários médicos
Exercícios : Eleições Existem os Municípios, e onde cada Município pertence a um único Estado do País. Do Estado me interessa a sigla e o nome por extenso. Do Município me interessa o nome, a área, a população e qual o partido que governa a municipalidade (prefeitura), mas há um problema que existe casos onde há um mesmo nome de município em estados diferentes. Também me interessam os partidos políticos, onde me interessa cadastrar o seu número no TSE, sua sigla e seu nome. Perceba então que além de se relacionar com o estado a que pertence, o munícipio também possui uma relação com o partido do seu prefeito (observe que não interessa se ele foi eleito por uma cooligação, o que interessa é o partido do prefeito).
Farmácia A farmácia tem funcionários que são chefiados por um farmacêutico. Os funcionários são comissionados pelas vendas efetuadas. Os tipos de remédio vendidos são (Genérico, Similar, convencional); São vendidos também outros produtos (limpeza, dietéticos...). Um pedido possui um ou vários itens de pedidos. Os fornecedores devem ser cadastrados para que efetuem as vendas. As formas de pagamento são À vista, cheque, cartão, a prazo e anotado no caderninho. Essas anotações no caderninho incidem em um aumento de 5% ao mês na hora do pagamento. Os clientes de caderninho que não efetuarem nenhum pagamento dentro do mês deverão ser impedidos de efetuar compras. Os produtos são estocados em prateleiras e no cadastro deve constar o local de armazenamento de cada remédio. Outro controle necessário é referente a remédios que podem ser vendidos ou não sem receita. Quando a receita apresenta remédio de tarja preta, está deve ficar guardada na farmácia. Existe uma parceria entre médicos e a farmácia, onde o médico indica a farmácia para o cliente. Precisase então saber em cada venda o código ou nome do médico que fez a indicação.