Faculdade Alvorada

Banco de Dados
Profa. d´Arrochella Mestre em Gestão de Conhecimento e Tecnologia da Informação

Banco de Dados
Objetivo Geral:

Ensinar e capacitar o aluno sobre as teorias e técnicas de criação e manipulação de bancos de dados automatizados, por meio de aulas expositivas e prática de exercícios em laboratório utilizando ferramentas de Sistema Gerenciador de Bases de Dados.

Banco de Dados
Objetivos Específicos:
Conduzir o estudante, ao longo do curso, a:  Revisar fundamentos de Banco de Dados e Modelagem;  Revisar conceitos de Normalização de Dados;  Explorar conceitos de objetivos de Bancos de Dados Relacionais;  Recomendar melhores práticas aos profissionais AD Administrador de Dados e DBA – Administrador de Banco de Dados;  Praticar exemplos e estudos de caso como exercícios práticos em laboratório de informática utilizando uma ferramenta de software (SGBD);  Explorar conceitos avançados de manipulação, manutenção, segurança e gerência de transações em Banco de Dados.

Banco de Dados Conteúdo programático:      Organização de arquivos Modelagem de Dados Regras de integridade Sistema gerenciador de banco de dados (SGBD) Modelo relacional de banco de dados .

Sistema de banco de dados. 1999.  RAMALHO. Introdução a Sistemas de Banco de Dados. 1996 Complementares:  DATE. Banco de dados cliente/servidor. 1999  CHEN. Joe. Ed. Osvaldo Vicente. 1991.  KERN. Banco de dados relacional.J.São Paulo. 1991. Felipe. Modelagem de Dados. Rio de Janeiro: LTC. 1993. José Antônio Alves. Vinícius. SQL A Linguagem dos Bancos de Dados. Ed. Érica. Rio de Janeiro: Infobook. Rio de Janeiro: Edgard Blucher. São Paulo: Makron. Abraham e. Maurício. ABREU. .  CERÍCOLA.  KORTH.Banco de Dados Referências Bibliográficas: Básicas:  SILBERCHATZ. Projeto de Banco de Dados. Sistema de Banco de Dados. Makon Books. São Paulo. São Paulo: Makron Books. 1990. C. Berkeley . Peter. 1999. Banco de dados relacional e distribuído. 1989.  SALEMI. Henry F.  MACHADO. Rio de Janeiro: LTC. 8ª ed.

.

Banco de Dados .

.

há alguns anos e aquele Porteiro conhecido seu estava de folga. Você esqueceu a carteirinha e com sua carteira de identidade o Porteiro tentará Verificar sua situação junto à Secretaria do Clube.Banco de Dados Imagine você chegando à Portaria do seu Clube. .

Banco de Dados De que forma deveriam ser encontradas as fichas? .

.Banco de Dados Conceitos: Banco de Dados: é uma coleção de dados inter-relacionados.. representando informações sobre um domínio específico. * reserva de hotel. Exemplos: * lista telefônica. . * controle de acervo de uma biblioteca.. * sistema de recursos humanos de uma empresa.

Banco de Dados Conceitos: Sistema Gerenciador de Banco de Dados(SGBD): é um software para facilitar a manipulação das informações dos bancos de dados e o desenvolvimento de programas aplicativos.. . * SQL. . Exemplos: * Access.. * Oracle. * DB2.

endereços (rua.fatos que podem ser armazenados exemplos: nomes.Banco de Dados Conceitos: dados . telefones.cidade) coleção de dados inter-relacionados logicamente . bairro.

concorrência e consistência .Banco de Dados Histórico: Década de 60: Indexados sequencias: ISAM (Indexed Sequencial Access Method) Década de 70: Bancos de dados hierárquicos e em rede Ofereciam as seguintes funcionalidades adicionais: Identificadores de registros com acesso estruturado através de redes de registros Acesso a vários arquivos indexados simultaneamente compondo uma base de dados única Proteção – restrições de acesso a pessoas ou programas autorizados Transações – reconstrução.

Banco de Dados Histórico: Década de 80: Bancos de dados Relacionais Ofereciam as seguintes funcionalidades adicionais: Linguagem de consulta com operações de manipulação de dados e ferramentas para desenvolvimento de aplicações Independência de dados .

