UNIESP - FACULDADE RENASCENÇA

Propaganda
UNIESP - FACULDADE RENASCENÇA
ADMINISTRAÇÃO DE EMPRESAS
ADMINISTRAÇÃO DE SISTEMA DE INFORMAÇÃO
Aline Bandeira Brizola Ducatti
RA 08100893
Danilo Mangabeira
RA 09102970
Fernando S. Do Nascimento
RA 06117989
Joélia de Jesus Almeida dos Santos
RA 08102020
Michelle Cavalcanti
RA 09102907
Silvana S. Costa Leme
RA 08101640
BANCO DE DADOS
2009 (4º SEMESTRE)
São Paulo
2009
Aline Bandeira Brizola Ducatti
RA 08100893
Danilo Mangabeira
RA 09102970
Fernando S. Do Nascimento
RA 06117989
Joélia de Jesus Almeida dos Santos
RA 08102020
Michelle Cavalcanti
RA 09102907
Silvana S. Costa Leme
RA 08101640
BANCO DE DADOS
2009 (4º SEMESTRE)
Trabalho Acadêmico apresentado à
disciplina Administração de Sistema
de
Informação
da
Uniesp
–
Faculdades Renascença, como nota
parcial sob orientação da Professora
Olívia Braga.
São Paulo
2009
Informação é Conhecimento,
Conhecimento é Poder e
quem tem poder está no
Comando.
Goxany Sonamize Uchouane
SUMÁRIO
1.
INTRODUÇÃO........................................................................5
2.
DADOS X INFORMAÇÃO..........................................................6
2.1
Dados .................................................................................6
2.2
Informação...........................................................................6
3.
BANCO DE DADOS.................................................................7
3.1
Estrutura de banco de dados...................................................7
4.
COMO UTILIZAR O BANCO DE DADOS......................................8
5.
SEGURANÇA EM BANCO DE DADOS..........................................9
5.1
Criptografia...........................................................................9
5.2
Senhas.................................................................................9
5.3
Backup.................................................................................9
6.
FUNÇÕES INTERNAS COMUNS EM BANCO DE DADOS.................9
6.1
Regras.................................................................................9
6.1.1 Regras de Negócios...............................................................9
6.1.2 Regras de Normatização de dados...........................................9
6.1.3 Regras de Segurança.............................................................9
6.2
Procedimento Armazenado......................................................9
6.3
Gatilho...............................................................................10
6.4
Índice.................................................................................10
6.5
Tabelas...............................................................................10
7.
TIPOS DE BANCO DE DADOS.................................................11
7.1
Oracle ...............................................................................12
8.
MODELO DE BANCO DE DADOS.............................................12
8.1
Modelo Relacional................................................................13
9.
QUAIS OS DESAFIOS PARA IMPLANTAR O BANCO DE DADOS....14
9.1
Controle de Redundância......................................................14
9.2
Compartilhamento de Dados..................................................15
9.3
Restrição a Acesso não Autorizado..........................................15
9.4
Representação de Relacionamentos Complexo entre Dados........15
9.5
Tolerância a Falhas...............................................................15
10.
CONCLUSÃO........................................................................16
11.
BIBLIOGRAFIA.....................................................................17
12.
ANEXOS..............................................................................18
1.
INTRODUÇÃO
Com o avanço tecnológico é importante destacar que dentro de
uma organização, o conceito bem definido sobre o que é “Dado”, assim
como, o que é “Informação” é necessário para que se obtenha
resultados satisfatórios.
Com tudo não basta apenas defini-los, mas colocá-los em prática
dia após dia, buscando a eficácia necessária que tem início no sistema
de gestão de organização em questão.
Quando precisamos armazenar, coletar e retornar informações, a
primeira coisa que nos vem a mente é a utilização de um banco de
dados, e, neste quesito não faltam opções no mercado, o trabalho a
seguir nos dará informações sobre eles, sua utilização e os desafios de
implantá-los.
2.
DADOS X INFORMAÇÃO
2.1
Dado: É um elemento que mantém a sua forma bruta (texto,
imagens, sons, vídeos, etc.), ou seja, ele sozinho não levará a
compreender determinada situação.
Tipos de Dados:

Numérico: Qualquer tipo de dado que não possua nenhum
caractere alfanumérico.
Ex: A idade de um funcionário.

Texto: Qualquer tipo de dado de caractere alfanumérico.
Ex: O nome de um funcionário.

