URCAMP – SL Curso de Informática Banco de Dados I Abordagem Relacional Prof. Alfredo Parteli Gomes Diagrama de DER Exemplo - Clínica Em uma clínica trabalham médicos e existem pacientes internados. Cada médico é identificado pelo seu CRM, possui um nome e recebe um salário na clínica; Um médico tem formação em diversas especialidades (ortopedia, traumatologia, etc), mas só exerce uma delas na clínica; Para todo paciente internado na clínica são cadastrados alguns dados pessoais: nome, RG, CPF, endereço, telefone(s) para contato e data do nascimento; Um paciente tem sempre um determinado médico como responsável (com um horário de visita diário pré-determinado). Porém vários outros médicos podem participar do seu tratamento; Pacientes estão sempre internados em quartos individuais, que são identificados por um número e ficam em um andar da clínica. Diagrama de DER Solução Exemplo Estratégias de Modelagem Estratégia de modelagem ER: Uma seqüência de passos (uma “receita-debolo”) de transformação de modelos, desde o modelo inicial de modelagem, até o final. Diferentes estratégias: Top-down (E-R) Bottom-up Inside-out Estratégias de Modelagem (topdown) Início: “estudo dos objetivos estratégicos da organização, dos meios pelos quais estes objetivos podem ser realizados, das exigências de informações que devem ser satisfeitas para alcançar estes objetivos e dos sistemas necessários para fornecer estas informações” MODELO ABSTRATO DE DADOS Estratégias de Modelagem (topdown) Ir gradativamente refinando estes conceitos em conceitos mais detalhados. Modelagem superficial: Enumeração das entidades. Identificação dos relacionamentos (cardinalidade máxima) e hierarquias de generalização/especialização entre as entidades. Determinação dos atributos de entidades e relacionamentos. Determinação dos identificadores de entidades e relacionamentos. O banco de dados é verificado quanto ao aspecto temporal. Estratégias de Modelagem (topdown) Modelagem detalhada: Domínios dos atributos Cardinalidades mínimas Demais restrições de integridade Validação do modelo: Construções redundantes ou deriváveis a partir de outras no modelo Validação com o usuário Estratégias de Modelagem Enfoque do Modelo E-R é “top-down” Abordagem Relacional Modelagem em nível lógico (SGBD) e não conceitual Conceitos mínimos necessários à compreensão do projeto de bancos de dados relacionais. Abordagem Relacional Tabelas compostas de Linhas, Colunas, Chaves primárias, relacionadas através de Chaves estrangeiras. Abordagem Relacional Nome da tabela Tabelas Valor de campo ou valor de atributo Tabela ou relação Linha ou tupla Coluna ou atributo Nome de campo ou nome de atributo Abordagem Relacional Terminologia Usaremos esta notação Abordagem Relacional Chaves (Constraints) Conceito usado para especificar restrições de integridade básicas de um SGBD relacional. Três tipos: chave primária (Primary Key) chave alternativa (Candidate Key) chave estrangeira (Foreign Key) Abordagem Relacional Chave primária É uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela Abordagem Relacional Chave estrangeira Mecanismo que permite a implementação de relacionamentos em um banco de dados relacional Pode fazer parte da chave primária Abordagem Relacional Chave estrangeira Abordagem Relacional Chave estrangeira Para uma chave estrangeira fazer parte de uma chave primária, ela não poderá ser NULA, ou seja, cardinalidade (0,1) ou (0,n) Abordagem Relacional Chave estrangeira na mesma tabela Auto-relacionamento Abordagem Relacional Chave estrangeira na mesma tabela Auto-relacionamento Abordagem Relacional Chave alternativa Mais de uma coluna ou combinações de colunas podem servir para distinguir uma linha das demais. Uma das colunas (ou combinação de colunas) é escolhida como chave primária. As demais colunas ou combinações são denominadas chaves alternativas (UNIQUE KEY em SQL). Abordagem Relacional Chave alternativa Abordagem Relacional Super-chave É um conjunto de um ou mais atributos que identifica unicamente uma entidade (Ex: Um conjunto de atributos de chave primária) Chave natural Uma chave primária que existe no domínio da aplicação, que tem significado no negócio (Ex: CPF na entidade Pessoa) Chave substituta Uma chave criada para identificar uma entidade (Ex: ID de uma entidade qualquer) Abordagem Relacional Domínio de uma coluna Conjunto de valores que podem aparecer em uma coluna (atributo) Um valor de campo pode assumir o valor NULL, ou seja, vazio Abordagem relacional: todas colunas que compõem a chave primária devem ser obrigatórias; demais chaves podem conter colunas opcionais. Abordagem Relacional Restrições de integridade básicas Integridade de domínio Integridade de vazio Integridade de chave Integridade referencial Restrições acima: Garantidas automaticamente por um SGBD relacional através de especificação declarativa Não é exigido que o programador escreva procedimentos para garanti-las explicitamente Abordagem Relacional Restrições de integridade semânticas Há muitas outras restrições de integridade que não se encaixam nas categorias básicas. Essas restrições são chamadas de restrições semânticas (ou regras de negócio) Exemplos de restrições semânticas: Um empregado do departamento denominado “Finanças” não pode ter a categoria funcional “Engenheiro”. Um empregado não pode ter um salário maior que seu superior imediato Abordagem Relacional A especificação de um banco de dados relacional (chamada de esquema do banco de dados) deve conter no mínimo a definição do seguinte: Tabelas que formam o banco de dados, Colunas que as tabelas possuem, Restrições de integridade. Abordagem Relacional Esquema resumido de modelo relacional Referências Bibliográficas HEUSER, Carlos Alberto. Projeto de Banco de Dados. Porto Alegre: Sagra Luzzatto, 2001.