Você está na página 1de 24

Professor Enildo

Contato e-mail : professor.enildo@hotmail.com


Introdução a banco de dados
 Existem vários tipos de banco de dados e eles estão
presentes na nossa vida há muito tempo, a lista
telefônica por exemplo pode ser considerada um
banco de dados.

 Antigamente as empresas armazenavam


informações em arquivos físicos, mas o
surgimento e evolução dos computadores
possibilitaram o armazenamento de dados de
modo digital. Assim os bancos de dados evoluíram
e se tornaram o coração de muitos sistemas de
informação.

 "Bancos de dados são coleções de dados


interligados entre si e organizados para fornecer
informações.“
Breve história
 A humanidade sempre procurou manter registros
históricos dos eventos mais importantes para que
pudessem ser utilizados posteriormente.
 Exemplos: Pinturas em cavernas, inscrições
hieroglíficas, escritas cuneiformes e a imprensa (a partir
do século XV).
 Os computadores inventados e aperfeiçoados a partir do
século XX permitiram que os dados fossem armazenados
e recuperados com grande rapidez e facilidade.
 No início da década de 70 surgiram os SGBDs (Sistemas
de Gerenciamento de Banco de Dados).
 Pesquisas na área resultaram em um conjunto de
técnicas, processos e notações para a modelagem ou
projeto de banco de dados.
 Bancos de dados relacionais surgiram na empresa IBM, nas
décadas de 1960 e 1970, através de pesquisas de funções de
automação de escritório.
 Foi durante um período da história na qual empresas
descobriram que estava muito custoso empregar um número
grande de pessoas para fazer trabalhos como armazenar e
indexar (organizar) arquivos.
 Em 1970 um pesquisador da IBM - Ted Codd - publicou o
primeiro artigo sobre bancos de dados relacionais.
 Este artigo tratava sobre o uso de cálculo e álgebra relacional
para permitir que usuários não técnicos armazenassem e
recuperassem grande quantidade de informações.
 Codd visionava um sistema onde o usuário seria capaz de
acessar as informações através de comandos em inglês, onde
as informações estariam armazenadas em tabelas.
 Eventualmente o Sistema R evoluiu para SQL/DS, o qual
posteriormente tornou-se o DB2. A linguagem criada pelo
grupo do Sistema R foi a Structured Query Language (SQL) -
Linguagem de Consulta Estruturada).
 Esta linguagem tornou-se um padrão na indústria para bancos
de dados relacionais e hoje em dia é um padrão ISO
(International Organization for Standardization).
 A ISO é a Organização Internacional de Padronização.
 A linguagem SQL era originalmente conhecida como SEQUEL
(Structured English Query Language) e depois foi abreviada
como SQL.
 O padrão SQL passou da IBM para a ANSI (American National
Standards Institute) - Instituto Nacional Americano para
Padrões - e para a ISO, os quais formaram um grupo de
trabalho para continuar o desenvolvimento.
Os primeiros do mercado
 Mesmo a IBM sendo a companhia que inventou o conceito original e o
padrão SQL, eles não produziram o primeiro sistema comercial de banco
de dados. O feito foi realizado pela Honeywell Information Systems Inc.,
cujo sistema foi lançado em junho de 1976. O sistema era baseado em
muitos princípios do sistema que a IBM concebeu, mas foi modelado e
implementado fora da IBM.
 O primeiro sistema de banco de dados construído baseado nos padrões
SQL começaram a aparecer no início dos anos 80 com a empresa Oracle
através do Oracle 2 e depois com a IBM através do SQL/DS, servindo como
sistema e repositório de informações de outras empresas.

https://dicasdeprogramacao.com.br/o-que-e-um-banco-de-dados/
https://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649
https://www.homehost.com.br/blog/tutoriais/mysql/o-que-e-um-banco-de-dados/
Ranking de sistemas de bancos de dados mais usados em 2018/2019

https://codigosimples.net/2019/03/08/lista-de-banco-de-dados-mais-utilizados-no-mercado-2018-2019/
Orientação a Objetos
 Em meados da década de 80 tornou-se óbvio que existiam
várias áreas onde bancos de dados relacionais não eram
aplicáveis, por causa dos tipos de dados envolvidos. Estas
áreas incluíam medicina, multimídia e física de energia
elevada, todas com necessidades de flexibilidade em como os
dados seriam representados e acessados.
 Este fato levou ao início de pesquisas em bancos de dados
