Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 1 Disciplina Banco de Dados (BD)Disciplina Banco de Dados (BD) 44ªª -- 55ªª Aulas Aulas -- Projeto de Banco de Dados Projeto de Banco de Dados -- MER MER -- II2013/1 2013/1 -- CCON4A e ENGN6CCCON4A e ENGN6C IESB SulIESB Sul 2 Planejamento - BD I - 2013/1 - (previsão) D S T Q Q S S D S T Q Q S S 1 2 1 3 4 5 6 7 8 9 2 3 4 5 6 7 8 10 11 12 13 14 15 16 9 10 11 12 13 14 15 17 18 19 20 21 22 23 16 17 18 19 20 21 22 24 25 26 27 28 23 24 25 26 27 28 29 30 D S T Q Q S S D S T Q Q S S 1 2 1 2 3 4 5 6 3 4 5 6 7 8 9 7 8 9 10 11 12 13 10 11 12 13 14 15 16 14 15 16 17 18 19 20 17 18 19 20 21 22 23 21 22 23 24 25 26 27 24 25 26 27 28 29 30 28 29 30 31 31 D S T Q Q S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 D S T Q Q S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ABRIL MAIO JUNHO JULHO FEVEREIRO MARÇO LEGENDA Feriado / Recesso Aula Lançamento (P1, P2 e Subst) Início / Término Aulas Avaliação (P1, P2 e Subst) Edad 2 3 Banco de Dados (BD) Para assistir a aula: Para assistir a aula: éé necessnecessáário estar que o aluno esteja rio estar que o aluno esteja matriculado na disciplina matriculado na disciplina (deve estar na lista de chamada)(deve estar na lista de chamada) procurar a Coordenaprocurar a Coordenaçção do Curso ão do Curso para a solupara a soluçção de problemasão de problemas 4 LeiamLeiam CCóódigo de digo de ÉÉticatica ResoluResoluçção Conselho Superior não Conselho Superior nºº 02/201002/2010 de 12 de agosto de 2010de 12 de agosto de 2010 (dispon(disponíível na plataforma "vel na plataforma "BlackboardBlackboard")") Banco de Dados 3 5 BD Banco de Dados EE--mail para receber o material enquanto não mail para receber o material enquanto não estestáá dispondisponíível o site da disciplinavel o site da disciplina wpereira@cpovo.net BD - Enviar material 6 �� BIBLIOGRAFIABIBLIOGRAFIA �� Bibliografia bBibliografia báásica (ordem alfabsica (ordem alfabéética):tica): �� DATE, CHRISTOPHER JDATE, CHRISTOPHER J. . IntroduIntroduçção a Sistemas de Bancos ão a Sistemas de Bancos de Dadosde Dados. Rio de Janeiro: Campus, 2000. . Rio de Janeiro: Campus, 2000. �� HEUSER, Carlos AlbertoHEUSER, Carlos Alberto. . Projeto de banco de DadosProjeto de banco de Dados. 6.ed. . 6.ed. Porto Alegre: Porto Alegre: BookmanBookman, 2010, 2010 .. �� SILBERSCHATZ, Korth; SUDARSHANSILBERSCHATZ, Korth; SUDARSHAN. . Sistema de Banco Sistema de Banco de Dadosde Dados. 3. ed. São Paulo: Makron Books, 2005.. 3. ed. São Paulo: Makron Books, 2005. Banco de Dados (BD) 4 7 �� BIBLIOGRAFIABIBLIOGRAFIA �� Bibliografia complementar (ordem alfabBibliografia complementar (ordem alfabéética):tica): �� ELMASRI, R.; NAVATHE, S. BELMASRI, R.; NAVATHE, S. B. . Sistemas de Banco de DadosSistemas de Banco de Dados. 4. ed. São . 4. ed. São Paulo: Pearson Education do Brasil, 2005.Paulo: Pearson Education do Brasil, 2005. �� KROENKE, David MKROENKE, David M. . Banco de Dados: fundamentos, projeto e Banco de Dados: fundamentos, projeto e implementaimplementaççãoão. 6. ed. Rio de Janeiro: LTC, 1999.. 6. ed. Rio de Janeiro: LTC, 1999. �� MACHADO, Felipe Nery; ABREU, MauricioMACHADO, Felipe Nery; ABREU, Mauricio. . Projeto de Banco de Dados: Projeto de Banco de Dados: uma visão pruma visão prááticatica. 16. ed. São Paulo: . 16. ed. São Paulo: ÉÉrica, 2009.rica, 2009. �� MELO, Rubens NMELO, Rubens N. . Banco de Dados em AplicaBanco de Dados em Aplicaçções Clienteões Cliente--ServidorServidor. Rio . Rio de Janeiro: Infobook, 1997.de Janeiro: Infobook, 1997. �� SETZER, Valdemar W; SILVA, FlSETZER, Valdemar W; SILVA, Fláávio Soares Correavio Soares Correa. . Bancos de Dados: Bancos de Dados: aprenda o que são, melhore seu conhecimento, construa o seuaprenda o que são, melhore seu conhecimento, construa o seu. São Paulo: . São Paulo: Edgard BlEdgard Blüücher Ltda, 2005.cher Ltda, 2005. Banco de Dados (BD) 8 �� SITES PARA APROFUNDAMENTO E FERRAMENTAS:SITES PARA APROFUNDAMENTO E FERRAMENTAS: �� brModelo 2.0brModelo 2.0. . Ferramenta de modelagem de banco de dadosFerramenta de modelagem de banco de dados. Dispon. Disponíível vel em: <http://www.sis4.com/brmodelo>. Acesso em 29 jul. 2012.em: <http://www.sis4.com/brmodelo>. Acesso em 29 jul. 2012. �� DBDesigner 4DBDesigner 4. . Ferramenta de modelagem de banco de dadosFerramenta de modelagem de banco de dados. Dispon. Disponíível vel em: <http://fabforce.net/dbdesigner4/>. Acesso em 29 jul. 2012. em: <http://fabforce.net/dbdesigner4/>. Acesso em 29 jul. 2012. �� MySQLMySQL. . Sistema Gerenciador de Banco de Dados MySQLSistema Gerenciador de Banco de Dados MySQL. Dispon. Disponíível vel em: <http://www.mysql.com/>. Acesso em 29 jul. 2012. em: <http://www.mysql.com/>. Acesso em 29 jul. 2012. �� OracleOracle. . Sistema Gerenciador de Banco de Dados OracleSistema Gerenciador de Banco de Dados Oracle. Dispon. Disponíível em: vel em: <http://www.oracle.com/br/index.html/>. Acesso em 29 jul. 2012. <http://www.oracle.com/br/index.html/>. Acesso em 29 jul. 2012. �� Power DesignerPower Designer. . Ferramenta de modelagem de banco de dadosFerramenta de modelagem de banco de dados. dispon. disponíível vel em: em: <http://www.sybase.com/products/modelingdevelopment/powerdesigne<http://www.sybase.com/products/modelingdevelopment/powerdesigner>. r>. Acesso em Acesso em 29 jul. 2012.Acesso em Acesso em 29 jul. 2012. Banco de Dados (BD) 5 9 FIES 10 Plano de Ensino 6 11 Plano de Ensino 12 Comecem a formar as equipes para o Comecem a formar as equipes para o 11°° TrabalhoTrabalho Banco de Dados 7 13 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 14 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 8 15 Por que informatizar adequadamente ProduProduççãoão VendasVendas ComprasCompras Redundância de dados (não controlada)Redundância de dados (não controlada) RepetiRepetiçção de dadosão de dados Inconsistência de dadosInconsistência de dados HHáá problema ?? Qual ??problema ?? Qual ?? ProdutosProdutos ProdutosProdutos ProdutosProdutos Sistemas isoladosSistemas isolados EmpresaEmpresa 16 Por que informatizar adequadamente ProduProduççãoão VendasVendas ComprasCompras ProdutosProdutos Redundância de dados (controlada)Redundância de dados (controlada) ProdutosProdutos ProdutosProdutos 9 17 Por que informatizar adequadamente ProduProduççãoão VendasVendas ComprasCompras Redundância de dados (controlada)Redundância de dados (controlada) Como saber exatamente quais objetos devem estar no BD ??Como saber exatamente quais objetos devem estar no BD ?? ProdutosProdutosProdutos 18 �� AbstraAbstraçção do mundo realão do mundo real Informatização de Organização ou Corporação Destes, quais devem ser Destes, quais devemser armazenados ??armazenados ?? Quais os componentes, dados e Quais os componentes, dados e informainformaçções são importantes ??ões são importantes ?? EmpregadoEmpregadoEmpregado ClienteClienteCliente Projeto de BD Projeto Projeto de BDde BD Quais as etapas ??Quais as etapas ??Quais as etapas ?? O que é ??O que O que éé ???? O que fazer ??O que fazer ??O que fazer ?? Mundo real: EmpresaMundo real: Empresa 10 19 Importância da Modelagem 20 Importância da Modelagem FIMFIM MEIOMEIO ININÍÍCIOCIO 11 21 Importância da Modelagem Empregado Cliente ????? ???ININÍÍCIOCIO FIMFIM 22 Importância da Modelagem EmpregadoEmpregado ClienteCliente Projeto de BD Projeto de BD Quais as etapas ??Quais as etapas ?? O que é ??O que é ?? O que fazer ??O que fazer ?? Mundo real: Empresa 12 23 Modelo Conceitual Modelo Conceitual Modelo Lógico Modelo Lógico Modelo Físico Modelo Físico Modelo de Banco de Dados Níveis de Abstração Analista organiza idéias (abstração da realidade) Mini-mundoMini-mundo Projeto de Banco de Dados Projeto de Banco de Dados Define Descreve BDBD Mundo real: Empresa 24 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 13 25 �� Modelo conceitual de dados:Modelo conceitual de dados: �� Os objetos, caracterOs objetos, caracteríísticas e relacionamentos tem a sticas e relacionamentos tem a representarepresentaçção fiel ao ambiente observado, ão fiel ao ambiente observado, independente de independente de limitalimitaçções impostas por tecnologiasões impostas por tecnologias,, ttéécnicas de cnicas de implementaimplementaççãoão ouou dispositivos fdispositivos fíísicossicos �� Devem ser Devem ser ignoradas particularidades de implementaignoradas particularidades de implementaçção, ão, abordagem tecnolabordagem tecnolóógicagica (hier(hieráárquica, rede, relacional, rquica, rede, relacional, orientado a objetos), assim como o modo de implementaorientado a objetos), assim como o modo de implementaçção ão futurafutura Projeto de Banco de Dados Mundo RealMundo Real EmpregadoEmpregado NúmeroNNúúmeromero NomeNomeNome EndereçoEndereEndereççoo DepartamentoDepartamentoDepartamento SalárioSalSalááriorio Abstração Criação de um conceito 26 �� Modelo conceitual de dados:Modelo conceitual de dados: �� Modelo de dados abstrato que Modelo de dados abstrato que descreve o BD descreve o BD independentemente da tecnologiaindependentemente da tecnologia �� Registra Registra quais dadosquais dados podem aparecer podem aparecer no BDno BD, , mas não como mas não como estes dados armazenadosestes dados armazenados �� TTéécnica mais difundida: Modelo Entidadecnica mais difundida: Modelo Entidade--Relacionamento Relacionamento ((MERMER)) �� Modelagem conceitual : Modelagem conceitual : 11ªª etapa de um Projeto de BDetapa de um Projeto de BD Projeto de Banco de Dados 14 27 �� Modelo conceitual de dados:Modelo conceitual de dados: Projeto de Banco de Dados Modelo conceitualModelo conceitual 28 �� Modelo lModelo lóógico de dados:gico de dados: �� Tem como Tem como basebase o o modelo conceitualmodelo conceitual �� Aquele em que os Aquele em que os objetosobjetos, , caractercaracteríísticassticas e e relacionamentosrelacionamentos têm a representatêm a representaçção de acordo com as regras de ão de acordo com as regras de implementaimplementaçção e limitaão e limitaçções impostas por algum tipo de ões impostas por algum tipo de tecnologiatecnologia �� DescriDescriçção de um BD visto pelo usuão de um BD visto pelo usuáário do SGBD, sendo rio do SGBD, sendo dependente de um tipo particular de tecnologiadependente de um tipo particular de tecnologia ou ou abordagem do SGBD. Ex: relacional, hierabordagem do SGBD. Ex: relacional, hieráárquico ou redesrquico ou redes �� Projeto lProjeto lóógico: gico: 22ªª etapa de um Projeto de BDetapa de um Projeto de BD Projeto de Banco de Dados 15 29 �� Modelo lModelo lóógico de dados:gico de dados: Projeto de Banco de Dados Modelo conceitualModelo conceitual Modelo lógicoModelo lógico Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) 30 �� Modelo fModelo fíísico de dados:sico de dados: �� Tem como Tem como basebase o o modelo lmodelo lóógicogico �� RepresentaRepresentaçção dos ão dos objetosobjetos, , caractercaracteríísticassticas e e relacionamentosrelacionamentos de acordo com o Banco de Dados utilizado e a plataformade acordo com o Banco de Dados utilizado e a plataforma. . Ex: Ex: OracleOracle, , MS SQL ServerMS SQL Server, , IngresIngres, , PostGreSQLPostGreSQL, , MySQLMySQL (Windows, Unix, Linux, etc.)(Windows, Unix, Linux, etc.) �� estruturas festruturas fíísicas de armazenamentosicas de armazenamento �� ííndicesndices �� tipos de campostipos de campos �� tamanho dos campos e etc. tamanho dos campos e etc. �� Projeto fProjeto fíísico: sico: 33ªª etapa de um Projeto de BDetapa de um Projeto de BD Projeto de Banco de Dados BDBDBD 16 31 Projeto de Banco de Dados Modelo conceitualModelo conceitual Modelo lógicoModelo lógico Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) Modelo físicoModelo físico CODIGO DESCRICAO 1 COMPUTADOR 2 IMPRESSORA TIPO_PRODUTO CODIGO DESCRICAO PRECO COD_TIPO 1 DESKTOP DELL MODELO P III 2500 1 2 NOTEBOOK TOSHIBA L 1.7 3500 1 3 HP 692 C JATO DE TINTA 600 2 4 EPSON 1500 L LASER 1200 2 PRODUTO Banco de Dados XYZ BDBDBD �� Modelo fModelo fíísico de dados:sico de dados: 32 Projeto de Banco de Dados Modelo conceitual “rascunho” Modelo conceitual “rascunho” Modelo físico “concreto” Modelo físico “concreto” Empregado Cliente Empregado Cliente Empregado Cliente Empregado Cliente Modelo lógico “tecnologia” Modelo lógico “tecnologia” Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) Esquema relacional Tipo_Produto (Codigo, Descricao) Produto (Codigo, Nome, Preco, Cod_Tipo) Cod_Tipo referencia Tipo_Produto) 17 33 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 34 �� MarMarçço de 1976, o de 1976, Peter P. ChenPeter P. Chen: : �� Artigo considerado referencial para o processo de modelagem de Artigo considerado referencial para o processo de modelagem de dados: dados: �� ““TheThe EntityEntity--RelationshipRelationshipModel: Model: TowardToward thethe unified unified viewview of of datadata”” �� O O modelo de dadosmodelo de dados éé representado atravrepresentado atravéés de notas de notaçções grões grááficasficas que que recebe o nome de recebe o nome de Diagrama EntidadeDiagrama Entidade--Relacionamento (DER)Relacionamento (DER) �� Linguagem de modelagem de dados grLinguagem de modelagem de dados grááficafica que permite realizar a que permite realizar a modelagem conceitual de dadosmodelagem conceitual de dados Abordagem Entidade-Relacionamento 18 35 �� Principais elementos grPrincipais elementos grááficos de um DER:ficos de um DER: �� EntidadeEntidade �� RelacionamentoRelacionamento �� CardinalidadeCardinalidade �� GeneralizaGeneralizaçção / Especializaão / Especializaççãoão �� AgregaAgregaççãoão Abordagem Entidade-Relacionamento 36 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 19 37 Abordagem Entidade-Relacionamento Mundo real: Empresa EmpregadoEmpregado Projeto de BD Empregado Produto Nome Endereço Matrícula Telefone N° conta bancária Idade Peso ProdutoProduto Nome Fabricante Prateleira Preço Quantidade Peso De cada “objeto” essencial ao projeto, quais são as características importantes de cada um ?? O que caracteriza cada objeto importante ?? 38 Abordagem Entidade-Relacionamento Mundo real: Empresa EmpregadoEmpregado EmpregadoEmpregado ProdutoProduto Como se pode diferenciar 2 instâncias de empregado ?? Nome Endereço Matrícula Telefone N° conta bancária Idade Peso EndereçoNome Matrícula Telefone Empregado EndereçoNome Matrícula Telefone Empregado 20 39 �� Entidade: Entidade: �� Atributos: Atributos: �� EspecificaEspecificaçção das propriedades das entidades. ão das propriedades das entidades. �� Caracteriza a Entidade (lhe dCaracteriza a Entidade (lhe dáá ““personalidadepersonalidade””)) �� Qualifica a entidadeQualifica a entidade �� Possibilita identificar uma entidade (diferenciar uma Possibilita identificar uma entidade (diferenciar uma ocorrência de entidade das demais)ocorrência de entidade das demais) Abordagem Entidade-Relacionamento 40 Abordagem Entidade-Relacionamento �� Entidade: Entidade: �� Atributos: Atributos: �� ““SimplesSimples””: omite: omite--se a cardinalidade (1,1) se a cardinalidade (1,1) ““um e somente umum e somente um”” �� Com cardinalidadeCom cardinalidade: quantidade poss: quantidade possííveis de ocorrências de veis de ocorrências de um atributo para uma um atributo para uma úúnica instância da Entidadenica instância da Entidade �� Identificador simplesIdentificador simples ou ou compostocomposto: conjunto de um ou mais : conjunto de um ou mais atributos que permitem distinguir uma ocorrência das demaisatributos que permitem distinguir uma ocorrência das demais Atributo com cardinalidade Atributo “simples” Identificador simples Identificador composto 21 41 �� Entidade: Entidade: �� ObservaObservaçção sobre os ão sobre os Identificadores de EntidadeIdentificadores de Entidade: : �� Deve ser mDeve ser míínimonimo: deve ser o suficiente para identificar uma : deve ser o suficiente para identificar uma ocorrência da entidadeocorrência da entidade �� Cada entidade deve possuir Cada entidade deve possuir um um úúnico identificadornico identificador �� Se uma Entidade possuir Se uma Entidade possuir mais de um identificadormais de um identificador, o , o Projetista ou modelador do BD deve escolher o mais adequadoProjetista ou modelador do BD deve escolher o mais adequado Abordagem Entidade-Relacionamento “mínimo” e “único” “escolhido” 42 �� Entidade: Entidade: �� ““FracaFraca”” ou com relacionamento identificador: ou com relacionamento identificador: �� Os Os atributosatributos de uma entidade por si sde uma entidade por si sóó não permite identificarnão permite identificar unicamenteunicamente uma ocorrência de uma ocorrência de entidadeentidade �� O identificador da Entidade Fraca O identificador da Entidade Fraca éé composto por atributoscomposto por atributos desta Entidadedesta Entidade mais atributos de outra Entidademais atributos de outra Entidade com a qual se com a qual se relaciona (relacionamento identificador)relaciona (relacionamento identificador) Abordagem Entidade-Relacionamento Atributo de Entidade “Fraca” 22 43 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 44 �� Relacionamento binRelacionamento bináário:rio: �� RepresentaRepresentaçção grão grááficafica �� Para que serve ???Para que serve ??? �� Qual a diferenQual a diferençça entre as duas representaa entre as duas representaçções abaixo ??? ões abaixo ??? Abordagem Entidade-Relacionamento ?? ≠ ?? 23 45 �� Por que estabelecer relacionamento binPor que estabelecer relacionamento bináário ??rio ?? ��No modelo abaixo, quais destas perguntas podem ser respondidas ?No modelo abaixo, quais destas perguntas podem ser respondidas ??? Abordagem Entidade-Relacionamento p6 p3 p1 p4 p2 p5p6p6 p3p3 p1p1 p4p4 p2p2 p5p5 d1 d3 d2 d1d1 d3d3 d2d2 SimQuaisQuais PRODUTOS PRODUTOS estãoestão cadastradoscadastrados ???? QuaisQuais DEPARTAMENTOS DEPARTAMENTOS estãoestão cadastradoscadastrados ???? O PRODUTO p4 O PRODUTO p4 estestáá em em qualqual DEPARTAMENTO ??DEPARTAMENTO ?? QuaisQuais osos PRODUTOS PRODUTOS queque estãoestão no DEPARTAMENTO d1 ??no DEPARTAMENTO d1 ?? Sim Não Não 46 �� Relacionamento binRelacionamento bináário:rio: �� Conjunto de Conjunto de associaassociaççõesões entre entre 2 entidades2 entidades �� Permite manter informaPermite manter informaçções sobre a associaões sobre a associaçção entre objetosão entre objetos Abordagem Entidade-Relacionamento p6 p3 p1 p4 p2 p5 d3 d2 d1 24 47 �� Relacionamento binRelacionamento bináário:rio: �� Conjunto de Conjunto de associaassociaççõesões entre entre 2 entidades2 entidades �� Permite manter informaPermite manter informaçções sobre a associaões sobre a associaçção entre objetosão entre objetos Abordagem Entidade-Relacionamento d1 d3 d2 p1,d1 p4,d2 p2,d1 p5,d3p6 p3 p1 p4 p2 p5 Diagrama de ocorrências 48 �� Relacionamento binRelacionamento bináário:rio: �� Conjunto de Conjunto de associaassociaççõesões entre entre 2 entidades2 entidades �� Permite manter informaPermite manter informaçções sobre a associaões sobre a associaçção entre objetosão entre objetos Abordagem Entidade-Relacionamento d1 d3 d2 p1,d1 p4,d2 p2,d1 p5,d3p6 p3 p1 p4 p2 p5 Diagrama de ocorrências 25 49 �� Por que estabelecer relacionamento binPor que estabelecer relacionamento bináário ??rio ?? ��No modelo abaixo, quais destas perguntas podem ser respondidas ?No modelo abaixo, quais destas perguntas podemser respondidas ??? Abordagem Entidade-Relacionamento SimQuaisQuais PRODUTOS PRODUTOS estãoestão cadastradoscadastrados ???? QuaisQuais DEPARTAMENTOS DEPARTAMENTOS estãoestão cadastradoscadastrados ???? O PRODUTO p4 O PRODUTO p4 estestáá em em qualqual DEPARTAMENTO ??DEPARTAMENTO ?? QuaisQuais osos PRODUTOS PRODUTOS queque estãoestão no DEPARTAMENTO d1 ??no DEPARTAMENTO d1 ?? Sim Sim Sim d1 d3 d2 d1d1 d3d3 d2d2 p6 p3 p1 p4 p2 p5p6p6 p3p3 p1p1 p4p4 p2p2 p5p5 p1,d1p1,d1p1,d1 p2,d1p2,d1p2,d1 p5,d3p5,d3p5,d3 p4,d2 50 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 26 51 � Relacionamento binário: � Não precisa ser, necessariamente, com entidades diferentes � Auto-relacionamento � Papel no relacionamento Abordagem Entidade-Relacionamento “ ” Cuidado: a representação de PESSOA para PESSOA não existe; foi montada somente para auxiliar o entendimento 52 � Relacionamento binário: � Não precisa ser, necessariamente, com entidades diferentes � Auto-relacionamento � Papel no relacionamento Abordagem Entidade-Relacionamento Diagrama de ocorrências p4, p7 marido esposa marido esposa p1,p3 p5 p2 p6p3 p7 p4 p1 27 53 � Nomes dos relacionamentos binários: Abordagem Entidade-Relacionamento ??? ??? ??? 54 � Nomes dos relacionamentos binários: �Usar um nome significativo que represente a relação binária em ambos os sentidos (da direita para esquerda e vice-versa) �Não usar verbos: � Fornecimento, Emissão, Recebimento, Compra, Prescrição, Formação, Alocação, Contratação, Utilização, Aquisição, Cadastramento, Atribuição, Registro, Lotação, Receita, Atendimento, Residência, Provisão, Consulta, Associação, Especificação, Emprego, Incorporação, Realização, Execução, Capacidade, Capacitação, Composição, Distribuição, Responsabilidade, Financiamento, Atuação, Gerência, Participação, Casamento, Supervisão, Trabalho, Localização, Atuação, Organização, Distribuição, Utilização, Submissão, Avaliação, Concorrência, etc. �Não usar POSSUI , POSSE, ESTÁ, É, FAZ, TEM, CONTÉM, etc. Abordagem Entidade-Relacionamento 28 55 USARNÃO USAR � Nomes dos relacionamentos binários (exemplos): Abordagem Entidade-Relacionamento 56 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 29 57 �Cardinalidade de relacionamentos binários: �Quantidade de ocorrências de uma entidade associadas a uma determinada ocorrência de outra entidade através do relacionamento. Abordagem Entidade-Relacionamento Cardinalidades “simples”. Exemplos: (1) ; (n) (máximas) 1 ocorrência de 1 ocorrência de DEPARTAMENTO pode DEPARTAMENTO pode estar associada a estar associada a nenhuma, uma ou vnenhuma, uma ou váárias rias ocorrências de PRODUTOocorrências de PRODUTO 1 ocorrência de 1 ocorrência de CANDIDATO estCANDIDATO estáá associada a, no massociada a, no mááximo, ximo, uma ocorrência de CIDADEuma ocorrência de CIDADE 1 1 58 �Cardinalidade de relacionamentos binários: �Quantidade de ocorrências de uma entidade associadas a uma determinada ocorrência de outra entidade através do relacionamento. Abordagem Entidade-Relacionamento 1 ocorrência de 1 ocorrência de DEPARTAMENTO pode DEPARTAMENTO pode estar associada a estar associada a nenhuma ou vnenhuma ou váárias rias ocorrências de PRODUTOocorrências de PRODUTO 1 ocorrência de 1 ocorrência de CANDIDATO estCANDIDATO estáá associada a uma e associada a uma e somente uma ocorrência somente uma ocorrência de CIDADEde CIDADE 1 1 Cardinalidade (mínima, máxima). Ex: (0,1) ; (1,1) ; (1,n) ; (0,n) ; (n,n) 30 59 � Exemplos de cardinalidade de relacionamentos binários: Abordagem Entidade-Relacionamento PESSOA marido esposa CASAMENTO 11 LOTAÇÃO DISCIPLINA (0,35) (1,n) ALUNO 60 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 31 61 d1 d3 d2 d1d1 d3d3 d2d2 p1,d1p1,d1p1,d1 p4,t2p4,t2p4,t2 p2,d1p2,d1p2,d1 p5,d3p5,d3p5,d3p6 p3 p1 p4 p2 p5p6p6 p3p3 p1p1 p4p4 p2p2 p5p5 d2 �� Entidade Entidade XX Relacionamento binRelacionamento binááriorio Abordagem Entidade-Relacionamento Na prNa práática, qual a diferentica, qual a diferençça entre Entidade e Relacionamentoa entre Entidade e Relacionamento???? ENTIDADE: “coisas” do mundo real sobre os quais se deseja armazenar determinadas características ENTIDADEENTIDADE: : ““coisascoisas”” do mundo do mundo real sobre os quais se deseja real sobre os quais se deseja armazenar determinadas armazenar determinadas caractercaracteríísticassticas RELACIONAMENTO: representa as regras do mundo real ou regras de negócio que deseja que sejam respeitadas no Banco de Dados RELACIONAMENTORELACIONAMENTO: representa : representa as as regras do mundo realregras do mundo real ou ou regras regras de negde negóóciocio que deseja que sejam que deseja que sejam respeitadas no Banco de Dadosrespeitadas no Banco de Dados 62 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 32 63 �� Relacionamentos binRelacionamentos binááriosrios:: ��Atributos de relacionamentoAtributos de relacionamento:: quando hquando háá necessidade de qualificar necessidade de qualificar ou caracterizar o relacionamentoou caracterizar o relacionamento Abordagem Entidade-Relacionamento data1 data1 data2 data3a6 a3 a4 a5 a1 d1 d3 d2 d5 d6 64 �� Relacionamentos binRelacionamentos binááriosrios:: ��Atributos de relacionamentoAtributos de relacionamento:: quando hquando háá necessidade de qualificar necessidade de qualificar ou caracterizar o relacionamentoou caracterizar o relacionamento Abordagem Entidade-Relacionamento 33 65 �� Relacionamentos binRelacionamentos binááriosrios:: ��Atributos de relacionamentoAtributos de relacionamento:: quando hquando háá necessidade de qualificarnecessidade de qualificar ou caracterizar o relacionamentoou caracterizar o relacionamento Abordagem Entidade-Relacionamento 66 �� Relacionamentos binRelacionamentos bináários:rios: Abordagem Entidade-Relacionamento p1 p3 p2 m1,p1 m4,p2 m1,p1 m5,p3 Diagrama de ocorrências m6 m3 m4 m5 m1 ,d1 ,d2 ,d1 ,d1 ???? 34 67 �� Relacionamentos binRelacionamentos bináários:rios: ��Identificador de relacionamentoIdentificador de relacionamento: quando entre as mesmas : quando entre as mesmas ocorrências de entidade podem existir diversas ocorrências de ocorrências de entidade podem existir diversas ocorrências de relacionamentorelacionamento Abordagem Entidade-Relacionamento 68 �� Relacionamentos binRelacionamentos bináários:rios: Abordagem Entidade-Relacionamento p1 p3 p2 m1,p1 m4,p2 m1,p1 m5,p3 Diagrama de ocorrências m6 m3 m4 m5 m1 ,d1 ,d2 ,d1 ,d1 ???? 35 69 �� Relacionamentos binRelacionamentos bináários:rios: Abordagem Entidade-Relacionamento Qual a diferenQual a diferençça ??a ?? Qual a informaQual a informaçção que quero guardar ??ão que quero guardar ?? 70 Roteiro da Apresentação � Introdução � Porque informatizar adequadamente � Sistema de Banco de Dados � Importância da Modelagem � Níveis de Abstração � Projeto de Banco de Dados � Conceitual � Lógico � Físico � Abordagem Entidade-Relacionamento � Entidade � Relacionamento binário � Auto-relacionamento, Papel no relacionamento e Nomes dos relacionamentos � Cardinalidade � Diferença prática entre Entidade e Relacionamento � Atributos no relacionamento e Identificador de relacionamento � Exercícios 36 71 Exercício 1 – Modelagem ER - Curso profissionalizante Uma escola oferece uma série de cursos profissionalizantes. Esses cursos ocorrem de manhã e à noite, todos os anos, e têm a duração de 1 semestre cada curso. Cada curso é caracterizado por um código, nome, número de horas, número de vagas total, número de vagas ocupadas e nome do professor. A escola mantém igualmente um cadastro de todos os alunos, novos e antigos, inscritos ou não em cursos no semestre corrente. Todo aluno possui um número de matrícula único, nome, endereço e telefone. Em cada semestre um aluno pode se inscrever em 1 ou mais cursos. No início de cada semestre, após o encerramento do período de inscrições, a escola cancela todos os cursos que não possuem, pelo menos, 20 alunos. Contudo, durante o semestre, a escola deseja guardar informações relativas aos cursos, mesmo os cancelados. Alunos também podem cancelar suas inscrições em 1 ou mais cursos nos quais se inscreveu. Tal como para cursos, a escola deseja manter igualmente informações sobre todas as inscrições, ainda que canceladas. Um curso pode ser cadastrado sem estar associado a nenhum aluno. 72 Exercício 2 - Hotel Um Hotel, mantém as seguintes informações sobre seus clientes: o nome, endereço, telefone, e-mail e um código único. Dos empregados guarda-se a sua matrícula (única), nome, CPF, um endereço e um ou mais telefones. Todo empregado possui, pelo menos, uma especialidade e uma especialidade poderá estar associada a vários empregado ou a nenhum. Cada especialidade possui um código único, o nome da especialidade, o nome da instituição onde foi concluída e a data de conclusão. Um cliente, ao se hospedar no hotel, ocupa um ou mais quartos disponíveis. De cada quarto armazena-se um código único, o preço da diária e o seu tipo (solteiro Standard, solteiro luxo, casal Standard, casal luxo, etc.). Um quarto pode ser cadastrado sem estar vinculado a nenhum cliente; entretanto, um quarto pode ser alugado por vários clientes, inclusive o mesmo, naturalmente que em datas distintas. Sempre que um quarto for ocupado por um cliente deve-se guardar, permanentemente, ainda, a data/hora de entrada e saída e, ainda, o valor de desconto, se for o caso. Um empregado pode atender vários clientes ou nenhum. Todo cliente é atendido pelo menos por um empregado. Crie um DER de modo que seja possível identificar somente os Clientes, somente os Funcionários, somente as especialidades, as especialidades de um funcionário, todos quartos já alugados por um cliente e os empregados que atenderam determinado cliente.
Compartilhar