Curso 3534 Aula 00 00aa Completo

Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 17

Eletrônico

Aula

Curso Regular de Banco de Dados e Business Intelligence - Com videoaulas

Professor: Victor Dalton


Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

AULA 00: Banco de Dados (1ª parte)

SUMÁRIO PÁGINA
Apresentação 2
Cronograma 3
1.Bancos de Dados: Conceitos Básicos 4
1.1 Definições 4
1.2 SGBD 6
1.3 Trabalhadores envolvidos 7
1.4 Categorias de modelos de dados 8
1.5 Arquitetura três esquemas de um SGBD 10
1.6 Tipos de modelos de dados 12
Considerações Finais 15

Olá a todos! E sejam bem-vindos ao projeto Curso Regular de Banco de


Dados e Business Intelligence!

O nosso objetivo é cobrir o conteúdo de Banco de Dados de Business


Intelligence tradicionalmente cobrado em todos os concursos de
Tecnologia da Informação, bem como em concursos da Área Fiscal (seja
como Tecnologia da Informação, ou dentro da área de Informática).

Destaco, também, que o nosso curso também possuirá videoaulas, que


auxiliarão o entendimento do conteúdo, e será repleto de exercícios das
principais bancas do mercado, como CESPE, FCC, ESAF, CESGRANRIO e FGV,
dentre outras.

Observação importante: este curso é protegido por direitos


autorais (copyright), nos termos da Lei 9.610/98, que altera,
atualiza e consolida a legislação sobre direitos autorais e dá
outras providências.

Grupos de rateio e pirataria são clandestinos, violam a lei e


prejudicam os professores que elaboram os cursos. Valorize o
trabalho de nossa equipe adquirindo os cursos honestamente
através do site Estratégia Concursos ;-)

Prof. Victor Dalton


www.estrategiaconcursos.com.br 1 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

APRESENTAÇÃO

Permitam-me que eu me apresente.

Eu sou Victor Dalton Teles Jesus Barbosa. Minha experiência em concursos


começou aos 15 anos, quando consegui ingressar na Escola Preparatória de
Cadetes do Exército, em 1999. Cursei a Academia Militar das Agulhas Negras,
me tornando Bacharel em Ciências Militares, 1º Colocado em Comunicações, da
turma de 2003.

Em 2005, prestei novamente concurso para o Instituto Militar de


Engenharia, aprovando em 3º lugar. No final de 2009, me formei em Engenharia
da Computação, sendo o 2º lugar da turma no Curso de Graduação. Decidi então
mudar de ares.

Em 2010, prestei concursos para Analista do Banco Central (Área 1 –


Tecnologia da Informação) e Analista de Planejamento e Orçamento
(Especialização em TI), cujas bancas foram a CESGRANRIO e a ESAF,
respectivamente. Fui aprovado em ambos os concursos e, após uma passagem
pelo Ministério do Planejamento, optei pelo Banco Central do Brasil.

Em 2012, por sua vez, prestei concurso para o cargo de Analista Legislativo
da Câmara dos Deputados, aplicado pela banca CESPE, e, desde o início de
2013, faço parte do Legislativo Federal brasileiro.

Aqui no Estratégia Concursos, já ministrei e ministro cursos para vários


certames, como CGU, Receita Federal, ICMS/PR, ICMS/SP, ICMS/RJ, ICMS/MS,
Banco Central, MPU, IBAMA, ANS, Ministério da Saúde, Polícia Federal, MPOG,
PCDF, PRF, TCE-RS, AFT, ANCINE, dentre outros. Além disso, também ministro
aulas presenciais em diversos Estados, cujo feedback dos alunos tem me
impulsionado a continuar cada vez mais a ministrar aulas.

Pois bem, e como serão distribuídas as nossas aulas?

Prof. Victor Dalton


www.estrategiaconcursos.com.br 2 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

CRONOGRAMA

Estamos na aula 00.

Aula 00 (01/12/2013) Banco de Dados: conceitos básicos. Níveis de


abstração. Tipos de modelos de dados. SGBD. Arquitetura três esquemas.

Aula 01 (14/12/2013) Modelo Entidade-Relacionamento. Modelo relacional.


Cardinalidade, restrições de integridade, entidades, atributos, tabelas, views.

Aula 02 (28/12/2013) Business Intelligence: definição. Data Warehouse, Data Mart e


Data Mining: conceitos básicos.

E, não se esqueça, teremos videoaulas para explicar toda a


matéria!

Prof. Victor Dalton


www.estrategiaconcursos.com.br 3 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Bancos de Dados