orientados a objetos, os quais os usuários poderiam definir
seus próprios métodos de acesso aos dados e como estes
seriam representados e acessados. Ao mesmo tempo,
linguagens de programação orientadas a objetos (Object
Oriented Programming - POO) tais como C++ começaram a
surgir na indústria.
 No início de 1990, temos a aparição do primeiro Sistema de
Gerenciamento de Banco de Dados Orientado a Objetos,
através da companhia Objectivity. Isso permitiu com que
usuários criassem sistemas de banco de dados para
armazenar resultados de pesquisas como o CERN (maior
laboratório que trabalha com partículas físicas em pesquisas
nucleares - europeu) e SLAC (Centro de Aceleração Nuclear
- norte-americano), para mapeamento de rede de
provedores de telecomunicações e para armazenar registros
médicos de pacientes em hospitais, consultórios e
laboratórios.
Definição
 Um sistema de gerenciamento de banco de dados SGBD
consiste em uma coleção de dados inter-relacionados e em um
conjunto de programas para acessá-los. Um conjunto de dados,
normalmente referenciado como banco de dados, contém
informações sobre uma empresa particular, por exemplo. O
principal objetivo de um SGBD é prover um ambiente que seja
adequado e eficiente para recuperar e armazenar informações
de banco de dados.
 Um conjunto de informações organizadas em tabelas de dados,
relacionadas ou não mas gerenciadas por mecanismo de
controle que permitem integridade, agilidades ao acesso,
controle de acessos, controle de manutenção dos dados,
estruturação, organização.
Importância dos sistemas de bancos de dados nas organizações
 A importância das informações na maioria das organizações e o
consequente valor dos bancos de dados têm orientado o desenvolvimento
de um grande corpo de conceitos e técnicas para o gerenciamento eficiente
dos dados.

 Cenário de Problemas

 Imaginemos parte de um banco que mantenha informações sobre todos os


clientes e contas de poupança em sistemas de arquivos permanentes no
banco. O sistema tem ainda uma quantidade de programas aplicativos que
permitem ao usuário manipular os arquivos, incluindo:
 Um programa para debitar ou creditar em uma nova conta;
 Um programa para adicionar uma nova conta;
 Um programa para calcular o saldo de uma conta;
 Um programa para gerar posicionamentos mensais.
 Esses programas aplicativos foram desenvolvidos por programadores em
resposta às necessidades da organização bancária.
 Novos programas de aplicação são adicionados ao sistema à medida que as
necessidades aparecem. Logo, mais arquivos e mais programas são
acrescidos ao sistema.
 O típico sistema de processamento de arquivos acima é suportado por um
sistema operacional convencional. Registros permanentes são guardados
em diversos arquivos, e em uma série de diferentes programas aplicativos é
escrita para extrair e adicionar registros aos arquivos apropriados. Este
esquema tem uma série de desvantagens:
 Redundância e inconsistência de dados: muitos programadores
diferentes e programas implementados em linguagens diferentes podem
gerar arquivos de formatos diferentes. Informações podem estar duplicadas
em diversos lugares. Gera inconsistência pois estas cópias podem estar com
valores diferentes.
 Dificuldade no acesso aos dados: um diretor deseja a lista de todos os
clientes que moram na cidade de CEP 34863. Ou ele extrai manualmente
esta informação de uma lista de clientes ou pede a um programador
escrever um programa que aplicativo. Suponha mais tarde que o mesmo
diretor deseje uma lista com os clientes com mais de $10000. Tal lista não
existe e novamente o diretor tem as duas opções.
 Isolamento dos dados: como os dados estão espalhados, em arquivos
separados e com formatos diferentes, é difícil escrever novos programas
aplicativos para recuperar os dados adequados.
 Anomalias de acesso concorrente: para aperfeiçoar o desempenho geral
do sistema e obter tempo de reposta mais rápido, deixamos que múltiplos
clientes acessem e atualizem os dados simultaneamente. Isso gera dados
inconsistentes. Exemplo: dois clientes sacarem dinheiro de uma mesma
conta corrente.
 Problemas de segurança: nem todo usuário do sistema de BD deve ter
acesso a todos os dados. Por exemplo: o RH pode ter acesso às informações
cadastrais dos clientes, mas não aos valores de conta corrente. Se novos
programas aplicativos forem adicionados, é difícil assegurar tais restrições
de segurança.
 Problemas de integridade: os valores dos dados armazenados