Data: Datas, independente de seus formatos.
Ex: A data de aniversário de um funcionário.

Imagens: Imagens a serem armazenadas em uma base de
dados.
Ex: A foto de um funcionário.
2.2
Informação:
é
o
resultado
do
processamento
de
uma
sequência de dados.
Esse processamento ocorre porque os dados precisam sofrer a
intervenção de um agente transformador, cujo a função é de interpretar
os dados para que a informação passo agregar conhecimento.
Ex: Os dados cadastrais de um funcionário juntamente com os dados de
cadastrais de um departamento, poderá gerar informações que serão
tratadas na geração da folha de pagamento de uma determinada
empresa.
Característica da Informação

Pertinência;

Disponibilidade no tempo adequado;

Precisão.
3.
BANCO DE DADOS
Bancos de dados (ou bases de dados) são conjuntos 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.
Um banco de dados é usualmente mantido e acessado por meio de
um software conhecido como SGBD. Normalmente um SGBD adota um
modelo de dados de forma, pura, reduzida ou estendida.
O modelo de dados mais adotado hoje em dia é o modelo
relacional, onde as estruturas têm a forma de tabelas, compostas por
tuplas (linhas) e colunas.
Os bancos de dados se engenharam graças à necessidade das
grandes empresas de armazenar grandiosas quantidades de informação
de uma forma rápida, simples e confiável, e que por sua vez pudessem
acessá-la em qualquer momento sem a necessidade de se deslocar às
salas dedicadas a arquivar documentação, como até há pouco tempo se
fazia.
Como definição do banco de dados, entendemos que se trata de
um
conjunto
de
dados
inter-relacionados
e
armazenados
sem
redundâncias desnecessárias, os quais servem às aplicações sem
estarem relacionados de uma maneira direta entre eles.
Um banco de dados pode ser utilizado por várias aplicações e
usuários. Todo banco de dados deve permitir inserir, modificar e excluir
dados, portanto nos bancos de dados se salvam informações de dois
tipos:

Os dados de usuários (dados usados pelas aplicações).