1. BANCOS DE DADOS: CONCEITOS BÁSICOS

1.1 Definições

Antes do estudo de Banco de Dados propriamente dito, cabe destacar a


diferença entre dado, informação e conhecimento.

Um dado é uma informação quantificada. Ex: Paulo tem 23 anos.


Uma informação é uma abstração produzida a partir dos dados. Ex: Muitos
dos nossos clientes são jovens (informação), uma vez que 80% dos nossos
clientes cadastrados possuem entre 18 e 25 anos (dado).
Conhecimento, por sua vez, envolve uma abstração em um nível mais
profundo, tomando por base os dados e as informações, como forma de
subsidiar decisões. Ex: O nosso produto atrai muitos jovens (conhecimento
extraído com base em dados e informações). Precisamos enfatizar nosso
marketing nesse público alvo, ou precisamos modificar nosso produto para
atingir outras faixas etárias (decisões de negócio), etc. Veremos mais sobre
produção de conhecimento em Sistemas de Apoio à Decisão.

Entendidos esses aspectos, podemos responder o que é Banco de Dados.

Acredito que você já tenha uma “desconfiança” do que seja um banco de


dados. Entretanto, a definição correta de banco de dados gira em torno de duas
ideias chave: relacionamento e finalidade.

Um banco de dados é um conjunto de dados relacionados com uma


finalidade específica. Esta finalidade pode a produção de informação, para
determinado público alvo (uma empresa, ou um órgão público, por exemplo),
bem como suportar um negócio (como o estoque de produtos de um fornecedor,
ou um cadastro de funcionários, ou tudo isso junto).
Eu costumo brincar, e acho que isso ajuda a memorizar, que não se deve
confundir Banco de Dados com “Bando de Dados”. Dados desorganizados não
servem para nada; um conjunto dados que ser relacionam, com alguma
finalidade, esses sim compõem um Banco de Dados.

Bancos de dados, normalmente, são a “base” de um sistema, ou software.


Um sistema de venda de produtos online, por exemplo, provavelmente possui
em seu banco de dados uma vasta quantidade de registros de clientes e
produtos. Esses dados provavelmente relacionam-se através dos pedidos, que

Prof. Victor Dalton


www.estrategiaconcursos.com.br 4 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

devem conter dados dos clientes e dos produtos. Os pedidos também serão
dados. Começou a visualizar?
Não se preocupe. Até o fim dessa apostila, você vai compreender.

Nossa próxima definição importante é a de Esquema de Banco de Dados.

Um esquema do banco de dados é uma coleção de objetos de um banco de


dados que estão disponíveis para um determinado usuário ou grupo. Os objetos
de um esquema são estruturas lógicas que se referem diretamente aos dados do
banco de dados. Eles incluem estruturas, tais como tabelas, visões, seqüências,
procedimentos armazenados, sinônimos, índices, agrupamentos e links de banco
de dados. Falaremos mais sobre esses elementos ao longo da apostila, fique
tranquilo.

Ou seja, ao se elaborar um sistema, seu projeto de banco de dados é


idealizado em um esquema (como a figura acima).

Falei, pouco antes, que os softwares normalmente estão “em cima” de um


Banco de Dados. O esquema é essa ferramenta utilizada para a representação
do banco como um todo, podendo servir tanto para facilitar o entendimento do
Banco de Dados como para implementar o próprio Banco de Dados.
Com base no esquema acima, por exemplo, um Administrador de Dados já
consegue criar o Banco. Visualize a imagem acima, veja as tabelas e os
relacionamentos, e não se incomode se estiver entendendo pouco ou quase
nada. Iremos ver e rever essa imagem, explicando os detalhes dela aos poucos.
Tudo bem?

Prof. Victor Dalton


www.estrategiaconcursos.com.br 5 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

1.2 SGBD

Imagine agora um sistema de uma grande vendedora de produtos online,


ou mesmo o sistema de vendas de uma grande companhia aérea. Essas
empresas vendem produtos e serviços por segundo, para usuários distribuídos
geograficamente pelo mundo inteiro. Deste simples exemplo, percebe-se que
Bancos de Dados precisam de gerenciamento próprio, e eficiente, para
coordenar um volume gigantesco de operações simultâneas.

Para tal, existem os Sistemas Gerenciadores de Bancos de Dados. O


SGBD é o conjunto de programas de computador (softwares) responsáveis pelo
gerenciamento de uma base de dados. Seu principal objetivo é retirar da
aplicação cliente (o sistema da empre sa propriamente dito) a responsabilidade
= = 0 = =

