Beruflich Dokumente
Kultur Dokumente
BANCO DE DADOS II
Itaberaba
2010
NEI FABIO PIEDADE SANTOS
BANCO DE DADOS II
Itaberaba
2010
3
Indice
1.0.0-Introdução...................................................................................4
1.0.1-Modelo Relacional Normalizado-MRN .....................................5
1.0.2-Modelo
conceitual.......................................................................7
1.0.3-Modelo lógico..............................................................................7
1.0.4-Modelo físico...............................................................................8
1.0.5
-SQL..............................................................................................8
1.1.0- Linguagem de definição de dados -DDL..............................10
1.1.1 - Declarações Create................................................................10
1.1.2- Declarações Drop....................................................................11
1.1.3 -Linguagem de manipulação de dados - DML.......................12
1.1.4-Linguagem de controle de dados – DCL................................12
1.1.5Processamento de transações de banco de Dados.............13
1.2.0-Propriedades ACID...................................................................15
1.2.1-Modelo de armazenamento de um banco de dados............. 18
1.2.2-Componentes do processamento de transações...19
1.2.3-Controle de Concorrência..........................................23
1.2.4-Escalonamento (schedules)......................................24
1.2.5-Escalonamento não serial.........................................25
1.3.0-Conclusão...................................................................28
1.3.1 Bibliografia..................................................................29
4
1.0.0- Introdução
Ao iniciar o trabalho será feito um apanhado geral, abordarei as fazes de um
projeto de banco de dados, conceito, utilização, funcionalidades e principais
objetivos alcançados com a implementação do Modelo Relacional Normalizado –
MRN, Padrão SQL, Processamento de Transações e Controle de Concorrência.
5
acesso aos dados como nos modelos que o procedem. O modelo relacional
implementa estruturas de dados organizados em relações. Porem, para trabalhar
com essas tabelas, algumas restrições precisam ser impostas para evitar aspectos
indesejáveis, como: repetição de informação, incapacidade de representar parte
da informação e perda de informação. Essas restrições são: Integridade
referencial, chaves e integridades de junções de relações.
O primeiro passo e fazer o modelo conceitual; depois que ele já estiver completo
podemos transformá-lo em um modelo lógico, em que a estrutura fica mais
evidente para os analistas de sistemas e programadores.
Uma vez definido qual o SGBD a se utilizado , podemos passar esse modelo
lógico para o físico. Com o modelo físico concluído, já e possível escrever os
comandos necessários para a criação do esquema no banco de dados.
Hoje em dia existem ferramentas CASE que auxiliam o dia a dia dos analistas ,
DBAs e ADs.
como nome, RG, CPF, endereço e telefone. O atributo nome será alfanumérico
com 50 caracteres, o atributo RG será numérico com 10 posições , o CPF será
numéricos com 14 posições, o endereço será alfanuméricos com 50 caracteres e
o telefone será alfanuméricos com 14 posições.
Aqui ainda não sabemos qual será o SGBD adotado para a fase de
implementação. Isso permite manter um modelo de dados independente e que
possa satisfazer a diversas necessidades, evitando assim a manutenção de
diversos modelos, um para cada SGBD demarcado.
1.0.4-Modelo físico
No modelo físico, a preocupação já fica mais direcionada às características de
armazenamento físico do banco de dados.
Quando um atributo e tipificado como alfanumérico, é necessário verificar com o
SGBD trata esse tipo de dados (ex. varcher, char, string); o mesmo acontece se o
tipo for numérico (ex. number, real, integer).
Nessa hora devemos pensar se é mais vantajoso armazenar as tabelas separadas
dos índices em discos diferentes, ou se devemos separar uma tabela em mais
tabelas, segmentando e fragmentando, assim, o seu armazenamento.
É quando algumas regras de normalização são questionadas, pois o que pode ser
correto como normalização pode não ser tão prático ou útil no dia a dia. Será que
vale apena trabalhar com o modelo desnormalizado, se podemos quebrar algumas
dessas regras de modo consciente?
1.0.5- SQL
O SQL, que é a sigla para Structured Query Language, é uma linguagem padrão
para acesso a banco de dados, foi desenvolvido pela IBM em meados dos anos
70 como uma linguagem de manipulação de dados (DML - Data Manipulation
Language) para suas primeiras tentativas de desenvolvimento de bancos de
dados relacionais. A grande vantagem do SQL sobre modelos de dados anteriores
é que as operações realizadas sobre os dados são especificadas numa linguagem
não procedural e conjuntos de dados são manipulados com um único comando.
Isto faz com que os programadores não tenham de navegar por uma estrutura
9
* Select
* Insert
* Update
* Delete
* CONNECT
* SELECT
* INSERT
* UPDATE
* DELETE
* EXECUTE
* USAGE
Em Oracle, executar um comando DCL emite um commit implícito. Em
PostgreSQL, executar um comando DCL é transacional e pode suportar roll back.
1.2.0-Propriedades ACID
Consistência
Integridade
Durabilidade
Uma transação depois que for realizada e confirmada deve obrigatoriamente ser
durável, ou seja não pode desaparecer do banco de dados sem que uma outra
transação realize esta operação.
Ex. um determinado dado que foi gravado em uma transação hoje, daqui a cinco
anos, se nenhuma outra transação modificar este dado, quando este dado for
consultado deverá apresentar o mesmo resultado do que foi gravado hoje, quando
a transação original foi realizada.
Independência de transação
Cada transação que está ocorrendo no banco de dados possui a sua própria área
de trabalho, com uma cópia individual dos dados acessados.
Buffer do banco de dados é o nome técnico que representa estes locais.
Buffer do banco de dados são as páginas do banco de dados na memória, é
controlado pelo banco de dados e/ou sistema operacional.
Quanto mais buffers de banco de dados tiverem, mais dados podem ser
carregados na memória principal do servidor do banco de dados, mais transações
podem ser realizadas simultaneamente e mais rápido pode ser o banco de dados.
20
Por isso dizemos que um servidor de banco de dados tem que ser exclusivo no
equipamento, não é recomendado colocar outras aplicações no mesmo
equipamento.
E quanto mais memória RAM o servidor tiver, melhor ainda.
Bancos de dados são verdadeiros consumidores de recursos computacionais
como processadores, memória RAM e discos.
Buffer do sistema são os buffers responsáveis pelo armazenamento das páginas
dos códigos objetos dos programas e das áreas de trabalho locais das transações
ativas.
Quem controla esta área é o gerenciador de memória virtual do sistema
operacional.
Buffer de log são as cópias das páginas do registro de log, de transações que
foram confirmadas pelo banco de dados e aguardando serem descarregadas em
disco.
O armazenamento secundário (discos rígidos do servidor do banco de dados)
pode ser dividido em:
Código objeto do sistema – programas aplicativos e sistema operacional
Área de troca de memória virtual – área em disco usado para armazenar páginas
da memória principal que não estão em uso no momento.
Armazenamento estável on-line – mantém os registros do log necessários para
uma recuperação de falha do banco de dados.
Armazenamento histórico estável – mantém os registros do log na forma de
histórico das transações antigas.
Uma transação de banco de dados pode apresentar falha, nestes casos temos
duas ações possíveis:
Reexecução em cascata – para recuperarmos uma transação T, pode ser
necessário refazer diversas outras transações já confirmadas. Esta situação
21
1.2.3-Controle de Concorrência
Um SGBD trabalha individualmente com uma transação muito bem, mas o grande
desafio para a sua consagração no mercado é sem dúvida a sua capacidade de
tratar diversas transações simultaneamente.
Hoje em dia é muito comum e fácil o acesso a computadores com vários
processadores ou então com processadores com vários núcleos, a esta
característica chamamos de multiprocessador.
Existe também o multiprocessamento, que é a capacidade do sistema operacional
executar mais de um programa ao mesmo tempo.
24
Isto pode ocorrer com um computador com um único processador, neste caso o
processador acaba realizando o processamento em paralelo de diversos
programas ao simultaneamente.
Se colocarmos mais processadores, ele vai distribuir as tarefas passando rotinas
de processamento para cada processador, de modo independente.
E se apenas um programa estiver sendo executado, apenas um processador é
utilizado, os demais ficam ociosos.
Mas existem sistemas operacionais mais inteligentes, que aproveitam a
capacidade de multiprocessadores dos computadores e realizam uma melhor
distribuição de carga de processamento.
Se apenas um programa estiver executando no servidor, o sistema operacional
divide as tarefas deste programa entre os diversos processadores do servidor,
otimizando assim a carga sobre um único processador e distribuindo entre os
vários processadores, acelerando em muito a conclusão do processo.
Este tipo de sistema operacional é conhecido como multiprocessamento simétrico
ou SMP, onde é realizado o balanceamento de carga.
O SGBD trabalha em conjunto com o sistema operacional para retirar a melhor
performance possível na execução de transações concorrentes, garantindo
inclusive a efetiva consistência de todas as transações envolvidas.
Um bom SGBD deve suportar e transacionar desde poucas transações ao mesmo
tempo até dezenas e centenas de transações simultaneamente.
A sua capacidade de resolver os problemas que possam ocorrer durante as
transações e a integridade que o mesmo garante, fazem com que o SGBD seja
confiável.
1.2.4-Escalonamento (schedules)
1.3.0-Conclusão
1.3.1 Bibliografia.
http://pt.wikipedia.org/wiki/Modelo_relacional
http://www.cos.ufrj.br/~marta/BdRel.pdf
http://www.profwillian.com/bdados/aula03/AulaSQL.htm
30