arquitetura e sgbd de um banco de dados

17
UNIVERSIDADE DO VALE DO SAPUCAÍ SISTEMAS DE INFORMAÇÃO ANDRÉ LUIZ GARCIA DIOGO DIEGO RIBEIRO DOS SANTOS FLÁVIO AUGUSTO PEREIRA FERREIRA THAÍS FERREIRA DOS SANTOS BANCO DE DADOS II POUSO ALEGRE 13 DE JUNHO DE 2012

Upload: diogocbj

Post on 29-Jun-2015

11.928 views

Category:

Education


1 download

DESCRIPTION

Explicação de um sistema de banco de dados e a função de um SGBD.

TRANSCRIPT

Page 1: Arquitetura e sgbd de um banco de dados

UNIVERSIDADE DO VALE DO SAPUCAÍ

SISTEMAS DE INFORMAÇÃO

ANDRÉ LUIZ GARCIA DIOGO

DIEGO RIBEIRO DOS SANTOS

FLÁVIO AUGUSTO PEREIRA FERREIRA

THAÍS FERREIRA DOS SANTOS

BANCO DE DADOS II

POUSO ALEGRE 13 DE JUNHO DE 2012

Page 2: Arquitetura e sgbd de um banco de dados

ANDRÉ LUIZ GARCIA DIOGO

DIEGO RIBEIRO DOS SANTOS

FLAVIO AUGUSTO PEREIRA FERREIRA

THAIS FERREIRA DOS SANTOS

ARQUITETURA/FUNCIONAMENTO INTERNO DE UM SISTEMA GERENCIADOR DE BANCO DE DADOS

Definição: Definições, Exemplos e Arquitetura de Sistemas Gerenciadores de Banco de Dados.

Prof. Roberto Ribeiro Rocha

Page 3: Arquitetura e sgbd de um banco de dados

POUSO ALEGRE 13 DE JUNHO DE 2012

Page 4: Arquitetura e sgbd de um banco de dados

INTRODUÇÃO:

Banco de Dados são coleções de informações que se relacionam de alguma forma. Podem ser rústicos como uma agenda de telefone ou virtuais como o SQL, que nesse caso são casados com programas computacionais escritos nas mais variadas linguagens de programação existentes como: Linguagem C, C#, PHP, JAVA, FORTRAN, BASIC etc...

Bancos de Dados para computadores são conhecidos também pela sigla SGDB, a décadas eles se tornaram peças de vital importância para armazenamento de dados de empresas.

O SGDB:

Surgiram na década de 70, antes disso os programadores utilizavam sistemas de arquivos do sistema operacional para armazenar suas informações. Já na década de 80 o sistema SGDB relacional passou a dominar o mercado e atualmente utiliza-se praticamente apenas ele.

Também há um SGDB que é muito notável, este tipo se chama SGDB Orientado a Objeto, é utilizado para quando sua estrutura ou as aplicações que utilizam ele são modificadas constantemente.

APLICAÇÕES:

Podemos dizer que a principal aplicação de Banco de Dados é o controle de operações empresariais, outra aplicação importante é o gerenciamento de informações de estudo Ex: Banco de Dados Geográficos (unem informações convencionais com espaciais).

1

Page 5: Arquitetura e sgbd de um banco de dados

MODELOS DE BASE DE DADOS:

Modelo plano (também conhecido como tabular): consiste de matrizes simples, bidimensionais compostas por elementos de dados : inteiros, números reais etc. Este modelo é a base das planilhas eletrônicas.

Modelo em Rede: Permite que várias tabelas usadas simultaneamente através do uso de apontadores (espécie de ponteiro). Algumas colunas contém apontadores para outras tabelas ao invés de dados. Com isso, as tabelas são ligadas por referências, isso pode ser visto como uma rede. Uma variação deste modelo em rede, o modelo hierárquico limita as relações a uma estrutura semelhante a uma árvore, ao invés do modelo geral que é direcionado por grafos.

Base de dados relacionais: consiste destes componentes:

• Uma coleção de estruturas de dados (relações ou tabelas);

• Uma coleção dos operadores;

• Álgebra e os cálculos relacionais;

• Uma coleção de restrições da integridade que define o conjunto, consiste de estados de base de dados e de alterações de estados.

As restrições de integridade podem ser de quatro tipos:

• Domínio (Type);

• Atributo (variável relacional);

• Relvar (variável relacional);

• Restrições de base de dados;

A diferença dos modelos hierárquico e de rede é que não existem apontadores, ou seja, nesse modelo toda informação tem que ser apresentada com dados, qualquer tipo de atributo representa relações entre conjuntos de dados. As bases de dados relacionais permitem aos utilizadores (incluindo programadores) escreverem consultas (queries) que não foram antecipadas por quem projetou a base de dados. Como resultado, bases de dados relacionais podem ser utilizadas por várias aplicações em formas que os projetistas originais não previram, o que é especialmente importante em bases de dados que podem ser utilizadas durante décadas. Isto tem tornado as bases de dados relacionais muito populares no meio empresarial.

Este modelo é uma teoria matemática desenvolvida por Edgard Frank Codd da IBM. Os modelos de hoje em dia implementam o modelo definido como objeto-relacional, mas seguem a teoria do modelo relacional.

2

Page 6: Arquitetura e sgbd de um banco de dados

APLICATIVOS DE BANCO DE DADOS É um tipo de software exclusivo para gerenciar um banco de dados. Estes aplicativos abrangem uma vasta necessidade e os objetivos de pequenas ferramentas como uma agenda de consultórios médicos e até complexos sistemas de empresas para desempenhar tarefas como a contabilidade, custos, controle de estoques, vendas, compras etc. Aplicativos de banco de dados oferecem uma interface para o banco de dados, este software gerencia os dados e é geralmente chamado de SGDB (Sistema Gerenciador de Banco de Dados) se for embarcado (embutido em aparelhos como microondas, TV’s etc.) são chamados de “database engine”. SGDB Sistema Gerenciador de Banco de Dados (SGBD) do inglês Data Base Management System (DBMS), é o conjunto de softwares responsável pelo gerenciamento de uma base de dados. Seu objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso a manipulação e a organização dos dados. Disponibilizando uma interface para que o usuário possa incluir, alterar ou consultar dados previamente armazenados. Em um banco de dados relacionais a interface é constituída pelas APIs (Application Programming Interface) ou drivers do SGBD, que executam na linguagem SQL (Structured Query Language). São diversas as vantagens do SGBD dentre elas podemos destacar:

• A eliminação da necessidade de especificação de definição de dados; • Interfaceamento entre programas de aplicação e os ficheiros de dados físicos; • Separação das visões lógicas e de concepção dos dados;

Estas vantagens consistem basicamente três componentes de um SGBD: LINGUAGEM DE MANIPULAÇÃO DE DADOS:

Data Manipulation Language ou DML é um subconjunto da linguagem da SQL que é utilizado para realizar inclusões, consultas, alterações e exclusões de dados presentes em registros. Estas tarefas podem ser executadas em vários registros de diversas tabelas ao mesmo tempo, os comandos que realizam respectivamente as funções acima referidas são Insert, Select, Update e Delete.

3

Page 7: Arquitetura e sgbd de um banco de dados

• INSERT é usada para inserir um registro (formalmente uma tupla) a uma tabela existente.

• Ex: Insert into Pessoa (id, nome, sexo) value;

• SELECT – O Select é o principal comando usado em SQL para realizar consultas a dados pertencentes a uma tabela.

• UPDATE para mudar os valores de dados em uma ou mais linhas da tabela existente. • DELETE permite remover linhas existentes de uma tabela.

É possível inserir dados na tabela AREA usando o INSERT INTO:

Insert into AREA (arecod, aredes) values (100, "Informática"), (200, "Turismo"), (300, "Higiene e Beleza");*

LINGUAGEM DE DEFINIÇÃO DE DADOS:

Data Definition Language ou DDL permite ao utilizador 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 poucos:

• CREATE: cria um objeto (uma Tabela por exemplo) dentro da base de dados. • DROP: apaga um objeto do banco de dados.

Alguns sistemas de banco de dados usam o comando ALTER, que permite ao usuário alterar um objeto, por exemplo, adicionando uma coluna a uma tabela existente.

Outros comandos DDL:

• CREATE TABLE • CREATE INDEX • CREATE VIEW • ALTER TABLE • ALTER INDEX • DROP INDEX • DROP VIEW

4

Page 8: Arquitetura e sgbd de um banco de dados

LINGUAGEM DE CONTROLE DE DADOS:

Data Control Language ou DCL controla os aspectos de autorização de dados e licenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados.

Duas palavras-chaves da DCL:

• GRANT - autoriza ao usuário executar ou setar operações. • REVOKE - remove ou restringe a capacidade de um usuário de executar operações.

EXEMPLOS DE SGDB:

• Apache Derby; • Cache; • DB2; • dBASE; • FileMaker; • Firebird; • HSQLDB (banco de dados implementado em Java); • HyperCard; • IDMS (banco de dados hierárquico); • IMS (banco de dados hierárquico); • Informix; • Ingres; • InterBase; • Intpró; • LiteBase Mobile (dedicado à plataformas móveis como: Palm OS, Pocket PC, WinCE,

Symbian); • Microsoft Access; • Microsoft SQL Server; • Microsoft Visual FoxPro; • MySQL; • Oracle; • PointBase Micro (banco de dados relacional implementado em Java); • PostgreSQL; • SQLite; • Sybase Adaptive Server Enterprise; • Sybase; • Teradata (primeiro RDBMS com arquitetura paralela do mercado);

5

Page 9: Arquitetura e sgbd de um banco de dados

.

SGDB NAS EMPRESAS:

O banco de dados relacional mais utilizado mundialmente é o da Oracle, seguido pelo SQLServer da empresa Microsoft. Outros bancos não relacionais são ainda utilizados mas em sua maioria em mainframes e sistemas legados. Access possui problemas como falta de recursos de transações, baixa segurança e baixo tamanho do arquivo de banco de dados não é recomendado. BANCO DE DADOS FREE: MySQL é um banco mais simples e o PostgreSQL é um banco mais robusto, também existe o banco de dados da Microsoft SQLServer Express que é uma versão mais simples e pode ser registrado sem custo adicional, mas permite somente 10 conexões simultâneas

TRANSAÇÃO:

É um conjunto de procedimentos que é executado em um banco de dados, para o usuário isto é visto como uma única ação.

A integridade de uma transação depende de 4 propriedades, conhecidas como ACID, Atomicidade, Consistência, Isolamento, Durabilidade. Estas propriedades serão descritas a seguir:

ATOMICIDADE:

São as ações que compõe a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Se durante a transação qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada e persistida em banco (commit).

CONSISTÊNCIA:

São todas as regras e restrições definidas no banco de dados devem ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso.

ISOLAMENTO:

Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, possa interferir no funcionamento da transação corrente(é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento (ainda em respeito à propriedade da atomicidade).

6

Page 10: Arquitetura e sgbd de um banco de dados

DURABILIDADE:

Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.

Mas na pratica alguns SGBD’s não cumprem a risca todas estas propriedades buscando desempenho.

CONTROLE DE OCORRENCIA:

É um método utilizado para garantir que as transações sejam executadas de uma forma segura e sigam as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ação de transações completadas com sucesso (committed transactions) seja perdida ao desfazer transações abortadas (rollback).

Uma transação é uma unidade que preserva consistência. Requeremos, portanto, que qualquer escalonamento produzido ao se processar um conjunto de transações concorrentemente seja computacionalmente equivalente a um escalonamento produzindo executando essas transações serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a seriabilidade.

MANIPULANDO OS DADOS DO BANCO UTILIZANDO O SGBD

� CLÁUSULAS: São condições de modificação utilizadas para definir os dados que deseja selecionar ou modificar em uma consulta, são eles:

• FROM - Utilizada para especificar a tabela que se vai selecionar os registros;

• WHERE – Utilizada para especificar as condições que devem reunir os registros que serão selecionados;

• GROUP BY – Utilizada para separar os registros selecionados em grupos específicos;

• HAVING – Utilizada para expressar a condição que deve satisfazer cada grupo;

• ORDER BY – Utilizada para ordenar os registros selecionados com uma ordem especifica;

• DISTINCT – Utilizada para selecionar dados sem repetição.

7

Page 11: Arquitetura e sgbd de um banco de dados

� OPERADORES LÓGICOS: São usados para avaliação de condições:

• AND – E lógico. Avalia as condições e devolve um valor verdadeiro caso ambos sejam corretos;

• OR – OU lógico. Avalia as condições e devolve um valor verdadeiro se algum for correto;

• NOT – Negação lógica. Devolve o valor contrário da expressão;

� OPERADORES RELACIONAIS: São utilizados para realizar comparações entre valores, em estruturas de controle. São eles:

• < : Menor; • > : Maior; • <= : Menor ou igual; • >= : Maior ou igual; • = : Igual; • <> : Diferente; • BETWEEN – Utilizado para especificar um intervalo de valores. • LIKE – Utilizado na comparação de um modelo e para especificar registros de um

banco de dados. "Like" + extensão % significa buscar todos resultados com o mesmo início da extensão.

• IN - Utilizado para verificar se o valor procurado está dentro de uma lista. Ex.: valor IN (1,2,3,4).

� FUNÇÕES DE AGREGAÇÃO: As funções de soma se usam dentro de uma cláusula SELECT em grupos de registros para devolver um único valor que se aplica a um grupo de registros.

• AVG – Utilizada para calcular a média dos valores de um campo determinado.

• COUNT – Utilizada para devolver o número de registros da seleção.

• SUM – Utilizada para devolver a soma de todos os valores de um campo determinado.

• MAX – Utilizada para devolver o valor mais alto de um campo especificado.

• MIN – Utilizada para devolver o valor mais baixo de um campo especificado.

8

Page 12: Arquitetura e sgbd de um banco de dados

ARQUITETURA DO BANCO DE DADOS:

ARQUITETURA TRÊS ESQUEMAS: A arquitetura três esquemas é conhecida como ANSI/SPARC. O objetivo desta arquitetura é separar o usuário da aplicação do banco de dados físico.

9

Page 13: Arquitetura e sgbd de um banco de dados

NIVEIS:

• Nível Interno: tem um esquema interno que descreve a estrutura de armazenamento físico do banco de dados.

• Nível Conceitual: tem um esquema conceitual que descreve toda a estrutura do banco

de dados para a comunidade de usuários.

• Nível Externo: Abrange os esquemas externos ou as visões dos usuários.

MAPEAMENTO DA ARQUITETURA:

1) Mapeamento Conceitual/Interno: Mudar o esquema interno sem ter que alterar o Conceitual. Exemplo: Se for realizada alguma mudança na definição do banco de dados armazenado, o mapeamento conceitual/interno terá de ser alterado de acordo a fim de que o esquema conceitual possa permanecer invariável.

2) Mapeamento Externo/Conceitual: Alterar o esquema conceitual sem ter que mudar o externo. Ex: adicionar novos campos em tabelas já existentes, alterações de restrições.

10

Page 14: Arquitetura e sgbd de um banco de dados

Dependencia Lógica.

ARQUITETURA DOS SISTEMAS:

� CENTRALIZADA: as funcionalidades, execuções de programas e processamento das interfaces com o usuário são executadas em uma única máquina.

11

Page 15: Arquitetura e sgbd de um banco de dados

� DUAS CAMADAS - CLIENTE SERVIDOR:

TRÊS CAMADAS – CLIENTE SERVIDOR – APLICAÇÕES WEB: Esta arquitetura possui uma camada intermediária entre o cliente e o servidor de Banco de Dados que é conhecida como camada do servidor de aplicações ou simplesmente como servidor web.

12

Page 16: Arquitetura e sgbd de um banco de dados

CONCLUSÃO:

Bancos de Dados oferecem grande facilidade no armazenamento de dados de organizações em geral, os bancos virtuais oferecem vantagens na rapidez de acesso aos dados.

Os SGBD possibilitam aos programadores e aos usuários uma interface para armazenamento, acesso e exclusão dos dados, outra caracteristica é o gerenciamento no acesso, ontrole de ocorrencia e recuperação dos dados além de tratar o acesso por vários usuarios, controlar o acesso não autorizado e prover a independencia dos dados.

Destacamos que a Arquitetura Organizada e bem dividida dos SGBD são fundamentais por fazer desta ferramenta algo tão confiável.

13

Page 17: Arquitetura e sgbd de um banco de dados