segunda-feira, 2 de março de 2015

Banco de Dados 02/03/2015

Capítulo 1
Lembre-se! Essa disciplina é a base para muita coisa que vem pela frente no curso.
É o grande diferencial entre quem sempre vai apenas usar o computador e quem vai fazer o computador fazer exatamente o que se quer que ele faça!


Objetivo Principal: Introduzir os conceitos básico de sistema gerenciador de banco de dados, identificar tipos de banco de dados. Projetar e Implantar BD.

ü  Introdução
Antes dos bancos de dados eram utilizados arquivos em formato de texto ou binário proprietário, como por exemplo, o Clipper com dbf, Cobol com dat, etc.

Os arquivos de dados eram copiados em um servidor de arquivos e disponibilizados aos usuários por acesso em rede, ou seja, era dado o acesso ao diretório onde os arquivos estavam, impossibilitando controlar o que era feito com os dados, apenas podiam controlar quem acessava, mas não as informações ou operações que efetuava.
Outra característica é que os dados eram processados localmente, se o usuário precisasse de uma lista com todos os clientes de Caxias do Sul, o servidor de arquivos era acessado e copiava para a memória da estação o arquivo e processa na estação a seleção, como o esquema abaixo.

Enquanto os bancos de dados eram pequenos e monousuários este modelo funcionou bem, mas com a população de sistemas e clientes crescendo este modelo gerou lentidão de concorrência.
Para isso surgiram os primeiros servidores de banco de dados, arquitetura chamada de “cliente-server”, onde os dados residem em um servidor.
O cliente envia ao servidor uma string com a lista de dados, o nome da tabela e a condição. O servidor recebe essa string, processa localmente e envia ao cliente apenas o resultado.
Com este processo trafega um pequeno comando e retorna dados já selecionados, o tráfego de rede melhorou muito. Também foi a solução para problema da concorrência, uma vez que como um único servidor está com a posse dos dados, ele pode controlar quem acessa ou não a informação e não permite alterações simultâneas em um mesmo dado, por controlar a fila de solicitações.

Banco Relacional

        Após o surgimento dos servidores foi criado um padrão chamado de relacional (RDBMS), que envolve separar os dados em diferentes tabelas e juntá-los no momento da pesquisa. Também existe um outro padrão chamado de banco de dados orientado a objeto, mas este não é popular e possui um conceito diferente dos relacionais.
No início existiram diversos produtos para servidores como ISAM, VMS, ADABAS e outros, sendo que cada um tinha o seu próprio modelo de solicitações e instruções. A fim de criar um padrão a IBM na década de 70 criou um padrão utilizado em todos os bancos de dados que é o SQL, Structure Query Language ou Linguagem Estrutura para Consultas.
Atualmente o SQL está na padronização ANSI-SQL92, ou seja, quem regula o padrão dos comandos é o organismo da ISSO.

BANCO DE DADOS ->

1)Conjunto de informações interelacionadas, organizadas e estruturadas em forma de arquivo. Cada arquivo de banco de dados é constituído de registros e campos, os quais armazenam as informações.  
(2) Conjunto integrado de dados que tem por objetivo atender uma comunidade de usuários.

(SGBD) BSISTEMA GERENCIADOR DE BANCO DE DADOS ->

É um software que controla o armazenamento, as modificações, e os acessos às informações do banco de dados.
O SGBD atua como interface entre os usuários e as informações armazenadas. Todas as solicitações relativas aos dados do banco de dados são interceptadas, interpretadas, e executadas pelo SGBD. Nenhum acesso aos dados pode ser feito de outra maneira.
Desta forma, o SGBD isola o usuário de todos os detalhes particulares do hardware ou do sistema operacional sendo utilizado, tais como método de acesso e blocagem de disco. A forma de acesso do usuário ao banco de dados não deve mudar quando o hardware ou o sistema operacional mudam.


Alguns exemplos de SGBDs
• Oracle
• SQL-Server
• MySQL
• IBM Informix
• PostgreSQL
• Firebird •
• IBM DB2

Porque usar banco de dados
A resposta é simples: porque facilita a vida das pessoas interessados nos dados registrados em banco de dados pois é compacto, rápido, importa em menos trabalho braçal e tem disponibilidade de acesso as informações corretas e atualizadas a qualquer momento.

BANCO DE DADOS  RELACIONAL

Tipo de BD que trabalha e compartilha várias tabelas (ou arquivos ) ao mesmo tempo. Este compartilhamento é feito a partir de um ou mais campos em comum entre as tabelas do banco de dados, vinculados num processo denominado relacionamento. Os relacionamentos, por sua vez, podem ser feitos por uma tabela por três vias:
·         Um-para-um
Onde o campo de uma tabela pode coincidir com somente um campo da outra.
·         Um-para-muitos
Onde um campo de uma tabela pode coincidir com vários da outra tabela.
·         Muitos-para-muitos
Onde vários campos de uma tabela coincidem com vários campos da outra tabela.

Característica: Num banco de dados relaciona, quando um dados é alterado em uma das tabelas, o dado dos campos coincidentes das demais serão automaticamente atualizados.
Os três elementos de um banco de dados relacional são:
·       Tabelas
·       Colunas
·       Linhas

Exemplos:
Cadastro de Profissionais
Cadastro de Profissões
Relacionamento: Profissional que_trabalha_em Profissão


Exercício:

Pense em alguns possíveis bancos de dados que poderiam ser criados, com o objetivo de praticar e entender melhor sua estrutura.