Banco de Dados Histórico: Década de 90: Banco de dados orientado a Objetos Atualmente: Bancos de dados XML nativo Bancos de dados “on-line” que permitem disponibilizar serviços via web Bancos de dados puro JAVA Banco de dados específicos para aplicações “real-time” .

Banco de Dados Histórico: Linguagem padrão para manipulação de banco de dados: SQL – Structured Query Language .

Disco .

Banco de Dados Voltemos ao nosso Clube: Imaginem que ele fez uma Lista com todos os Sócios do Clube e os nomes dos dependentes de cada sócio..excluir um sócio e seus dependentes? . Como ele fazia para .. .atualizar o pagamento das mensalidades? .encontrar um dependente? ..

Banco de Dados e quando um sócio vem pagar as mensalidades atrasadas? - - Localiza o sócio na lista Atualiza sua situação Localiza sua ficha no arquivo Informa pagamento das mensalidades Identifica cada um de seus dependentes Localiza os dependentes na lista e Atualiza os dependentes .

Banco de Dados Serviços rotineiros: ..Listagem dos inadimplentes .Listagem de aniversários para envio de correspondências . ..o refazimento da lista é feito mensalmente após o pagamento das mensalidades .Listagem dos dependentes ordenados por data de aniversário para verificação de maioridade ..

Banco de Dados Agora imaginem que nosso Clube tenha 10.000 Associados. .

Banco de Dados
Problemas encontrados no bando de dados do nosso Clube: - Inconsistência e redundância de dados
a mesma informação está repetida em vários lugares

-

Dificuldade de acesso aos dados
novas requisições podem ser obtidas de listas já produzidas e isto impede que a lista original seja alterada

-

Isolamento de dados
como os dados estão dispersos em vários arquivos, e estes arquivos podem possuir diversos formatos, é difícil escrever novas aplicações para recuperação apropriada

-

Problemas de integridade
pela própria redundância

Banco de Dados
Por estes problemas, especialistas vem trabalhando desde os anos 60, em novas técnicas para montagem de banco de dados.

A idéia é chegar de forma fácil e segura a um modelo interno de nosso escopo a partir da visão do mundo real.
Isso chamamos de abstração da informação.

Banco de Dados
ABSTRAÇÃO DA INFORMAÇÃO: Definição: ―Habilidade mental que permite aos seres humanos visualizarem os problemas do mundo real com vários graus de detalhe, dependendo do contexto do problema.‖
J. Rumbaugh et al., Editora Campus, 1997 Livro: Modelagem e Projetos baseado em objetos

Banco de Dados Tipos de Banco de Dados: - Por número de usuários: monousuário .multiusuário - - Por número de sites Centralizado Distribuído - - .

Modelo de Dados Objetivos de um Modelo de Dados: - Representar o ambiente observado Servir de instrumento para comunicação Documentar e Normalizar Fornecer Processos de Validação - - - - Observar aspectos de relacionamento entre objetos .

define chaves primárias das entidades. pode variar com base na análise de acesso aos dados. pode ter tabelas somente físicas. visando atender aos requisitos de performance. - - . possui entidades associativas em lugar de relacionamentos n:n. normalizado até 3ª. FÍSICO: elaborado a partir do Modelo Lógico.Modelo de Dados Características dos Modelos - CONCEITUAL: visão geral do negócio. pode variar conforme o SGBD escolhido. facilita entendimento entre usuários e desenvolvedores. adequação aos padrões de nomenclatura e já deve ter as entidades e atributos documentados. só possui entidades e os atributos principais e pode conter relacionamentos n:n LÓGICO: deriva do Modelo Conceitual e visa representação do negócio. Forma Normal.

MODELO FÍSICO – Leva em consideração limites impostos por um SGBD e pelos requisitos não funcionais dos programas que acessam os dados. - - . MODELO LÓGICO – Leva em consideração limites impostos por algum tipo de tecnologia de banco de dados. Mais adequado para o envolvimento do usuário.Modelo de Dados Etapas para Construção do Modelo - MODELO CONCEITUAL – representa as regras de negócio sem limitações tecnológicas ou de implementação.

