Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados I – Profs Tavares e Sylvio BANCO DE DADOS I PROJETO LÓGICO DE BANCO DE DADOS Profs. Tavares e Sylvio 1 Banco de Dados I – Profs Tavares e Sylvio 2 MODELO RELACIONAL TABELAS Uma tabela é um conjunto não ordenado de linhas (tuplas, na terminologia acadêmica). Cada linha é composta por uma série de campos (valor de atributo, na terminologia acadêmica). Cada campo é identificado por nome de campo (nome de atributo, na terminologia acadêmica). O conjunto de campos das linhas de uma tabela que possuem o mesmo nome formam uma coluna. Banco de Dados I – Profs Tavares e Sylvio 3 MODELO RELACIONAL TABELAS Banco de Dados I – Profs Tavares e Sylvio 4 MODELO RELACIONAL CHAVES Uma CHAVE PRIMÁRIA é uma coluna ou uma combinação de colunas cujos valores distinguem uma linha das demais dentro de uma tabela. Na tabela Empregado, a chave primária é a coluna CódigoEmp. Banco de Dados I – Profs Tavares e Sylvio 5 MODELO RELACIONAL CHAVES Uma CHAVE ESTRANGEIRA é uma coluna ou uma combinação de colunas, cujos valores aparecem necessariamente na chave primária de uma tabela. A chave estrangeira é o mecanismo que permite a implementação de relacionamentos em um banco de dados relacional. Na figura abaixo, a coluna CodigoDepto da tabela Emp é uma chave estrangeira em relação a chave primária da tabela Dept. Banco de Dados I – Profs Tavares e Sylvio Em alguns casos, 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. CHAVES Nesta tabela, como a coluna CódigoEmp foi escolhida como chave primária, e a coluna CIC é uma chave alternativa. MODELO RELACIONAL Banco de Dados I – Profs Tavares e Sylvio Cada entidade se transforma em uma tabela. Cada atributo se transforma em uma coluna. O atributo determinante se transforma em uma chave. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Pessoa (CodPessoa, Nome, DtNasc, DtAdm, Endereço) Banco de Dados I – Profs Tavares e Sylvio Cada entidade fraca se transforma em uma tabela. Cada atributo se transforma em uma coluna. O atributo determinante será combinado em uma chave estrangeira que relaciona à tabela determinante. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Empregado(Codigo, Nome); Dependente (CodigoEmp, NoSeq, Nome) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para 1 – ambas as entidades tem participação opcional => a alternativa preferida é a inserção de colunas na tabela referente a uma das entidades que participam do relacionamento. Como é um relacionamento 1:1, qualquer das entidades que participam do relacionamento pode ser a escolhida PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Mulher (IdentM, Nome, IdentH, Data, Regime) Homem (IdentH, Nome) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para 1 – ambas as entidades tem participação opcional => outra alternativa seria a de gerar uma tabela própria para o relacionamento, conforme o esquema abaixo. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Mulher (IdentM, Nome) Homem (IdentH, Nome) Casamento (IdentM, IdentH, Data, Regime) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para 1 – somente uma entidade tem participação obrigatória => A tradução preferida é através da fusão das tabelas correspondentes às duas entidades. Alternativamente, pode ser considerada a tradução através da adição de colunas à tabela correspondente à entidade com participação obrigatória. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Correntista (CodCorrent, Nome, CodCartão, DataExp) OU Correntista (CodCorrent, Nome) Cartão (CodCartão, DataExp, CodCorrent) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para 1 – ambas as entidades têm participação obrigatória => Pode-se proceder à criação de uma chave estrangeira em uma das tabelas, segundo o direcionamento preferido, ou unificar as duas tabelas. A decisão dependerá da semântica do negócio. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Conferência (CodConf, Nome, DataInstComOrg, EnderComOrg) OU Conferência (CodConf, Nome); Comissão (DataInstComOrg, EnderComOrg, CodConf) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para n => A alternativa preferida de implementação é a criação de uma chave estrangeira na tabela representativa da entidade que só participa de um relacionamento. Observar a formação da chave primária dessa tabela. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Edifício (CódigoEd, Endereço) Apartamento (CódigoEd, NúmeroAp, ÁreaAp) Banco de Dados I – Profs Tavares e Sylvio Relacionamento 1 para n => A alternativa preferida de implementação é a criação de uma chave estrangeira na tabela representativa da entidade que só participa de um relacionamento. Observar a formação da chave primária dessa tabela. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Financeira (CodFin, Nome) Venda (IdVend, Data, CodFin, NrParc, TxJuros) Banco de Dados I – Profs Tavares e Sylvio Relacionamento n para n => Sempre implementados através de uma tabela própria, a qual conterá uma chave estrangeira para cada tabela original e os atributos do relacionamento, além da sua chave primária, quando for o caso. A combinação das chaves estrangeiras pode ser escolhida como chave primária. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Empregado (CodEmp, NomeEmp) Projeto (CodProj, NomeProj, DataIniP, DatFimP) Desenvolvimento (CodEmp, CodProj, DataIniD, DatFimD Banco de Dados I – Profs Tavares e Sylvio Relacionamento com grau maior do que 2 (1) O relacionamento é transformado em uma entidade. Esta nova entidade é ligada através de um relacionamento binário a cada uma das entidades que participavam do relacionamentos original. (2) As regras de implementação de entidades e relacionamentos binários apresentadas acima são aplicadas às entidades e aos relacionamentos binários assim criados. como chave primária. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Banco de Dados I – Profs Tavares e Sylvio PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Produto (CodProd, Nome) Cidade (CodCid, Nome) Distribuidor (CodDistr, Nome) Distribuição (CodProd, CodCid, CodDistr, DataInicio) Relacionamento com grau maior do que 2 Banco de Dados I – Profs Tavares e Sylvio Generalização / especialização => Duas alternativas a considerar: (1) uso de uma tabela para cada entidade; (2) uso de uma única tabela para toda hierarquia de generalização/ especialização. Como exercício, implemente as tabelas do modelo ER dos próximos slides. PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Banco de Dados I – Profs Tavares e Sylvio PROJETO LÓGICO – transformação do MER em MR MODELO RELACIONAL Banco de Dados I – Profs Tavares e Sylvio Empregado 0,1 0,N possui Projeto trabalha_em cpf 1,N 1,1 cod título sexo nome Fase 2: Projeto Conceitual nome supervisiona 1,1 1,N Dependente MER 20 Banco de Dados I – Profs Tavares e Sylvio Publicação 1,N 1,N Autor escrito_por Assunto pertence_a título Livro d Artigo editor tamanho 1,N 1,1 Periódico publicado_por cod nome nome id pid numero volume 1,1 1,N Fase 2: Projeto Conceitual MER 21 Banco de Dados I – Profs Tavares e Sylvio Veículo _Registrado Carro u Caminhão Fase 2: Projeto Conceitual MarcaCam Modelo Peça Fornecedor Projeto fornece 1,1 1,N 1,N MER numeroPlaca 22 Banco de Dados I – Profs Tavares e Sylvio Fase 2: ProjetoConceitual MER Exame Médico Paciente atende 1,N 1,N 0,N gera 0,N 23 Banco de Dados I – Profs Tavares e Sylvio Fase 2: Projeto Conceitual UML nome Pessoa matricula Aluno carteiraTrabalho Professor nome Disciplina 1..* 1..* leciona ensina possui 24
Compartilhar