Apostila 017 - rede de computadores

Propaganda
INFORMÁTICA INSTRUMENTAL – APOSTILA 17
Prof. Fernando Santana
Definições de Banco de Dados
O termo banco de dados foi criado inicialmente pela comunidade de computação, para indicar
coleções organizadas de dados armazenados em computadores digitais, porém o termo é atualmente
usado para indicar tanto bancos de dados digitais como bancos de dados disponíveis de outra forma. No
Brasil, é mais comum usar o termo base de dados quando se mencionam outros tipos de bancos de dados
senão aqueles armazenados em um computador e gerenciados por um SGBD.
Aceitando uma abordagem mais técnica, um banco de dados é uma coleção de registros salvos em
um computador em um modo sistemático, de forma que um programa de computador possa consultá-lo
para responder questões.
Normalmente um registro está associado a um conceito completo e é dividido em campos, ou
atributos, que dão valores a propriedades desses conceitos. Possivelmente alguns registros podem apontar
diretamente ou referenciar indiretamente outros registros, o que faz parte da caracterização do modelo
adotado pelo banco de dados.
A descrição de quais são os tipos de registros existentes em um banco de dados e ainda quais são
os campos de cada registro é conhecida como esquema do banco de dados ou esquema relacional
Estritamente falado, o termo banco de dados deve ser aplicado apenas aos dados, enquanto o
termo sistema gerenciador de bancos de dados deve ser aplicado ao software com a capacidade de
manipular bancos de dados de forma geral. Porém, é comum misturar os dois conceitos.
Modelos de Dados dos Bancos de Dados
A maneira mais prática de classificar bancos de dados é de acordo com a forma que seus dados
são vistos pelo usuário, ou seja, seu modelo de dados. Diversos modelos foram e vem sendo utilizados ao
longo da história, com vantagens para um ou para outro por determinados períodos.
Atualmente, a classificação mais comum citaria 4 modelos básicos:
Modelos Navegacionais, divididos em:
Modelo Hierárquico
Modelo em Redes
Modelo Relacional
Modelo Orientado a Objetos
Porém, outros modelos podem ser citados, incluindo:
Modelo de Entidades e Relacionamentos
Modelo de lista invertida
Modelo Relacional Estendido
Modelo Semi-Estruturado
Historicamente, o modelo de bancos de dados em rede foi implementado primeiro; porém o
primeiro produto comercial usava o modelo de bancos de dados hierárquico, que nada mais é que uma
versão simplificada do primeiro. Ambos os modelos foram resultado da busca de usar mais efetivamente
os novos dispositivos de memória secundária de acesso direto, que substituíam os cartões perfurados e as
fitas magnéticas. Isso aconteceu na década de 1960.
Em 1970 E.F. Codd propôs o modelo de bancos de dados relacional que surgiu e ganhou destaque
teórico imediato. Porém, a implementação do modelo exigia pesquisas e só na década de 1980 eles iam
começar a ganhar o mercado, se estabilizando totalmente como líder do mercado a partir da década de
1990.
Podemos identificar o aparecimento do que pode ser chamado modelo plano (tabular) para fins
mais diretos e simples. Nesse caso, os dados estão simplesmente arranjados em uma única matriz bidimensional de elementos de dados na qual todos os membros de uma dada coluna possuem valores de
mesmo tipo, e todos os membros de uma linha estão relacionados entre si. Seu melhor exemplo são as
planilhas eletrônicas.
O único modelo que foi extensamente tratado de forma teórica foi o modelo relacional. Os
modelos pré-existentes foram fruto de implementações, enquanto os modelos subseqüentes, como o
modelo orientado a objetos, não apresentavam um campo tão rico para novas teorias, mas apresentam
grandes desafios para a implementação eficiente das operações necessárias.
Modelo Relacional
O modelo relacional é uma teoria matemática desenvolvida por Edgar Frank Codd para descrever
como as bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de
dados relacionais, muito poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita,
e todos têm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A
discussão se esses bancos de dados merecem ser chamados de relacional ficou esgotada com tempo, com
a evolução dos bancos existentes.
De acordo com a arquitetura ANSI / SPARC em três níveis, os Bancos de dados relacionais
consistem de três componentes:
uma coleção de estruturas de dados, formalmente chamadas de relações, ou informalmente tabelas,
compondo o nível conceitual;
uma coleção dos operadores, a álgebra e o cálculo relacionais, que constituem a base da linguagem SQL;
e
uma coleção de restrições da integridade, definindo o conjunto consistente de estados de base de dados e
de alterações de estados. As restrições de integridade podem ser de quatro tipos:
domínio (ou tipo de dados),
atributo,
relvar e
restrições de base de dados.
Diferentemente dos modelos navegacionais, não existem quaisquer ponteiros, de acordo com o
Princípio de Informação: toda informação tem de ser representada como dados; qualquer tipo de atributo
representa relações entre conjuntos de dados.
Diferentemente dos bancos de dados em rede, nos bancos de dados relacionais os relacionamentos
entre as tabelas não são codificados explicitamente na sua definição. Em vez disso, se fazem
implicitamente pela presença de atributos chave. As bases de dados relacionais permitem aos utilizadores
(incluindo programadores) escreverem consultas (queries), reorganizando e utilizando os dados de forma
flexível e não necessariamente antecipada pelos projetistas originais. Esta flexibilidade é especialmente
importante em bases de dados que podem ser utilizadas durante décadas, tornando as bases de dados
relacionais muito populares no meio comercial.
Um dos pontos fortes do modelo relacional de banco de dados é a possibilidade de definição de
um conjunto de restrições de integridade. Estas definem os conjuntos de estados e mudanças de estado
consistentes do banco de dados, determinando os valores que podem e os que não podem ser
armazenados.
Índices
Todos os tipos de bancos de dados podem ter seu desempenho melhorado pelo uso de índices. O
tipo mais comum de índice é uma lista ordenada dos valores de uma coluna de uma tabela, contendo
ponteiros para as linhas associadas a cada valor. Um índice permite que o conjunto das linhas de uma
tabela que satisfazem determinado critério sejam localizadas rapidamente. Há vários métodos de
indexação utilizados comumente, como árvores B, hashes e listas encadeadas.
Utilização
Os bancos de dados são utilizados em muitas aplicações, abrangendo praticamente todo o campo
dos programas de computador. Os bancos de dados são o método de armazenamento preferencial para
aplicações multiusuário, nas quais é necessário haver coordenação entre vários usuários. Entretanto, são
convenientes também para indivíduos, e muitos programas de correio eletrônico e organizadores pessoais
baseiam-se em tecnologias padronizadas de bancos de dados.
Um banco de dados é um conjunto de informações com uma estrutura regular. Um banco de dados
é normalmente, mas não necessariamente, armazenado em algum formato de máquina lido pelo
computador. Há uma grande variedade de bancos de dados, desde simples tabelas armazenadas em um
único arquivo até gigantescos bancos de dados com muitos milhões de registros, armazenados em salas
cheias de discos rígidos.
Bancos de dados caracteristicamente modernos são desenvolvidos desde os anos da década de
1960. Um pioneiro nesse trabalho foi Charles Bachman.
Apresentação dos dados
A apresentação dos dados geralmente é 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 standards de
conectividade entre as tabelas de um banco de dados e programas desenvolvidos em linguagens como
Java, Delphi, Visual Basic, C++, 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 deste 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.
Direitos de propriedade
A Diretiva CE de Bases de Dados (EU Database Directive), estabelecida pelo Parlamento Europeu
em de 11 de março de 1996, fixa os termos de proteção jurídica a bancos de dados, em particular os
direitos de propriedade sobre a base.
Mesmo para os países que não a adotam explicitamente, ou não possuam normas mais específicas
sobre o tema, como o Brasil, tem sido a principal referência.
Modelos de base 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.
Bases de dados relacionais consistem, principalmente de três componentes: uma coleção de
estruturas de dados, nomeadamente relações, ou informalmente tabelas; uma coleção dos operadores, a
álgebra e o cálculo relacionais; e uma coleção de restrições da integridade, definindo o conjunto
consistente de estados de base de dados e de alterações de estados. As restrições de integridade podem ser
de quatro tipos: domínio (também conhecidas como type), atributo, relvar e restrições de base de dados.
Diferentemente dos modelos hierárquico e de rede, não existem quaisquer apontadores, de acordo
com o Princípio de Informação: toda informação tem de ser representada como dados; qualquer tipo de
atributo representa relações entre conjuntos de dados. As bases de dados relacionais permitem aos
utilizadores (incluindo programadores) escreverem consultas (queries) que não foram antecipadas por
quem projetou a base de dados. Como resultado, bases de dados relacionais podem ser utilizadas por
várias aplicações em formas que os projetistas originais não previram, o que é especialmente importante
em bases de dados que podem ser utilizadas durante décadas. Isto tem tornado as bases de dados
relacionais muito populares no meio empresarial.
O modelo relacional é uma teoria matemática desenvolvida por Ted Codd para descrever como as
bases de dados devem funcionar. Embora esta teoria seja a base para o software de bases de dados
relacionais, muito poucos sistemas de gestão de bases de dados seguem o modelo de forma restrita e
todos têm funcionalidades que violam a teoria, desta forma variando a complexidade e o poder. A
discussão se esses bancos de dados merecem ser chamados de relacional ficou esgotada com tempo, com
a evolução dos bancos existente.
Aplicações de bancos de dados
Bancos de dados são usados em muitas aplicações, enquanto atravessando virtualmente a gama
inteira de software de computador. Bancos de dados são o método preferido de armazenamento para
aplicações multi-usuárias grandes onde a coordenação entre muitos usuários é necessária. Até mesmo
usuários individuais os acham conveniente, entretanto, muitos programas de correio eletrônico e
organizadores pessoais estão baseados em tecnologia de banco de dados standard.
Aplicativo de Banco de Dados
Um Aplicativo de Banco de dados é um tipo de software exclusivo para gerenciar um banco de
dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objectivos, de
pequenas ferramentas como uma agenda, até complexos sistemas empresariais para desempenhar tarefas
como a contabilidade.
O termo "Aplicativo de Banco de dados" usualmente se refere a softwares que oferecem uma
interface para o banco de dados. O software que gerencia os dados é geralmente chamado de sistema
gerenciador de banco de dados (SGBD) ou (se for embarcado) de "database engine".
Exemplos de aplicativos de banco de dados são Microsoft Visual FoxPro, Microsoft Access,
dBASE, FileMaker , (em certa medida) HyperCard, MySQL, PostgreSQL, Microsoft SQL Server e
Oracle.
Em Março, 2004, AMR Research (como citado em um artigo da CNET News.com listado na
secção de "Referências") previu que aplicações de banco de dados de código aberto seriam amplamente
aceitas em 2006.
Transação
É um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto
como uma única ação. A integridade de uma transação depende de 4 propriedades, conhecidas como
ACID.
Atomicidade
Uma transação não pode ser executada pela metade, isto é, ou se executa ela por inteiro, ou se
retorna para o estado anterior a transação ter sido iniciada. Também chamado de Princípio do "Tudo ou
Nada".
Consistência
Consistência de dados acontece quando os dados de entrada são os mesmos da saída do banco de
dados, ou que as operações aritméticas executadas, resultarão o esperado.
Isolamento
Os resultados das instruções de cada transação, não podem depender do resultado das instruções
das outras transações. As transações são independentes.
Durabilidade
Quando ocorre falha no banco de dados, apos a execução com sucesso de uma transação, a
durabilidade garante por algum mecanismo a recuperação das informações perdidas.
Na prática, alguns SGBDs relaxam na implementação destas propriedades buscando desempenho.
Controle de concorrência é um método usado para garantir que as transações são executadas de
uma forma segura e segue as regras ACID. Os SGBD devem ser capazes de assegurar que nenhuma ação
de transações completadas com sucesso (committed transactions) seja perdida ao desfazer transações
abortadas (rollback). Uma transação é uma unidade que preserva consistência. Requeremos, portanto, que
qualquer escalonamento produzido ao se processar um conjunto de transações concorrentemente seja
computacionalmente equivalente a um escalonamento produzindo executando essas transações
serialmente em alguma ordem. Diz-se que um sistema que garante esta propriedade assegura a
seriabilidade.
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.
São meios de proteger as informações armazenadas num banco de dados
Criptografia
Senhas
Backup
Access- Desenvolvimento Biblioteca
Objetivo:
O objetivo deste tutorial é de ensinar você a criar um banco de dados para biblioteca, que sera de uso
pessoal, para isso iremos utilizar o Access que é um programa para criar banco de dados, mas que nos
posibilita a criar algumas outras funções como formulários, através do mesmo para a criação deste aplicativo
iremos aprender a criar tabelas, fazer consultas e criar formulários e muito mais, iremos começar a estudar as
etapas para se criar um banco de dados depois iremos criar tabelas e definir o nomes dos campos.
Pré-requisito:
Para você poder acompanhar o desenvolvimento deste tutorial, será necessário ter conhecimento no
mínimo do “Curso Básico Básico de Informática”.
Para começar a desenvolver um banco de dados é preciso analisar algumas etapas necessárias para
que o mesmo possa ser criado e funcione de forma correta, as etapas são as seguintes:
- Identificação das tarefas;
- Fazer um fluxograma das tarefas;
- Identificação dos elementos dos dados;
- Organização de dados;
- Interface grafica;
- Elaboração aplicativo;
- Testar;
Vou apenas dar uma rapida explicação sobre cada uma dessas etapas para que você possa
compreende-las, já que iremos seguir cada algumas delas,tendo envista que o aplicativo que iremos
desenvolver é bem simples,mas de grande utilidade.
- Identificação das Tarefas:
Quase sempre quando vamos desenvolver um aplicativo temos uma idéia do que o mesmo faça, por
exemplo, neste sistema de biblioteca, iremos criar um fomulário que vai nos mostrar os nomes dos livros, este
é um exemplo do que já estamos definindo para o aplicativo. Aqui sempre empregamos um tempo que iremos
aproveitar de uma forma muito objetiva, e também definiremos as principais tarefas que nosso aplicativo
desenvolva.
- Fazer um fluxograma das tarefas:
Aqui nesta parte devemos dividir as tarefas principais em grupos principais e depois colocar dentro
destes grupos as tarefas que realmente precisam ser realizadas.Com isso vai facilitar em muito o
desenvolvimento do banco de dados.
- Indentificação dos Elementos dos Dados:
Após desenvolvermos as listas das tarefas, esta pode ser considerada uma das etapas mais
importantes, onde nesta devemos relacionas os dados de cada tarefa e as modificações que irão ser realizadas
nos dados.
- Organização dos Dados:
Depois que acabamos estas etapas anteriores, devemos organizar os dados quase sempre pelo assunto
e distribuir os mesmos nas tabelas e consultas do banco de dados.
Interface Grafica:
Após definirmos as estruturas das tabelas necessárias podemos elaborar os formulários, ma
começarmos ter uma idéia de como ira ficar oaplicativo visualmente.
-Eleboração do Aplicativo:
Nesta parte começamos a elaboração do aplicativo para desenvolver todas as tarefas definadas nas
etapas anteriores, como elaborar menus, botões entre outros:
- Testar:
Na medida em que vamos terminando o desenvolvimento de alguma parte do aplicatico começar a
testar, para ver o seu funcionamento para testarmos o fluxo do programa.
Agora vamos começar analisar o nosso aplicativo que vai ser uma biblioteca simples de uso pessoal,
então, iremos definir o que este aplicativo vai posibilitar a realizar.
A principio o mesmo vai posibilitar duas funções principais, as quais serão: Cadastrar e Pesquisar
Livros, dentro desta duas funções iremos dividir o nosso aplicativo em subfunções, ou seja, começaremos a
definir quais tabelas devem ser criadas e quais campos podemos utilizar em cada uma delas.
Vamos começar a pensar da seguinte forma, teremos que criar uma tabela, na qual iremos dar o nome
de “LIVROS” para cadastrar os livros e definir os nomes dos campos.
Os nomes dos campos que utilizaremos referente ao cadastro do livros serão os seguintes:
Resumo
Codigo do Livro, Titulo do livro, Nome do Autor, Nome da Editora, Data Lançamento, Assunto e
Mas, iremos preencher os campos assunto, autor e editora de forma relacionada, ou seja, vamos criar
para cada um desses campos uma tabela. Com isso vai facilitar a entrada de dados, da seguinte forma:
Sem a criação dessas tabelas toda a vez que divermos que dar entrada com registros, teriamos que
preencher os digitar os registros.
Com a criação da tabelas utilizaremos uma função do access chamada referência, sendo assim, iremos
escrever apenas quando tivermos que cadastrar o assunto, autor e editora pela primeira vez, ou quando os
nomes destes campos não estiverem cadastrados nas tabelas, não se preocupe, quando começarmos a
desenvolver o aplicativo na prática você ira entender melhor esta parte.
Sendo assim, vamos criar as tabelas com os seguintes nomes:
Assunto;
Autor;
Editora;
Livros;
Agora vamos definir para cada tabela os nomes dos campos:
Tabela Assunto:
Codigo assunto, assunto
Tabela Autor:
Codigo autor, nome
Tabela Editora:
Codigo autor, editora
Tabela Livros:
Codigo livro, titulo, autor, editora, editora, data, assunto, resumo.
Agora irei ensinar como criar cada uma dessas tabelas, primeiramente crie uma pasta com o nome
biblioteca dentro da pasta meus documentos do seu computador, depois abra o access e crie um novo banco
de dados em branco e salve o mesmos com o nome de “biblioteca” .
Iremos criar as tabelas utilizando o modo estrutura, vamos começar pela tabela assunto, para isso ao
clicar sobre o modo estrura vai aparecer uma janela onde devemos inserir os nomes dos campos e definir as
formtações dos mesmos, acompanhe os procedimentos través das telas baixos:
Tela 001 (Clique sobre o modulo estrutura)
Tela 002
Obs: Na tela acima você deve digitar os nomes dos campos e tipos de campos conforme é mostrado na
tela abaixo , depois você deve clicar em salvar, dê o nome para esta tabela assuntos, clique em ok, será
perguntado se você deseja criar chaves primarias clique em sim.
Tela 003 (Insira o nome da tabela)
Tela 004 (Clique em sim para criar a chave primaria)
Feito isso será criada a primeira tabela:
Tela 005 (Foi criada a chave primaria)
Tela 006 (Tabela Criada)
Agora para a criação das demais tabelas pasta fazer o mesmo procedimentos, irei mostrar como devem
ficar cada um das tabelas que faltam ser criadas:
Tabela Autor:
Tela 007
Tabela Editora:
Tela 008
Tabela Livros:
Codigo livro, titulo, autor, editora, editora, data, assunto, resumo.
Tela 009
Conclusão
Ensinei sobre as etapas que devem ser seguidas para a elaboração de um banco de dados, e tambem
como criar as tabelas e a definir os nomes dos campos para as mesmas,. Sendo que a primeira tabela assuntos
ensinei a criar passo a passo, e as demais mostrei através das tela como as mesma deveriam ficar, tudo de
uma forma simples e objetiva, na próxima parte do tutorial daremos continuidade no desenvolvimento deste
aplicativo.
Download