Normalmente ocorre entre instâncias de duas Entidades. devido à regra de negócios.Modelo de Dados Conceitos: Relacionamento: associação entre instâncias de Entidades. podendo ocorrer entre Instâncias da mesma Entidade (auto-relacionamento) ou entre três ou mais Entidades. .

 Exemplo: no sistema de controle acadêmico da Faculdade o relacionamento MATRICULA.  são representados por losangos.Relacionamentos conceito: associação entre entidades. vincula um ALUNO a uma DISCIPLINA. .  representam os vínculos que existem entre as entidades no mundo real.

Relacionamentos conceitos  Grau é igual a quantidade de entidades vinculadas através do relacionamento. Disciplina Func Pré-Req Lotação Depto Grau 2 Grau 1 .

Relacionamentos conceitos  Classe  identifica quantas vezes cada instância de uma entidade pode participar do relacionamento.  para relacionamentos binários temos classes:  1:1  1:N  N:N .

Relacionamentos Classe 1:1 Cada FUNC participa de quantos PROJETOS? 1 Func Participa 1 Projeto Cada PROJETO tem a participação de quantos FUNC? .

Classe 1:1 .

Classe 1:1 1 Func Utiliza 1 Carro Kurt Brian Tonya Scott Nancy Fargo Mustang Ranger Jeep Prizm .

Relacionamentos Classe 1:N Cada FUNC participa de quantos PROJETOS? 1 Func Participa N Projeto Cada PROJETO tem a participação de quantos FUNC? .

Relacionamentos Classe N:1 Cada FUNC participa de quantos PROJETOS? N Func Participa 1 Projeto Cada PROJETO tem a participação de quantos FUNC? .

Classe 1:N 1 Cliente Aluga N Vídeo Gone with the Wind Silva Johnson Hill Terminator Terminator II Cerveny Denton Cretaceous Park Sandlot Son of Flubber BladeRunner Bad News bears Fried Green Tomatoes .

Relacionamentos Classe N:N Cada FUNC participa de quantos PROJETOS? N Func Participa N Projeto Cada PROJETO tem a participação de quantos FUNC? .

Classe N:N .

Modelo de Dados Conceitos: Cardinalidade: indica quantas ocorrências de uma Entidade participam no mínimo (Cardinalidade mínima) e no máximo (Cardinalidade Máxima) de um Relacionamento. .

Modelo de Dados Conceitos: Normalização: conjunto de regras que visa minimizar as anomalias de modificação dos dados e dar maior flexibilidade em sua utilização. .

Instância cada elemento da Entidade. Contrato de Operação .Modelo Entidade .Atributo Tudo que se pode relacionar como sendo próprio da Entidade Exemplos: Código do Produto (Entidade Produto) Nome do Cliente . Produto. Linha ou Tupla – Modelo Físico . Pode também ser chamada de Ocorrência – Modelo Lógico Exemplos: Registro.Relacionamentos Vínculos ou associações entre Entidades. Exemplos: Cliente.Entidades Conjuntos de ―coisas‖ que possuem características próprias.Relacionamento Elementos: . .

