Prévia do material em texto
By @kakashi_copiador MODELO ENTIDADE-RELACIONAMENTO (MER) MER = conjunto de conceitos aplicados na modelagem de dados utilizado p/ compreender os dados necessários às funções do sistema e obter uma base p/ o projeto do BD. DER = Diagrama Entidade-Relacionamento (representação gráfica do MER). Conceito Conjunto de coisas ou objetos envolvidos em um domínio/contexto específico. Entidade CACHORRO CHICO Instância Sua existência independe de outras entidades (por si só já possui total sentido de existir). Possui a própria chave primária. FUNCIONARIO Sua existência depende de outras entidades. Em geral, são identificadas pela composição da chave pri- mária da entidade forte com um discriminador da entidade fraca. FUNCIONARIO DEPENDENTE Representação Representação POSSUI Entidade É a ocorrência específica de uma entidade. Objetos concretos/físicos: tangíveis e visíveis (Ex: carro, pessoa, etc). Objetos lógicos/abstratos: decorrem da interação entre entidades concretas (Ex: venda, cargo, etc). Instância Tipos de Entidade Entidade Forte (ou Entidade Independente): Entidade Fraca (ou Entidade Dependente): Entidade Associativa É a redefinição de um relacionamento, que passa a ser considerado como uma entidade e, como tal, pode ser relacionado a outras entidades. n nn n E1 R1 E2 R2 E3 Representação ENTIDADE RELACIONAMENTO nn Atributo Atributo Atributo Atributo ENTIDADE Atributo Atributo Atributo Atributo7 .ao / / 00285493337 - ADIEL SILVA CARDOSO MODELO ENTIDADE-RELACIONAMENTO (MER) Relacionamento Conceito Relação existente entre entidades. Relacionamento Forte: entre Entidades Fortes. Relacionamento Fraco: entre uma Entidade Fraca e uma Entidade Forte Representação Em regra: ÓRGÃO SERVIDORES Relacionamento POSSUI FUNCIONARIO SUPERVISIONA SU PE RV IS OR SU PE RV IS IO N AD O FUNCIONARIO DEPENDENTEPOSSUI Classificação Quanto ao Grau Representa o número de tipos de entidades que participam de um relacionamento. Ex: binário, ternário, quaternário, etc. Quanto à Cardinalidade Representa a quantidade de ocorrências ou instâncias de cada entidade. Pode ser: 1:1 (um-para-um) Toda instância de uma Entidade A deve possuir uma ou mais instâncias de uma Entidade B relacionada. A cardinalidade mínima é um (1:1 ou 1:N). Restrições de Participação Total Nem toda instância de uma Entidade A deve possuir uma instância de uma Entidade B relacionada. A cardinalidade mínima é zero (0:1 ou 0:N). Restrições de Participação Parcial N:M (muitos-para-muitos) Em casos de autorrelacionamento (ou relacionamento recursivo): Em Relacionamentos Fracos: PESSOA 1:N (um-para-muitos) CPFPOSSUI(1,1) (0,1) TIME DE FUTEBOL POSSUI JOGADOR(0,1) (11,N) AUTOR LIVROESCREVE (1,N) (1,M) ENTIDADE 1 BINARIO ENTIDADE 1 ENTIDADE 2 ENTIDADE 2 ENTIDADE 3 TERNARIO Relacionamento Relacionamento - / - / 00285493337 - ADIEL SILVA CARDOSO MODELO ENTIDADE-RELACIONAMENTO (MER) Atributos São usados p/ descrever as propriedades carac- terísticas de uma entidade ou relacionamento. Exemplo: Entidade PESSOA - Atributos: Nome, Endereço, Sexo, etc. Conceito RepresentaçãoTipos de Atributo Monovalorado Multivalorado Só pode possuir um valor. Ex: uma entidade PESSOA só pode ter uma combinação de números no atributo CPF. Pode possuir mais de um valor. Ex: uma entidade PESSOA pode possuir mais de um valor no atributo TELEFONE. OBS: o atributo pode possuir uma cardinalidade, que definirá quantos valores podem estar asso- ciados a ele. Simples Aquele que é atômico - não pode ser subdividido em outros atributos. Ex: sexo. Composto Aquele que pode ser subdividido em outros atribu- tos. Ex: Endereço pode ser subdividido em Rua, Nú- mero, CEP, Bairro, etc. Derivado (ou Calculado) Armazenado Aquele que pode ser derivado ou obtido a partir de outros atributos ou relacionamentos. Logo, não pre- cisa ser armazenado no BD. Ex: é possível obter a idade a partir do atributo data de nascimento e do atributo data atual. Aquele que não pode ser obtido por meio de outros atributos. Por isso, precisa ser armazenado no BD. Atributo Identificador Cada Entidade Forte deve possuir um identificador. Identificador = conjunto de um ou + atributos (e, possivelmente, relacionamentos), cujos valores distinguem uma ocorrência da entidade das demais ocorrências da mesma entidade. Ex: Código. Cada produto possui um código diferente, que o distingue dos demais. Atributo Simples/Monovalorado Atributo Multivalorado Atributo Derivado/CalculadoIdade Telefone CPF Código Atributo Identificador (ou Chave Primária) Na representação por círculos, o atributo identi- ficador é representado por um círculo preenchido. Endereço Rua Número CEP Atributo Composto " " , i. do 00285493337 - ADIEL SILVA CARDOSO MODELO RELACIONAL BD relacionais se baseiam no princípio de que todos os dados devem estar armazenados em tabelas. O Modelo Relacional é capaz de representar dados por meio de uma linguagem matemática, utilizando teoria de conjuntos e lógica de predicado de primeira ordem. Terminologia do Modelo Relacional RELAÇÃO = Tabela. Representa os dados e os relacionamentos entre eles. TUPLA = Linha. Coleção de valores de dados re- lacionados. ATRIBUTO = Coluna. Dados que ajudam a inter- pretar o significado dos valores das linhas. DOMÍNIO = Tipo de Dado. Descreve o tipo de valores que podem ser exibidos em uma coluna. ARIDADE = Grau. Número de colunas presentes em uma relação. Características relevantes das Relações Não são sensíveis à ordenação das linhas; A ordenação dos atributos (colunas) pode ser relevante; Cada valor em uma tupla é um valor atômico (indivisível); Atributos compostos ou multivalorados não são permitidos; Valores NULL são usados p/ representar valores des- conhecidos ou que não se aplicam a uma tupla. O esquema de uma relação pode ser interpretado como uma declaração ou um tipo de afirmação. Observações Visões (Views) View = a uma única tabela derivada de outras tabelas (reais ou virtuais). É uma tabela virtual, utilizada quando se de- seja visualizar apenas uma parte dos dados. Há algumas limitações de operações que podem ser realizadas em uma view, mas não há limita- ções à operação de consulta. View Materializada: é armazenada de forma não volátil (fisicamente no BD). Outros Modelos de DadosModelo Plano; Modelo Hierárquico;Modelo em Rede; Modelo em Estrela;Modelo Orientado a Objetos 00285493337 - ADIEL SILVA CARDOSO Chaves SUPERCHAVE: conjunto de uma ou mais colunas que, tomadas coletivamente, permitem identificar de maneira unívoca uma linha de uma tabela. Especifica uma restrição de chave: duas linhas não podem ter os mesmos valores de superchave. Toda tabela possui pelo menos uma superchave padrão, que é o conjunto de todas as colunas de uma tabela. CHAVE: identifica de forma unívoca qualquer linha de uma tabela, mas precisa ser uma superchave mínima (por isso não há redundância). Superchave da qual não podemos remover nenhum atributo sem perdermos a restrição de chave. Em geral, uma tabela pode ter mais de uma chave. Cada uma delas é chamada de CHAVE CANDIDATA. Qualquer das Chaves Candidatas pode ser escolhida como CHAVE PRIMARIA.. Chave cujos valores são utilizados p/ identificar linhas em uma tabela. As Chaves Candidatas que não forem escolhidas são designadas como CHAVES ÚNICAS ou CHAVES SECUNDARIAS. RESTRIÇÕES DE INTEGRIDADE DE ENTIDADE: Nenhum valor de chave primária pode ser NULL. RESTRIÇÕES DE INTEGRIDADE REFERENCIAL: Restrição de Chave ou Unicidade: restringe que uma chave primária se repita. Restrição de Integridade de Domínio: restringe que um compo de uma relação tenha valores diferentes daque- les definidos para o campo específico. Restrição de Integridade de Entidade (ou de Vazio): restringe que um atributo tenha valores NULL. Restrição de Integridade Referencial: restringe que a chave estrangeira de uma tabela seja inconsistente com a chave primáriada tabela referenciada. CHAVE ESTRANGEIRA: Chaves de uma tabela que fazem referência à chave primária de outra tabela, ou até mesmo da própria tabela. Requisitos: 1. As colunas que a compõem devem ter o mesmo domínio que as colunas da chave primária da tabela referenciada. 2. O valor da chave estrangeira em uma relação deve ocorrer também na tabela referenciada ou ser NULL. CHAVE SUBSTITUTA: chaves primárias artificiais criadas p/ identificar de maneira unívoca uma linha. MODELO RELACIONAL= , 00285493337 - ADIEL SILVA CARDOSO Relacionamentos MODELO RELACIONAL Relacionamento Um-Para-Um (1:1) Uma linha de uma tabela está associada com uma e apenas uma linha de outra tabela. Relacionamentos são associações entre tabelas. TABELA PAÍS TABELA CAPITAL Código País País 100 Holanda 200 Austrália 300 Colômbia Código Capital Capital Código País 456 Amsterdã 100 567 Camberra 200 678 Bogotá 300 É possível escolher quem receberá a Chave Estrangeira. Chave Primária Chave Primária Relacionamento Um-Para-Muitos (1:N) Uma linha de tabela está associada a uma ou mais linhas de outra tabela. TABELA PESSOA TABELA TELEFONE CPF Nome 111.111.111-11 Décio Terror 222.222.222-22 Guilherme Neves 333.333.333-33 Ricardo Vale Código Número de Tel CPF 101 97777-7777 111.111.111-11 102 98888-8888 222.222.222-22 103 99999-9999 222.222.222-22 Chave Primária Chave Primária Ficará sempre na tabela do lado N. Chave Estrangeira Relacionamento Muitos-Para-Muitos (1:N) Várias linhas de uma tabela se associam a várias linhas de outra tabela. Sistemas de BD relacionais normalmente não permitem relacionamento muitos-para-muitos direto, por conta disso usa-se uma tabela associativa. Cada linha em uma tabela associativa inclui as colunas das chaves primárias das duas tabelas que ela associa. TABELA PROFESSOR TABELA ASSOCIATIVA TABELA ALUNO CPF PROFESSOR NOME 111.111.111-11 Diego Carvalho 222.222.222-22 Renato da Costa 333.333.333-33 Ricardo Vale CPF PROFESSOR CPF ALUNO CPF ALUNO NOME 111.111.111-11 222.222.222-22 333.333.333-33 666.666.666-66 777.777.777-77 888.888.888-88 666.666.666-66 777.777.777-77 888.888.888-88 João Maria Pedro É possível ter outros atributos não-chave na tabela associativa. Chave Estrangeira Chave Primária Chave Primária 00285493337 - ADIEL SILVA CARDOSO