Banco de Dados Modelo Entidade Relacionamento (MER) Grau de Relacionamento Representa o número de entidades que participam do relacionamento. Grau 1 (Auto-relacionamento) Prof. Raquel Silveira Grau 2 (Binário) Entidades Fracas -Sua existência depende da existência de uma outra entidade. -Participação total com a entidade proprietária. Grau 3 (Terciário) Fornecedor fornece Projeto possui Dependentes Peças Agregação -A agregação ou entidade associativa é uma abstração por meio da qual relacionamentos são tratados como entidades de nível superior. usa Projeto Generalização e Especialização -Generalização: Usada para enfatizar as semelhanças entre os tipos de entidades de nível superior e ocultar suas diferenças. -Especialização: Consiste na identificação de subgrupos de entidades que são de alguma forma diferentes de outras entidades do conjunto. Conta é uma Generalização Especialização Máquina Conta poupança Conta corrente 1
A empresa DEMO é organizada em departamentos. Cada departamento tem um, um número e um empregado que o departamento. Deve-se saber a data em que um empregado iniciou como gerente de um departamento. Um departamento é especificado por sua Localização: Produção que tem horas extras ou Administração que tem um código de acesso. Um departamento controla um número de projetos, cada qual com um, um número e uma única localização. São armazenados o do empregado, matrícula, endereço e salário. Um empregado está associado a um departamento, mas pode r em diversos projetos, não necessariamente controlados pelo mesmo departamento. Deve-se saber o número de horas semanais que um empregado em cada projeto, bem como o supervisor direto de cada empregado. Cada empregado pode possuir vários dependentes, devendo-se saber, para cada dependente, o, o sexo e a data de nascimento. -O banco é organizado em agências. Cada agência está localizada em uma determinada cidade e é identificada por um. -Os clientes dos bancos são identificados pelo id_cliente. O banco armazena o do cliente, além do endereço. Os clientes podem ter contas. Um cliente pode estar associado a um determinado funcionário. -Os funcionários do banco são identificados pelo id_funcionario. É armazenado o e o telefone do funcionário, além da data de admissão do funcionário e, portanto, o tempo de serviço. -O banco oferece dois tipos de conta: conta poupança e conta corrente. As contas podem ser mantidas por mais de um cliente, e um cliente pode ter mais de uma conta. Cada conta recebe um número. O banco mantém o registro do saldo de cada conta e a data mais recente em que a conta foi acessada pelo cliente. Além disso, cada conta de poupança possui uma taxa de juros e os saques são registrados para cada conta-corrente. Papelaria Paper-Art N 003456 Comércio de Artigos de Papelaria Paper-Art Ltda Papelaria Paper-Art N 003456 Cód. Comércio Cliente: de Artigos 001 de Papelaria Paper-Art Ltda Cliente: Maria da Silva Cód. Vendedor: 03 Vendedor: João dos Santos Endereço: Cód. Cliente: Rua 001 dos Açores, 123 Data: Cliente: 20/09/99 Maria da Silva Cód. Cód. Prod. Vendedor: Descrição 03 Unidade Qtde Vendedor: João Preço dos Unit. Santos Preço Total Endereço: Rua dos Açores, 123 Data: 20/09/99 12345 Régua PC 1,00 2,30 2,30 12355 Cód. Prod. Estojo Descrição PC Unidade Qtde 1,00 Preço Unit. 8,50 Preço Total 8,50 12399 12345 Clipes Régua CX PC 2,00 1,00 2,00 2,30 4,00 2,30 12355 Estojo PC 1,00 8,50 8,50 12399 Clipes CX 2,00 2,00 4,00 TOTAL DA NOTA: 14,80 TOTAL DA NOTA: 14,80 -Consiste em uma coleção de tabelas de s únicos. -Os s fornecidos às tabelas e as suas colunas podem auxiliar na compreensão do significado dos valores armazenados em cada uma de suas linhas (registros). -Na terminologia do modelo Relacional, cada linha da tabela é chamada de tupla; a tabela é denominada relação; o da coluna é denominado atributo; e o conjunto de valores que cada atributo pode assumir em uma determinada relação, forma o domínio. tupla Código Nome Cidade F1 Paulo Sobral F2 César Tianguá F3 Carlos Itapipoca F4 Matilde Fortaleza domínio relação atributo -Informalmente uma relação pode ser considerada uma tabela de valores, onde cada linha desta tabela representa uma coleção de valores. -Características das Relações Não há tuplas duplicadas em uma relação. A ordem das tuplas não é relevante para diferenciar uma relação das outras. Os valores dos atributos devem ser atômicos, não sendo divisíveis em componentes. Atributos multivalorados são representados por meio de uma outra relação e atributos compostos pelos seus componentes. 2
-Como não pode haver uma tupla repetida (duplicada) em uma instância da relação, isto significa que é possível identificar cada tupla separadamente uma da outra por meio da escolha de algum atributo. -Com a definição de uma chave para a identificação na relação, esta chave será conhecida como chave primária. -Só pode haver uma única chave primária na relação. Integridade dos Dados Um dos mais importantes princípios de um modelo de banco de dados é o princípio da integridade dos dados, realizado através de restrições que são condições obrigatórias impostas pelo modelo para manter a consistência dos dados. As restrições de integridade são: Integridade de domínio; Integridade de entidade; Integridade de chave; Integridade referencial; Integridade semântica. Restrições de integridade Restrição de integridade de domínio: Especificam que o valor de um atributo deve obedecer a definição dos valores admitidos para a coluna, ou seja, devem pertencer ao domínio deste atributo. Restrição de integridade de entidade: Uma chave primária não pode assumir valor nulo em qualquer tupla da relação. Restrição de integridade de chave: Cada atributo da chave primária deve assumir valor único em todas as tuplas da relação. Restrições de Integridade Restrição de integridade referencial: Uma tupla em uma relação que se refere a outra relação, deve se referenciar a uma tupla existente nesta relação. A chave primária numa relação A1 é chave estrangeira numa relação A2. salário num_depto (FK) Nome num_depto (PK) _chefe Restrições de Integridade Restrição de integridade semântica: Se referem mais especificamente sobre valores ou características que determinados atributos podem assumir no contexto de uma determinada aplicação. Ex.: Um cliente não pode ter mais de três contas bancárias; o crédito não pode ultrapassar R$ 10.000,00. Operações sobre as relações Duas categorias: -Busca; -Modificação (inserção, exclusão, atualização) Na execução das operações de modificação as restrições de integridades devem permanecer válidas. Quando uma das operações de modificação for violar as restrições, o SGBD poderá executar algumas ações para manter as restrições ou para notificar a violação ocorrida. 3
Nas operações de inserção e atualização pode ocorrer violação de: Domínio Chave Integridade de entidade Integridade referencial Solução: Rejeitar; Tentar corrigir a tupla. Na operação de exclusão pode ocorrer violação de: Integridade referencial Solução: Rejeitar; Excluir em cascata. Mapeamento do MER para Relacional O Modelo Entidade-Relacionamento (MER) é responsável por realizar uma representação mais conceitual dos dados de uma aplicação. Esta representação é um pouco distante da forma como realmente os elementos (entidades e relacionamentos) serão implementados. O modelo relacional fornece uma representação dos dados de forma mais próxima de como estes dados se encontrarão quando forem definidos os arquivos para o BD. Regras para o mapeamento 1- Todas as entidades são mapeadas para uma relação contendo os mesmos atributos do MER. 2- Para entidade fraca é criada a relação contendo todos os seus atributos, tendo acrescido, como chave estrangeira, a chave primária da entidade forte (pai). 3- Para relacionamento 1:1, dentre as relações que mapeiam as entidades participantes escolha uma delas (a que possuir participação total) e inclua como chave estrangeira a chave primária da outra. 4- Para relacionamentos 1:N, escolha a relação que representa a entidade presente no lado N e acrescente como chave estrangeira a chave primária da entidade do lado 1 (não se aplica para entidades fracas). Regras para o mapeamento 5- Para relacionamentos N:N, é criado uma nova relação contendo como chaves estrangeiras as chaves primárias das entidades participantes, mais os atributos do relacionamento. 6- Para os atributos multivalorados (A), é criada uma relação R que terá como atributos os mesmos de A mais a chave primária da entidade (ou relacionamento) no qual A é atributo. Se o atributo multivalorado é composto, será incluído seus componentes. 7- Para relacionamentos triplos, o mapeamento ocorre de forma semelhante ao descrito pela regra 5. código produtos preço quantidade número data status N N contém N pedidos contém 1 código clientes telefone limite endereço (rua, n, UF, CEP) 4
supervisiona localização número 1 N 1 1 N 1 matrícula 1 N 1 endereço salário controla possui N Dependentes horas N N Projetos data de nascimento sexo número localização data horas extras Produção Administração código de acesso Uma livraria mantém o cadastro de livros disponíveis para a venda. Para cada livro são armazenados código,, língua e ano em que foi escrito. Para os autores é mantido igualmente um cadastro que inclui, data de nascimento, pais de nascimento e uma breve nota biográfica. Cada livro pode ter vários autores e para um mesmo autor podem existir vários livros cadastrados. As editoras são incluídas no cadastro a partir do seu, endereço, telefone. Para um mesmo livro podem existir várias edições realizadas por editoras diferentes. Cada edição tem um código (ISBN), preço, ano, número de páginas e quantidade em estoque. Cada editora pode elaborar várias edições. 5