Banco de Dados Entidade: conjunto de objetos sobre os quais é preciso armazenar informações úteis. grau de instrução). locais. Ex de possíveis Entidades: pessoas. etc.  conjuntos de elementos distinguíveis que aceitam um código para diferenciá-los. documentos.  .  conjunto de vários elementos (mais que 1).  conjuntos qualificativos (ex.  seus atributos NÃO dependem de outras entidades. objetos.

Entidade representação Funcionários Produtos matricula nome endereço código descrição unidade Notas Fiscais Cargos série número data emissão código descrição pré-requisitos .

Atributos conceito informações úteis a respeito de uma entidade ou relacionamento.  os atributos de uma entidade permanecem constantes para todos os seus relacionamentos.  .  os atributos de uma entidade são independentes de todas as demais entidades.

.  seu valor é único para a entidade.  deve ser sublinhado. multivalorado  pode assumir mais do que um valor para cada entidade. composto  necessita ser dividido em sub-atributos. é diferenciado com um (*). para que seu significado seja melhor compreendido.Atributos tipos    determinante:  seu valor representa um elemento da entidade.

Atributos representação Funcionários Produtos matricula nome endereço código descrição unidade Notas Fiscais Cargos série número data emissão código descrição pré-requisitos .

Atributos ex: atributo composto Funcionários endereço matricula rua nº CEP .

Atributos ex: multivalorado Funcionários * telefone matricula .

Qual a melhor solução? Caso 1 Funcionários * telefone matricula DDD nº descrição Caso 2 Funcionários telefone matricula *DDD *nº *descrição .

Atributos ex: composto e multivalorado Funcionários * telefone matricula DDD nº descrição .

Entidades Fracas Dependem de uma ―entidade forte‖  A Entidade Fraca é representada por:  Dependência de Existência  Dependência de Identificador  .

Entidades Fracas Dependência de Existência Func 1 Pertence N Dependente .

Entidades Fracas Dependência de Identificador Contribuinte 1 Faz N Declaração IR .

quando TODOS os seus elementos participam deste relacionamentos.  Caso contrário a Entidade é dita PARCIAL.Relacionamentos Totalidade  Uma Entidade é dita TOTAL num relacionamento. .

. e é relevante no contexto do relacionamento.Atributos de Relacionamento  Um Atributo pertence a um Relacionamento classe N:N. então ele não pode pertencer a 1ª entidade. sempre que:  fixa-se um elemento da 1ª entidade. então ele é atributo do relacionamento. e observa-se o valor do atributo para cada mudança de elemento na 2ª entidade.  se o valor do atributo mudar.  se o atributo não pertence as entidades envolvidas.

Atributos de Relacionamento  A quem pertence os ATRIBUTOS: PRECO. QUANTIDADE e PRAZO? N N Vende Produtos Fornecedores .

não podem pertencer a PRODUTOS. QUANTIDADE e PRAZO. pois se fosse assim TODOS os FORNECEDORES deveriam praticar o mesmo preço. N Vende Produtos N Fornecedores *Condições Preço Quant Prazo .Atributos de Relacionamento  PRECO.

não podem pertencer a FORNECEDORES. Produtos N Vende N Fornecedores *Condições Preço Quant Prazo . QUANTIDADE e PRAZO. pois se fosse assim TODOS os PRODUTOS de um fornecedor teriam o mesmo preço.Atributos de Relacionamento  PRECO.

Atributos de Relacionamento  Não pertencendo nem a PRODUTOS ou a FORNECEDORES. e sento relevante no relacionamento VENDA. são atributos do relacionamento Produtos N Vende N Fornecedores *Condições Preço Quant Prazo .

Atributos de Relacionamento A quem pertence os ATRIBUTOS: DATA ADMISSÃO e DATA LOTAÇÃO?  N 1 Pertence Funcionario Departamento .

Auto-Relacionamentos   Relacionamento de uma ENTIDADE consigo mesma. também chamados de Relacionamentos RECURSIVOS. Exemplo: Uma empresa tem a entidade FUNC e deseja saber quais são os funcionários casados com outros funcionários. .

Auto-Relacionamentos Jordan Mike 1 Func 1 isto é equivalente a: Casado com Rieta Colleen Sean Jody Walt Andrew Larry Whitney Barb John Func 1 Casado com 1 Func .

Auto-Relacionamento  Num Auto-Relacionamento é necessário saber o PAPEL que cada elemento do conjunto de entidade está representando. 1 mulher Casdo com Peças N compõe Componentes Funcionario 1 marido N é composta quantidade .

Materiais N N Requisições MRP N Pedidos Compra .Relacionamentos Múltiplos  É uma extensão do relacionamento binário para um número qualquer de entidades.

Relacionamentos Múltiplos Um PROF em uma DISCIPLINA estão associados a quantos ALUNOS? Aluno N Um ALUNO em uma DISCIPLINA estão associados a quantos PROF? 1 Professor PDA Um ALUNO e um PROF estão associados em quantas DISCIPLINAS? N Disciplina .

 Serve para que RELACIONAMENTOS MÚLTIPLOS sejam decompostos.Agregações Um AGREGADO é tratado como sendo uma ENTIDADE composta por um ÚNICO RELACIONAMENTO.  .

Agregações  O relacionamento MRP não permite que uma REQUISIÇÃO seja atendida quando o MATERIAL está no estoque: Materiais N N Requisições MRP N Pedidos Compra .

REQUISIÇÃO 2) PEDIDO e o relacionamento 1.Agregações  Solução: Decompor MRP em 2 relacionamentos: 1) MATERIAIS . Materiais N Item Req N Requisições Agregado N Item Pedido N Pedidos Compra .