necessitam satisfazer certas restrições. Por exemplo, o saldo nunca estar
abaixo de $25. Estas restrições podem estar contidas nos programas
aplicativos, mas quando novas restrições forem adicionadas, é difícil de
alterar estes programas.
 Por estes motivos faz-se necessária uma abordagem relacionada à aplicação
de um SGBD, a fim de evitar os problemas descritos.
As vantagens de um SGBD
 Um sistema de gerenciamento de banco de dados é um conjunto de programas
de software que permite aos usuários criar, editar, atualizar, armazenar e
recuperar dados em tabelas de banco de dados. Dados em um banco de dados
podem ser acrescentados, apagados, alterados, classificados usando um SGBD.
Se você fosse um empregado em uma grande organização, a informação sobre
você provavelmente seria armazenadas em diferentes tabelas que estão ligados
entre si. Por referência cruzada dessas tabelas, alguém poderia mudar o
endereço de uma pessoa em uma tabela e ela seria automaticamente refletida
para todas as outras tabelas.

 Podemos controlar a redundância de informações


 Conseguimos evitar inconsistências nos dados
 Garantia de integridades dos dados
 Compartilhamento de dados controlado pelo gerenciador
 Aplicabilidade de pacotes de representação de dados e regras
 Capacidade de definir níveis de segurança sobre os dados
 Balanceamento de performance
 Controle de Backup de Banco de Dados

http://ehgomes.com.br/disciplinas/bdd/sgbd.php
Servidores
 Um servidor é um computador equipado com um ou mais processadores, bancos de
memória, portas de comunicação e, ocasionalmente, algum sistema para armazenamento
de dados como hard disks internos ou memórias SSD. Capazes de executar um conjunto
específico de programas ou protocolos para fornecer serviços para outras máquinas ou
clientes, servidores são equipamentos dedicados a executar aplicações e serviços dentro de
uma rede LAN ou WAN.

Data Center
 Data Center, ou Centro de Processamento de Dados, é um ambiente projetado para
concentrar servidores, equipamentos de processamento e armazenamento de dados, e
sistemas de ativos de rede, como switches, roteadores, e outros. Por isso, é considerado o
sistema nervoso das empresas. Com a finalidade de abrigar milhares de servidores e
bancos de dados, e processar grandes quantidades de informação, os equipamentos
geralmente são montados em racks ou armários metálicos. Possuem proteção contra
incêndios, além de sistemas de resfriamento dos racks, para manter uma temperatura
estável. Na maioria dos casos, ficam localizados em grandes galpões com acesso restrito de
funcionários, por questões de segurança. Esses espaços são fundamentais para serviços e
atividades de diversos setores da economia: energia, iluminação, telecomunicações,
Internet, transportes, tráfego urbano, bancos, sistemas de segurança, saúde pública,
entretenimento, e muitos outros. A vida na maioria das cidades depende do bom
funcionamento e da disponibilidade de um ou vários Data Centers.

https://blogbrasil.comstor.com/bid/334188/o-que-um-data-center
https://www.controle.net/faq/o-que-sao-servidores
VÍDEOS
O que é um banco de dados?

https://www.youtube.com/watch?v=Ofktsne-utM

O que é um SGBD?

https://www.youtube.com/watch?v=NnG7f60XPkQ

Servidor

https://www.youtube.com/watch?v=4ilLf8VqLa4

Como funciona um DATA CENTER?

https://www.youtube.com/watch?v=jQx6wItPuSo
Dado & Informação
 Os DADOS são os registros soltos, aleatórios, sem quaisquer análise
(Rezende, 2015).
 Dados são códigos que constituem a matéria prima da informação, ou
seja, é a informação não tratada que ainda não apresenta relevância.
Eles representam um ou mais significados de um sistema que
isoladamente não pode transmitir uma mensagem ou representar
algum conhecimento (de Silva, 2007).

 A INFORMAÇÃO seria qualquer estruturação ou organização desses


dados.
 Ela é um registro, em suporte físico ou intangível, disponível à
assimilação crítica para produção de conhecimento (LE COADIC, 1996).
 Informação é, portanto, o material de que é feito o conhecimento, após
