O documento apresenta um mini-curso sobre banco de dados comercial ministrado pelo professor Hilson Silva. A agenda inclui introdução aos bancos de dados comerciais, arquiteturas, modelos, conceitos básicos, restrições de integridade e utilização de linguagem SQL. Por fim, é apresentada uma atividade prática sobre o desenvolvimento de um portal corporativo para uma associação comercial.
1. Curso: Análise e Desenvolvimento de Sistemas
Mini-Curso: Banco de Dados Comercial
Prof. Hilson Silva
Banco de Dados Comercial
Agregando Tecnologia ao Negocio.
2. Sobre o Professor!
Banco de Dados
Prof. Hilson Silva
Prof. Esp. Hilson Silva
Históricos: Acadêmico/Profissional
Especialista em Engenharia de Software.
Professor Pesquisador do EAD- UAPI/UFPI
Consultor de Negocio (Gestão de Pessoas).
Analista e Desenvolvedor Grupo Carvalho.
Áreas de Interesse
Inteligência de Negocio (Gestão de Pessoas)
Desenvolvimento de Aplicações Desktop/Web Delphi e Java.
Gerenciamento de Dados.
3. Agenda
Banco de Dados
Introdução Prof. Hilson Silva
- Histórico de Banco de Dados Comercial.
Atuação dos Profissionais de Banco de Dados
Visão Geral
Arquitetura utilizadas no Banco de Dados Comercial(Mono usuário,
Cliente Servidor e Centralizado)
Modelos:
- Conceitual e Lógicos
Conceitos Básicos
- Entidade (Relação)
- Atributo
- Domínio
- Tupla
- Exemplo de Entidades
Restrições de Integridade
Utilização de Linguagem
- DDL, DML e SQL
Exemplo de Banco de Dados Comercias
- Microsoft Access, SQL Server Express, SQL Server Standard
- MySql ,PostGrid ,Firebird ,Oracle dentre outros.
O Mysql e Workbench.
Atividade Prática.
- Problemática
4. Introdução
Banco de Dados
Prof. Hilson Silva
Ao contrario do que alguns desenvolvedores pensam
em relação a banco de dados comerciais, que são bancos
criados para aplicações de pequeno porte desenvolvidos em
ferramentas livres ou até banco Access. Tudo isso são visões
distorcidas. Banco de Dados Comercial: È todo e qualquer
banco implementado com o propósito de gerenciar dados e
transações comerciais de modo geral. Tendo em comum a
utilização de Sistema de Gerenciamento de Banco de Dados,
servidores com dedicação exclusiva na sua grande maioria
,Estrutura de Backup tolerante a falha e outras
particularidades.
5. Histórico de DB Comercial
Banco de Dados
Prof. Hilson Silva
História
Com o surgimento da automação comercial e a crescente
procura de banco de dados comercial por parte dos
desenvolvedores e clientes aceleraram o processo de difusão do
banco de dados pelo mundo.
O Primeiro banco de dados não comercial foi desenvolvido em
1974 por uma Universidade dos EUA. A versão comercial só veio
surgir quatro anos depois após uma serie de testes realizados pela
IBM no SYSTEM R, onde deram origem duas outras versões de
banco de dados comercial o SQL/DS em 1981 e DB2 1983.
6. Atuação dos Profissionais de Banco de Dados
Banco de Dados
Prof. Hilson Silva
Em consequência do surgimento do banco de dados, surgiram os
profissionais:
• DBA - Administrador do Banco de Dados
- Responsável pela parte física.
• AD - Administrador de Dados
- Responsável pela parte lógica.
• Projetista de Banco de Dados
- Constrói partes do modelo da base de dados.
• Analista de Sistemas
- Define e projeta aplicações sobre a base de dados.
• Programador
- Constrói aplicações usando os modelos lógicos existentes.
• Usuários Finais
- Acesso indireto aos dados através de aplicações.
7. Visão Geral da Implementação do DB
Banco de Dados
Prof. Hilson Silva
Prof. Hilson Silva – Banco de Dados Comercial
8. Arquitetura utilizadas no Banco de Dados
Banco de Dados
Prof. Hilson Silva
Comercial
• Modelos de Plataformas para Banco de Dados:
- Mono-Usuário
- Centralizada
- Cliente/Servidor
• Mono-Usuário
- O banco de dados encontra-se no mesmo computador em que
são executadas as aplicações.
- Não há múltiplos usuários.
- Típico de computadores pessoais.
• Centralizada
- O banco de dados encontra-se no mesmo computador em que
são executadas as aplicações.
• Cliente/Servidor
- Múltiplos usuários.
- Servidor de banco de dados (um computador contém todos os
arquivos do banco mais o SGBD).
9. Arquitetura do Banco de Dados Banco de Dados
Prof. Hilson Silva
Mono Usuário
-Somente um usuários.
-È ao mesmo tempo Servidor de banco de dados e
servidor de aplicação.
10. Arquitetura do Banco de Dados
Centralizado Banco de Dados
Prof. Hilson Silva
Servidor de B.Dados
e de Aplicação
Terminal
Requisição
10
11. Arquitetura do Banco de Dados
Cliente Servidor Banco de Dados
Prof. Hilson Silva
Servidor
de
Dados
Servidor de Aplicação
11
12. Modelos
Banco de Dados
Prof. Hilson Silva
Conceitual :È uma descrição do banco de dados de forma independente de
implementação em um SGDB. Mostrando como os dados podem aparecer no
banco de dados, porem não demonstra claramente como foram armazenados
no SGDB. (Heuser, Carlos Alberto 2009)
Nota: Modelo Conceitual: È a idealização do banco de dados , onde é
produzido o MER – Modelo de Entidade Relacionamento.
Lógico : È uma descrição de um banco de dados a nivel de abstração visto
pelo próprio usuário do SGDB, dessa forma o modelo lógico é dependente do
tipo de SGDB que esta sendo usado (Heuser, Carlos Alberto 2009).
Nota: Modelo Lógico : È a definição a nível de SGDB, onde é produzido o DER
Diagrama de Entidade Relacional.
13. Conceitos Básicos
Banco de Dados
Prof. Hilson Silva
Banco de Dados :Conjunto de dados interrelacionados que objetivam atender
as necessidades de um conjunto de usuários com um proposito ou resolução
de determinado problema.
Inglês: Database
BD = Banco de Dados
SGDB : Software que auxilia na definição, carga, recuperação, atualização e
manutenção de um banco de dados.
Inglês: Database Management System
SGBD = Sistema de Gerenciamento de Banco de Dados.
14. Conceitos Básicos
Banco de Dados
Prof. Hilson Silva
• Entidade: Conjunto de relação identificada por características
individuais definidas por meio de seus atributos.
• Ex: Objetos= Pessoas (Hilson)
• Atributos: São as colunas que compõe as relações(Tabelas),
podendo assumir :
Vazios (null) = colunas com Valores opcionais.
Não aceita null ou Vazios = colunas com Valores obrigatórios.
• Dóminio: cada atributo é definido o conjunto de valores (ou
domínio de valores) que ele pode assumir.
• Atômicos (O endereço pode ou não ser atômico)
• Monovalorados.
• Tupla: Registro que compõe o conteúdo de uma tabela ou relação
15. Banco de Dados
Prof. Hilson Silva
• Exemplo de uma Entidade ALUNOS.
• Definição de:
• Atributos , Dominio, Tupla, relação e Grau(1 para 1) .
Figura 1 – Exemplo de tuplas (Navathe 2011)
16. Restrições de Integridade Banco de Dados
Prof. Hilson Silva
– Restrição de integridade: é uma regra de consistência de
dados que é garantida pelo próprio SGBD.
• Na abordagem relacional, costuma-se classificar as
restrições de integridade nas seguintes categorias:
– Integridade de Domínio – Restringe o tipo de valor que a
coluna recebe
– Integridade de Vazio – Restringe a obrigatoriedade ou não do
preenchimento do campo.
– Integridade de Chave- Estabelece a unicidade da tupla.
– Integridade Referencial – Estabelece a Relação de chave
estrangeira.
– Integridade Semântica – Estabelecem condições de
tratamento para o atributo.(Ex. Restringir dentro do setor
COMERCIAL a não inserção de cargos que não pertençam ao
setor, tipo ARQUITETO)
17. Utilização da Linguagem Banco de Dados
Prof. Hilson Silva
DDL - “Data Definition Language”
Esta linguagem foi instituída para a definição estrutura dos
dados de armazenamento da informação (Metadados).
Definição: Linguagem de Definição de Dados-DDL.
- Tambem usada para descrever o modelo lógico.
Exemplo: CREATE SCHEMA / TABLE / VIEW
DROP SCHEMA / TABLE / VIEW
Mais utilizados;
CREATE
DROP
ALTER
ADD
18. Criação de Tabela
Utilização da Linguagem Banco de Dados
Prof. Hilson Silva
• O comando CREATE TABLE é usado para
especificar uma nova relação a partir do seu nome,
da especificação dos seus atributos e
restrições(TIPO)
• Cada atributo é especificado através de:
– Nome
– Tipo de dado
– Restrição
Ex: Create table Funcionario(
Matricula int primary key,
Nome Varchar(80) not null,
Cargo CodCar int
)
19. Linguagem DML
Banco de Dados
Linguagem para Minipular da informação a ser inserida Prof. Hilson Silva
ou já existente no banco de dados.
Uso da Linguagens
- Uso do Select
- Uso do Insert
- Uso do Update
- Uso do Delete
- Uso da View
Consultas simples e compostas
Funções especificos de manipulação de dados.
- Between - Max
- Exists - Min
- In ou not in - Avg
- Group by
- Union e Union all
- Order by
- >= ou <= - Sum, Count e Outros
- Like
- Top ou rownum
20. Uso do SELECT Banco de Dados
Prof. Hilson Silva
• Exemplo do Select:
Select Empregados.Nome, Empregados.Numero_dept,
Departamentos.Nome
From Empregados,departamentos
Where Empregados.Numero_dept=departamentos.Numero And
Empregados.Salario>2500
- Seleção composto da informação, onde é utilizado duas ou mais
tabelas
21. Uso do INSERT Banco de Dados
Prof. Hilson Silva
• Uso do Insert:
Comando utilizado para incluir uma tupla na tabela do banco
de dados.
Composição :
Insert into especifica a tabela, podendo ou não espeficar os
campos
Values ()
22. Uso do INSERT Banco de Dados
Prof. Hilson Silva
Exemplo de Insert:
Insert into Departamento (id, descricao, datcad ,sigla)
Values (1, ‘Financeiro’,’21/03/2012’,’FIN’)
Ou
Insert into Departamento
Values (1, ‘Financeiro’,’21/03/2012’,’FIN’)
23. Uso do UPDATE Banco de Dados
Prof. Hilson Silva
• Uso do Update:
Comando utilizado para alterar uma tupla ou varias tuplas de
uma tabela do banco de dados.
Composição :
Update ou especificação de tabela, Set NomeDoCampo a ser
alterado
where especificação de filtros and
24. Uso do UPDATE Banco de Dados
Prof. Hilson Silva
• Exemplo de Update:
Update Departamento Set Descricao = ‘Finanças’
Observação deve ser usado quando existir somente um registro
na tabela.
Ou
Update Departamento Set Descricao = ‘Finanças’
where iddepartamento = 1
25. Uso do DELETE Banco de Dados
Prof. Hilson Silva
• Uso do Delete:
Comando utilizado para remover uma tupla ou todos as
tuplas de uma tabela do banco de dados.
Composição :
delete From NomeDaTabela
where especificação de filtros and ???
Exemplo:
– Delete from Departamento (Elimina todos os registros da tabela)
ou
– Delete from Departamento where iddepartamento= 25
26. Uso da View Banco de Dados
Prof. Hilson Silva
• Uso da View:
Comando utilizado para criar uma visão(replicar) da informação
dentro do banco de dados em uma tabela temporária.
Composição :
Create or replace View Funcionarios_Consulta as (Select * from
Funcionarios where especificação de filtros and ???)
27. Exemplo de Bancos de Dados Comercias
Banco de Dados
Prof. Hilson Silva
28. MYSQL 5.0/WORKBENCH Banco de Dados
Prof. Hilson Silva
O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que
utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês
Structured Query Language) como interface. É atualmente um dos bancos
de dados comercial mais utilizado no mundo, com mais de 10 milhões de
instalações pelo mundo.
Caracteristicas:
Possui plataforma multiacesso.
Politica e gerenciamento de acesso.
Integridade dos dados relacionais.
Controle de concorrência nas transações.
29. MYSQL 5.0/WORKBENCH Banco de Dados
Prof. Hilson Silva
Caracteristicas:
Fornece sua API para várias outras linguagens, como Java, Python, PHP, Perl,
C, C++.
Usa programação de threads utilizando-as diretamente no kernel da plataforma
do SO.
Disponibiliza vários tipos de tabelas para armazenamento de dados.
-Velocidade e Armazenamento: A vantagem dessa variedade de tabelas é a
possibilidade de escolher o tipo em cada situação diferente. Podendo ser
priorizado velocidade, ou volume de dados, entre outras características.
Enfim o mysql é extremamente poderoso, pronto para executar mais de um
bilhão de consultas por dia de um site ou aplicação desktop, ou até mesmo
processar milhares de transações por minuto, conforme os artigos publicados
sobre essa ferramenta.
30. Atividade Prática Banco de Dados
Prof. Hilson Silva
Problemática:
A Associação Comercial da Cidade de Caxias-MA, solicitou a
criação de uma ferramenta que auxiliasse nas atividades que ela
oferece aos seus associados. Para isso contratou uma empresa de
Software House, para desenvolver um portal coorporativo que
contemplará nas seguintes funcionalidades:
Cadastros( Empresa,Endereço)
Solicitações (Abertura de Empresa, Associar-se,Fechamento
Empresa, Eventos do Associado, Eventos da Associação )
Acompanhamento Solicitações.
Calendário de Reuniões
Implemente o modelo lógico desse banco de dados!
31. Banco de Dados
Prof. Hilson Silva
Referencial Bibliográfico
ELMASRI, Ramez, NAVATHE, Shamkant, SOUZA, Teresa Cristina Padilha de. Sistemas
de banco de dados: fundamentos e aplicações. 3.ed. Rio de Janeiro: LTC, 2002.
ELMASRI, Ramez, NAVATHE, Shamkant, SOUZA, Sistemas de banco de dados. .6ª ed.
Rio de Janeiro: Pearson, 2011.
HEUBER, Carlos, SProjeoto de banco de Dados. 6ª ed. Rio de Janeiro: Bookman, 2009.
KORTH, Henry F., SILBERSCHATZ, Abraham & SUDARSHAN, S. Sistema de banco de
dados. 5 ed., Rio de Janeiro: Editora Elsevier, 2006.
TEOREY, Toby, LIGHTSTONE, Sam e NADEAU, Tom. Projeto e modelagem de bancos
de dados. Rio de Janeiro: Elsevier, 2007.