ele pode necessitar que uma MÁQUINA. N Alocado N Funcionario Projeto N Utiliza 1 Máquina .Agregações Exemplo: Como conseqüência da ALOCAÇÃO de um FUNCIONÁRIO num PROJETO.

Estrutura de Generalização e Especialização Permite que uma ENTIDADE tenha sub-classes ou pertença a superclasses. recebe o nome de “isa” (é um).  A associação entre uma Generalização (super-classe) e suas Especializações (sub-classes). ISA  Representada por um triângulo:  .

 Serve para representar ENTIDADES com ATRIBUTOS parcialmente disjuntos.Estrutura de Generalização e Especialização Também conhecidas como PARTICIONAMENTO.  .  Permite que um relacionamento fique restrito a um sub-conjunto de uma ENTIDADE.

 Cada Especialização HERDA.Estrutura de Generalização e Especialização Uma super-classe é uma Generalização de um conjunto de Especializações (subclasses). atributos e relacionamentos da Entidade da qual derivou. .   Relacionamentos entre Especializações de uma mesma Generalização são um tipo de AutoRelacionamento.

Estrutura de Generalização e Especialização  A entidade FUNCIONÁRIOS pode ser particionada em: Func ISA Motoristas Secretárias Engenheiros .

ACIDENTES são exclusivos dos MOTORISTAS   . só é útil para SECRETÁRIAS. são Atributos de FUNCIONÁRIOS. DATA ADMISSÃO. RG.Estrutura de Generalização e Especialização  Os Atributos NOME. Os Atributos HABILITAÇÃO. O Atributo IDIOMAS.

: Nome • Atributo Composto: formado por um ou mais sub-atributos Ex.: Endereço .Atributos (campos) • Atributo: Elemento de dado que contém informação que descreve uma entidade Funcionário Cod-Func Nome Dependentes Endereço Cidade Estado • Atributo Monovalorado: assume um único valor para cada elemento do conjunto-entidade Ex.

: Dependentes Atributo Determinante: identifica cada entidade de um conjunto-entidade (também conhecido com atributo chave) Ex.: Sexo {M.: Cod_Func Domínio de um Atributo: conjunto de valores permitidos para o atributo Ex. F) .Atributo Multivalorado: uma única entidade tem diversos valores para este atributo (seu nome e sempre representado no plural) Ex.

Somente os MOTORISTAS dirigem VEÍCULOS. Func RG nome data admissão ISA Motoristas Secretárias Engenheiros habilitação * acidentes * Idiomas CREA .Estrutura de Generalização e Especialização Exercício: Todos os FUNCIONÁRIOS estão lotados num DEPARTAMENTO. Apenas os ENGENHEIROS participam de PROJETOS.

Estrutura de Generalização e Especialização Func nome Veículos N dirigem N RG data admissão Veículos N 1 lotação Departamento ISA N N Motoristas Secretárias Engenheiros Participa habilitação * acidentes * Idiomas CREA .

 Seu valor é CONSTANTE para todo o conjunto ao qual pertence. .  Exemplo: numa biblioteca considere que a MULTA por dia de atraso de um exemplar seja constante.Atributos Globais Estão associados a uma Entidade ou a um Relacionamento.

Atributo Global Livro código nome multa Atributo Global .

normalmente é constituído por um conjunto de registros lineares que não possuem informações de relação entre si. . seqüencial-indexado. seja seqüencial.Tipos de Arquivos Um arquivo convencional. direto ou indexado.

que constituem a chave.Característica do arquivo sequencial •Os registros armazenados possuem uma ordem de classificação lógica. determinada por um ou mais campos. .

assim cada valor de atributo está associado ao nome do atributo pela sua posição relativa no registro.Característica do arquivo sequencial • Os registros possuem o mesmo formato. .

Característica do arquivo sequencial
• Um

valor de chave identifica um conjunto de valores de atributos, e com este, forma um registro físico.

Característica do arquivo sequencial
•Leitura de um arquivo seqüencial na procura de um determinado registro é efetuado lendo serialmente o arquivo.

Característica do arquivo sequencial
•Leitura de um arquivo seqüencial na procura de um determinado registro é efetuado lendo serialmente o arquivo.

