Sei sulla pagina 1di 23

BANCO DE DADOS

Professor: Luciano Vale, MSc.

Scrum.org Certified - PSM I - Professional Scrum Master I Rational Certitied - Rational Unified Process v7.0 IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0 IBM Certified Business Process Analyst - WebSphere Business Modeler Advanced Edition V7.0 IBM Certified Integration Developer - WebSphere Process Server V7.0

Contato: lucianovale@gmail.com

Referncia: Professora Simone Dutra

O que so bancos de dados Sistemas Gerenciadores de Bancos de Dados

Modelos de bancos de dados


Organizao de um SGBD e seu uso Usurios de um SGBD

Alguns SGBDs

Referncia: Professora Simone Dutra

Referncia: Professora Simone Dutra

Conjunto organizado de dados Representa informaes de um mesmo domnio

Tambm pode ser chamado de base de dados


Deve possibilitar:
Armazenamento sistemtico de informaes Recuperao das informaes armazenadas

Gerao de novas informaes com base nos dados armazenados, a partir de questionamentos dos usurios
Referncia: Professora Simone Dutra

Fisicamente, pode ser representado por:


Fichas de papel Formulrios Cartes Planilhas em papel Pastas armazenadas em arquivos de ao Arquivos eletrnicos gerenciados pelas aplicaes Arquivos eletrnicos gerenciados por um SGBD

Referncia: Professora Simone Dutra

Tecnicamente, pode-se definir um banco de dados como um conjunto de registros armazenados de maneira sistemtica em um meio digital, possibilitando a um programa obter informaes com base nos dados consultados

Os registros so formados por elementos de dados, definidos com base na natureza e finalidade dos dados a serem armazenados, atravs de um processo de modelagem
O armazenamento, recuperao e processamento dos registros pode ser feito pela prpria aplicao ou por um Sistema Gerenciador de Bancos de Dados

Referncia: Professora Simone Dutra

Software com a finalidade de gerenciar bancos de dados, realizando operaes sobre estes, atendendo a requisies dos seus clientes

Software que controla a organizao dos dados em um banco de dados, bem como o armazenamento e a recuperao destes dados

Sistema que gerencia a persistncia dos dados, retirando esta responsabilidade da aplicao. Fornece uma interface atravs da qual as aplicaes interagem, requisitando dados ou manipulandoos

Comumente chamado de banco de dados, embora o termo no seja preciso

Referncia: Professora Simone Dutra

Garantir a persistncia dos dados

Garantir a integridade e consistncia dos dados

Definir os esquemas de bancos de dados, utilizando uma linguagem de modelagem

Manter uma interface atravs da qual as aplicaes solicitaro a execuo de operaes e consultas aos dados

Ter uma linguagem de consulta, que permita a aplicao solicitar dados tanto armazenados como dados calculados ou inferidos a partir dos dados armazenados

Referncia: Professora Simone Dutra

Garantir a segurana de acesso aos dados

Ter mecanismo de backup e recuperao dos bancos de dados

Capacidade de replicao e distribuio dos dados

Controlar acessos concorrentes e transaes

Permitir configuraes de otimizaes de acesso aos bancos de dados, e se possvel automatizar essa otimizao

Referncia: Professora Simone Dutra

Hierrquico
Os dados dos registros so organizados em rvore
Permite detalhamento de dados Navegao em apenas um sentido Exemplos: XML, COBOL

Rede
Primeiro modelo de dados desenvolvido Relacionamentos tipo vrios pais - vrios filhos No se firmou como tecnologia de mercado

Referncia: Professora Simone Dutra

Relacional
Desenvolvido por E. F. Codd em 1970 Baseia-se na teoria dos conjuntos

Os dados so armazenados em relaes (tabelas), que so independentes entre si, mas que podem ser combinadas atravs de relacionamentos
Largamente adotado pelo mercado SQL (Structured Query Language) Inmeros exemplos: Oracle, Microsoft SQL Server, PostgreSQL

