Prévia do material em texto
Curso Tecnologia em Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Prof.ª Mª Maria Rita Almeida Gonzaga 1 2. Modelos de dados, esquemas e instâncias. 2.1 Modelo Representação abstrata de aspectos específicos sobre uma determinada realidade que permite compreender um conceito, ideia ou objeto antes de sua existência real. Um modelo deve ser construído com objetivos bem definidos que determinem os aspectos importantes a serem representados Exemplo: maquete de um prédio, mapa geográfico, DFD, planta baixa 3. Modelo de Dados Conjunto de ferramentas conceituais que permite construir esquemas de banco de dados, ou seja, representar a estrutura de um BD: tipos de dados, relacionamentos, semânticas e restrições. Um modelo de dados disponibiliza abstrações para representar dados, relacionamentos entre os dados, semântica e restrições de integridade dobre os dados. Um modelo de dados deve ser capaz de representar os dados de forma a obedecer aos requisitos da aplicação e retratar o mais fielmente possível o mundo real modelado. A maioria dos modelos de dados incluem também um conjunto de operações que podem ser usadas para especificar recuperação e atualização dos dados. Mundo Real Modelo Descritivo Modelo Conceitual MER Modelo Lógico Operacional MRN Modelo Físico MySQL Descrição informal da realidade Seres,objetos,fatos, conceitos Descrição formal da realidade Descrição que pode ser processada por computador Descrição da organização de cadeias de bits Diretivas de mapeamento Regras de mapeamento Curso Tecnologia em Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Prof.ª Mª Maria Rita Almeida Gonzaga 2 4. Projeto Conceitual de Banco de dados 4.1 Definição É o processo de examinar os requisitos de dados de uma aplicação/atividade/ambiente e produzir um esquema conceitual do banco de dados que atendam esses requisitos independentemente de características específicas do ambiente computacional disponível 4.2 Modelagem Conceitual e Modelo Conceitual A modelagem conceitual é um processo pelo qual uma realidade que é objeto de interesse pode ser representada através dos construtores existentes em um modelo conceitual de dados. Na modelagem conceitual de dados utiliza-se muito do processo de abstração, ou seja, abstrair-se de detalhes ou aspectos irrelevantes para o entendimento/descrição de alguma coisa (problema/objeto/realidade) e concentrar-se nos aspectos fundamentais dessa coisa, necessários ao objetivo pretendido. Assim, na modelagem conceitual de dados o objetivo principal é conseguir representar da melhor maneira possível os dados necessários existentes para uma aplicação sem considerar aspectos de implementação física desses dados. O modelo de dados é um conjunto de conceitos formais (construtores do modelo) utilizados para representar os dados, seus relacionamentos e as regras que esses dados devem obedecer para serem considerados consistentes. 4.3 Modelo Entidade-Relacionamento O Modelo Entidade-Relacionamento é atualmente o modelo de dados mais utilizado no projeto conceitual de banco de dados Construtores Entidade: é o conceito fundamental do modelo e representa uma “coisa”, um “objeto” do mundo real com existência independente. Pode ser um objeto com existência física, tangível (uma pessoa, um automóvel etc.) ou pode ser um objeto com existência conceitual (uma empresa, um empregado, uma disciplina etc.). Exemplos: Objeto físico ou jurídico: Funcionário, Candidato, Fornecedor, Cliente, Empresa. Documento: Nota-fiscal, Pedido-Venda, Ordem-Compra, Cotação Local: Almoxarifado, Unidade-Industrial, Departamento. Tabela: Unidade de Federação, Centro-Custo, Código-Fiscal. Histórico: Venda Acumulada, Histórico-Cargo. Ente-Material: Matéria-Prima, Produto, Peça-Reposição. Enfim: toda gama necessária para armazenar as informações do sistema. Representação: Aluno Curso Tecnologia em Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Prof.ª Mª Maria Rita Almeida Gonzaga 3 Atributo: é uma propriedade ou característica que qualifica ou quantifica uma entidade. Cada atributo de uma entidade tem um valor vinculado a si. O conjunto dos valores dos atributos associados a uma entidade forma a maior parte dos dados de uma base de dados. Nomenclatura básica de Atributos Sigla Significado Cd Código Ds Descrição Dt Data Nm Nome Nr Numero Qt Quantidade Sg Sigla Tp Tipo Tx Taxa Vl Valor Os atributos de uma entidade podem ser classificados em: Atributos identificadores (chave) e atributos não identificadores Atributos atômicos (simples) ou atributos compostos (endereço: logradouro, quadra, lote Atributos monovalorados ou atributos multivalorados (telefones, email) Atributos derivados (qtde de empréstimos, idade) Atributos nulo (com valor nulo, empregado que não possui dependentes) Domínio de atributo: é o conjunto dos valores que podem ser vinculados ao atributo de uma entidade. Representação: 4.4 Tipos de Entidades Tipo de entidade (conjunto entidade): é um conjunto de entidades que possuem atributos comuns. A definição do tipo de entidade é chamada de esquema do tipo de entidade e representa a sua intenção. Cada entidade é uma instância do tipo de entidade ao qual ela pertence. O conjunto de instâncias representa a extensão do tipo de entidade. Exemplo: um tipo de entidade Empregado representa o conjunto de empregados que existe no ambiente que está sendo modelado. NomeAtributo Multivalorado * Composto Determinante Curso Tecnologia em Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Prof.ª Mª Maria Rita Almeida Gonzaga 4 Instância de Relacionamento: é a associação entre entidades que representa uma associação existente no mundo real modelado. Um relacionamento pode ser caracterizado adicionalmente por um conjunto de atributos. ri=(e1,e2,...en) Exemplo de instância de relacionamento: aluno João cursa disciplina BD. ri=(João,bd) Tipo de Relacionamento (conjunto relacionamento): é o conjunto de relacionamentos de mesma natureza que envolve os mesmos tipos de entidades e que tenham os mesmos atributos. Grau de Relacionamento: é o número de tipos de entidade que estão sendo associadas pelo tipo de relacionamento. Podem ser unários, binários, ternários etc Nomes ou papéis de relacionamento: é o nome que se dá ao papel desempenhado por uma entidade dentro do relacionamento Relacionamento de grau n X relacionamento binário: um relacionamento de grau n pode não ter a mesma semântica de m relacionamentos de grau 2 ligando as n entidades em pares Representação: Entidade Fraca: é uma entidade que não pode ser identificada univocamente por nenhum subconjunto dos seus próprios atributos. Para a identificação de uma entidade fraca é necessária a associação de um subconjunto de seus atributos com um atributo de uma outra entidade a qual ela está vinculada. A entidade fraca depende da existência de uma outra entidade. Um tipo de entidade fraca é o conjunto de entidades fracas que têm as mesmas características (mesmos atributos). A entidade fraca depende da existência de um entidade principal e é identificada pelo relacionamento que tem com essa entidade principal juntamente com um conjunto de atributos próprios. Exemplo: uma entidade DEPENDENTE é uma entidade fraca da entidade EMPREGADO. Especialização: (partição) representam conjuntos de entidades que se subdividem em categorias com atributos parcialmente distintos. Agregação:conjunto de entidades formado pelo agrupamento das informações de um conjunto de relacionamento e dos conjuntos de entidades a ele associados. NOME Curso Tecnologia em Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Prof.ª Mª Maria Rita Almeida Gonzaga 5 Construa o Modelo de Entidade e Relacionamento dos exercícios abaixo: 1- Um professor está habilitado para lecionar várias disciplinas, uma disciplina pode ser lecionada por vários professores. 2- Uma empresa fabrica vários tipos de carros, e um carro só pode ser fabricado por uma empresa. 3- Um candidato pode se inscrever em vários concursos, um concurso pode conter a inscrição de vários candidatos. 4- Um prefeito administra uma cidade, e uma cidade só pode administrada por um prefeito. 5- Um médico trata de vários pacientes, e um paciente pode ser tratado por vários médicos. 6- O aluno cursa disciplinas lecionadas por apenas um professor, uma disciplina é cursada por vários alunos, um professor leciona diversas disciplinas e uma disciplina possui vários alunos. 7- Uma locadora de veículos possui vários automóveis. Cada automóvel pode ser locado por vários clientes, e um cliente pode locar vários automóveis. 8- Uma empresa pode realizar vários concursos públicos, um concurso pode oferecer vários cargos aos candidatos, cada candidato só pode concorrer a apenas um cargo. 9- Um Banco pode possuir várias agências bancárias, uma agência pode gerenciar várias contas, uma conta pode pertencer a vários clientes, e um cliente pode ter várias contas. 10- Uma empresa pode executar vários projetos em qualquer localidade do nosso País, um projeto pode conter a participação de vários funcionários, cada funcionário está lotado em apenas um departamento, um departamento lota vários funcionários, um projeto é administrado por um departamento, e um departamento pode administrar vários projetos. 11-Um filme ( nome, atores, categoria, duração) possui vários exemplares. Um cliente (nome, endereço, telefones) pode realizar vários empréstimos. Um exemplar de um filme pode estar em vários empréstimos. Um empréstimo pode conter vários exemplares de filmes. 12- Especialização/Generalização ( Particionamento ) - Cada funcionário (nome, RG, CPF, endereço, dependentes, telefones) está subordinado a um departamento (código, descrição), cada departamento possui vários funcionários, um funcionário pode ser motorista ( habilitação, acidentes: data, culpa), secretárias ( línguas ), engenheiros (Especialidades), cada funcionário ( engenheiro ) pode participar de vários projetos, um projeto pode ter a participação de vários engenheiros, cada funcionário (motorista) está habilitado para conduzir vários veículos (tipo, marca, placa) e um veículo pode ser conduzido por vários funcionários (motorista).