.Característica do arquivo sequencial •Leitura de um arquivo seqüencial na procura de um determinado registro é efetuado lendo serialmente o arquivo.

Característica do arquivo sequencial indexado Os registros são classificados segundo uma Chave .

Característica do arquivo sequencial indexado •Os registros vão sendo armazenados em ordem seqüencial na forma de blocos. . Os blocos de dados são chamados de ―Área Primária de Dados‖.

Característica do arquivo sequencial indexado •Durante a carga do arquivo é formada a área de índice. . em diversos níveis.

Característica do arquivo sequencial indexado • O índice de bloco é constituído de um conjunto de entradas que permitirão o acesso direto à área primária. .

seja por acesso seqüencial ou por controle por meio de contador. .Característica do arquivo sequencial indexado • Cada registro dentro do bloco poderá ser facilmente localizado.

.Característica do arquivo direto • O Arquivo Direto é formado através da correspondência biunívoca entre um determinado valor de chave com endereço físico num dispositivo de acesso direto.

.Característica do arquivo direto • O endereço físico é na maioria dos casos um número relativo de bloco. assinalado pelo software de método de organização e acesso do arquivo.

cada um em correspondência a um atributo do arquivo.Característica do arquivo indexado • A existência de um ou mais índices. .

.Característica do arquivo indexado • Os índices contêm um conjunto de entradas os quais são constituídos por uma parte com o valor do atributo e outra parte com um ponteiro ao endereço do registro que o contém.

.Característica do arquivo indexado • Cada registro é gravado no disco no primeiro lugar disponível. não existindo ordem de colocação serial em correspondência à ordem sequencial de uma chave.

.Característica do arquivo indexado • Os índices primários e secundários estão classificados na ordem seqüencial dos valores de atributo correspondentes.

Característica do arquivo indexado • A construção de índices secundários podem resultar em áreas de índices maior do que áreas de dados. .

.

. o acesso (leitura ou gravação) de um arquivo é na ordem física de gravação dos registros.Acesso Sequencial • Como o nome mesmo diz. Podemos ler e/ou gravar arquivos organizados seqüenciais. indexado seqüencial. indexado e direto.

.

.

Outro Nome: PK Chave Estrangeira: é a Chave Primária de uma Entidade que aparece em outra em virtude de um relacionamento.Modelo de Dados Conceitos: CHAVE Chave Primária: atributo ou grupamento de atributos que tem a propriedade de identificar unicamente uma ocorrência da Entidade. . Na outra entidade ela chama-se Chave Estrangeira ou FK.

Modelo de Dados Conceitos: 1ª. Forma Normal: os atributos que não fazem parte da chave primária devem ser independentes entre si. Forma Normal: não há dependência parcial em relação à Chave Primária 3ª. Forma Normal: eliminação dos grupos de repetição 2ª. .

tomados coletivamente. permite-nos identificar unicamente uma entidade no conjunto-entidade • Integridade de Entidade: Nenhum atributo que participe da chave de um conjunto-entidade deve aceitar valores nulos Aspectos Relevantes • A questão fundamental do projeto de chaves é reduzir ao máximo os efeitos de redundância • A alteração dos valores de campos constituintes da chave primária ou a remoção de uma entidade de um conjunto.Projeto de Chaves • Chave: é um conjunto de um ou mais atributos que.entidade pode ocasionar problemas de integridade referencial .

Para que um objeto seja uma entidade. Seus relacionamentos também têm nomes e podem ou não conter atributos. ele precisa ser necessário para nosso escopo.Modelo de Dados As entidades são nomeadas e são compostas por atributos. . Esse identificador é que chamamos de chave. ter atributos e um identificador único.

data de associação. . Entidade  chamada Sócio Atributos  nome do sócio.Banco de Dados Vamos voltar ao nosso exemplo do clube. endereço. data de nascimento. etc.

ou podem aparecer.Banco de Dados Mas há também atributos que recorrem. mais de uma vez. como podemos inserí-los? . E os Dependentes. ou seja. Os dados dos dependentes se repetem nas fichas dos sócios. que aparecem.

Banco de Dados 1 Sócio tem N Dependente .

Banco de Dados Exemplo: N Sócio participa N Atividade .

