sgbd. prof. marcus vinícius sgbd definição: sistema cujo objetivo principal é gerenciar o acesso...

27
SGBD

Upload: internet

Post on 17-Apr-2015

107 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

SGBD

Page 2: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

• Prof. Marcus Vinícius

Page 3: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

SGBD

• Definição:“Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de dados.”

Page 4: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Sistemas de banco de dados são projetados para gerir grandes volumes de informações.

- O gerenciamento de informações implica a definição das estruturas de armazenamento das informações e da definição dos mecanismos para a manipulação dessas informações.

- Também um sistema de banco de dados deve garantir a segurança das informações armazenadas contra eventuais problemas com o sistema, além de impedir tentativas de acesso não autorizadas.

- Se os dados são compartilhados por diversos usuários o sistema deve evitar a ocorrência de resultados anômalos.

Page 5: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Por que Sistemas de Banco de Dados?

Imagine um sistema de processamento de arquivos convencional onde registros permanentes são armazenados em vários arquivos e diversos programas de aplicação são escritos para extrair e gravar registros nos arquivos apropriados.

Eles podem até ser apropriadamente gerenciados pelos sistemas operacionais existentes; entretanto, estes sistemas apresentam numerosas desvantagens:

Page 6: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Inconsistência e Redundância de Dados: Como arquivos e programas normalmente são criados e mantidos por diferentes programadores, em geral é comum que os arquivos possuam formatos diferentes e os programas estejam escritos em diferentes linguagens de programação.Além disso, a mesma informação pode estar repetida em mais de um arquivo.

Page 7: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Dificuldade de Acesso aos Dados: Normalmente em um sistema de processamento de arquivos comum, quando existe uma necessidade de uma relação de empregados, por exemplo, segundo uma determinada condição, se esta situação não tiver sido prevista inicialmente no sistema, é necessário que um novo programa seja desenvolvido e que gere esta lista solicitada.

O fato é que este ambiente não está preparado para atender as necessidades de recuperação de informações de modo eficiente.

Page 8: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Isolamento dos Dados: Como os dados estão dispersos em vários arquivos, e estes arquivos podem apresentar diferentes formatos, é difícil escrever novas aplicações para a recuperação apropriada destes dados.

Page 9: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Problemas com Integridade: Os valores dos dados atribuídos e armazenados em um banco de dados devem satisfazer certas restrições para manutenção da consistência.

O problema aumenta quando as restrições atingem diversos itens de dados em diferentes arquivos.

Page 10: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Problemas de atomicidade: Um sistema computacional está sujeito a falhas. E imprescindível garantir que, uma vez detectada uma falha, os dados sejam salvos em seu último estado consistente, anterior a ela.

Por exemplo, uma operação de transferência bancária entre contas correntes, deve ser uma operação atômica, ou seja, deve ocorrer por completo, ou não ocorrer.

Page 11: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Anomalias no acesso concorrente: Muitos sistemas permitem atualizações simultâneas dos dados para aumento do desempenho do sistema como um todo e para melhores tempos de resposta.

Este tipo de interação pode resultar em inconsistência de dados. Por exemplo, dois saques simultâneos a uma mesma conta corrente.

Page 12: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

- Problemas de Segurança: Nem todos os usuários de banco de dados estão autorizados ao acesso a todos os dados.

Em um sistema bancário, por exemplo, os funcionários do departamento de pessoal não deveriam ter acesso ‘a informações dos clientes do banco, só apenas ao conjunto de pessoas ao qual o seu departamento lhe diz respeito.

Page 13: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Funções básicas de um SGBD

– Métodos de acesso– Integridade Semântica– Segurança– Concorrência– Independência

Page 14: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Funções Básicas de um SGBD

• Métodos de acesso– DDL (Data Definition Language)• especificação do esquema do BD (dados e seus tipos de dados, índices, ...)– DML (Data Manipulation Language)• manipulação de dados (CRUD)– processamento eficaz de consultas• considera relacionamentos, predicados de seleção, volume de dados, índices, ... – exemplo: buscar professores que lecionam em turmas lotadas em salas do quarto andar

