banco de dados introdução - direção concursos · banco de dados introdução marcio victorino ....
TRANSCRIPT
Banco de Dados Introdução
Marcio Victorino
Introdução
• Sistemas de Informação: • Entidade complexa, e organizada, que capta, armazena, processa,
fornece, usa e distribui a informação.
• Inclui os recursos organizacionais relacionados, tais como recursos humanos, tecnológicos e financeiros.
• Esses recursos são utilizados para automatizar determinados elementos do sistema, ou seja, nem sempre todo o sistema pode ser totalmente automatizado.
Professor Marcio Victorino 2
Sistemas de Informação
3
Sistemas de Informação
4
Sistemas de Informação
5
Sistemas de Informação
Professor Marcio Victorino 6
Sistemas de Informação
Professor Marcio Victorino 7
Sistemas de Informação
8
Compartilhamento de Dados
Arquivos Finanças Arquivos Jurídicos Arquivos Ensino
Departamento Financeiro
Departamento Jurídico
Departamento de Ensino
Universidade
• Redundância de dados: • controlada; e
• não controlada.
Professor Marcio Victorino 9
Compartilhamento de Dados
• Evitar Redundância de dados: • compartilhamento de dados;
• cada informação é armazenada uma única vez; e
• usar o conceito de banco de dados.
Departamento Financeiro
Departamento Jurídico
Departamento de Ensino
Universidade
Banco de Dados
Professor Marcio Victorino 10
Banco de Dados
• Banco de Dados: • Conjunto de dados integrados que tem por objetivo atender a uma
comunidade de usuários.
• Sistema Gerenciador de Banco de Dados: • Software que incorpora as funções de definição, recuperação e alteração
de dados em um banco de dados.
Professor Marcio Victorino 11
Modelo de Dados
• Modelos de Dados: descrição formal da estrutura de um banco de dados.
• Modelo Conceitual: modelo de dados abstrato, que descreve a estrutura de um banco de dados de forma independente de um SGBD particular.
• Modelo lógico: modelo de dados que representa a estrutura de dados de um banco de dados conforme vista pelo usuário do SGBD.
• Modelo Físico: é uma representação gráfica do detalhamento físico das estruturas dos dados que o banco de dados irá armazenar. Este modelo é dependente do SGBD em que será implementado.
12
Modelo de Dados
• Modelo Conceitual:
• Entidade e Relacionamento.
• Modelo lógico:
• Modelo Hierárquico
• Modelo em Rede
• Modelo Relacional
• Modelo Relacional-Objeto
• Modelo Orientado a Objeto.
• Modelo Físico:
• Depende de SGBD específico.
Professor Marcio Victorino 13
Modelo Relacional
• Foi introduzido por Edgar Frank Codd em 1970.
• Representa os dados em um banco de dados como uma coleção de relações (tabelas).
• Cada linha é denominada tupla; uma coluna é chamada de atributo; a tabela é chamada de relação.
Edgar Frank Codd (1923-2003)
Professor Marcio Victorino 14
Níveis de Abstração
Professor Marcio Victorino 15
Níveis de Abstração
Professor Marcio Victorino 16
Níveis de Abstração
Professor Marcio Victorino 17
Níveis de Abstração
Professor Marcio Victorino 18
Modelo Conceitual (MER)
Professor Marcio Victorino 19
Modelo Lógico (Relacional)
• Representa os dados em um banco de dados como uma coleção de relações (tabelas).
• Cada linha é denominada tupla; uma coluna é chamada de atributo; a tabela é chamada de relação.
Professor Marcio Victorino 20
Modelo Lógico (Relacional)
Pessoa(CPF, Nome, Sexo)
Carro(Cod, Modelo, Ano)
Dirige( P_CPF, C_Cod) P_CPF referencia Pessoa(CPF) C_Cod referencia Carro(Cod)
Professor Marcio Victorino 21
Modelo Físico
• Descreve o armazenamento dos dados como arquivos no computador, com informações, como por exemplo:
• formato do registro;
• ordenação de registro (normalmente não são ordenados);
• caminhos de acesso (índices).
Professor Marcio Victorino 22
Níveis de Abstração
Dependência nível de Modelagem X SGBD
Professor Marcio Victorino 23
Modelo do SGBD
SGBD Específico
Modelo Conceitual
Não
Não
Modelo Lógico
Sim
Não
Modelo Físico
Sim
Sim
[CESPE - MEC - 2015] O modelo conceitual corresponde ao mais baixo nível de abstração, visto que estabelece como os dados são armazenados. Trata-se de um modelo simples, de fácil compreensão pelo usuário final, além de independente de um SGBD particular.
[CESPE - TJ/SE – 2014] O fato de haver restrições associadas a consultas — como ocorre, por exemplo, no caso de a consulta ter de ser executada em, no máximo, três segundos — influencia o projeto físico.
[CESPE - ANTAQ – 2014] Nos projetos de banco de dados, a escolha do SGBDR deve ocorrer antes da elaboração do modelo conceitual de dados para que haja compatibilidade entre o modelo e o software adotado.
[CESPE - ANATEL – 2014] O modelo de dados físico é considerado de baixo nível, o que significa que somente os sistemas gerenciadores de banco de dados conseguem interpretá-lo.
[CESPE - CPRM – 2013] No modelo de entidade e relacionamento, a representação de um objeto do mundo real é feita por meio de entidade, e cada uma dessas tem propriedades particulares que são representadas por seus atributos.
[CESPE - BACEN - 2013] Na modelagem entidade-relacionamento-atributo, dicionários de dados podem ser utilizados a fim de se obter descrições mais detalhadas das entidades, relacionamentos e atributos incluídos no modelo.
[CESPE - TRT – 2013] Assim como no modelo conceitual, o modelo lógico de dados não possui atributos, uma vez que, no primeiro caso, o objetivo é descrever as informações sob o contexto do negócio, ao passo que no segundo caso o objetivo envolve a lógica dos relacionamentos dos dados sem a preocupação de conhecer as estruturas físicas e o SGBD específico que será utilizado.
[CESPE – MPE/PI – 2012] O modelo entidade relacionamento, que permite a projeção do esquema de dados, é restringido pelas características do sistema de banco de dados. Em função disso, esse modelo depende de considerações sobre armazenamento e eficiência.
Projeto de Banco de Dados
• Estratégias: • De cima para baixo (“top-down”);
• De baixo para cima (“Bottom-up”);
• De dentro para fora (“Inside-out”);
• Estratégia mista.
Professor Marcio Victorino 27
28
• Num banco de dados de censo demográfico, as seguintes características das pessoas são consideradas: primeiro nome, sobrenome, sexo, idade, altura, naturalidade, lugar e tempo de residência em número de anos, situação militar para os homens, nome de solteira para as mulheres.
• Lugares podem ser países estrangeiros localizados em continentes ou cidades brasileiras localizadas em estados. Cada lugar tem nome e população, que representa a população total do país ou da cidade.
Professor Marcio Victorino
Projeto de Banco de Dados
Estratégia Top-down
Refinamentos Sucessivos
Domínio da Aplicação
Esquema Intermediário
Esquema Final
29 Professor Marcio Victorino
30
DADOS DEMOGRÁFICOS
Professor Marcio Victorino
31
DADOS DEMOGRÁFICOS
DADOS SOBRE PESSOAS
DADOS SOBRE LUGARES
RELACIONAM
Professor Marcio Victorino
32
DADOS DEMOGRÁFICOS
DADOS SOBRE PESSOAS
DADOS SOBRE LUGARES
RELACIONAM
PESSOA LUGAR
NASCEU EM
VIVE EM
HOMEM MULHER EXTERIOR BRASIL
Professor Marcio Victorino
33
DADOS DEMOGRÁFICOS
DADOS SOBRE PESSOAS
DADOS SOBRE LUGARES
RELACIONAM
PESSOA LUGAR
NASCEU EM
VIVE EM
HOMEM MULHER EXTERIOR BRASIL
PESSOA LUGAR
NASCEU EM
VIVEU EM
HOMEM MULHER PAÍS CIDADE
ESTADO
FICA EM
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente
Nome
Nome População
Nr-de-anos
(1,1) (1,n)
(1,n) (1,n)
(1,1)
(1,n)
Professor Marcio Victorino
Estratégia Bottom-up
34
Produção de conceitos elementares
Domínio da Aplicação
Agregação de conceitos elementares
Esquema Final
Coleção de conceitos elementares
Professor Marcio Victorino
35
Nome-de-mulher Sobrenome-de-mulher Idade-de-mulher Altura-de-mulher
Nome-de-homem Sobrenome-de-homem Idade-de-homem Altura-de-homem
Situação-militar Nome-de-solteira
Nome-de-país População-de-país
Nome-de-cidade População-de-cidade
Continente Nome-de-estado
Professor Marcio Victorino
36
Nome-de-mulher Sobrenome-de-mulher Idade-de-mulher Altura-de-mulher
Nome-de-homem Sobrenome-de-homem Idade-de-homem Altura-de-homem
Situação-militar Nome-de-solteira
Nome-de-país População-de-país
Nome-de-cidade População-de-cidade
Continente Nome-de-estado
HOMEM MULHER PAÍS CIDADE
ESTADO
Nome Sobrenome
Idade Altura
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente Nome
Nome População
Nome População
Professor Marcio Victorino
37
Nome-de-mulher Sobrenome-de-mulher Idade-de-mulher Altura-de-mulher
Nome-de-homem Sobrenome-de-homem Idade-de-homem Altura-de-homem
Situação-militar Nome-de-solteira
Nome-de-país População-de-país
Nome-de-cidade População-de-cidade
Continente Nome-de-estado
HOMEM MULHER PAÍS CIDADE
ESTADO
Nome Sobrenome
Idade Altura
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente Nome
Nome População
Nome População
HOMEM MULHER PAÍS CIDADE
ESTADO
Nome Sobrenome
Idade Altura
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente Nome
Nome População
Nome População
PESSOA LUGAR
Professor Marcio Victorino
38
Nome-de-mulher Sobrenome-de-mulher Idade-de-mulher Altura-de-mulher
Nome-de-homem Sobrenome-de-homem Idade-de-homem Altura-de-homem
Situação-militar Nome-de-solteira
Nome-de-país População-de-país
Nome-de-cidade População-de-cidade
Continente Nome-de-estado
HOMEM MULHER PAÍS CIDADE
ESTADO
Nome Sobrenome
Idade Altura
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente Nome
Nome População
Nome População
HOMEM MULHER PAÍS CIDADE
ESTADO
Nome Sobrenome
Idade Altura
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente Nome
Nome População
Nome População
PESSOA LUGAR
PESSOA LUGAR
NASCEU EM
VIVEU EM
HOMEM MULHER PAÍS CIDADE
ESTADO
FICA EM
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente
Nome
Nome População
Nr-de-anos
(1,1) (1,n)
(1,n) (1,n)
(1,1)
(1,n)
Professor Marcio Victorino
Estratégia Inside-out
39
Prosseguir como uma mancha de óleo
Domínio da Aplicação
Esquema Intermediário
Esquema Final
Selecionar o conceito mais importante
Esquema inicial
40
PESSOA
Professor Marcio Victorino
41
PESSOA LUGAR
NASCEU EM
VIVEU EM
Nome Sobrenome
Idade Altura
Nome População
(1,1) (1,n)
(1,n) (1,n)
Professor Marcio Victorino
42
PESSOA LUGAR
NASCEU EM
VIVEU EM
HOMEM MULHER PAÍS CIDADE
ESTADO
FICA EM
Nome Sobrenome
Idade Altura
Situação-militar Nome-de-solteira Continente
Nome
Nome População
Nr-de-anos
(1,1) (1,n)
(1,n) (1,n)
(1,1)
(1,n)
Professor Marcio Victorino
Gabarito
Professor Marcio Victorino
• [CESPE - MEC - 2015] E
• [CESPE - TJ/SE – 2014] C
• [CESPE - ANTAQ – 2014] E
• [CESPE - ANATEL – 2014] E
• [CESPE - CPRM – 2013] C
• [CESPE - BACEM - 2013] C
• [CESPE - TRT – 2013] E
• [CESPE – MPE/PI – 2012] E
43
Banco de Dados
Administração de Dados - AD Administração de Banco de Dados - DBA
Marcio Victorino
Administração de Dados
Administração de Dados • A Administração de Dados (AD) pode ser definida como a função da organização
responsável por desenvolver e administrar, centralizadamente, estratégias, procedimentos, práticas e planos capazes de disponibilizar os dados corporativos necessários, quando necessários, revestidos de integridade, consistência, privacidade, documentação e compartilhamento.
• É o processo de gerenciar o dado institucional para fornecer dados confiáveis, precisos, seguros e acessíveis, adequados às necessidades estratégicas e gerenciais de todos os níveis de negócio de uma organização.
• A AD deve ter seu foco na qualidade dos dados e em seus usuários, sejam eles analistas de sistemas, projetistas, desenvolvedores, administradores de bancos de dados e gestores responsáveis pelos dados.
46
Administração de Dados • Dois componentes são essenciais para a AD:
• regras para atribuição de nomes para cada item administrado; e
• metadados mínimos a serem mantidos sobre cada item a ser administrado.
• Em um ambiente corporativo, a AD não deve se limitar apenas aos dados estruturados, mas também aos dados semi-estruturados e aos não-estruturados.
• A opção mais usual da AD é pela atuação sobre os dados corporativos, ou seja, aqueles que integram a gestão centralizada da organização e são disponibilizados para todas as áreas funcionais.
• A AD, no âmbito de suas atribuições, participa da gestão dos sistemas de informação, apoiando os responsáveis por seus desenvolvimentos em tarefas da modelagem de dados, proposição de integrações, aderência a padrões e na documentação e dicionarização dos metadados produzidos, além de especificar quesitos de segurança, privacidade e integridade.
47
Administração de Dados (Date)
• Administrador de Dados:
• Tem a responsabilidade central pelos dados;
• Entende esses dados e as necessidades da empresa com relação a esses dados, em um nível elevado de administração;
• Decide que dados devem ser armazenados no banco de dados;
• Estabelece normas para manter e tratar esses dados, uma vez que venham a ser armazenados:
• Um exemplo de tal norma seria a de determinar quem pode executar quais operações sobre quais dados em que circunstâncias - em outras palavras, uma norma de segurança de dados.
• O administrador de dados é um gerente, e não um técnico (embora com certeza precise ter algum conhecimento dos recursos de sistemas de bancos de dados em um nível técnico).
48
Administração de Banco de Dados
Administração de Banco de Dados (Date)
• Administrador de Banco de Dados:
• Técnico responsável pela implementação das decisões do administrador de dados;
• Diferente do administrador de dados, é um profissional de tecnologia da informação (TI).
• O trabalho do DBA é criar o banco de dados propriamente dito e implementar os controles técnicos necessários para pôr em prática as diversas decisões sobre normas tomadas pelo administrador de dados.
• É responsável por assegurar que o sistema operará com desempenho adequado e por oferecer vários outros serviços técnicos.
• Normalmente possui uma equipe de programadores de sistemas e outros auxiliares técnicos (isto é, a função do DBA normalmente será executada na prática por uma equipe, não apenas por uma única pessoa).
• No entanto; é conveniente supor que o DBA seja de fato um único indivíduo.
50
Atribuições do Administrador de Banco de Dados (Date)
• Definir o esquema conceitual:
• Uma vez que o administrador de dados tenha definido o conteúdo do banco de dados em um nível abstrato, o DBA então criará o esquema conceitual correspondente, usando a DDL conceitual.
• Em alguns casos, o administrador de dados criará o esquema conceitual diretamente.
• Definir o esquema interno:
• Tendo elaborado o projeto físico, o DBA deve então criar a definição do banco de dados armazenado correspondente (isto é, o esquema interno), usando a DDL.
• Contato com os usuários:
• Deve servir de contato com os usuários, a fim de garantir que os dados de que eles necessitam estarão disponíveis, e escrever (ou ajudar os usuários a escreverem) os esquemas externos necessários, usando a DDL.
51
Atribuições do Administrador de Banco de Dados(Date)
• Definir restrições de segurança e integridade.
• Definir normas de descarga e recarga:
• Definir e implementar um esquema apropriado de controle de danos, em geral envolvendo descarga ou "dumping" periódico do banco de dados para o meio de armazenamento de backup e recarga ou "restauração" do banco de dados quando necessário, a partir do "dump" mais recente.
• Monitorar o desempenho e responder a requisitos de mudanças:
• É responsável pela organização do sistema de modo a obter o desempenho que seja "o melhor para a empresa", e por fazer os ajustes apropriados - isto é, a sintonia fina (tuning) - quando os requisitos forem mudados.
52
Atribuições do Administrador de Banco de Dados(Navathe)
• Autorizar o acesso ao banco de dados;
• Coordenar e monitorar seu uso ;
• Adquirir recursos de software e hardware de acordo com o necessário;
• É responsável por problemas como falhas na segurança e demora no tempo de resposta do sistema.
53
Administração de Banco de Dados (Korth)
• Uma das principais razões para usar SGBDs é ter um controle central sobre os dados e os programas que os acessam.
• Uma pessoa que tem esse controle central sobre o sistema é chamada de administrador de banco de dados (DBA).
54
Atribuições do Administrador de Banco de Dados(Korth)
• Definição de esquema:
• cria o esquema de banco de dados original executando um conjunto de instruções de definição de dados na DDL.
• Estrutura de armazenamento e definição de método de acesso.
• Modificação de esquema e de organização física:
• realiza mudanças no esquema e na organização física para refletir as alterações das necessidades da empresa, ou para modificar a organização física de modo a melhorar o desempenho.
55
Atribuições do Administrador de Banco de Dados(Korth)
• Concessão de autorização para acesso a dados.
• Manutenção de rotina:
• Realizar backups periódicos do banco de dados;
• Garantir que haja suficiente espaço livre em disco para operações normais e aumentar o espaço em disco conforme necessário.
• Monitorar tarefas sendo executadas no banco de dados e assegurar que o desempenho não seja comprometido por tarefas muito onerosas submetidas por alguns usuários.
56
Administração de Banco de Dados (Oracle)
• O DBA é o profissional na estrutura de gerenciamento de TI que tem uma visão holística do ambiente.
• Uma parte vital do seu trabalho é identificar onde ocorreu um problema de falha ou desempenho em um ambiente complexo de tecnologia da informação e trabalhar com o grupo de suporte apropriado para corrigi-lo.
57
Atribuições do Administrador de Banco de Dados (Oracle)
• Dimensionar e avaliar o hardware de servidores.
• Instalar e manter atualizado o software de SGBD.
• Projeto Físico do BD.
• Monitorar e ajustar do desempenho.
• Auxiliar os desenvolvedores nos projetos de aplicações e ajustes de SQL.
• Fazer backup, restaurar (extrair do backup) e recuperar o BD.
• Gerenciar usuários e segurança.
58
Tuning
Projeto Físico do BD (Navathe)
• O projeto físico de BD é uma atividade em que o objetivo é não apenas criar a estruturação apropriada de dados no armazenamento, mas também fazer isso de modo que garanta um bom desempenho.
• Para determinado esquema conceitual, existem muitas alternativas de projeto físico em determinado SGBD.
• Não é possível tomar decisões significativas até que o projetista do BD conheça a combinação de consultas, transações e aplicações que deverão usar o BD.
• Os DBAs e projetistas precisam analisar essas aplicações, suas frequências de chamada, sua velocidade de execução, entre outros fatores, para que o BD atenda às expectativas.
60
Projeto Físico do BD : Fatores Importantes (Navathe)
• Análise das consultas e transações do banco de dados:
• Os arquivos que serão acessados pela consulta;
• Os atributos sobre os quais quaisquer condições de seleção para a consulta são especificadas;
• Se a condição de seleção é uma condição de igualdade, desigualdade ou intervalo;
• Os atributos sobre os quais são especificadas quaisquer condições de junção ou condições para ligar múltiplas tabelas ou objetos para a consulta.
• Os atributos cujos valores serão recuperados pela consulta.
61
Projeto Físico do BD : Fatores Importantes (Navathe)
• Análise a frequência de chamada de consultas e transações esperada:
• Além de identificar as características das consultas de recuperação e transações de atualização esperadas, é necessário considerar suas taxas de chamada esperadas.
• Análise das restrições de tempo de consultas e transações:
• Algumas consultas e transações podem ter rigorosas restrições de desempenho.
62
Projeto Físico do BD : Fatores Importantes (Navathe)
• Análise das frequências esperadas de operações de atualização:
• Um número mínimo de caminhos de acesso deve ser especificado para um arquivo que é frequentemente atualizado, pois a atualização dos próprios caminhos de acesso atrasa esse tipo de operação.
• Análise das restrições de exclusividade em atributos:
• Os caminhos de acesso devem ser especificados em todos os atributos de chave candidata — ou conjuntos de atributos — que são a chave primária de um arquivo ou atributos únicos.
63
Ajuste do BD (Tuning)(Navathe)
• Após um banco de dados ser implementado e estar em operação, o uso real das aplicações, transações, consultas e visões revela fatores e áreas de problema que podem não ter sido considerados durante o projeto físico inicial.
• É necessário monitorar e revisar o projeto físico do banco de dados constantemente — uma atividade conhecida como ajuste do banco de dados.
• Os objetivos do ajuste são os seguintes:
• Fazer as aplicações rodarem mais rapidamente.
• „Melhorar (reduzir) o tempo de resposta de consultas e transações.
• „Melhorar o desempenho geral das transações.
64
[CESPE – SERPRO – 2013] Os administradores de banco de dados podem ajustar o desempenho (tuning performance) de um sistema de banco de dados para uma aplicação específica no nível do hardware, por meio dos parâmetros do sistema de banco de dados e do projeto do esquema.
[CESPE – BASA – 2012] SGBD, que é formado por uma coleção de arquivos e programas inter-relacionados, tem por objetivo garantir que o acesso para consultas e alterações dos dados nos arquivos seja limitado a um único administrador, responsável por efetuar as modificações e atualizações requeridas pelos usuários do sistema.
[CESPE – BASA – 2010] O administrador de dados tem capacidade para criar o esquema conceitual, depois que o DBA definir o projeto lógico contendo as definições conceituais do banco de dados como um todo.
65
Gabarito
• [CESPE – SERPRO – 2013] C
• [CESPE – BASA – 2012] E
• [CESPE – BASA – 2010] E
66
Fim
Professor Marcio Victorino