Os dados de sistema (dados que o banco de dados utiliza para sua
administração. Ex: Dados dos usuários que têm acesso ao banco
de dados).
3.1
Estrutura do Banco de dados
Geralmente a estrutura do banco de dados é semelhante à de uma
planilha eletrônica, porém os sistemas de gestão de banco de dados
possuem características especiais para o armazenamento, classificação,
gestão da integridade e recuperação dos dados. Com a evolução de
padrões de conectividade entre as tabelas de um banco de dados e
programas desenvolvidos em linguagens como Java, Delphi, Visual Basic
e etc. A apresentação dos dados, bem como a navegação, passou a ser
definida pelo programador ou o designer de aplicações. Como hoje em
dia a maioria das linguagens de programação fazem ligações a bancos
de dados, a apresentação destes tem ficado cada vez mais a critério dos
meios de programação, fazendo com que os bancos de dados deixem de
restringir-se às pesquisas básicas, dando lugar ao compartilhamento,
em tempo real, de informações, mecanismos de busca inteligentes e
permissividade de acesso hierarquizada.
4.
COMO UTILIZAR O BANCO DE DADOS?
1º Os dados são transformados em informações;
2º A informação é transformada em conhecimento.
Esse processo pode proporcionar condições adequadas para
análises que implicaram em tomada de decisões.
De
posse
da
informação,
nem
sempre
o
conhecimento
é
necessário ou adequado, pois, se a base de dados não for consistente,
após o processamento do mesmo, haverá um retorno limitado. Ou seja,
informações não satisfatórias para uma tomada de decisão coerente
tende a apresentar resultados com pouco utilidade prática, podendo
gerar
consequências
funcionários,
devido
desastrosas,
a
assim
re-processo
ou
como
até
a
ineficiência
mesmo
a
falta
de
de
conhecimento.
Para obter o resultado esperado de uma base de dados devemos
seguir os seguintes passos:
1º
Definir o tipo de informação primordial de acordo com a atividade
da organização.
2º
Análise dos dados, buscando clareza e um bom relacionamento
entre entidades de um banco de dados.
3º
Um bom desempenho e objetividade do processamento dos dados.
Os tópicos apresentados no slide anterior representa a estrutura
básica para que uma organização obtenha bons resultados através da
dinâmica do seu “sistema de informação”.
5.
SEGURANÇA EM BANCO DE DADOS
Os bancos de dados são utilizados para armazenar diversos tipos
de informações, desde dados sobre uma conta de e-mail até dados
importantes da Receita Federal. Para tal existem diversos tipos, os quais
variam em complexidade e, sobretudo em segurança.
5.1
Criptografia: São dados que vem codificados.
5.2
Senhas: São formas de controlar os acessos, garintindo o sigilo
dos dados.
5.3
Backup: É uma forma de guardar os dados, modo a resgatá-los a
qualquer momento.
6.
FUNÇÕES INTERNAS COMUNS EM BDs
6.1
Regras:
6.1.1
Regras de Negócio: Relacionadas a procedimentos e
verificações que tem a ver com o conteúdo. Definem como devem ser
relacionadas entre si as informações e podem incluir procedimentos
automáticos, programados internamente (Gatilhos ou triggers) para
verificação e validação dos dados de acordo com a necessidade do
usuário.
Nos
bancos
de
dados
relacionais,
podem
ser
criados procedimentos armazenados ou (Stored Procedures) internos
que definem o que deve ocorrer quando se insere ou edita-se
informação dentro de uma tabela interna.
6.1.2
Regras de normalização de dados: Relacionadas com a
estrutura ou modo como as informações são armazenadas. Incluem
princípios ou “normas formais” que contribuem para a qualidade e
melhor desempenho no uso dos dados.
6.1.3
Regras
de
Segurança:
Especificam
procedimentos
e
direitos de utilização das informações armazenadas. Incluem definições
de usuários e permissões de acesso, edição, alteração e exclusão das
informações.
6.2
Procedimento armazenado ou Stored Procedure: é uma
coleção de comandos em SQL para dispensamento de Banco de dados.
Encapsula tarefas repetitivas, aceita parâmetros de entrada e retorna
um valor de status (para indicar aceitação ou falha na execução). O
procedimento armazenado pode reduzir o tráfego na rede, melhorar o
desempenho, criar mecanismos de segurança, etc.
6.3
Gatilho ou trigger:
É um recurso de programação executado
sempre que o evento associado ocorrer.
É muito utilizada para ajudar a manter a consistência dos dados
ou para propagar alterações em um determinado dado de uma tabela
para outras. Um bom exemplo é um gatilho criado para controle de
quem alterou a tabela, nesse caso, quando a alteração for efetuada, o
gatilho é "disparado" e grava em uma tabela de histórico de alteração, o
usuário e data/hora da alteração.
6.4
Índice: É um arquivo auxiliar associado a uma Tabela. Sua função
é acelerar o tempo de acesso às linhas de uma Tabela, cria ponteiros
para os dados armazenados em colunas especificas. O Banco de
dados usa o Índice de maneira semelhante ao índice remissivo de um
livro, verifica um determinado assunto no Índice e depois localiza a sua
posição em uma determinada página.
6.5
Tabelas: Nos modelos de bases de dados relacionais, a tabela é
um conjunto de dados dispostos em número finito de colunas e número
ilimitado de linhas (ou tuplos).
As colunas são tipicamente consideradas os campos da tabela, e
caracterizam os tipos de dados que deverão constar na tabela
(numéricos, alfa-numérico, datas, coordenadas, etc). O número de
linhas pode ser interpretado como o número de combinações de valores
dos campos da tabela, e pode conter linhas idênticas, dependendo do
objetivo. A forma de referenciar inequivocamente uma única linha é
através da utilização de uma chave primária.
Para além do tipo de dados inerente a todas as colunas de uma
tabela,
algumas
(SQL: UNIQUE),
podem
proibição
ter
associadas
de
restrições:
a
unicidade
valores NULL (SQL: NOT
NULL),
delimitação de valores, etc. Estas restrições impedem que sejam
inseridos
valores
não
desejados
que
comprometam
a
validade
e integridade dos dados.
O número de tuplas de uma tabela é virtualmente ilimitado, o que
torna as pesquisas por valor potencialmente muito lentas. Para permitir
agilizar estas consultas, podem ser associados índices à tabela, que
são estruturas de dados independentes da forma e ordem como estão
armazenados os dados, embora tenham relação direta com os mesmos.
Como consequência, a cada alteração de dados, irá corresponder uma
(ou mais) alterações em cada um dos índices, aumentando o esforço
necessário ao SGBD para gerir essa alteração, motivo pelo qual os
índices não existam naturalmente para cada coluna. A estrutura usada
para a elaboração do índice depende do SGBD e do tipo de dados das
colunas usadas no índice: árvore B, árvore R, etc.
Não obstante o papel principal da tabela ser a de armazenamento
de
dados,
é
também
utilizada
como
representação
de relações,
tipicamente de N para M. Nesse caso específico, essa tabela irá dispor
obrigatoriamente de duas relações 1 para N — uma para a tabela N e
outra para a tabela M — e, eventualmente, de atributos específicos à
relação. Como consequência desta característica, este tipo de tabela
nunca poderá conter linhas duplicadas.
Outro tipo de tabela especial — por não fazer armazenamento de
dados — é a vista, cujas tuplas são determinadas dinamicamente
através de uma query (consulta) de tabelas reais (que armazenam os
dados).
7.
TIPOS DE BANCOS DE DADOS
Existem diversos tipos de bancos de dados, vejamos alguns:

ANTS

APACHE

BLACKFISHSQL

CACHÉ

DERBY

DATAFLEX

DB2

FIREBIRD

HSQLDB

H2

INFORMIX

INGRES

INTERBASE

MAXDB

MSDE

MICROSOFT SQL SERVER

MSACCESS

MYSQL

ORACLE

PARADOX

POSTGRESQL

SMALLSQL

SQLBASE

SQLITE

SYBASE

VIRTUOSO
Falaremos um pouco sobre o Oracle que é um dos mais
conhecidos SGBD.
7.1
Oracle
O Oracle é um SGBD que surgiu no fim dos anos 70, quando Larry
Ellison vislumbrou uma oportunidade que outras companhias não
haviam percebido, quando encontrou uma descrição de um protótipo
funcional de um banco de dados relacional e descobriu que nenhuma
empresa tinha se empenhado em comercializar essa tecnologia.
Ellison e os co-fundadores da Oracle Corporation, Bob Miner e Ed
Oates, perceberam que havia um tremendo potencial de negócios no
modelo de banco de dados relacional tornando assim a maior empresa
de software empresarial do mundo.
O SGBD da Oracle é líder de mercado. O Oracle 9i foi pioneiro no
suporte ao modelo web. O Oracle 10g, mais recente, se baseia na
tecnologia de grid. Recentemente fora lançado o Oracle 11g que veio
com melhorias em relação ao Oracle 10g.
8.
MODELO DE BANCO DE DADOS
O modelo plano (ou tabular) consiste de matrizes simples,
bidimensionais, compostas por elementos de dados: inteiros, números
reais, etc. Este modelo plano é a base das planilhas eletrônicas.
O modelo em rede permite que várias tabelas sejam usadas
simultaneamente através do uso de apontadores (ou referências).
Algumas colunas contêm apontadores para outras tabelas ao invés de
dados. Assim, as tabelas são ligadas por referências, o que pode ser
visto como uma rede. Uma variação particular deste modelo em rede, o
modelo hierárquico, limita as relações a uma estrutura semelhante a
uma árvore (hierarquia - tronco, galhos), ao invés do modelo mais geral
direcionado por grafos.
8.1
Modelo Relacional
O modelo relacional para SGBD é um modelo de dados baseado
em lógica e na teoria de conjuntos.
Historicamente ele é o sucessor do modelo hierárquico e do
modelo em rede. Estas arquiteturas antigas são até hoje utilizadas em
alguns data centers com alto volume de dados, onde a migração é
inviabilizada pelo custo que ela demandaria; existem ainda os novos
modelos baseados em orientação ao objeto, que na maior parte das
vezes são encontrados como kits de construção de SGBD, ao invés de
um SGBD propriamente dito.
O modelo relacional foi o primeiro modelo de banco de dados
formal. Somente depois seus antecessores, os bancos de dados
hierárquicos e em rede, passaram a ser também descritos em
linguagem formal.
O
modelo
relacional
foi
inventado
pelo
Dr.
Codd
e
subsequentemente mantido e aprimorado por Chris Date e Hugh
Darwen como um modelo geral de dados. No Terceiro Manifesto (1995)
eles mostraram como o modelo relacional pode ser estendido com
características de orientação a objeto sem comprometer os seus
princípios fundamentais.
A linguagem padrão para os bancos de dados relacionais, SQL, é
apenas vagamente remanescente do modelo matemático. Atualmente
ela é adotada, apesar de suas restrições, porque ela é antiga e muito
mais popular que qualquer outra linguagem de banco de dados.
A principal proposição do modelo relacional é que todos os dados
são representados como relações matemáticas, isto é, um subconjunto
do
produto
Cartesiano
de
n
conjuntos.
No
modelo
matemático
(diferentemente do SQL), a análise dos dados é feita em uma lógica de
predicados de dois valores (ou seja, sem o valor nulo); isto significa que
existem dois possíveis valores para uma proposição: verdadeira ou
falsa. Os dados são tratados pelo cálculo relacional ou álgebra
relacional.
O modelo relacional permite ao projetista criar um modelo lógico
consistente da informação a ser armazenada. Este modelo lógico pode
ser refinado através de um processo de normalização. Um banco de
dados construído puramente baseado no modelo relacional estará
inteiramente normalizado. O plano de acesso, outras implementações e
detalhes de operação são tratados pelo sistema DBMS, e não devem ser
refletidos no modelo lógico. Isto se contrapõe à prática comum para
DBMSs SQL nos quais o ajuste de desempenho frequentemente requer
mudanças no modelo lógico.
Os blocos básicos do modelo relacional são o domínio, ou tipo de
dado. Uma tupla é um conjunto de atributos que são ordenados em
pares de domínio e valor. Uma relvar (variável relacional) é um conjunto
de pares ordenados de domínio e nome que serve como um cabeçalho
para uma relação. Uma relação é um conjunto desordenado de tuplas.
Apesar destes conceitos matemáticos, eles correspondem basicamente
aos conceitos tradicionais dos bancos de dados. Uma relação é similar
ao conceito de tabela e uma tupla é similar ao conceito de linha.
O
princípio
básico
do
modelo
relacional
é
o
princípio
da
informação: toda informação é representada por valores em relações
(relvars). Assim, as relvars não são relacionadas umas às outras no
momento do projeto. Entretanto, os projetistas utilizam o mesmo
domínio em vários relvars, e se um atributo é dependente de outro, esta
dependência é garantida através da integridade referencial.
9.
QUAIS SÃO OS DESAFIOS DE IMPLANTAÇÃO?
9.1
Controle de Redundância
No processamento tradicional de arquivos, cada grupo de usuários
deve manter seu próprio conjunto de arquivos e dados. Desta forma,
acaba ocorrendo redundâncias que prejudicam o sistema com problemas
como:

Toda vez que for necessário atualizar um arquivo de um grupo,
então todos os grupos devem ser atualizados para manter a
integridade dos dados no ambiente como um todo;

A redundância desnecessária de dados levam ao armazenamento
excessivo de informações, ocupando espaço que poderiam ser
utilizados com outras informações.
9.2
Compartilhamento de Dados
Um SGBD deve permitir que múltiplos usuários acessem o banco
de dados ao mesmo tempo. Este fator é essencial para que múltiplas
aplicações integradas possam acessar o banco.
O mesmo deve manter o controle de concorrência para assegurar
que os resultados de atualizações sejam corretos. Um banco de dados
deve fornecer recursos para a construção de múltiplas visões.
9.3
Restrição a Acesso não Autorizado
Um SGBD deve fornecer um subsistema de autorização e
segurança, o qual é utilizado pelo DBA para criar “contas” e especificar
as restrições destas contas; o controle de restrições se aplica tanto ao
acesso aos dados, quanto ao uso de softwares inerentes ao SGBD.
9.4
Representação de Relacionamentos Complexos entre Dados
Um banco de dados pode incluir uma variedade de dados que
estão inter-relacionados de várias formas. Um SGBD deve fornecer
recursos para representar uma grande variedade de relacionamentos
entre os dados, bem como, recuperar e atualizar os dados de maneira
prática e eficiente.
9.5
Tolerância a Falhas
Um SGBD deve fornecer recursos para recuperação de falhas tanto
de software quanto de hardware.
10. CONCLUSÃO
Concluímos que uma coleta de dados, após um processamento
dentro de um banco de dados, gera a informação. A informação por sua
vez, gera o conhecimento. Desta forma observamos a importância de
um sistema de banco de dados como ferramenta para organização,
tendo como principal finalidade de oferecer subsídios necessários para
tomada de decisões.
A informação varia de indivíduo para indivíduo, devido ao nível
de interpretação e características do analista responsável pelo processo
em questão. Portanto, a questão principal não é somente o tipo de
informação que terá em mãos, mas como ela será interpretada.
11. BIBLIOGRAFIA
Fonte: http://pt.wikipedia.org/wiki/Banco_de_dados acesso em 10/09/2009.
12. ANEXO
Download