Banco de Dados que vai resultar em: 1 Sócio participa N Sócio / Atividade pertence 1 Atividade N .

Banco de Dados Sócio 1 N Dependente N N Atividade 1 N Pagamento .

Banco de Dados Há atributos que recorrem. como podemos inserir os Dependentes e os Pagamentos feitos pelos Sócios ? . Sendo assim. ou podem aparecer. mais de uma vez. ou seja. Os dados dos dependentes se repetem nas fichas dos sócios. que aparecem.

Entidade  Sócio Atributos  nome do sócio. . data de associação. local de trabalho do Sócio Entidade  Dependente Atributos  nome do dependente. data de nascimento. sexo.Banco de Dados Vamos voltar ao nosso exemplo do clube. endereço. etc. etc. telefone.. valor recebido. Entidade  Pagamentos Atributos  data de pagamento. data de nascimento.

Banco de Dados
Entidade  Sócio Key  matrícula Atributos  nome do sócio, data de associação, data de nascimento, endereço, telefone, local de trabalho do Sócio Entidade  Dependente Key  matricula sócio + nº dependente Atributos  nome do dependente, SUPERCHAVE data de nascimento, sexo, etc. Entidade  Pagamentos Key  matricula sócio + data pagamento Atributos  data de pagamento, SUPERCHAVE valor recebido, etc.,

Criando um Modelo

Verifique a existência de ATRIBUTOS DE RELACIONAMENTO. Atributos. Desenhe o DER. Para cada Entidade represente seus ATRIBUTOS. volte ao item 1. Confronte cada Entidade consigo mesma e com as demais na procura de possíveis RELACIONAMENTOS 5. Antes de começar a modelar. Classes e Restrições de Totalidade. Para relacionamentos múltiplos estude a necessidade de AGREGAÇÕES. . 3.Recomendações para criação de um DER 1. conheça o “mundo real”. 7. Relacionamentos. Até que você e os seus usuários estejam convencidos de que o DER reflete fielmente o “mundo real”. 8. 2. Analise cuidadosamente todas as restrições que você impôs. 6. Identifique quais são as ENTIDADES. com todas as Entidades. 9. 4.

533.Exemplo das Informações em um Banco de Dados nome José João João Antonio Antonio rua Figueiras Laranjeiras Laranjeiras Ipê Ipê cidade Campinas Campinas Campinas São Paulo São Paulo conta 900 556 647 647 801 saldo 55.00 .00 5.00 10.000.366.00 5.366.00 1.

Colunas de uma Tabela Tipos mais usados INTEGER SMALLINT CHARACTER DECIMAL DATE TIME TIMESTAMP .

Hierárquico .Rede .Banco de Dados Tipos de Banco de Dados: - Por modelo: Relacional .Relacional-objeto (ou relacional estendido) .XML - .Objeto .

533 . José Filgueiras Campinas 900 55 556 4.000 João Laranjeiras Campinas 647 5.O Modelo de Rede Os dados são representados por coleções de registros e os relacionamentos por elos.366 Antônio Ypê Campinas 801 10.

366 647 5.533 . • Os registros são organizados como coleções arbitrárias de árvores.366 801 10.000 647 5. respectivamente. • José Filgueiras Campinas Antônio Ypê Campinas João Laranjeiras Campinas 556 900 55 4.O Modelo Hierárquico Os dados e relacionamentos são representados por registros e ligações.

533 Tabela Cliente-Conta (relacionamento) cód-cliente nro-conta 015 021 021 037 037 900 556 647 647 801 .366 10.O Modelo Relacional Tabela Cliente (dados) cód-cliente nome rua 015 021 037 José João Antônio Figueiras Laranjeiras Ipê cidade Campinas Campinas São Paulo Tabela Conta (dados) nro-conta saldo 900 556 647 801 55 1.000 5.

0 Banco de Dados no Nível Conceitual (modelo ER) rua saldo nome cidade número Cliente Possui conta . • Prescinde de estruturas de índice eficientes e hardware adequado para alcançar desempenho viável em situações práticas.Modelo Relacional (continuação) • Tanto os dados quanto os relacionamentos são representados por tabelas. • Possui fundamento matemático sólido.