posicionamento crítico do indivíduo. Além disso, a informação é
derivada dos dados que, sem um sentido ou contexto, significam muito
pouco.

https://conceito.de/dados
http://eliana-rezende.com.br/dados-informacao-e-conhecimento-o-que-sao/
Universo de Discurso ou Mini-mundo
 Mini-Mundo é uma Parcela do Mundo Real sobre a qual se pretende
absorver o Conhecimento Organizacional ou Conhecimento de Negócio
(Requisitos de Informação e Regras de Negócio), analisar os problemas
existentes, propor alternativas de solução, projetar e implementar uma
solução escolhida (Domínio da Solução – Banco de Dados – Estrutura -
Comportamento) e, posteriormente, implantar, operar e manter em
funcionamento essa solução.

 O banco de dados representa uma porção do mundo real, o qual se chama


minimundo ou universo de discurso. Qualquer alteração no
minimundo deve ser refletida no banco de dados.
 O banco de dados é um conjunto lógico e ordenado de dados que
possuem algum significado, e não uma coleção aleatória.
 O banco de dados é construído e povoado com dados que têm um
determinado objetivo, com usuários e aplicações desenvolvidas para
manipulá-los.

http://e-reality-database.blogspot.com/2007/09/mini-mundo.html
O Projeto de Banco
de Dados
Todo projeto de um sistema de
aplicação para banco de dados
necessita de um coração, um
centro nervoso. A modelagem de
um sistema pela abordagem
Entidade-Relacionamento
representa esse ponto central no
Projeto Conceitual de um sistema.

A utilização de uma abordagem


correta de metodologia orientada a
banco de dados envolve a
estruturação nos três níveis de
visão de dados, ou seja, três etapas
na execução de um projeto:
conceitual, lógico e físico.

https://www.ic.unicamp.br/~santanch/teaching/db/2013-2/slides/bd02-modelagem-v06-1.pdf
O processo de criação de banco de dados
Um banco de dados bem-estruturado:

 Economiza espaço em disco ao eliminar dados


redundantes.
 Mantém a exatidão e a integridade dos dados.
 Oferece acesso aos dados de maneiras úteis.

Criar um banco de dados eficiente e útil é uma questão


de seguir o processo adequado, incluindo as fases a
seguir:

 Análise de requisitos, ou identificação do objetivo do banco


de dados
 Organizando dados em tabelas
 Especificando chaves primárias e analisando relações
 Normalizando para padronizar as tabelas

https://www.lucidchart.com/pages/pt/tutorial-de-criacao-e-estruturacao-de-banco-de-dados
Análise de requisitos: identificando o
objetivo do banco de dados

 Compreender a finalidade do banco de dados servirá


de base para informar suas escolhas durante todo o
processo de criação. Certifique-se de considerar o
banco de dados de todas as perspectivas.

 Por exemplo, se você estiver criando um banco de


dados para uma biblioteca pública, seria importante
considerar as maneiras pelas quais os usuários e
bibliotecários precisariam acessar os dados.
Maneiras de coletar informações antes de criar o
banco de dados

➢ Entreviste as pessoas que o usarão


➢ Análise formulários corporativos, como faturas, quadros de horários e
pesquisas
➢ Faça um pente fino em todos os sistemas de dados existentes
(incluindo arquivos físicos e digitais)

Entidades – É um objeto que existe e é distinguível de outros objetos,


tem algum significado, e sobre o qual é necessário guardar informação.
 Comece reunindo todos os dados existentes que serão incluídos no banco
de dados. Em seguida, liste os tipos de dados que você deseja armazenar e
as entidades, ou pessoas, coisas, locais e eventos que esses dados
descrevem, assim:

Clientes Produtos Pedidos


 Nome  Nome  ID do pedido
 Endereço  Preço  Representante de vendas
 Quantidade em estoque  Data
 Cidade, Estado, CEP
 Quantidade em pedidos  Produto(s)
 Endereço de e-mail
 QUANTIDADE
 Preço
 Total

 Essas informações mais tarde se tornarão parte do dicionário de dados, que


descreve as tabelas e os campos dentro do banco de dados. Certifique-se de
dividir as informações em pequenas partes úteis. Por exemplo, considere
separar o endereço do país para que você possa filtrar mais tarde as pessoas
pelo país de residência. Além disso, evite colocar o mesmo ponto de dados em
mais de uma tabela, o que acrescenta complexidade desnecessária.