Page 15: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Integridade semântica

– garantia de dados sempre corretos com relação ao domínio de aplicação

– exemplos• estados válidos para os dados• relacionamentos válidos entre os dados

Page 16: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Segurança

– evitar violação de consistência dos dados– segurança de acesso (usuários e aplicações)– segurança contra falhas (recovery)• monitorar transações– Transação » conjunto de operações a serem realizadas no BD

• categorias de falhas – transação, sistema e meio de armazenamento• manutenção de histórico de atualizações (logs) e backups do BD

Page 17: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Concorrência

– evitar conflitos de acesso simultâneo a dados por transações (scheduler)– principais técnicas • bloqueio (lock) e timestamp

Page 18: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Independência– transparência da organização dos dados– níveis de independência• Independência física – transparência de organização (esquema) física dos dados – exemplos: organização dos arquivos, indexação, distribuição, agrupamento• Independência lógica – transparência do esquema lógico do BD – exemplo: visões (vários esquemas externos )

Page 19: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

DBA

SuperUsuário do SGBD:

• projeto de BDs• definição do esquema dos dados• definição de índices• definição de restrições de integridade, visões e autorizações de acesso• recuperação manual de falhas (desfazer transações, backup do BD, ...)• monitoramento da performance de acesso ao BD e modificação de configurações do SGBD (aumento tamanho buffer, criação índices)

Page 20: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Linguagem SQL

Page 21: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

SQL: Histórico e Conceitos

• Padrão para as linguagens de banco de dados relacionais.

• Baseada em álgebra relacional.

• A versão original foi desenvolvida pela IBM

• Em 1986, a ISO (International Organization for Standardization – Organização Internacional para Padronização) e a ANSI (American National Standards Institute – Instituto Norte Americano de Padrões Nacionais) publicou os padrões para a SQL, chamada SQL-86.

Page 22: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

SQL: Histórico e Conceitos

• Definição de SQL:

• Conjunto de comandos que definem, manipulam e controlam os dados dentro de um gerenciamento de dados

• Embora SQL seja um padrão ANSI (American National Standards Institute), há diferentes versões da linguagem SQL

• Entretanto, para ser compatível com o padrão ANSI, todas elas suportam pelo menos os principais comandos, como: SELECT, UPDATE, DELETE, INSERT, WHERE de maneira similar.

• A maior parte dos bancos SQL também têm suas próprias extensões proprietárias em adição ao padrão SQL.

Page 23: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

SQL: Histórico e Conceitos

• Divisões

• DDL Data Definition Language

• DML Data Manipulation Language

Page 24: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

DDL:

• Data Definition Language - Linguagem de Definição de Dados.

• Uma DDL permite ao usuário definir tabelas novas e elementos associados. A maioria dos bancos de dados de SQL comerciais tem extensões proprietárias no DDL.

• Os comandos básicos da DDL são:

• CREATE cria um objeto (uma Tabela, por exemplo) dentro do base de dados;

• DROP apaga um objeto do banco de dados.

Page 25: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Outros comandos DDL: ALTER TABLE;CREATE INDEX;ALTER INDEX;DROP INDEX;CREATE VIEW;DROP VIEW.

Page 26: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

• DML

• Data Manipulation Language - Linguagem de Manipulação de Dados.

• A DML é um subconjunto da linguagem usada para selecionar, inserir, atualizar e apagar dados. (CRUD)

• SELECT é o comumente mais usado do DML, comanda e permite ao usuário especificar uma query (consulta) como uma descrição do resultado desejado.

• INSERT é usada para adicionar uma fila (formalmente uma tupla) a uma tabela existente;

• UPDATE para mudar os valores de dados em uma fila de tabela existente;

• DELETE permite remover filas existentes de uma tabela;

Page 27: SGBD. Prof. Marcus Vinícius SGBD Definição: Sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco

Programas

http://www.apachefriends.org/en/xampp.html

http://dev.mysql.com/downloads/tools/workbench/