Referncia: Professora Simone Dutra

Orientado a Objetos
Baseado no paradigma da orientao a objetos
Busca diminuir as diferenas de representao de dados entre os programas e os bancos de dados Ainda no largamente adotado devido falta de padronizao, mas vrios produtos tm aparecido recentemente Exemplos: Jasmine, ObjectDB, Cach

Objeto-Relacional
Incorpora alguns elementos de orientao a objetos, embora mantendo a estrutura relacional
Permite a incorporao de cdigo ao modelo de dados, herana de tabelas Exemplos: PostgreSQL, Oracle

Referncia: Professora Simone Dutra

O Modelo Relacional,
por ser o mais largamente adotado,

ser o estudado ao longo do curso

Sero comentadas as caractersticas adicionais dos SGBDs objeto-relacionais, quando apropriado

Um SGBD, na maioria dos casos, roda como um servio em um computador, no tendo interatividade com o usurio Em alguns casos, o SGBD pode ser um componente de uma nica aplicao, mesmo que esta atenda a muitos clientes Em qualquer caso, o SGBD no diretamente acessado. O usurio acessa e manipula os bancos de dados atravs de um cliente do SGBD comum se denominar de front-end as aplicaes que so a interface com o usurio, e acessam o SGBD, enquanto este chamado de back-end

Referncia: Professora Simone Dutra

Em termos fsicos, um SGBD utiliza um dispositivo de armazenamento para fazer a persistncia das informaes, tipicamente um disco rgido

So vrias as formas como um banco de dados fisicamente organizado em um dispositivo:

Como um nico arquivo contendo todas as entidades

Como um diretrio, onde cada arquivo consiste em uma entidade


Como um diretrio, onde os elementos do banco so dispostos em vrios arquivos, visando performance em algum modo de funcionamento
Referncia: Professora Simone Dutra

API

Aplicao

SGBD
Processador de queries Driver

Aplicao

API

Gerenciador de BD

Gerenciador de Arquivos

Aplicao

ODBC

BD

SGBD
Driver JDBC

Aplicao JAVA

SQL

Processador de queries

Gerenciador de BD

Gerenciador de Arquivos

BD

Usurio comum
Acessa o SGBD indiretamente, a partir das aplicaes No tem conhecimento algum sobre o banco de dados e as tecnologias envolvidas

Usurio avanado
Tem algum conhecimento das tecnologias envolvidas em bancos de dados, sabendo construir consultas atravs de aplicaes visuais (QBE), ou tem conhecimento de SQL Utiliza, alm das aplicaes usuais, front-ends para acessar diretamente o SGBD, ou ferramentas para consultas, como geradores de relatrios

Referncia: Professora Simone Dutra

Desenvolvedor
Conhece a linguagem de acesso ao SGBD (SQL e seus dialetos, na maioria dos casos), e sabe como utiliz-la dentro das aplicaes em desenvolvimento Conhece os mecanismos de acesso aos SGBDs em aplicaes, como APIs e drivers

Utiliza front-ends para testar e construir os bancos de dados, bem como testar as queries antes de colocar nos programas, bem como as IDEs Eterno conflito: programador x projetista de bds
Referncia: Professora Simone Dutra

Administrador (DBA)
Conhece a linguagem de manipulao de bancos de dados, e seu uso a fundo Conhece ferramentas para anlise de desempenho e performance de bancos de dados, e consultas Utiliza front-ends e, eventualmente, interfaces console para acessar diretamente o banco de dados Sabe instalar, configurar e manter em funcionamento o SGBD a principal fonte de consulta para fazer otimizao de operaes nos bds Responsvel pelos backups

Referncia: Professora Simone Dutra

Oracle Corporation

Microsoft Corporation

IBM

Borland

Sybase Corporation

Ingres Corporation

IBM Informix

InterSystems

MySQL AB

www.postgresql.org

www.firebirdsql.org

Firebird
db.apache.org hsqldb.org

www.sqlite.org

Potrebbero piacerti anche