Síntese da notação de Peter Chen TIPO ENTIDADE ATRIBUTO ATRIBUTO CHAVE TIPO ENTIDADE FRACA ATRIBUTO MULTI VALORADO TIPO RELACIONAMENTO ATRIBUTO COMPOSTO TIPO RELACIONAMENTO IDENTIFICADOR ATRIBUTO DERIVADO E1 1 R N E2 E1 R E2 Taxa de Cardinalidade 1:N para E1:E2 em R Participação Parcial de E1 em R. Participação Total de E2 em R R (min.max) na Participação de E1 em R . max) E1 Restrição Estrutural (min.

Modelo de Dados .

.

.

.

.

.

Sistema Gerenciador de Banco de Dados SGBD programas Bancos de dados .

SGBD Princípios Básicos: Atomicidade  Consistência  Isolamento  Durabilidade  .

Reconstrução (utilitários) .Concorrência .Dados compartilhados .Sistema Gerenciador de Banco de Dados .Redundância Controlada .

— não muda com frequencia. metadados . — há um esquema para cada nível de abstração e um sub-esquema para cada visão de usuário.Linguagens de Definição e Manipulação de Dados Esquema do Banco de Dados E o ―projeto geral‖ (estrutura) do banco de dados. Linguagem de Definição de Dados (DDL) Permite especificar o esquema do banco de dados. — A compilação dos comandos em DDL é armazenada no dicionário (ou diretório) de dados. através de um conjunto de definições de dados.

Linguagem de Manipulação de Dados (DML) Permite ao usuário acessar ou manipular os dados. inserção de novas informações. exclusão de informações. vendo-os da forma como são definidos no nIvel de abstração mais alto do modelo de dados utilizado. modificação de dados armazenados.Manipulação de dados — — — — recuperação da informação armazenada. . — A parte de uma DML que envolve recuperação de informação é chamada linguagem de consulta*. — Uma consulta (―query‖) é um comando que requisita uma recuperação de informação.

proporciona a interface de usuário ao sistema de banco de dados.Sistema de Gerenciamento de Bancos de Dados Módulo de programa que fornece a interface entre os dados de baixo nível armazenados num banco de dados e os programas aplicativos ou as solicitações submetidas ao sistema. . • • Software que manipula todos os acessos ao banco de dados.

. . de forma conceitual: . .0 SGBD realiza as operações solicitadas no banco de dados armazenado. e a definição da estrutura de armazenamento.0 SGBD intercepta a solicitação e a analisa. os mapeamentos entre os três níveis.0 usuário emite uma solicitação de acesso.Sistema de Gerenciamento de Bancos de Dados [Date91] ilustra o papel do sistema de gerência de banco de dados.0 SGBD inspeciona os esquemas externos (ou subesquemas) relacionados àquele usuário. .

— cumprimento da integridade.Sistema de Gerenciamento de Bancos de Dados Tarefas: — interação com o sistema de arquivos do sistema operacional. — controle de concorrência . — cumprimento da segurança. — cópias de segurança (―backup‖) e recuperação.

concessão de autorização para acesso a dados.Administração de Sistemas de Bancos de Dados Administrador de Dados ( DBA) — definição e atualização do esquema do banco de dados. definição de estratégias para cópia de segurança e recuperação. Administrador do SGBD — — — — — — — definição da estrutura de armazenamento e a estratégia (ou método) de acesso. execução de rotinas de desempenho. monitoramento do desempenho. . modificação da organização física. definição de controles de integridade.

Estrutura Geral de um Sistema de Bancos de Dados Usuários ingênuos interfaces de aplicativos programadores de aplicativos API’s para aplicativos usuários sofisticados administrador do banco de dados esquema do banco de dados consultas pré-compilador DML código objeto de aplicativos gerenciador do banco processador de consultas compilador DDL gerenciador de arquivos arquivos de dados dicionário de dados .

Atributo .. Relação .número de ocorrências na relação . Domínio . Chave primária da relação .tabela . Cardinalidade da relação . Grau da relação .número de colunas da tabela .conjunto de atributos que identificam unicamente cada linha da tabela .linha da tabela .coluna da tabela .valores possíveis para um atributo . Tupla .

FIM DA PARTE DE BANCO DE DADOS EXERCÍCIOS DE BANCO DE DADOS .

Sign up to vote on this title
UsefulNot useful