quinta-feira, 12 de fevereiro de 2009

1ª Aula de Banco de Dados

Banco de Dados
Tio Arbex

- COnceitos básicos de BD
- ARquitetura de B.D
- Modelos de dados
- Modelagem de dados
- Banco de dados relacionais
- Derivação do modelo conceitual
para o modelo lágico
_ Normalização
_ Álgebra Relacional
_ Linguagen de acesso ao SGBD
_ Restrições
_ Controle de acesso a dados
_ Transações
_ Controle de concorrência
_ Recuperação do SGBD


Conceitos básicos

Diferença entre Banco de Dados e Sistema Gerenciador de Banco de Dados (SGBD)

Banco de Dados => conjunto de dados que tem uma relação entre si. Por exemplo dados de uma universidade.

SGBD => Sistema Gerenciador de banco de dados, Sistema para criação e gerenciamento das informações.
Sistema, conjunto de programas formado por vários elementos com uma determinada função.

SGBD COMERCIAIS

Oracle
SQL Server
Informix
DB2

Paradox|=> desse para baixo só usa quem não precisa de tanta segurança

MySQL | |
PostGree |=> Free |
Firebird | |



Sistema de Banco de Dados
X
Sistema Baseado em Banco de dados


Dep. Vendas

Aplicação 1
___________

^
|
|
v
___ ____ ____
| | | | | |
Vendedores Produtos Vendas
======>>>> nesse caso a aplicação tem acesso direto as informações dentro do arquivo



Dep. Marketing

Aplicação 2
___________

^
|
|
v
____
| |
Produtos


O diagrama acima foi dado como exemplo se duas aplicações fossem utilizadas para acessar uma mesma informação em
ARQUIVOS diferentes, dando assim uma incosistencia nas informações;

SBD
Aplicação1 "Nesse caso a aplicação não tem conhecimento nenhum da estrutura dentro do BD"
|
|
|_____________

v

SGDB

______
( )
| | | |
--------
Um sistema de banco de com um unico arquivo "pode ter um ou vários arquivos"


Tabela funcionários

Mat Nome Endereço Tel. Salário




Tabela Produto

Cod. Produ. Desc Peso Unidade Preço Custo Preço venda Quant. Estoque





Nesse exemplo abaixo não haveria problemas de redundância, pois usando técnicas de controle de concorrência resolveria
o problema de várias aplicações acessando o mesmo SGBD




Aplicação1 Aplicação2 Aplicação3
| | |
| | | SQL => qualquer SGBD relacional utiliza lingugem SQL para comunicação com a aplicação
|_____________ _______________

v

|SGDB| <=======> esse cara aqui controla o acesso resolvendo o problema de redundância, inclusão e alteração na base de dados

_____
( _ )
| | | |
-------
Um sistema de banco de com um unico arquivo "pode ter um ou vários arquivos"



Vantagens do SGBD

Evita inconsistencia de dados
Evita redundância
Fácil controle
Fortalece a padronização "todas aplicações acessando o mesmo tipo de dados"



Dependencia dos dados ==> É uma relação entre a aplicação e os dados

Aplicação 2
___________

^
|
|
v
____
| |
Banco de dados dependente da aplicação

Toda vez que eu tiver que mudar a estrutura do meu BD e ao mesmo tempo ter que mudar minha aplicação.
Esse caso ocorre quando a aplicação comunica diretamente com o BD.




Independência de dados.

Ao contrário do que acontece no exemplo anterior, nesse caso a aplicação não tem contato direto com o BD e sim comunica com o
SGBD que acessa o BD, a aplicação não tem contato direto com o BD não necessitando buscar informações direta.


Aplicação1 Aplicação2 Aplicação3
| | |
| | |
|_____________ _______________

v

|SGDB|

_____
( _ )
| | | |
-------
Banco de dados independente da aplicação



Arquitetura do SGBD (Três níveis)
________________________________



SGDB
___________________________________
| |

VIsÃO 1 VisÃO 2 VISÃO N <= Externo <= Controla o acesso restringindo somente o que é necessário ao banco de dados para que o usuário possa acessar o BD | | | | | | Mapeamento externo/conceitual | v |Conceitual| <= Conceitual < = Todas as informações lógicas estão aqui dentro | Mapeamento conceitual / interno | v |FISICO| <= Interno < = Estrutura física dos dados, de que forma estas informações estão armazenadas |_________________________________|

Nenhum comentário: