Your SlideShare is downloading. ×
Arquitetura e sgbd de um banco de dados
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Arquitetura e sgbd de um banco de dados

11,436
views

Published on

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

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

Published in: Education

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
11,436
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
295
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UNIVERSIDADE DO VALE DO SAPUCAÍ SISTEMAS DE INFORMAÇÃOANDRÉ LUIZ GARCIA DIOGODIEGO RIBEIRO DOS SANTOSFLÁVIO AUGUSTO PEREIRA FERREIRATHAÍS FERREIRA DOS SANTOS BANCO DE DADOS II POUSO ALEGRE 13 DE JUNHO DE 2012
  • 2. ANDRÉ LUIZ GARCIA DIOGODIEGO RIBEIRO DOS SANTOSFLAVIO AUGUSTO PEREIRA FERREIRATHAIS 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
  • 3. POUSO ALEGRE13 DE JUNHO DE 2012
  • 4. 1INTRODUÇÃ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ãocasados com programas computacionais escritos nas mais variadas linguagens deprogramação existentes como: Linguagem C, C#, PHP, JAVA, FORTRAN, BASIC etc... Bancos de Dados para computadores são conhecidos também pela sigla SGDB, adécadas eles se tornaram peças de vital importância para armazenamento de dados deempresas.O SGDB: Surgiram na década de 70, antes disso os programadores utilizavam sistemas dearquivos do sistema operacional para armazenar suas informações. Já na década de 80 osistema SGDB relacional passou a dominar o mercado e atualmente utiliza-se praticamenteapenas ele. Também há um SGDB que é muito notável, este tipo se chama SGDB Orientado aObjeto, é utilizado para quando sua estrutura ou as aplicações que utilizam ele sãomodificadas constantemente.APLICAÇÕES: Podemos dizer que a principal aplicação de Banco de Dados é o controle de operaçõesempresariais, outra aplicação importante é o gerenciamento de informações de estudo Ex:Banco de Dados Geográficos (unem informações convencionais com espaciais).
  • 5. 2 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 atributorepresenta relações entre conjuntos de dados. As bases de dados relacionais permitem aosutilizadores (incluindo programadores) escreverem consultas (queries) que não foramantecipadas por quem projetou a base de dados. Como resultado, bases de dados relacionaispodem ser utilizadas por várias aplicações em formas que os projetistas originais nãopreviram, o que é especialmente importante em bases de dados que podem ser utilizadasdurante 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. Osmodelos de hoje em dia implementam o modelo definido como objeto-relacional, mas seguem ateoria do modelo relacional.
  • 6. 3APLICATIVOS DE BANCO DE DADOS É um tipo de software exclusivo para gerenciar um banco de dados. Estes aplicativosabrangem uma vasta necessidade e os objetivos de pequenas ferramentas como uma agenda deconsultórios médicos e até complexos sistemas de empresas para desempenhar tarefas como acontabilidade, custos, controle de estoques, vendas, compras etc. Aplicativos de banco de dados oferecem uma interface para o banco de dados, estesoftware gerencia os dados e é geralmente chamado de SGDB (Sistema Gerenciador de Bancode Dados) se for embarcado (embutido em aparelhos como microondas, TV’s etc.) sãochamados de “database engine”.SGDB Sistema Gerenciador de Banco de Dados (SGBD) do inglês Data Base ManagementSystem (DBMS), é o conjunto de softwares responsável pelo gerenciamento de uma base dedados. Seu objetivo é retirar da aplicação cliente a responsabilidade de gerenciar o acesso amanipulação e a organização dos dados. Disponibilizando uma interface para que o usuáriopossa incluir, alterar ou consultar dados previamente armazenados. Em um banco de dados relacionais a interface é constituída pelas APIs (ApplicationProgramming Interface) ou drivers do SGBD, que executam na linguagem SQL (StructuredQuery 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 emregistros. Estas tarefas podem ser executadas em vários registros de diversas tabelas aomesmo tempo, os comandos que realizam respectivamente as funções acima referidas sãoInsert, Select, Update e Delete.
  • 7. 4 • 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 eelementos associados. A maioria dos bancos de dados de SQL comerciais tem extensõesproprietá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 alterarum 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
  • 8. 5LINGUAGEM DE CONTROLE DE DADOS: Data Control Language ou DCL controla os aspectos de autorização de dados elicenças de usuários para controlar quem tem acesso para ver ou manipular dados dentro dobanco 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);
  • 9. 6.SGDB NAS EMPRESAS: O banco de dados relacional mais utilizado mundialmente é o da Oracle, seguido peloSQLServer da empresa Microsoft. Outros bancos não relacionais são ainda utilizados mas emsua maioria em mainframes e sistemas legados. Access possui problemas como falta de recursos de transações, baixa segurança ebaixo 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émexiste o banco de dados da Microsoft SQLServer Express que é uma versão mais simples epode ser registrado sem custo adicional, mas permite somente 10 conexões simultâneasTRANSAÇÃO: É um conjunto de procedimentos que é executado em um banco de dados, para ousuá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 aseguir:ATOMICIDADE: São as ações que compõe a unidade de trabalho da transação devem ser concluídas comsucesso, para que seja efetivada. Se durante a transação qualquer ação que constitui unidadede trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações sãoefetuadas 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 asoperaçõ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(é ummecanismo de controle). Outras transações não podem visualizar os resultados parciais dasoperações de uma transação em andamento (ainda em respeito à propriedade da atomicidade).
  • 10. 7DURABILIDADE: Significa que os resultados de uma transação são permanentes e podem ser desfeitossomente por uma transação subseqüente.Por exemplo: todos os dados e status relativos a umatransação devem ser armazenados num repositório permanente, não sendo passíveis de falhapor 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 formasegura e sigam as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma açãode transações completadas com sucesso (committed transactions) seja perdida ao desfazertransações abortadas (rollback). Uma transação é uma unidade que preserva consistência. Requeremos, portanto, quequalquer escalonamento produzido ao se processar um conjunto de transaçõesconcorrentemente seja computacionalmente equivalente a um escalonamento produzindoexecutando essas transações serialmente em alguma ordem. Diz-se que um sistema quegarante 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.
  • 11. 8 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.
  • 12. 9ARQUITETURA DO BANCO DE DADOS:ARQUITETURA TRÊS ESQUEMAS: A arquitetura três esquemas é conhecida comoANSI/SPARC. O objetivo desta arquitetura é separar o usuário da aplicação do banco dedados físico.
  • 13. 10NIVEIS: • 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 oConceitual.Exemplo: Se for realizada alguma mudança na definição do banco de dados armazenado, omapeamento conceitual/interno terá de ser alterado de acordo a fim de que o esquemaconceitual possa permanecer invariável.2) Mapeamento Externo/Conceitual: Alterar o esquema conceitual sem ter que mudar oexterno. Ex: adicionar novos campos em tabelas já existentes, alterações de restrições.
  • 14. 11Dependencia 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.
  • 15. 12 DUAS CAMADAS - CLIENTE SERVIDOR:TRÊS CAMADAS – CLIENTE SERVIDOR – APLICAÇÕES WEB: Esta arquitetura possuiuma camada intermediária entre o cliente e o servidor de Banco de Dados que é conhecidacomo camada do servidor de aplicações ou simplesmente como servidor web.
  • 16. 13CONCLUSÃO: Bancos de Dados oferecem grande facilidade no armazenamento de dados deorganizaçõ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 paraarmazenamento, acesso e exclusão dos dados, outra caracteristica é o gerenciamento noacesso, ontrole de ocorrencia e recuperação dos dados além de tratar o acesso por váriosusuarios, controlar o acesso não autorizado e prover a independencia dos dados. Destacamos que a Arquitetura Organizada e bem dividida dos SGBD são fundamentaispor fazer desta ferramenta algo tão confiável.