Introduo a Banco de Dados Ferramentas Computacionais FACINPUCRS
Introdução a Banco de Dados Ferramentas Computacionais FACIN/PUCRS
O que é um Banco de Dados (BD)? – A informação pode ser classificada, pesquisada e atualizada. – Mais de uma informação pode ser organizada em um conjunto. – Banco de Dados (BD) é o nome mais comum para um conjunto de informações organizadas (ou estruturadas). – A organização do BD deve possibilitar a recuperação de informação de acordo com diferentes necessidades e não sofrer alterações ao longo do tempo. – A organização deve ser baseada em um modelo prédefinido e que facilite a compreensão da estrutura dos dados (modelo de dados). Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Como planejar um Banco de Dados? Perguntas Norteadoras. . . – Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará. – Quais as ações de entrada de dados? Isso determina os formulários de que você precisará. – Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará. Material da professora Beatriz Franciosi, baseado em Miriam Sayão, Adriana Beiler e Elisa Boff
Exemplo de Planejamento de BD Pensando alto. . . E se eu quiser organizar minha biblioteca pessoal. . . Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará. ? Quais as ações de entrada de dados? Isso determina os formulários de que você precisará. ? Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará. ?
Modelo de Entidade e Relacionamento • Conceitos Principais – entidades – atributos – relacionamentos – restrições sobre relacionamentos • visão estática e estrutural dos dados Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Modelo de Entidade e Relacionamento • Entidades – representam pessoas ou objetos que existem no mundo real, e sobre as quais queremos guardar informações – exemplos: funcionário, obra, máquina, aluno – representação: nome da entidade Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Modelo de Entidade e Relacionamento • Atributos – representam características ou informações das entidades ou dos relacionamentos – exemplos para entidades: • funcionário: nome, matrícula, data de admissão, número da carteira profissional • obra: responsável, data de início, custo previsto • máquina: material, tipo, responsável, custo • aluno: nome, matrícula, curso, situação Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Modelo de Entidade e Relacionamento • Relacionamentos – fato ou acontecimento que liga dois objetos do mundo real (ou duas entidades do modelo) – representação: nome Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Modelo de Entidade e Relacionamento • Diagrama (utilizado para) – Interagir com o usuário – Definir depósitos permanentes de dados – Focalizar relacionamentos entre entidades, tabelas ou arquivos Cliente Compra Livro Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Modelo de Entidade e Relacionamento Exemplos Trata Médico Paciente Cobra Professor Curso possui ministra Disciplinas Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Planejando meu BD Voltando ao minha biblioteca. . . E se eu quiser organizar os empréstimos que faço dos meus livros? O que terei mais que armazenar? Quais dados eu desejo armazenar, e qual é a melhor maneira de organizá-los? Isso determina as tabelas que você precisará. ? Quais as ações de entrada de dados? Isso determina os formulários de que você precisará. ? Quais informações eu quero saber? Essa resposta indica que relatórios e consultas você desejará. ?
Planejando meu BD Voltando ao minha biblioteca. . . E quais são. . . As entidades necessárias? ? Os atributos necessários? ? Os relacionamentos necessários? Não esqueçam dos empréstimos ? E como fica o diagrama de entidade-relacionamento? ?
Sistemas Gerenciadores de BD • Como funcionam? – Em um sistema de gerenciamento de BD, como o Access, por exemplo, geralmente é possível armazenar informações (tabelas), realizar consultas e imprimir relatórios. – E, através deles é possível criar formulários para a entrada de dados facilitando o preenchimento de tabelas. [Tabelas – Formulários – Relatórios– Consultas] Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Sistemas Gerenciadores de BD • Como as partes se juntam? – Embora você crie tabelas, relatórios, formulários e consultas em etapas separadas, elas estão todas relacionadas. – As tabelas são a parte de todas as atividades, todos os outros objetos se referem aos dados da tabela: • os relatórios resumem e organizam os dados da tabela; • os formulários ajudam a inserir as informações na tabela; • as consultas ajudam a localizar informações na tabela. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Tabelas • Tecnicamente, você só precisa de uma tabela. • Mas quanto maior a quantidade de informação na tabela mais difícil será sua recuperação (ou localização). • Se as informações forem armazenadas em mais de uma tabela então é necessário criar um relacionamento entre elas (modelo entidade relacionamento). Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Tabelas • Exemplo: Banco de Dados que registra pedidos de clientes. (Tabelas deste BD) – Clientes – Tipos de Clientes – Métodos de Entrega – Vendedores – Pedidos – Produtos – Detalhes do Pedido Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Planejando meu BD Como seriam as tabelas da minha biblioteca? Que dados necessito para cada uma delas? ? ? Lembrem das entidades. . . ?
Tabelas • Planejar as tabelas antes de criar o BD é importante. • É difícil mudar a estrutura de uma tabela depois que ela estiver preenchida com dados (mas não impossível). Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD • Normalização dos dados torna as tabelas o mais eficientes e compactas possíveis, para eliminar a possibilidade de confusão e erro. • Algumas regras determinam o modo como um BD deve armazenar suas tabelas. • Estas são as regras de normalização de dados. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD • Evite informações repetidas – Suponha que você queira manter informações de contato sobre seus clientes juntamente com um registro de cada transação que eles efetuarem. – Se você mantivesse tudo em uma tabela, teria que repetir o nome completo do cliente, o endereço e o número de telefone toda vez que incluísse uma nova transação. – Também teria que mudar o endereço em cada registro de transação para esse cliente. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Organizando a tabela. . . – Atribuir a cada cliente um número de código. – Incluir o número de código em uma tabela contendo nomes e endereços. – Usar número de código como um vínculo em uma tabela separada que contenha as transações. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Tabela de Clientes Tabela de Pedidos Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD • Evite dados redundantes – Suponha que você queira acompanhar quais funcionários freqüentam certas aulas de treinamento. Existem muitos funcionários e muitas aulas. – Utilizando uma única tabela (tabela de Pessoal) organizada da seguinte forma: Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD – E se um funcionário tiver mais de uma aula? Você teria de incluir uma linha duplicada na tabela para relacioná-lo e depois teria o problema descrito anteriormente: vários registros com entradas de campo praticamente idênticas. – E se o único funcionário que assistiu a uma determinada aula sair da empresa? Quando você excluir o registro desse funcionário, apagará também as informações sobre as horas de crédito da aula. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Organizando a tabela. . . – Utilizar tabelas separadas para Funcionários, Aulas e Treinamento Realizado Tabela Funcionários Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Normalizando o BD Tabela Aulas Tabela Treinamento Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Conclusões (1/2) • Uma boa organização de tabela se resume a alguns princípios simples: – Cada tabela deve ter um tema, por exemplo, Informações de Contato de Funcionários ou Transações do Cliente. NÃO tente incluir mais de um tema por tabela. – Se você descobrir que poderá acabar repetindo dados em uma tabela no futuro, como armazenar o número de telefone do cliente em cada transação de compra, planeje inserir as informações que serão repetidas em sua própria tabela. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Conclusões (2/2) – Se você quiser preservar uma lista de informações de referência (como os nomes e horas de crédito das aulas), coloque-as em sua própria tabela. – Sempre que possível, use números de código, pois ajudarão a vincular as tabelas mais tarde e evitarão erros de digitação, que surgem com a entrada de longas seqüências de textos (como nomes) repetidas vezes. Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
Planejando meu BD Vamos normalizar nossas tabelas da biblioteca? ? ? ?
Exercícios (1/2) 1. Uma escola deseja guardar informações no seu BD sobre seus professores, as disciplinas que a escola ministra bem como a relação dos professores com as disciplinas no ano letivo. Elabore as tabelas necessárias para armazenar estas informações. Procure observar as regras de normalização. Coloque nas tabelas os campos que julgar necessários. ** tente fazer o modelo de Entidade-Relacionamento das mesmas ** Material das professoras Beatriz Franciosi, Miriam Sayão, Adriana Beiler e Elisa Boff
- Slides: 32