de gerenciar o acesso, a manipulação e a organização dos dados. O SGBD


disponibiliza uma interface para que seus clientes possam incluir, alterar ou
consultar dados previamente armazenados. Em bancos de dados relacionais a
interface é constituída pelas APIs (Application Programming Interface) ou drivers
do SGBD, que executam comandos na linguagem SQL (Structured Query
Language).

Certamente você já ouviu falar de alguns SGBDs, como o Oracle, o IBM


DB2, o Microsoft SQL Server, MySQL, ou até mesmo o PostgreSQL, que é
gratuito.
Via de regra, os SGBDs são ferramentas caríssimas, da ordem de milhares
de dólares. Algumas de suas vantagens são:

Controle de redundância: quando os Bancos de Dados precisam



ser replicados em mais de um lugar, o SGBD evita a inconsistência
das diferentes bases de dados;
 Restrição a acesso não autorizado: em Bancos de Dados com
diferentes níveis de permissão de acesso, o SGBD realiza o controle
dos diversos níveis de permissão;
 Backup e restauração: o Sistema de Banco de Dados deve ser
tolerante a falhas, ou seja, o SGBD deve ser capaz de voltar a um
estado anterior à falha, a despeito de falhas de hardware ou
software;
 Forçar as restrições de integridade: os relacionamentos entre
dos dados são implementados por meio de restrições de integridade.
Será visto mais adiante.
À “união” de um Sistema Gerenciador de Banco de Dados com o seu
respectivo Banco de Dados é dado o nome de Sistema de Banco de Dados.

Instalar e manter Sistemas de Bancos de Dados carregam consigo alguns


ônus intrínsecos. São eles:

Prof. Victor Dalton


www.estrategiaconcursos.com.br 6 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

 Custos: além do preço elevado das ferramentas de SGBD, manter


um Sistema de Banco de Dados implica em hardware, software e
pessoal especializados;
 Gerenciamento Complexo: o Sistema necessita interfacear com
diferentes tecnologias, afetando os recursos e cultura da empresa;
 Dependência do fornecedor: o investimento inicial alto tende a
“prender” o cliente. Modificar um SGBD é oneroso e complexo;
 Manutenção e atualização: como todo software, o SGBD deve ser
mantido atualizado. Além disso, periodicamente surgem novas
versões, com mais funcionalidades, “exigindo” substituições
periódicas, com novos custos de hardware, software e treinamento
de pessoal.

1.3 Trabalhadores envolvidos

Sistemas de Bancos de Dados são projetados, administrados e utilizados


por diversos profissionais. Sem exageros, pode-se visualizar um “ciclo de vida”
para um Sistema de Banco de Dados, com a participação de diversos
personagens. São eles, segundo Elmasri e Navathe (2006):

Projetista do Banco de Dados – os idealizadores do banco. Conversam


com os usuários para especificar requisitos e modelam conceitualmente o banco;
Administrador do Banco de Dados – implementam o banco e cuidam
dele durante seu ciclo de vida;
Usuário do Banco de Dados (ou Usuário Final) – especificam suas
necessidades, antes do BD, e o utilizam após sua criação.

Atenção!

Date (2011) acrescenta a figura do Administrador de Dados, que seria


uma pessoa que toma decisões estratégicas e de normas com relação aos dados
da empresa. Importante, quando tratar-se de personagens envolvidos, prestar
atenção nesse detalhe, tentar “adivinhar” a bibliografia do enunciado, para não
confundir o Administrador de Dados com o Administrador de Banco de Dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 7 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

1.4 Categorias de modelos de dados

Projetar um banco de dados, como você provavelmente deve imaginar, é


uma atividade que requer planejamento e organização. Didaticamente, pode-se
dividir este tarefa em etapas.

A primeira fase do projeto do banco é o levantamento e análise de


requisitos, que na prática, é a especificação das necessidades do usuário do
banco. Entrevista-se o usuário do banco para entendimento e documentação dos
seus requisitos de dados.

A segunda fase é o projeto conceitual, em que já se criam descrições


detalhadas de tipos de entidades, relacionamentos, atributos e restrições. A
modelagem conceitual empregada baseia-se no mais alto nível e deve ser
usada para envolver o cliente. Os exemplos de modelagem de dados visto pelo
modelo conceitual são mais fáceis de compreender, já que não há limitações ou
aplicação de tecnologia específica. O modelo normalmente utilizado é o modelo
entidade-relacionamento, com a construção do Diagrama de Entidade e
Relacionamento. Este diagrama é a chave para a compreensão do modelo
conceitual de dados. Cria-se o que chamamos de “mini-mundo”, a observação da
realidade mapeada dentro do sistema que se deseja desenvolver.

