620 likes | 843 Vues
Banco de Dados. Curso Técnico em Informática Modalidade Integrado Instituto Federal do Sul de Minas, câmpus Pouso Alegre Professora MsC . Michelle Nery. Conteúdo Programático. Modelagem de Dados utilizando a Abordagem Modelo Relacional Objetivos Estrutura do Banco de Dados
E N D
Banco de Dados CursoTécnicoemInformática ModalidadeIntegrado Instituto Federal do Sul de Minas, câmpusPousoAlegre ProfessoraMsC. Michelle Nery
Conteúdo Programático • Modelagem de Dados utilizando a Abordagem Modelo Relacional • Objetivos • Estrutura do Banco de Dados • Álgebra Relacional • Diagrama Modelo Relacional Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Histórico • Histórico • Introduzido por Codd em 1970. • Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance. • É um modelo formal, baseado na teoria matemática das relações. • Um dos SGBD's precursores que implementaram este modelo foi o System R (IBM). • Baseado em seus conceitos surgiram: DB2 (IBM), SQL-DS (IBM), Oracle, Informix, Ingres, Sybase entre outros. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Características do Banco de Dados Relacional • Cada entidade é como uma relação, e é representada por uma tabela, assim como as relações. • Toda tabela é um arquivo. Porém, um arquivo é mais restrito que uma tabela. • Toda tabela pode ser considerada um arquivo, porém, nem todo arquivo pode ser considerado uma tabela. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Características do Banco de Dados Relacional • Cada linha nesta tabela representa uma coleção de dados relacionados. • Estes valores podem ser interpretados como uma instância de uma entidade ou de um relacionamento. • Usa-se os termos linhas e colunas da tabela para facilitar a interpretação dos valores armazenados. • Todos os valores em uma coluna são necessariamente do mesmo tipo. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Características do Banco de Dados Relacional • Conceitos: • Cada tabela é chamada de relação; • Uma linha de uma tabela é chamada de tupla; • O nome de cada coluna é chamado de atributo; • O tipo de dado que descreve cada coluna é chamado de domínio. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Domínios, Tuplas, Atributos e Relações • Um domínio D é um conjunto de valores atômicos, • Cada valor do domínio é indivisível. • Especificação do domínio • Qual o tipo? • Qual o tamanho? • Qual é a faixa do atributo. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Domínios, Tuplas, Atributos e Relações • Exemplo: Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Domínios, Tuplas, Atributos e Relações • Um esquema de relação Ré denotado por R(A1, A2, ... , An), onde: • Ai: é o Atributo;; • D é chamado domínio de Ai • denotado por dom(Ai). • O grau de uma relação R é o número de atributos presentes no esquema de relação. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Domínios, Tuplas, Atributos e Relações • A instância r é denotado por r(R) é um conjunto de n-tuplas: r = [t1, t2, ... , tn] onde, • T: Tupla e devem estar contidos no domínio D. • O valor nulo também pode fazer parte do domínio de um atributo. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Uma relação pode ser definida como um conjunto de tuplas distintas. • A combinação dos valores dos atributos em uma tupla não pode se repetir na mesma tabela: superchave. • Garantindo que t1[SC] ≠t2[SC]. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Superchave • Chave Candidata • Chave Primária • Chave Primária Composta • Chave Estrangeira Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Chave Candidata: • São superchavesde tamanho mínimo, candidatas a serem chaves primárias da relação. • Ou seja, atributo ou conjunto de atributos que permitem identificar de forma inequívoca qualquer tupla dessa relação. • Este conjunto não pode ser reduzido sem perder qualidade. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Chave Primária Simples: • São chaves cujo os atributos são usados para identificar as tuplas em uma relação. • Geralmente, é escolhida a chave candidata de menor tamanho. • Formada por uma única coluna da tabela. Essa coluna/campo não pode ter dois ou mais registros de mesmo valor e também não pode conter nenhum registro nulo. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Chave Primária Simples: Relação de Empregados Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Chave Primária Composta • São chaves cujo os atributos são usados para identificar as tuplas em uma relação. • Formada por mais de um atributo, os valores de cada atributo podem se repetir, mas não a combinação deles. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação Relação de Dependentes Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Observação quanto as chaves candidatas: • Quando uma relação possui mais que uma chave (não confundir com chave composta) - como por exemplo RG e CPF para Funcionário - cada uma destas chaves são chamadas de chaves candidatas. • Uma destas chaves candidatas deve ser escolhida como chave primária. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Chave Estrangeira – São atributos de uma relação que fazem referência à chave primária de outra relação, ou até mesmo à própria. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Uma chave estrangeira CE de uma tabela R1 em R2 ou vice-versa, especifica um relacionamento entre as tabelas R1 e R2. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Atributo Chave de uma Relação • Exemplo: Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Regras de Integridade do Modelo Relacional • Integridade de Identidade - A chave primária não pode conter valores nulos. • A chave primária deve ser obrigatoriamente preenchida. • A chave primária não deve ter valores repetidos em um tabela, de forma a garantir que exista apenas uma linha para cada valor definido para a chave primária. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Regras de Integridade do Modelo Relacional • Integridade Referencial - Se uma determinada tabela A possui uma chave estrangeira que estabelece relacionamento com uma tabela B, então o valor da chave estrangeira da tabela A deve ser igual a um valor de chave primária na tabela B. • Referencias de uma tabela para outra tabela válidas; • Relacionamentos consistentes; • Inconsistência nos dados: haver um funcionário alocado em um departamento que não existe. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Regras de Integridade do Modelo Relacional • As regras de integridade são garantidas pelo gerenciador de banco de dados de automaticamente, sem a necessidade de se tratar estas regras no código da aplicação Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Princípio básico: • O relacionamento entre duas tabelas não existe fisicamente, pois o relacionamento é lógico e representado através de chaves estrangeiras; Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Para a transformar as entidades e relacionamentos do modelo E-R para o modelo relacional, no qual os dados são representados por tabelas foram definidas regras de forma a atender às características do modelo relacional. • Estas regras garantem: • Modelo relacional estará adequado, alinhado com o modelo conceitual • Consistências. • Resultado em forma de diagrama de tabelas, contendo as tabelas, chaves primárias, chaves estrangeiras e restrições de integridade Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Mapeamento das Entidades • Toda entidade torna-se uma tabela levando todos os atributos definidos na entidade que tornam-se colunas na tabela criada. • O identificador da entidade torna-se a chave primária da tabela que não permitirá repetição de valores e nem valores nulos. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Entidade Código Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Mapeamento de Atributos • Devem ser gerados de forma que minimizem o consumo de espaço de armazenamento e torne mais eficiente a consulta de dados (dados do domínio). • Devem ser consideradas as características do gerenciador de banco de dados que será utilizado para implementar o banco de dados físico. • Devem ser escolhidos o tipo de dado e tamanho adequados para cada coluna criada na tabela. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Mapeamento de Relacionamentos • Implica na transformação de atributos das entidades em colunas nas tabelas e, em casos específicos, implica também na criação de novas tabelas a partir de relacionamentos e entidades associativas. • Existem diferentes abordagens dependendo da cardinalidade do relacionamento: Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento 1 para 1 • Uma das entidades envolvidas no relacionamento carrega o atributo identificador (como atributo chave estrangeira) da outra entidade. • O Critério para escolher qual tabela receberá a chave estrangeira depende do sistema que será aplicado o modelo. Cada caso é um caso. • Em geral se escolhe a tabela onde faz mais sentido colocar o atributo, entidade mais importante para a aplicação. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Possui Departamento Funcionário 1 1 Código CPF Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento 1 para Muitos ( 1:N ) • 1. A entidade cuja cardinalidade é N recebe o atributo identificador da entidade com cardinalidade 1 que será mapeado como uma chave estrangeira. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Matricula Disciplina Alunos 1 N Código Matricula Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento 1 para Muitos ( 1:N ) • 2. Além disso, recebe os atributos do relacionamento se houver. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Trabalha Funcionário Projetos 1 N CPF Código Número de Hora Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento 1 para Muitos ( 1:N ) • 3. Caso a entidade com cardinalidade N seja uma entidade fraca, então ela recebe o atributo identificador da entidade com cardinalidade 1. • 3. A chave estrangeira então deve servir para compor a chave primária. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Possui Funcionário Dependentes 1 N CPFf CPFd Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento Muitos para Muitos ( M:N ) • Deve ser criada uma tabela que recebe os atributos identificadores das entidades que participam do relacionamento. A chave primária é composta pelas colunas derivadas dos atributos identificadores. • Além disso, a tabela recebe todos os atributos do relacionamento, se existirem. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Consulta Pacientes Médicos N N CRM Código Data/Hora Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamentos Múltiplos(Ternário, Quaternário, etc. ) • Deve ser criada uma tabela que recebe tantos atributos identificadores quantas foram as entidades que participam do relacionamento. • A chave primária desta tabela é composta por todos os atributos identificadores. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Autuação Infração Motorista N Código 1 CNH 1 Renavam Veículo Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Atributo Multivalorado • Para cada atributo multivalorado , cria-se uma tabela, contendo o atributo multivalorado, mais o atributo chave da tabela que representa a entidade do relacionamento. • A chave primária de será composta pelo atributo chave mais o atributo multivalorado. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Aluno Telefone Matricula Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Relacionamento Auto-relacionamento • Incluir a chave primária da entidade na própria entidade como chave estrangeira, gerando uma estrutura de acesso a partir dessa chave. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Supervisiona Funcionário Funcionários 1 N CPF CPF Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional Aluno Telefone Matricula Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Mapeamento do Modelo Entidade Relacionamento para o Relacional • Generalização/Especialização • Deve ser criada uma tabela para a entidade pai e uma tabela para cada entidade filha. • Os atributos comuns às entidades filhas devem ser mapeados na tabela criada para a entidade pai. • As tabelas criadas para cada entidade filha devem receber o atributo identificador da entidade pai na composição da chave primária e receber também os atributos específicos da entidade filha correspondente. Instituto Federal do Sul de Minas, câmpus Pouso Alegre
Cliente Nome Código ISA Pessoa Física Pessoa Jurídica Sexo Tipo de Organização Instituto Federal do Sul de Minas, câmpus Pouso Alegre