BANCO DE DADOS
Um amplo mercado de trabalho
Samuel Lemes
samuelemes@gmail.com
BANCO DE DADOS
BANCO DE DADOS
DEFINIÇÃO?
É
um
conjunto
de
registros
dispostos
em
estrutura regular que possibilita a reorganização
dos mesmos e produção de
informação
.
Um
banco
de
dados
normalmente
agrupa
registros utilizáveis para um mesmo fim.
OBJETIVO?
O grande objetivo de um sistema de BD é
oferecer uma visão “abstrata” dos dados aos
usuários. Os detalhes referentes a forma como
estes dados estão armazenados e mantidos não
interessa aos usuários, mas a disponibilidade
eficiente destes dados é que são fundamentais
BANCO DE DADOS
BANCO DE DADOS
REPRESENTAÇÃO – CADASTRO DE FUNCIONARIOS
BANCO DE DADOS
Cadastro de Funcionários
Código Nome Cargo
1 Juliana Secretária 2 Debora Seco Diretoria Geral 3 Ana Hickman Supervisora
Manual Arquivo papéis
}
•Manipulação lenta
•Espaço físico
•Ineficiência
BANCO DE DADOS
Mundo real modelo
BANCO DE DADOS
INTRODUÇÃO
DadinhoDado
Dadão
Tarefas Computacional SGBD SGBD (DBMS do inglês Database Management Systems) Sistema de Gerenciamento de Bando de DadosINTRODUÇÃO
+
main() { scanf (‘ ... }= SGBD
SGBD
Um Sistema Gerenciador de Banco de Dados
(SGBD) é uma coleção de programas que
habilitam usuários para criar e manter um banco
de dados.
O SGBD é um software de propósito geral que
facilita o processo de definição, construção e
manipulação de bancos de dados
INTRODUÇÃO
• Controle sobre a redundância • Compartilhamento de Dados • Restrição de acesso não autorizado • Fornecimento de múltiplas interfaces • Forçar restrições de integridade • Sistema de Backup e Recovery • Vantagens com a abordagem de BD
– Desenvolvimento de padrões – Flexibilidade
– Tempo de desenvolvimento reduzido – Disponibilidade de informações atualizadas
Características de um “bom” SGBD
INTRODUÇÃO
Perfil de pessoas envolvidas com um Banco de
Dados
•Em um pequeno banco de dados de uso pessoal uma única pessoa vai definir, construir e manipular o banco de dados
•Em um grande banco de dados com muitos (ou milhões) de usuários e com restrições de acesso podem-se identificar alguns perfis de pessoas que interagem com banco de dados
• Administrador do Banco de Dados (DBA) • Projetista do Banco de Dados
• Analista de Sistemas • Programador de Aplicações • Usuário Final
BANCO DE DADOS EXISTENTES
BANCO DE DADOS
BANCO DE DADOS EXISTENTES
O MySQL foi criado na Suécia.
No dia 16 de Janeiro de 2008, a MySQL
AB,
desenvolvedora
do
MySQL
foi
adquirida pela Sun Microsystems, por
US$ 1 bilhão.
No dia 20 de Abril de 2009 a Oracle
compra a Sun Microsystems e todos o
seu
produtos,
incluindo
o
Características
• Integração com o PHP
• O MySQL é portável, (possui suporte para qualquer plataforma atual);
• Compatibilidade: (drivers disponíveis no mercado para o MySQL como ODBC, JDBC e .NET).
• Linguagens de programação (Delphi, C/C++, Python, PHP, ASP, Ruby entre outras);
• Excelente desempenho e estabilidade
• Pouco exigente quanto a recursos de hardware; • Facilidade de uso: além do uso da linguagem SQL, • Provido de várias funções pré-definidas;
• É software livre; Onde usar?
O MySQL é recomendado para uso em aplicações tanto desktop como Web quando há a necessidade de acesso por vários usuários.
Outra vantagem é de ser o banco de dados padrão em praticamente todos os servidores de hospedagem devido a sua integração nativa com o PHP.
BANCO DE DADOS EXISTENTES
BANCO DE DADOS EXISTENTES
O
Firebird
é
uma
derivação
do
InterBase da Borland, isso quando a
Borland liberou o código-fonte deste há
alguns
anos
atrás.
Através
da
comunidade
de
desenvolvedores,
o
FireBird logo se tornou um banco de
boa aceitação e de constante evolução.
BANCO DE DADOS EXISTENTES
Características • open-source,
• Vasta documentação na internet.
• Triggers, Procedures, Transações, UDFs (User Defined Functions), chaves estrangeiras etc.
• Vários drivers para conexão (ODBC, JDBC etc).
• Suporte nativo no PHP e no Delphi a partir da versão 2010. • Possui versões para Windows, Linux e Mac.
Onde usar?
Excelente para sistemas de monousuarios. Não precisar instalar um servidor
BANCO DE DADOS EXISTENTES
Este é mais um da família open-source
e também considerado com um dos
SGBDs mais avançados atualmente.
Mantido
pela
PostgreSQL
Global
Development Group, teve sua primeira
versão lançada em 1º de maio de 1995.
Postgres ouPostgreSQLé um projeto de Sistema Gerenciador de Banco de Dados open-source que foi iniciado em 1986, na Universidade de Berkeley, naCalifórnia.(http://www.postgresql.org.br)
BANCO DE DADOS EXISTENTES
Características
• Realização de consultas complexas, • Chaves estrangeiras (Foreign Keys), • Integridade transacional,
• Controle de concorrência multi-versão, • Triggers,
• Views,
• Linguagem Procedural (PL/pgSQL, PL/Python, PL/Java, PL/Perl), • Indexação por texto
• Multiplataforma. Onde usar?
Possuem drivers nativos para conexões com o PHP, sendo desta forma, uma alternativa ao banco de dados MySQL.
BANCO DE DADOS EXISTENTES
É o mais robusto e poderoso de todos
os
SGDBs.
Mantido
pela
Oracle
Corporation,
que
adquiriu
recentemente a Sun Microsystems,
dona do Java e MySQL.
BANCO DE DADOS EXISTENTES
Características
• Pago • Robustez: • Performance: • Stored Procedures, • Triggers, • Funções • Linguagem PL/SQL.Onde usar?
Avaliar custo x beneficio
BANCO DE DADOS EXISTENTES
BANCO DE DADOS EXISTENTES
Características
• Integração de com os serviços de multithreading, • Agendamento,
• Monitor de desempenho e log de eventos.
• Uma característica interessante é que pode se conectar ao SQL Server com a mesma senha usada para a rede Windows;
• Possui suporte para Triggers, • Stored Procedures
• Views
Onde usar?
Avaliar custo x beneficio