Ilustração de modelagem conceitual usando o Diagrama E-R.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 8 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Posteriormente ocorre as especificações das necessidades funcionais,


depreendidas do próprio projeto conceitual. Caso exista algum impedimento
funcional para a implementação do banco, talvez seja necessário voltar ao
projeto conceitual e realizar algumas modificações.

Em seguida aparece o projeto lógico, ou mapeamento do modelo de


dados. A modelagem lógica (ou representacional, ou de implementação),
por sua vez, já realiza o mapeamento do esquema conceitual para o modelo de
dados que será usado. O modelo de dados de implementação normalmente é o
modelo de dados relacional, que também é importantíssimo, muito cobrado
em provas e será bastante abordado nos exercícios. Tal projeto consolidará a
escrita do script do banco, com a criação do seu esquema.

Modelagem relacional: ilustração com tabelas e atributos

Por fim, temos o projeto físico, durante a qual são definidas as estruturas
de armazenamento interno, índices, caminhos de acesso e organizações de
arquivo para os arquivos do banco de dados. Já passa a depender de regras de
implementação e restrições tecnológicas.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 9 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Figura: Do modelo conceitual ao físico(MAXEY,2002)

Dica do professor: entender as categorias de modelos de dados é


fundamental para a contextualização do modelo relacional, que é o assunto da
nossa próxima aula!

1.5 Arquitetura três esquemas de um SGBD

A arquitetura três esquemas é uma outra abordagem, que ilustra essa


separação entre usuário e aplicação. Nesta arquitetura, os esquemas podem ser
descritos em três níveis:

Arquitetura três esquemas, Elmasri e Navathe (2006)

Prof. Victor Dalton


www.estrategiaconcursos.com.br 10 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Nível externo: abrange os esquemas externos, ou visões de usuário. Cada


esquema descreverá apenas a visão pertinente de cada usuário a respeito do
Banco de Dados, ocultando o restante. Por exemplo, para um aluno, de um
sistema de aulas online, somente determinada parte do BD lhe é relevante,
provavelmente relacionada aos cursos que realiza. Para um administrador
financeiro desse sistemas, por sua vez, aspectos administrativos serão mais
relevantes, relacionados aos pagamentos dos cursos e de pessoal.

Nível conceitual: possui um esquema conceitual, que descreve o banco de


dados como um todo. Oculta detalhes do armazenamento físico, enfatizando
entidades, tipos de dados e restrições.

Nível interno: apresenta um esquema interno, descrevendo a estrutura de


armazenamento físicos do banco de dados.

Atenção!

Não confunda os esquemas com os modelos! Na verdade, é possível até


realizar algumas associações, pois alguns modelos são mais adequados para
representar alguns esquemas. Veja a associação a seguir:

Nível externo – Modelo conceitual, Modelo relacional

Nível conceitual – Modelo relacional

Nível interno – Modelo físico

Eu nunca vi questões de prova traçando essa comparação, mas é


importante que você não confunda o nível conceitual com o modelo conceitual.
O nível conceitual é um nível intermediário na arquitetura três esquemas,
enquanto o modelo conceitual é um modelo de alto nível nas categorias de
modelos de dados. Normalmente, as questões sobre categorias ou esquemas
são um fim em si mesmo, logo, basta “chavear o disjuntor” para não haver
confusão. Fique de olho!
Enfim, fica a ideia de que o modelo relacional pode ser utilizado tanto para
representações do nível externo quanto do nível conceitual.

1.5.1 Independência lógica e independência física dos dados

Dois conceitos relacionados à arquitetura três esquemas que, não raro,


aparecem em questões de concursos são a independência lógica e a
independência física dos dados.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 11 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Independência lógica é a capacidade de alterar o esquema conceitual


sem precisar modificar os esquemas externos.

Independência física é a capacidade de alterar o esquema interno sem


precisar modificar o esquema conceitual.

Esses esquemas e seus respectivos mapeamentos são guardados no


catálogo do banco de dados. Ele será visto na próxima aula.

1.6 Tipos de modelos de dados

Apoiando a estrutura de um banco de dados está o modelo de dados:


uma coleção de ferramentas conceituais para descrever dados, relações de
dados, semântica de dados e restrições de consistência. Um modelo de dados
oferece uma maneira de descrever o projeto de um banco de dados no nível
físico, lógico e de visão.

Existem vários modelos de dados diferentes. Vejamos alguns:

Modelo hierárquico: O modelo hierárquico foi o primeiro a ser


