08/10/2018 1 Banco de Dados Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados Gerenciamento de Arquivos Gerenciamento de Arquivos
08/10/2018
1
Banco de Dados
Gerenciamento de Arquivos Sistema Gerenciador de Banco de Dados Modelos de Dados
Gerenciamento de Arquivos
Gerenciamento de Arquivos
08/10/2018
2
Gerenciamento de Arquivos
� Em uma empresa existem 3 departamentos:◦ Departamento de Compras
� Realiza atividades relacionadas à aquisição de insumos necessários à produção, cotação de preços junto a fornecedores, compras e acompanhamento do fornecimento.
◦ Departamento de Produção� Executa atividades relativas à produção: planejamento da
produção e controle do que foi produzido;
◦ Departamento de Vendas� É responsável por manter contato com os clientes, fornecimento
de cotações de preços, vendas e informações sobre produtos;
� Os dados referentes aos produtos são usados em todos departamentos acima;
Gerenciamento de Arquivos
depto. de Produção
Arquivos Produção
produtos
depto. deVendas
Arquivos Vendas
produtos
depto. deCompras
Arquivos Compras
produtos
� Se cada um do departamentos for informatizada de forma separada, sem considerar a
informatização dos demais departamentos, pode ocorrer que, para cada uma dos
departamentos, seja criado um arquivo separado para produtos.
� Surge o problema de redundância (repetição) de dados. Uma informação está representada
várias vezes em diferentes arquivos. Esta situação trás diversos problemas:
◦ Entrada repetida da mesma informação: pode resultar em erros de transcrição de dados
◦ Inconsistência de dados: a estrutura das informações sobre produto pode ser diferente para os
diversos sistemas/departamentos.
08/10/2018
3
Gerenciamento de Arquivos
A solução para evitar a redundância de informações é o compartilhamento de dados.
Cada informação é armazenada uma única vez, sendo acessada pelos vários sistemas.
Ao conjunto de arquivos integrados dá-se o nome de Banco de Dados.
A estrutura interna dos arquivos passa a ser mais complexa, pois devem ser construídos de forma a atender às necessidades dos diferentes sistemas.
É necessário um sistema sofisticado para gerenciar os dados do banco de dados.
Produção VendasCompras
Banco de Dados
produtos
Sistema Gerenciador de Banco de Dados(SGBD)
Sistema Gerenciador de Banco de Dados (SGBD ou DBMS)
08/10/2018
4
Sistema Gerenciador de Banco de Dados (SGBD)
� É um sistema computadorizado de armazenamento de registros;
� Os usuários desse sistema podem realizar diversas operações sobre tais arquivos:◦ Acrescentar novos objetos/elementos;
◦ Inserir novos dados;
◦ Buscar/alterar/eliminar dados;
◦ Remover objetos/elementos do banco de dados;
Sistema Gerenciador de Banco de Dados (SGBD)
� Coleção de dados inter-relacionados e um conjunto de programas (softwares) para acessar esses dados;
� O principal objetivo de um SGBD é proporcionar um ambiente eficiente para armazenar e recuperar dados;
� O gerenciamento dos dados envolve tanto a definição de estruturas para armazenamento dos dados como a implementação de mecanismos para a manipulação desses dados.
08/10/2018
5
Sistema Gerenciador de Banco de Dados (SGBD) - componentes
� Hardware
◦ meios de armazenamento
� Dados
◦ depósito de dados armazenados.
� Software
◦ Entre os dados e os usuários do sistema encontra-se uma camada de software que é o sistema de gerenciamento de banco de dados (SGBD).
� Usuários
◦ Programador de sistemas
◦ Usuário final
◦ DBA
Sistema Gerenciador de Banco de Dados (SGBD) - objetivos
� Independência de dados◦ Separação entre programas e dados;
◦ Capacidade de permitir que haja uma evolução na descrição de dados, sem que os sistemas ou aplicações (os programas) tenham de ser alterados.
� Controle de redundância dos dados◦ Controle centralizado dos dados compartilhados por diversas aplicações,
reduzindo a repetição de dados a um mínimo.
� Privacidade dos dados◦ Controles de acesso para que os dados possam ser acessados somente por
pessoas autorizadas.
� Segurança de dados◦ Resguardar o banco de dados de uma possível perda ou destruição de dados;
◦ Capacidade de restauração parcial ou total do banco de dados através de cópias de segurança
08/10/2018
6
Sistema Gerenciador de Banco de Dados (SGBD) - vantagens
� Um Banco de Dados proporciona à empresa um controle centralizado de seus dados operacionais, um de seus ativos mais valiosos.
� Dentre as diversas vantagens de um SGBD, pode-se destacar as seguintes:◦ Eliminação de redundâncias de dados armazenados;
◦ Evitar inconsistência de dados;
◦ Os dados podem ser compartilhados;
◦ Garantia de integridade dos dados;
◦ Restrições de segurança;
Modelos de Dados
Modelagem de Dados
08/10/2018
7
Modelos de Dados
� Modelo de Dados refere-se à organização ou estrutura lógica dos dados em um SGBD
� Principais modelos de dados:
◦ Hierárquico
◦ Rede
◦ Relacional
Modelos de Dados: hierárquico
� Os dados são estruturados em hierarquias (árvores);
� Os nós das hierarquias contém ocorrências de registros;◦ Cada registro é uma coleção de campos (atributos);
◦ Cada campo contém apenas uma informação.
� Os registros são organizados em um hierarquia:◦ Um registro que precede um determinado registro é
chamado de registro-pai.
◦ Registros que sucedem um determinado registro são chamados de registros-filho.
08/10/2018
8
Modelos de Dados: hierárquico
Clientes
Contas
Nome Endereço Cidade Conta Saldo
José Av. Pio XI São Paulo 900 55,00
Maria R. São Francisco Recife 556 100.000,00
Maria R. São Francisco Recife 647 105.366,00
Gabriela R. do Sol Maceió 801 744,00
Gabriela R. do Sol Maceió 647 105.366,00
Modelos de Dados: rede
� Surgiu como uma extensão ao modelo hierárquico, eliminando o conceito de hierarquia e permitindo que um mesmo registro estivesse envolvido em várias associações.
� Os registros são organizados em grafos onde aparece um único tipo de associação (set) que define uma relação 1:n entre 2 tipos de registros: proprietário e membro
08/10/2018
9
Modelos de Dados: rede
Clientes Contas
Nome Endereço Cidade Conta Saldo
José Av. Pio XI São Paulo 900 55,00
Maria R. São Francisco Recife 556 100.000,00
Maria R. São Francisco Recife 647 105.366,00
Gabriela R. do Sol Maceió 801 744,00
Gabriela R. do Sol Maceió 647 105.366,00
Modelos de Dados: relacional
� Tem por base a teoria dos conjuntos e álgebra relacional;
� Revelou-se ser o mais flexível e adequado ao solucionar os vários problemas que se colocam no nível da concepção e implementação da base de dados;
� A estrutura fundamental do modelo relacional é a relação (tabela):
◦ Uma relação (tabela) é constituída por um ou mais atributos (campos) que, juntos, representam uma entidade (registro);
◦ Cada atributo da entidade é chamada de campo
◦ O conjunto de atributos que define uma entidade é chamada de registro.
08/10/2018
10
Modelos de Dados: relacional
Cliente
Cod_cliente Nome Rua Cidade
01 José Av. Pio XI São Paulo
02 Maria R. São Francisco Recife
03 Gabriela R. do Sol Maceió
Conta
Cod_conta Saldo
900 55,00
556 100.000,00
647 105.366,00
801 744,00Cliente_Conta
Cod_cliente Cod_conta
01 900
02 556
02 647
03 647
03 801
Nome Endereço Cidade Conta Saldo
José Av. Pio XI São Paulo 900 55,00
Maria R. São Francisco Recife 556 100.000,00
Maria R. São Francisco Recife 647 105.366,00
Gabriela R. do Sol Maceió 801 744,00
Gabriela R. do Sol Maceió 647 105.366,00
Cliente
Exercícios
08/10/2018
11
Exercício 1
� Representar os dados da tabela abaixo utilizando os modelos hierárquico, redes e relacional
Curso Professor Endereço Disciplina Semestre ideal
Arquivologia Antonio Rua primavera, 15 Preservação 5
Arquivologia Maria Rua das flores, 23 GED 4
Arquivologia João Rua do sol, 25 Preservação 5
Arquivologia João Rua do sol, 25 GED 4
Biblioteconomia Maria Rua das flores, 23 Catalogação 2
Biblioteconomia Maria Rua das flores, 23 Indexação 3
Modelos de Dados
Modelos de Dados
08/10/2018
13
Modelos de Dados
Cod_cliente Nome Rua Cidade
01 José Av. Pio XI São Paulo
02 Maria R. São Francisco Recife
03 Gabriela R. do Sol Maceió
Cod_conta Saldo
900 55,00
556 100.000,00
647 105.366,00
801 744,00
Cod_cliente Cod_conta
01 900
02 556
02 647
03 647
03 801
Projeto de Banco de Dados
Modelagem Conceitual
Modelagem Conceitual
08/10/2018
14
Projeto de Banco de Dados
� A primeira etapa do projeto de um banco de dados é a construção de um modelo conceitual;
� O objetivo da modelagem conceitual é obter uma descrição abstrata dos dados que serão armazenados;
� A técnica de modelagem de dados mais utilizada é a abordagem entidade-relacionamento (E-R).
� Representado graficamente através de um diagrama entidade-relacionamento (DER);
Modelagem Conceitual: entidade
� Conjunto de objetos da realidade sobre os quais se deseja manter informações no banco de dados;
� Pode representar tanto objetos concretos (uma pessoa, um automóvel) quanto objetos abstratos (um departamento, uma venda).
� É representada através de um retângulo com o nome da entidade.
Produto Cliente Departamento Funcionário
08/10/2018
15
Modelagem Conceitual: relacionamento
� Conjunto de associações entre entidades;
� É representado através de um losango, ligado por linhas aos retângulos representativos das entidades que participam do relacionamento;
ALUNO CURSOMatrícula
• Um conjunto de objetos classificados como alunos (entidade ALUNO)
• Um conjunto de objetos classificados como curso (entidade CURSO)
• Um conjunto de associações, cada uma ligando um aluno a um curso.
Modelagem Conceitual: relacionamento
EntidadeDEPARTAMENTO
EntidadeFUNCIONÁRIO
RelacionamentoPOSSUI
f1
f2
f3
f4
f5
f6
f7
d1 d2 d3
f1, d1 f2, d1 f5, d2 f6, d3
Departamento Funcionáriopossui
08/10/2018
16
Modelagem Conceitual: auto-relacionamento
Pessoa
casamento
marido esposa
Não necessariamente um relacionamento associa duas entidades diferentes.Um relacionamento entre instâncias de uma mesma entidade é chamado de Auto-relacionamento
EntidadePESSOA
RelacionamentoCASAMENTO
p1
p2
p3
p4
p5
p6
p7
p1, p3 p6, p5
marido esposa esposa marido
Modelagem Conceitual: cardinalidade
� Número de ocorrências de entidade associadas a uma ocorrência da entidade em questão através do relacionamento.
� Quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência de outra entidade através do relacionamento?
Departamento FuncionáriopossuiDepartamento Funcionáriopossuin
Uma ocorrência de FUNCIONARIO pode estar associada ao no máximo 1
ocorrência de DEPARTAMENTO
1
A uma ocorrência de DEPARTAMENTO pode estar associada várias (n) ocorrências de FUNCIONÁRIO
08/10/2018
17
Modelagem Conceitual: relacionamentos 1 para 1
Pessoa
casamento
marido esposa
1 1
Pessoa
casamento
marido esposa
1 1
Mesa
Funcionário
alocação
1
1
Mesa
Funcionário
alocação
1
1
Modelagem Conceitual: relacionamentos 1 para n
Funcionário
supervisão
supervisor supervisionado
11 nn
Funcionário Dependentepossui11 nn
Curso Aluno11 nn
inscrição
08/10/2018
18
Modelagem Conceitual: relacionamento n para n
compostocomposto
Produto
composição
componentecomponente
nn nn
Engenheiro Projetoalocaçãonn nn
Médico Pacienteconsultann nn
Peça Fornecedorfornecimentofornecimentonn nn
Modelagem Conceitual: exemplo
Deseja-se manter informações sobre alunos, cursos, disciplinas e departamentos:
1. Cada disciplina possui um departamento responsável. Um departamento é responsável por muitas disciplinas.
2. Uma disciplina pode possuir diversos pré-requisitos. Uma disciplina pode ser pré-requisito de muitas outras disciplinas.
3. Uma disciplina pode aparecer no currículo de muitos cursos. Um curso pode possuir muitas disciplinas em seu currículo.
4. Um aluno está inscrito em um curso. Um curso pode ter nele inscritos muitos alunos.
Departamento Disciplinaresponsávelresponsável11 nn
pré requisitopré-requisito
nn nn
Curso
disc cursodisc-curso
nn
nn
Aluno inscriçãoinscrição 11nn
08/10/2018
19
Modelagem Conceitual: atributos
� Dado que é associado a cada ocorrência de uma entidade ou de um relacionamento;
� Muitas vezes os atributos não são representados para não sobrecarregar o diagrama;
Projeto
tipo
nomecódigo
� Assim como uma entidade, relacionamentos também podem possuir atributos;
Modelagem conceitual:atributos de relacionamentos
Engenheiro
funçãonomecódigo
Projeto
títulocódigo
atuaçãon n
08/10/2018
20
Modelagem Conceitual: identificadores
� Cada entidade deve possuir um identificador;
� Um identificador é um conjunto de um ou mais atributos cujos valores servem para distinguir uma ocorrência (instância) das demais ocorrências da mesma entidade.
Aluno nomeRA
endereço
Modelagem Conceitual
� Um modelo/diagrama ER é (ou deve ser) um modelo formal, preciso, não ambíguo;
� Dois diferentes leitores de um mesmo diagrama ER devem sempre entender exatamente o mesmo;