1.49k likes | 1.68k Views
Banco de Dados. Parte do conteúdo exposto nestas transparências foi retirado dos livros: “Projeto de Banco de Dados”, de Carlos A. Heuser ; “Projeto de Banco de Dados - Uma visão prática”, de Felipe Machado e Maurício Abreu. Parte 1 Conceitos Básicos. Dado x Informação.
E N D
Banco de Dados Parte do conteúdo exposto nestas transparências foi retirado dos livros: “Projeto de Banco de Dados”, de Carlos A. Heuser ; “Projeto de Banco de Dados - Uma visão prática”, de Felipe Machado e Maurício Abreu
Parte 1 Conceitos Básicos
Dado x Informação • DADO: algo conhecido, informado, mas sem tratamento sistêmico, ou seja, o DADO precisa de um processamento básico para se transformar em INFORMAÇÃO; • INFORMAÇÃO é o DADO processado ! Ex: Jogo de Baralho. Cartas/Jogada Algoritmo para fazer a soma de dois nºs X e Y. Os números são os dados e o resultado é a informação que se deseja saber.
Ex: Imagine que o sistema armazene os seguintes itens a respeito dos funcionários de uma empresa. O que é DADO e o que é INFORMAÇÃO? NúmeroNomeData Contratação Endereço BairroCidade Dado x Informação Os itens acima referem-se aos dados do funcionário e a partir destes dados é possível extrair informações. Ex: - O tempo que o funcionário trabalha na empresa; - O endereço do funcionário (endereço+bairro+ cidade)
Compartilhamento de Dados Quando a implantação da Informática nas organizações ocorre de forma gradual, é provável que ocorram alguns problemas. Suponha que uma indústria execute três funções básicas: Vendas: concentra as atividades relativas ao contado com os clientes, como fornecimento de cotações de preços, vendas e a disponibilidade de produtos Produção: concentra as atividades relativas à produção propriamente dita, como planejamento da produção, ou seja, dos produtos e controle do que foi produzido Compras: concentra as atividades relativas à aquisição de insumos necessários à produção, como cotações de preços junto a fornecedores, etc.
Compartilhamento de Dados SISTEMA DE COMPRAS SISTEMA PRODUÇÃO SISTEMA VENDAS Arquivos Vendas Arquivos Compras Arquivos Produção O que você vai PRODUZIR? PRODUTO É preciso saber quais os componentes dos produtos e como são produzidos. O que você vai VENDER? PRODUTO É preciso saber o preço do produto, seu prazo de validade, estoque... O que você vai COMPRAR? MATÉRIA-PRIMA do PRODUTO É preciso saber quais componentes serão adquiridos para fabricar o produto
Compartilhamento de Dados Se cada uma das funções for informatizada de forma separada, pode ocorrer que, para cada uma delas, seja criado um arquivo separado para PRODUTOS. SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Arquivos Produção Arquivos Vendas Arquivos Compras Produto Produto Produto • Dados de diferentes aplicações não estão integrados; • Dados estão projetados para atender uma aplicação específica.
Problemas da Falta de Integração de Dados • Redundância de Dados - o mesmo objeto da realidade é armazenado mais de uma vez no banco de dados. Ex: Produtos Redundância Controlada e Não Controlada de Dados Redundância Controlada - acontece quando o software tem conhecimento da múltipla representação e garante a sincronia entre as diversas representações. Ou seja, atualiza automaticamente os dados quando necessário. Ex: Sistemas distribuídos - um mesmo dado é armazenado em vários computadores, permitindo acesso rápido a partir de qualquer um deles.
Problemas da Falta de Integração de Dados Redundância Não Controlada - acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de um dado está com o usuário. Redundância Não Controlada leva a : • Redigitação de Dados - o mesmo dado é digitado várias vezes no sistema. Este trabalho repetitivo pode levar a erros; • Inconsistência dos Dados - os dados podem não representar corretamente a realidade. Imagine que o usuário alterou o preço de um produto no sistema de compra mas não alterou no sistema de vendas. • Dificuldade de extração de informações - os dados projetados para atender uma aplicação específica po- dem gerar dificuldade para o cruzamento dos dados
SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS BANCO DE DADOS Produtos Solução A solução para evitar a redundância NÃO CONTROLADAde informações. COMPARTILHAMENTO DE DADOS Assim, cada dado é armazenado uma ÚNICA VEZ, sendo acessada pelos vários sistemas que dele necessitam.
SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Compartilhamento de Dados SISTEMA PRODUÇÃO SISTEMA DE COMPRAS SISTEMA VENDAS Arquivos Compras Arquivos Produção Arquivos Vendas Produto Produto Produto BANCO DE DADOS Produto
É o nome dado aoconjunto de arquivos integradosque atendem a um conjunto de sistemas Conjunto de dados integradosque tem por objetivo atender a uma comunidade de usuários Banco de Dados BANCO DE DADOS “Uma coleção de dados operacionais inter-relacionados. Estes dados são armazenados de forma independente dos programas que os utilizam, servindo assim a múltiplas aplicações de uma organização.” (Kort, Henry F.)
Banco de Dados O que muda com o surgimento dos Bancos de Dados, ou seja, com o Compartilhamento dos Dados? • Acesso por múltiplos programas - pode haver mais de uma equipe de desenvolvimento envolvida no desenvolvimento de uma aplicação • Os programas devem garantir a Restrição de Integridade, ou seja, garantir a veracidade e a correção dos dados. Ex: Um funcionário não pode estar alocado em dois departamentos. • O BD pode ser acessado concorrentemente por múlti- plos usuários - os programas devem implementar o controle de acesso concorrente
Banco de Dados • Restrições de Acesso - nem todo usuário pode acessar qualquer informação. O programa deve implementar o controle de acesso, ou seja, quem tem permissão para acessar o quê • Dados são de importância vital e não podem ser perdi- dos - mecanismos simples como cópias de “backup” não são suficientes. Caso haja uma falha, o banco de dados deve ser recuperado rapidamente. Os programas devem implementar mecanismos de tolerância a falhas • Estruturas de dados mais complexas - os arquivos devem ser projetados para atender a diferentes necessidades dos sistemas, portanto, há que se tomar bastante cuidado na fase de definição dos DADOS.
Sistema de Gerência de Banco de Dados SGBD Software que incorpora as funções de definição, recuperação e alteração de dados em um banco de dados Software que serve para armazenar e acessar dados em um banco de dados Aplicação SGBD Banco de Dados
Sistema de Gerência de Banco de Dados: Vantagens • Independência de dados - SGBD oferece isolamento das aplicações em relação aos dados, ou seja, altera- ções no modelo de dados (estrutura) afeta pouco as aplicações • Abstração de dados - aplicações não se preocupam com detalhes físicos de implementação (localização no meio de armazenamento, existência de índices, caminhos de acesso..) • Controle de segurança - que usuário pode fazer o que sobre qual dado • Tolerância a falhas - recuperação em caso de falha imperceptível ao usuário • Controle a acesso concorrente - muitos usuários acessando o banco ao mesmo tempo
Quatro Gerações de Gerenciamento de Dados SGBD’s OO (Versant, Objectivity) SGBD’s RELACIONAIS (DB2,SQL Server, Oracle) SGBD’s Hierárquicos (IMS) e em Rede (CODASYL) Sistemas de Gerenciamento de Arquivos(ISAM, VSAM) 1970 1990 2000 1960 1980
Projeto de Banco de Dados - Aplicação Mas e daí, onde vou aplicar isto? Quando estudamos as metodologias de desenvolvimento de sistemas, estudamos análise de requisitos e definimos o que é necessário ser executado, quais as rotinas devem ser desenvolvidas para atender as necessidades do cliente, isto é, quais as informações que o cliente necessita para ter sucesso em seu negócio. Porém, para obter estas informações, é preciso definir quais são os dados que devem ser armazenadosno banco de dados para que, posteriormente, possamos devolver ao cliente, as informações que satisfaçam as exigências definidas por ele, ou seja, as necessidades de informação do negócio.
Ainda não entendi o que afinal de contas eu vou aprender nesta disciplina!!!
Parte 2 Abordagem Entidade-Relacionamento
Objetivos • Compreender os conceitos de ENTIDADE e algumas de suas características: RELACIONAMENTO, ATRIBUTO, CARDINALIDADE
MODELO CONCEITUAL MODELO LÓGICO MODELO FÍSICO Abordagem Entidade-Relacionamento • A primeira etapa do projeto de um banco de dados é a construção de um modelo conceitual, a chamada Modelagem Conceitual. • A Modelagem Conceitual tem por objetivo obter uma descrição abstrata, independente de implementação em computador, dos dados que serão armazenados no banco de dados.
Abordagem Entidade-Relacionamento • Dentre as técnicas mais difundidas e utilizadas para a modelagem conceitual dos dados destacam-se: • a Abordagem Entidade-Relacionamento, definida por Peter Chen em 1976 e que segue a metodologia de desenvolvimento Estruturado de Sistemas • a UML (Unified Modeling Language), que é uma metodologia de desenvolvimento Orientado a Objeto • O Modelo Entidade Relacionamento (M.E.R.) é representado graficamente pelo Diagrama Entidade Relacionamento (D.E.R.) e este é convertido para o Modelo Relacional/Lógico para ser implementado fisicamente num Banco de Dados Relacional.
Abordagem Entidade-Relacionamento • A UML é uma excelente metodologia, porém, até este momento, depara-se com um grande problema: ainda não existe um Banco de Dados totalmente Orientado a Objeto. • Para solucionar tal problema, a UML utiliza um procedimento denominado “Mapeamento Objeto-Relacional”, de forma a permitir que as estruturas definidas no modelo Orientado a Objeto possam ser implementadas em um Banco de Dados Relacional.
Modelo Entidade-Relacionamento • Peter Chen, ao formular a proposta do modelo E-R baseou-se na compreensão da realidade em que se situava o problema e não na visão de um sistema de aplicação. • CHEN preocupou-se em destacar a importância de reconhecer os objetos (coisas) que compõem este negócio, independentemente de preocupar-se com formas de tratamento das informações, procedimentos, programas, etc • Estes objetos ele classificou em dois grupos: ENTIDADE e RELACIONAMENTO
Faz Contém PEDIDO CLIENTE PRODUTO Abordagem Entidade-Relacionamento O fato acima pode acontecer em qualquer realidade. Ele deve, portanto, ser retratado através de elementos básicos que compõem o Modelo ER.
Modelo Entidade-Relacionamento (M.E.R.) • Os componentes básicos do Modelo ER são: ENTIDADES RELACIONAMENTOS ATRIBUTOS
Modelo ER: ENTIDADE ENTIDADE • “Conjunto de objetos da realidade modelada sobre os quais deseja-se manter informações no Banco de Dados” (Heuser). Considera-se objeto qualquer coisa perceptível ou manipulável. • É uma “coisa” ou um “objeto” no mundo real que pode ser identificada de forma única em relação aos outros objetos. • São as “coisas” que existem no negócio sobre as quais temos interesse em manter armazenadas no banco de dados.
Modelo ER: ENTIDADE ENTIDADE • Uma ENTIDADE é uma representação de um CONJUNTO DE DADOS do negócio, um conjunto de informações de mesmas características e suas ocorrências. • É representada através de um retângulo com o nome da entidade em seu interior. CLIENTE PRODUTO FUNCIONÁRIO NOTA FISCAL ORDEM DE PRODUÇÃO
O retângulo CLIENTE representa o conjunto de todas as pessoas sobre as quais se deseja manter informações no BD.. Este objeto particular (um dos clientes) é chamado de OCORRÊNCIA de uma entidade, neste caso CLIENTE. Modelo ER: ENTIDADE Exemplo: CLIENTE
Modelo ER: ENTIDADE • As ocorrências de uma entidade não são representadas no DER mas são semanticamente interpretadas no mesmo, ou seja, ao visualizar uma entidade, devemos entendê-la como uma tabela de dados, onde cada linha representa uma ocorrência da mesma. FUNCIONÁRIO Matrícula Nome Data Admissão 4456 João Carlos da Silva 29/04/91 6689 Sílvia de Oliveira 26/02/92 1203 Carla Martinez 14/04/92
Modelo ER: ENTIDADE Exemplo: • Quais são as “coisas” que vocês conseguem identificar nos LABORATÓRIOS de INFORMÁTICA da UNINOVE ? • Máquinas • Bancadas • Pessoas • Quadro-negro • Canetas • Ar-condicionado
NÃO!!! Pois se quero controlar equipamentos, a entidade PESSOA, por exemplo, não teria importância alguma no contexto Modelo ER: ENTIDADE PERGUNTA 1 !! Todas estas “coisas” identificadas deveriam ter seus dados armazenados, caso nós quiséssemos desenvolver um Sistema para Controlar os Equipamentosdos Laboratórios de Informática?
Modelo ER: ENTIDADE PERGUNTA 2 !! Se ao invés do caso anterior, nós quiséssemos desenvolver um sistema para controlar não somente os Equipamentos existentes, mas também a Utilização dos Laboratórios ? Neste caso temos que lembrar que quem utiliza, ou seja, as PESSOAS são de interesse do sistema
Modelo ER: PROPRIEDADES • Além de especificar as entidades, ou seja, os objetos sobre os quais se deseja manter informações, o MER deve permitir a especificação das PROPRIEDADES destas entidades. • Estas propriedades são : Participar de um Relacionamento Ter um ATRIBUTO
Modelo ER : ATRIBUTO ATRIBUTO • Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento (características específicas)
Modelo ER: ATRIBUTO • Ex 1:Projeto • Em uma entidade Projeto, por exemplo, poderá ser importante armazenar o Código, o Tipo e no nome do Projeto. A representação gráfica deverá ficar, então: ENTIDADE PROJETO tipo ATRIBUTOS código nome
FUNCIONÁRIO Número Matrícula Nome Data Admissão Data Nascimento Valor Salário Modelo ER: ATRIBUTO • Ex 2:Funcionário • Vamos supor que em uma empresa temos uma entidade chamada Funcionario, ou seja, um objeto sobre o qual desejamos manter informações. • O que descreve FUNCIONÁRIO? • - um número de matrícula, o nome do funcionário, sua data de admissão, data de nascimento, valor do salário,...
Modelo ER: ATRIBUTO Cada ocorrência de Funcionário será formada por valores nestes atributos e o conjunto destes valores representa a informação de um funcionário que devemos visualizar como uma linha de uma tabela de dados. Entidade: Funcionário DataAdmissão Matrícula Nome 4456 João Carlos da Silva 29/04/91 6689 Sílvia de Oliveira 26/02/92 1203 Carla Martinez 14/04/92 7702 Pedro Guilherme Souza 01/01/92
CLIENTE Endereço Nome CPF Modelo ER: ATRIBUTO Telefone Os atributos podem ser de vários tipos: monovalorado: possui apenas um valor que não pode ser decomposto. Ex:CPF multivalorado: possui vários valores na mesma ocorrência. Ex:Telefone composto: possui vários valores sobre o mesmo nome e quando decomposto não perde o sentido. Ex:Nome,Endereço
Modelo ER: ATRIBUTO IDENTIFICADOR Cada entidade deve possuir um identificador!!! IDENTIFICADOR é um conjunto de um ou mais atributos (e possivelmente relacionamentos) cujos valores servem para distinguir uma ocorrência da entidade das demais ocorrências da mesma entidade código nome PESSOA endereço Identificador simples Cód. Departamento Cód. Disciplina DISCIPLINA Nome da disciplina Identificador composto
Modelo ER: ATRIBUTO IDENTIFICADOR O identificador de uma Entidade deve obedecer UMA propriedade: Deve ser MÍNIMO isto é, se retirarmos um dos atributos ou relacionamentos que o compõe, ele deixa de ser identificador Não é necessário utilizar Código e nome para identificar a entidade. Código é suficiente para distinguir as ocorrências de PESSOA código nome PESSOA endereço
Modelo ER: RELACIONAMENTO RELACIONAMENTO • Conjunto de associações entre entidades através de algo comum. LOTAÇÃO PESSOA DEPARTAMENTO • Um conjunto de objetos classificados como pessoa (Entidade PESSOA) ; • Um conjunto de objetos classificados como departamento (Entidade DEPARTAMENTO); • Um conjunto de ASSOCIAÇÕES, cada uma ligando um departamento a uma pessoa (relacionamento LOTAÇÃO);
Modelo ER: RELACIONAMENTO No nosso dia-a-dia convivemos com os mais variados tipos de entidades (objetos reais), que são descritos por uma série de atributos (características) e que expressam uma realidade de existência. Estas entidades do dia-a-dia estão relacionadas de forma a mostrar a realidade com um conteúdo lógico: • As pessoas Moram em Apartamentos; • Os apartamentos Formam Condomínios; • Os condomínios Localizam-se em Ruas ou Avenidas; • As Avenidas e Ruas Estão em uma Cidade
Modelo ER: RELACIONAMENTO RELACIONAMENTO • Assim como ocorre com as entidades, temos as ocorrências de relacionamentos. • Isto pode ser melhor observado através do Diagrama de Ocorrências. Nele, ocorrências de entidades são representadas por círculos brancos e de relacionamentos por círculos pretos.
Modelo ER: RELACIONAMENTO • Neste caso, uma ocorrência seria um par específico formado por uma determinada ocorrência da entidade PESSOA e por uma determinada ocorrência da entidade DEPARTAMENTO p3 p7 p8 Entidade p4 p1 p2 p5 PESSOA Relacionamento p4,d2 LOTAÇÃO p5,d3 p1,d1 p2,d1 Entidade DEPARTAMENTO d3 d1 d2 Diagrama de ocorrências
(0,n) ATUAÇÃO (0,n) ENGENHEIRO PROJETO código código Função nome título Modelo ER: RELACIONAMENTO Assim como Entidade, Relacionamentos também podem possuir atributos No exemplo, ATUAÇÃO possui um atributo (Função), ou seja, o papel que um engenheiro deve desempenhar dentro de um projeto. Função ENGENHEIRO Função PROJETO
Modelo ER: CARDINALIDADE CARDINALIDADE (mínima e máxima) num relacionamento É o número (mínimo,máximo) de ocorrências de uma entidade associadas a uma ocorrência de outra entidade através do relacionamento
Modelo ER: LEITURA da CARDINALIDADE ? CASADO MULHER HOMEM PERGUNTA: Um homem pode estar casado com quantas mulheres? RESPOSTA: Um homem pode não ser casado com NENHUMA mulher, portanto a cardinalidade mínima é “0”; Um homem pode se casar com no máximo UMA mulher, portanto, a cardinalidade máxima é “1”; MULHER CASADO (0,1) HOMEM
Modelo ER: LEITURA da CARDINALIDADE ? CASADO MULHER HOMEM PERGUNTA: Uma mulher pode estar casada com quantos homens? RESPOSTA: Uma mulher pode não ser casada com NENHUM homem, portanto a cardinalidade mínima é “0”; Uma mulher pode se casar com no máximo UM homem, portanto, a cardinalidade máxima é “1”; (0,1) HOMEM CASADO MULHER