reconhecido como um modelo de dados. Nele, os registros são conectados em
uma estrutura de dados em árvore, similar a uma árvore invertida (ou às raízes
de uma árvore).

Neste modelo, uma ligação é uma associação entre dois registros. O


relacionamento entre um registro-pai e vários registros-filhos possui
cardinalidade 1:N, ou 1:1, sendo N =1. Os dados organizados segundo este
modelo podem ser acessados segundo uma sequência hierárquica com uma
navegação do topo para as folhas e da esquerda para direita. Um registro pode
até estar associado a vários registros diferentes, desde que seja replicado.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 12 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Neste exemplo, perceba que os registros da tabela empregado possuem


hierarquia direta em relação aos registros da tabela departamento.

O modelo hierárquico possui muitas limitações. Ele pode ser útil para
modelar esquemas fortemente hierárquicos (como classificações para espécies
dos reinos animal e vegetal, corporações, hierarquias governamentais, etc.),
mas apresenta limitações quando representa modelos não-hierárquicos. Isto
provocou o surgimento do modelo em rede.

Modelo em rede: o modelo em rede acabou eliminando a hierarquia, pois


passou a permitir que, em tese, cada registro filho pudesse ser ligado a mais de
um registro pai.

Nesse caso, a estrutura em árvore se desfaz, e passa a se assemelhar a


uma estrutura em grafo. Relacionamentos N:M também passam a ser permitidos
(lembrando que o relacionamento é estabelecido entre registros).

Prof. Victor Dalton


www.estrategiaconcursos.com.br 13 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

Perceba que, neste modelo, é possível colocar um empregado vinculado a


mais de um departamento, o que não era possível no modelo hierárquico.

Os modelos de dados em rede e hierárquicos precederam o modelo de


dados relacional, que é o mais utilizado atualmente. São muito pouco utilizados
nos dias de hoje, a não ser em bancos de dados antigos que ainda estejam em
vigor.

Modelo relacional: O modelo relacional usa uma coleção de tabelas para


representar os dados e as relações entre eles. Foi o modelo que eu utilizei para
explicar os conceitos básicos de banco de dados, e é o modelo mais utilizado ( e
cobrado em provas). Cada tabela possui diversas colunas, e cada coluna possui
um nome único. Tabelas também são chamadas de relações.(Deixei isso
pra depois de propósito: não confunda relação com os relacionamentos entre as
tabelas). Cada tabela contém tuplas. Cada tupla possui um número fixo de
campos, ou atributos. As colunas das tabelas correspondem aos atributos do tipo
de registro. Este modelo é o mais utilizado na fase de projeto lógico do BD.

Modelo Entidade/Relacionamento: O modelo de Entidade-


Relacionamento (E-R) é baseado na percepção de um mundo real que consiste
em uma coleção de objetos básicos, chamados entidades, e os relacionamentos
entre esses objetos (existem autores que falam em relação para descrever
relacionamentos. Preste atenção em uma eventual questão de prova, para saber
o que a banca quer). Uma entidade é uma “coisa” ou “objeto” no mundo real
que é distinguível dos outros objetos (como pessoa, ou carro). É um modelo mais
alto nível, empregado na fase do projeto conceitual, que é anterior à fase do
projeto lógico, no qual se utiliza o modelo relacional. Também cai em provas.

Modelo de dados orientado a objetos: É uma extensão do modelo ER


com noções de encapsulamento de identidade do objeto (isso será visto em
programação).

Modelo de dados objeto-relacional: Combina características do modelo


relacional com o modelo orientado a objetos.

P.S: Não se surpreenda em ter visto os modelos relacional e entidade


relacionamento também neste tópico. Os tipos de modelos de dados
apresentados não deixam de ter um caráter histórico, refletindo a evolução dos
modelos ao longo do tempo. Por isso, os modelos relacional e E-R acabaram se
consolidando nas categorias vistas anteriormente.

Prof. Victor Dalton


www.estrategiaconcursos.com.br 14 de 15
Curso Regular de Banco de Dados e Business Intelligence
Prof Victor Dalton に Aula 00

CONSIDERAÇÕES FINAIS

E chegamos ao final da aula demonstrativa!

A continuação dessa aula, abordando o modelo relacional, a bateria de


exercícios correspondente e a videoaula completa do assunto estarão
disponíveis na próxima aula. Espero reencontrar você, como um aluno efetivo.

Até a próxima!

Victor Dalton

Prof. Victor Dalton


www.estrategiaconcursos.com.br 15 de 15

Você também pode gostar