Sunteți pe pagina 1din 115

Instalao e Configurao de Banco de Dados - I Prof.

Antonio Carlos Faculdade Sumar - 2013

Apresentao

Ementa Plano de Aula Avaliao Aula introdutria

Ementa

Manter e configurar os dados de um SGBD corporativo

Competncias e Habilidades

Segurana de Dados em S.O. Sistemas de Cpia e Recuperao Poltica de Segurana e Integridade de Banco de Dados Controle de acesso de usurio e privilgios Uso da DCL, administrao em terminal Auditoria de Sistemas Ferramentas de Administrao de banco de dados Criao e manuteno de Dados Analise comparativa dos SGBD existentes

Plano de Aula

Avaliao

Duas avaliaes da instituio valendo +-75% da nota Uma ou Duas atividades valendo +-15% da nota Frequencia podendo valer at 10% da nota

As Datas das atividades e provas dependem do calendario academico, e o plano de aula ser reajustado.

Histrico

Sistemas Computacionais Comerciais Arquivos Analise de Resultados


Consultas e Relatrios Independncia

Banco de Dados Hierrquico/Rede

Histrico

Sistemas Computacionais Comerciais Arquivos Analise de Resultados


Consultas e Relatrios Independncia Definir - Grupos de Trabalho

Banco de Dados Hierrquico/Rede

Pesquisa e Explanao

Projetando

Entender o domnio do problema

Projetando

Entender o domnio do problema Sistema Convencional

Sistema de Apoio a Deciso (BI)

Projetando

Entender o dominio do problema Sistema Convencional


Faturamento Vendas RH Outros

Sistema de Apoio a Deciso (BI)

Projetando

Entender o dominio do problema Sistema Convencional


Faturamento Vendas RH Outros Normalizao

Sistema de Apoio a Deciso (BI)

Projetando

Entender o dominio do problema Sistema Convencional


Faturamento Vendas RH Outros Normalizao (No Redundncia) (Confiabilidade)

Sistema de Apoio a Deciso (BI)

Projetando

Entender o dominio do problema Sistema Convencional

Sistema de Apoio a Deciso (BI)

Procurar Comportamentos/Repeties/Sazonalidade

Projetando

Entender o dominio do problema Sistema Convencional

Sistema de Apoio a Deciso (BI)

Procurar Comportamentos/Repeties/Sazonalidade

Comprar melhor

Suficiente Necessrio Quando

Projetando

Projeto Lgico Entidades Projeto Fsico Dicionrio de Dados

Projetando

Projeto Lgico Projeto Fsico


Atributos Relacionamento

Dicionrio de Dados

Projetando

Projeto Lgico Projeto Fsico Dicionrio de Dados

Padronizao do Conhecimento

Fixando

Em Grupo Fazer um projeto lgico de um SGBD para um sistema convencional


Com 3 Entidades Definindo os atributos. Relacionamentos

Fazer o projeto fsico

Fazer o Dicionrio de Dados.

SEGURANA

Em Grupo Atividade: Determinar qual seria o sistema ideal quanto a segurana.


15 minutos Discusso

SEGURANA

A questo segurana em banco de dados vista por muitos prismas

SEGURANA

A questo segurana em banco de dados vista por muitos prismas Segurana Lgica

SEGURANA

A questo segurana em banco de dados vista por muitos prismas Segurana Lgica Segurana Fsica

SEGURANA

Segurana Lgica Dados Confiveis


Redundncia (normalizao) Domnios (not null)/valid Transao (ACID)TRANSACTION Concorrncia

SEGURANA

Segurana Fsica RAID


BACKUP NUVEM ACESSO / DCL

SEGURANA

Segurana Fsica RAID


BACKUP NUVEM ACESSO / DCL

Multi-Usurio/Transao

Se os usurios possurem as mesmas permisses, com certeza em algum momento, podem e vo executar tarefas que podem ser concorrentes, ou at conflitantes.

Transaes

DTL: Data Transaction Language(Linguagem de Transao de Dados) Permite criar algoritmos para a manuteno das informaes no banco(I/A/E).

Transaes

Comandos especficos:

BEGIN TRANSACTION Marca o inicio do tratamento da transao, fazendo-as pendentes. END TRANSACTION Marca o final do tratamento da transao pendente. COMMIT Efetiva as modificaes pendentes no banco. ROLLBACK Desfaz todas as modificaes pendentes.

Transaes

Para que o Banco perceba o que uma transao, necessrio explicitar onde o inicio, e tambm o seu final, de maneira simplificada, a transao sera todo e qualquer comando padro SQL, que estiver entre: BEGIN TRANSACTION/END TRANSACTION Alm disto, deve-se concluir com: COMMIT ou ROLLBACK

Transaes

Propriedades de uma Transao: (ACID) ATOMICIDADE, ou todas sero feitas ou nenhuma. CONSISTNCIA, a transao executada sempre deve deixar o banco em estado consistente. ISOLAMENTO, apesar de vrias transaes executarem simultaneamente, cada qual no pode interagir, nem afetar o resultado de outra. DURABILIDADE, aps a concluso da transao, o estado do banco deve persistir, mesmo que haja falha no SGBD depois.

Transaes

Por isto, os Banco de Dados, conseguem isolar as tarefas, de forma que sentimos que as nossas so as nicas que esto sendo executadas.

Transaes

Mas, porque?

Transaes

Baixa de 1 unidade no estoque, na tabela estoque Se abaixo, da quantidade minma, adicionar na tabela pedidos de compra Adicionar na tabela de mais comprados Etc,..

Imaginemos um sistema de mercado, desde a execuo de uma simples compra de 1 sabonete, temos:

Transaes

E que de repente, acaba a fora no meio da venda.

Transaes

E que de repente, acaba a fora no meio da venda. E agora?, Parou aonde?

Transaes

E que de repente, acaba a fora no meio da venda. E agora?, Parou aonde? Como recuperar?

Transaes

Neste caso, como a transao no foi at o final o prprio banco deve executar um ROLLBACK, desfazendo tudo at a posio anterior a BEGIN TRANSACTION

Transaes

No caso da execuo ter tido sucesso at o END TRANSACTION, devemos executar: COMMIT ROLLBACK

Dependendo da lgica do programa, mas temos somente estas possibilidades.

Transaes

FIXAO: TRANSAO

FINALIZANDO A TRANSAO

Normal.... BEGIN TRANSACTION Pendente END TRANSACTION Normal

COMMIT Confirma todas as modificaes no banco, tornando-as persistentes. ROLLBACK Desfaz tudo como se nada tivesse acontecido.

Transaes

E se percebemos aps o COMMIT, que o banco esta inconsistente com relao aos valores? A no tem mais jeito de resolver com as transactions, devemos resolv-las com algum algoritmos, em sqls normais ou em stored-procedure/triggers.

Transaes

Estado da Transao o estado que a transao assume, no decorrer de sua execuo


Parada Ativa Parcialmente Confirmada Confirmada Falha Abortada

Transaes

Implementao Durabilidade e Atomicidade Cpia de Sombra


d b Cpia antiga d b Cpia antiga

Cpia nova

Transaes

Implementao Durabilidade e Atomicidade Seriao


tr 1 tr 2

transao

transao

Concorrncia

O sistema de Banco de Dados foi projetado para atender vrias sesses/processos simultneas, lembrando que estas sesses esto associadas a usurios ou instancias de programas, no entanto vimos que algumas das transaes podem levar o banco a um estado inconsistente, ferindo as regras de integridade..

Concorrncia

Atualizao Perdida
serial T2 READ(X) X=X+100 WRITE(X) COMMIT READ(X) X:=X-10 READ(X) X=X=100 WRITE(X) COMMIT WRITE(X) READ(Y) Y=Y+10 WRITE\9X) COMMIT execuo No serial T2

execuo T1 READ(X) X:=X-10 WRITE(X) READ(Y) Y:=Y+10 WRITE(Y) COMMIT

Concorrncia

Atualizao Perdida Ocorre quando uma atualizao de uma transao sobrescrita por outra, e com valores distintos, fazendo com que uma delas seja perdida.

Concorrncia

No recuperveis
T3 T4

read(x) x=x+10 write(x) read(x) x=x+100 write(x) commit read(y) rollback

Concorrncia

No recuperveis
T3 T4

read(x) x=x+10 write(x) read(x) x=x+100 write(x) commit read(y) rollback

T4 considerou T3 concluda e terminada, o que no ocorreu

Concorrncia

No h milagres, a execuo mais segura, a serializada, mas perde-se a concorrncia, como permitir a execuo concorrente com a maior eficincia, ou seja com a menor quantidade de serializaes

Podemos citar trs tcnicas utilizadas no mecanismo de concorrncia. TIMESTAMP(Marcas de Tempo) VERSES LOCKING(BLOQUEIOS)

Falhas

Existem alguns fatos na vida que so imprevisveis e outros podemos ter certeza que iro ocorrer; Logo o que se resta a fazer preparar, para que o impacto seja o menor possvel. Falhas por queda de energia, quebras ou falhas nos dispositivos de armazenamento, Incndios, falhas de software e at sabotagens. Tudo isto pode levar os bancos de dados a um estado inconsistente, por isso os SGBD mais modernos possuem testes e procedimentos j incorporados para o tratamento destes problemas, O componente responsvel para o correto tratamento destas falhas chamado de RECOVERY, ou simplesmente recuperador aps falhas.

Falhas

Como as falhas, no so as mesmas, at porque os motivos so diversos, o certo de que para cada falha existe uma estrategia para o seu correto tratamento. A estrategia mais simples o Backup, mas com certeza no a mais eficiente, haja visto que desejamos que o Banco de Dados esteja o mais disponvel possvel, e voltar Backup, no uma operao rpida; E uma estrategia passiva, ou seja dependente de uma rotina agendada ou disparada pelo operador. E com certeza, a melhor abordagem preparar e usar um esquema para que a indisponibilidade seja a menor possvel, retornando o Banco ao seu estado consistente.

Falhas

Curiosamente, todo o sistema de RECOVERY baseado em redundncia de informao, mas de forma controlada, e que utilizado para a reconstruo do estado consistente.

Falhas

Curiosamente, todo o sistema de RECOVERY baseado em redundncia de informao, mas de forma controlada, e que utilizado para a reconstruo do estado consistente. LOGGING, que utilizado caso esteja ativo, isto porque em casos de falha em TRIGGERS, no h como fazer o ROLLBACK.

Falhas

Curiosamente, todo o sistema de RECOVERY baseado em redundncia de informao, mas de forma controlada, e que utilizado para a reconstruo do estado consistente. LOGGING, que utilizado caso esteja ativo, isto porque em casos de falha em TRIGGERS, no h como fazer o ROLLBACK.(SW) RAID, Sistema de Discos, espelhados, que buscam manter a integridade (HD)

Falhas

Curiosamente, todo o sistema de RECOVERY baseado em redundncia de informao, mas de forma controlada, e que utilizado para a reconstruo do estado consistente. LOGGING, que utilizado caso esteja ativo, isto porque em casos de falha em TRIGGERS, no h como fazer o ROLLBACK.(SW) RAID, Sistema de Discos, espelhados, que buscam manter a integridade (HD) BACKUP`S, Normalmente em sistemas de Discos ou Fitas

Falhas

Falhas de Transao Erro Lgico Erros Sistema Falha do Sistema

Falhas

Falhas de Transao Erro Lgico Falha Interna ,devido entrada defeituosa ou no encontrada, estouro de limites, como tempo ou recursos. Erros Sistema Falha do Sistema

Falhas

Falhas de Transao Erro Lgico Falha Interna ,devido entrada defeituosa ou no encontrada, estouro de limites, como tempo ou recursos. Erros Sistema Falha devida a concorrncia, que no pode ser relanada, etc. Falha do Sistema Falha no Hw Falha no SGBD Falha no SO Para os casos de falha do sistema, existem meios fsicos para contornar e/ou resolver as falhas.

Integridade

Ainda para tratar de segurana e confiabilidade precisamos abordar dois aspectos ainda: Integridade do Banco Integridade dos Dados

Integridade

Podemos entender que a Integridade do Banco esta relacionada ao acesso dos objetos internos. Quais so dos usurios ?

Integridade

Podemos entender que a Integridade do Banco esta relacionada ao acesso dos objetos internos. Quais so dos usurios ?

Administrador Outros

Integridade

Administrador o Possuidor do Banco, ele tem o poder supremo, a ele tudo permitido.

Integridade

Outros No possui poder nenhum, ele somente executa tarefas que foram explicitamente autorizadas. At o direito de acesso tem de ser explicitamente permitido

Integridade

Objetos cujas permisses so atribudas: Tabelas Vises Usurios

Integridade

Usurios Permisso with admin option

Quando o usurio criado com este complemento significa que o usurio passa a ter o poder de administrador tambm.

Integridade

Tabelas e Vises Basicamente as permisses dizem respeito as operaes de: Create Alter Drop

Insert Update Delete

Integridade

Tabelas e Vises Basicamente as permisses dizem respeito as operaes de: Create Alter Drop

Insert Update Delete Importante a permisso para cada objeto

Integridade

Comando para conceder um privilegio:


.-PRIVILEGES-. >>-GRANT--+-ALL--+------------+---------------------------+-----> | .-,-----------------------------------------. | |V || '---+-ALTER---------------------------------+-+-' +-DELETE--------------------------------+ +-INDEX---------------------------------+ +-INSERT--------------------------------+ +-REFERENCES--+-----------------------+-+ | | .-,-----------. | | | | V | || | '-(----column-name-+--)-' | +-SELECT--------------------------------+ '-UPDATE--+-----------------------+-----' | .-,-----------. | | V | | '-(----column-name-+--)-' .-,--------------. .-TABLE-. V | >--ON--+-------+----+-table-name-+-+----------------------------> '-view-name--' .-,----------------------. V | >--TO----+-authorization-name-+-+--+-------------------+------->< '-PUBLIC-------------' '-WITH GRANT OPTION-'

Integridade

Comando para revogar um privilegio:


.-PRIVILEGES-. >>-REVOKE--+-ALL--+------------+---------------------------+----> | .-,-----------------------------------------. | |V || '---+-ALTER---------------------------------+-+-' +-DELETE--------------------------------+ +-INDEX---------------------------------+ +-INSERT--------------------------------+ +-REFERENCES--+-----------------------+-+ | | .-,-----------. | | | | V | || | '-(----column-name-+--)-' | +-SELECT--------------------------------+ '-UPDATE--+-----------------------+-----' | .-,-----------. | | V | | '-(----column-name-+--)-' .-,--------------. .-TABLE-. V | >--ON--+-------+----+-table-name-+-+--FROM----------------------> '-view-name--' .-,----------------------. V | >----+-authorization-name-+-+---------------------------------->< '-PUBLIC-------------'

Administrando

Estamos pronto para administrar os usurios do Banco?

Administrando

Estamos pronto para administrar os usurios do Banco? R. No Depende do Tamanho da Instalao/Usurios

Administrando

Para instalaes Pequenas at d pra trabalhar assim Mas para grandes instalaes bem ruim

Papeis O uso de Papeis facilita em muito a administrao de privilgios.


Em vez de outorgar diretamente o privilgio ao usurio, so criados papeis que possuem os privilgios necessrios a uma atividade. Por Exemplo: Papel de Operador de RH, este papel possui as permisses de incluir novos funcionrios, alterar algumas informaes do funcionrio, consultar e imprimir algumas das informaes.

Papel de Coordenador de RH, alm das permisses acima, possui tambm as de excluso de funcionrios e tambm consultar e imprimir informaes restritas, mas tambm parte das informaes podem no ser vistas.

Papeis Os funcionrios vem e vo logo todo vez que um funcionrio e contratado sem o uso de papeis, haveria um esforo muito grande em dar as permisses necessrias ao seu desempenho.
Isto tambm ocorre no seu desligamento, pois todas as permisses concedidas devem ser revogadas, e no apenas excludo do cadastro. Mas com o uso de papeis, a administrao facilitada pois o usurio ganha os papeis para atuar na execuo da sua tarefa.

Integridade

Redundncia

O Problema aqui bastante simples, se existirem vrias cpias da mesma informao em algum momento, alguma cpia ser esquecida e no atualizada. Logo o problema aqui o trabalho imenso para manter o mesmo contedo em todas as cpias e o disperdcio de espao em disco. Ou a mesma informao com grafias diferentes. Ex.: Turiau, Turiasu, Turiassu. E por a vai.

Soluo aqui Normalizar

Integridade

Valores

O Problema aqui outro, fica fcil imaginar os campos apenas com numricos, caracteres, data e booleanos. No entanto alguns campos ainda podem exigir valores muito especficos para serem vlidos.

Ex.: Como Determinaramos um campo caractere de uma posio que denota-se o sexo do cliente

Integridade

Valores

O Problema aqui outro, fica fcil imaginar os campos apenas com numricos, caracteres, data e booleanos. No entanto alguns campos ainda podem exigir valores muito especficos para serem vlidos.

Ex.: Como Determinaramos um campo caractere de uma posio que denota-se o sexo do cliente O valor N seria bem vindo?

Integridade

Valores

O Problema aqui outro, fica fcil imaginar os campos apenas com numricos, caracteres, data e booleanos. No entanto alguns campos ainda podem exigir valores muito especficos para serem vlidos.

Ex.: Como Determinaramos um campo caractere de uma posio que denota-se o sexo do cliente O valor N seria bem vindo? Na realidade isto tem de ser combinado, at em questo dos usos e costumes.

Integridade

Sexo Para este caso, o usual apenas m ou f, veja estamos apenas registrando com o sexo em que o cliente veio ao mundo, e no aquilo que professado. De qualquer forma, absurdo imaginar este campo com os valores a, n, h, m, Estamos esperando m de masculino e f como feminino. Precisa ficar claro que muitos destes valores, dizem respeito as regras de negocio, bem como de usos e costumes, mas uma ajuda muito boa o prprio banco validar este tipo de informao, simplifica muito o desenvolvimento da interface

Integridade

Sexo Para este caso, o usual apenas m ou f, veja estamos apenas registrando com o sexo em que o cliente veio ao mundo, e no aquilo que professado. De qualquer forma, absurdo imaginar este campo com os valores a, n, h, m, Estamos esperando m de masculino e f como feminino. Precisa ficar claro que muitos destes valores, dizem respeito as regras de negocio, bem como de usos e costumes, mas uma ajuda muito boa o prprio banco validar este tipo de informao, simplifica muito o desenvolvimento da interface

Criptografia

Criptografia uma tcnica que esconde a informao, dificultando ou impedindo o acesso a informao para quem no conhece a chave. Textos criptografados, remonta desde a antiguidade, mas os casos mais recentes e notrios foram os casos: Ingleses x Americanos pr-independncia II Guerra Mundial, onde se tem vrias filmes e histrias sobre a mquina ENIGMA/Alem e Japonesa A tcnica se baseia em um algoritmo, que substitui letras ou palavras por outras, fazendo que o texto, no tenha sentido, para isto utilizado uma sequencia de letras/nmeros ou frases

Criptografia

Algoritmos Simtricos So algoritmos que conseguem abrir o texto usando-se uma chave, invariavelmente esta chave a mesma utilizada para a criptografia. Assimtricos So algoritmos que mesmo que se utilize a mesma chave que foi utilizada para a criptografia, no possvel retornar ao contedo original.

Criptografia

Algoritmos Simtricos So algoritmos que conseguem abrir o texto usando-se uma chave, invariavelmente esta chave a mesma utilizada para a criptografia. Uso: Informaes no Banco Assimtricos So algoritmos que mesmo que se utilize a mesma chave que foi utilizada para a criptografia, no possvel retornar ao contedo original. Uso: Senhas/Chaves de Acesso Neste caso a senha no aberta, a palavra passe/senha aberta encriptada e depois comparada com a que esta armazenada no Banco, se iguais ento o acesso vlido

Criptografia

MySql Funes: AES_Encrypt(Valor,Chave); Funo que efetua a criptografia do campo valor, utilizando o campo chave para fechar o contedo. AES_Decrypt( FieldTable ,@Chave); Funo que abre o contedo do campo FieldTable Para facilitar o acesso pode-se utilizar o ambiente do mysql Select @Chave=Chave; * Que a forma usada para abrir

Criptografia

MySql Uso: INSERT INTO MYTABLE (FIELD1,FIELD2,....,FIELDN) VALUES (ABERTO , AES_Encrypt( FIELD2 , @Chave), FIELDN); Somente o Campo FIELD2 ser encriptado, os demais permanecem abertos

SELECT FIELD1, AES_Decrypt(FIELD2,@Chave), FIELDN FROM MYTABLE; Somente o Campo FIELD2 ser aberto, os demais devem estar abertos

Criptografia

MySql Uso: INSERT INTO MYTABLE (FIELD1,FIELD2,....,FIELDN) VALUES (ABERTO , AES_Encrypt( FIELD2 , @Chave), FIELDN); Somente o Campo FIELD2 ser encriptado, os demais permanecem abertos

Criptografia

MySql Uso: SELECT FIELD1, AES_Decrypt(FIELD2,@Chave), FIELDN FROM MYTABLE; Somente o Campo FIELD2 ser aberto, os demais devem estar abertos.

Criptografia

MySql Exemplo

Criptografia

MySql

Criptografia

Apesar da maioria dos Bancos possurem algoritmos para criptografia internamente, no podemos esquecer de que sempre podemos utilizar tambm a criptografia externa, por software aplicativo, ou at de HSM (Hardware Security Module) que so dispositivos fsicos, com alta capacidade de processamento utilizados para acelerar a criptografia/decriptografia. A melhor soluo dever sempre ser analisada, depende muito do ambiente operativo, volume e tempos

Criptografia

No devemos esquecer que estes algoritmos so extremamente sofisticados, e garantem de fato a segurana, mas isto tem um custo extremamente elevado, o tempo necessrio para acessar a informao ou inseri-la bastante maior em relao ao no uso destas tcnicas. Por isto recomenda-se fortemente que a criptografia seja restrita apenas aos campos imprescindveis deixando os demais de forma aberta.

Desempenho

Sistemas de Banco de Dados, so consumidores frequente de todos os recursos disponveis de sua instalao. Eles vo usar tudo o que a maquina disponibilizar, admitindo-se que o ambiente do banco esteja devidamente preparado, seria facilmente percebido que o problema esteja no equipamento, mas isto esta longe de ser a verdade. O Fato concreto, que voc vai ser questionado quanto a performance do SGBD, e portanto a sua maior e mais difcil tarefa ser identificar onde esta o gargalo

Criptografia

Estratgia
Encontrar o Gargalo

Otimizao de Aplicao e Consultas Otimizao/Ajuste fino do Banco Otimizao do Sistema Operacional Otimizao do Hardware

Criptografia

Estratgia
Encontrar o Gargalo

Basicamente os S.O. dispe de ferramentas de administrao e analise. Em Linux os mais utilizados so ps e top Se o indicativo de cpu para us, estiver alto pode significar que o processo do usurio esta no otimizado. Otimizar Consultas Criao de ndices Atualizao de CPU Configuraes do SGBD

Criptografia

Estratgia
Encontrar o Gargalo

Se o Indicativo de memria mostrar um alto consumo, no necessriamente esteja ruim, apenas esta indicando que o banco esta fazendo uso, que pode ser at cache. Se o indicativo de swap, indicar muitas trocas, com certeza existe um problema. Otimizar as Consultas Modificar os limites de cache Adicionar memria

Criptografia

Estratgia
Encontrar o Gargalo

Se o Indicativo de I/O mostrar um alto consumo, mostrado pelo consumo de CPU para wa(wait time) mostra que os processos esto aguardando muito tempo por conta da latncia das operaes de disco (read/write) Mudar o Motor de armazenamento(storage engine) Raid10 ou Discos mais rpidos.

Criptografia

Estratgia
Encontrar o Gargalo

MyTop Ferramenta semelhante ao Top, mas de uso especifico para o MySql

Demonstra quais usurios, quanto e o tipo de uso esto fazendo

Reviso

Banco de Dados(Segurana)

Fsica Lgica Acesso (Grant/Revoke) Valores (Constraint/valid/Unicidade/Normalizao) Transaes (ACID) Compartilhamento/Seriao Criptografia

Permisses

Atividade usando o MySQL - WorkBench


Dar Permisses de Seleo e Escrita para o Usurio Primeiro na Tabela Teste Dar Permisses de Seleo e Leitura para o Usurio Segundo na Tabela Teste Dar Permisses de Seleo, Leitura e Escrita para o Usurio Terceiro em Todas as Tabelas Dar Permisso Total para o Quarto Usurio em Todas as Tabelas

Permisses

Atividade usando o MySQL - WorkBench


Tabela Teste Id inteiro, autoincremental, chave primria Nome varchar(50) not null, Campo char 2 Tabela Teste2 Id Inteiro chave estrangeira referencia Teste Seq inteiro, autoincremental, chave Primaria Composta Cod inteiro

Permisses

Atividade usando o MySQL - WorkBench


Tabela Teste Id inteiro, autoincremental, chave primria Nome varchar(50) not null, Campo char 2 Tabela Teste2 Id Inteiro chave estrangeira referencia Teste Seq inteiro, autoincremental, chave Primaria Composta Cod inteiro

Permisses

Atividade usando o MySQL - WorkBench


Logar com diferentes usurios e verificar/testar as condies propostas

Permisses

Atividade usando o MySQL - WorkBench


Logar com diferentes usurios e verificar/testar as condies propostas

Dicionario de Dados

O Dicionrio de Dados uma importante ferramenta, que permite registrar os nomes internos usados pelos arquitetos/desenvolvedores com os nomes comuns usados pelos diferentes grupos de usurios.

Permite tambm conhecer facilmente o schema do banco com os detalhamentos dos objetos internos Sendo do Tipo TABLE, os detalhes sero as chaves primarias e estrangeiras seus tipos os nomes internos e externos, bem como seus atributos de tipo, tamanho e validaes existentes.Podendo ter detalhes ligados a triggers Sendo do Tipo STORE PROCEDURE, veremos os cdigos criados(Lgica de Negcio) Sendo do Tipo USER, suas permisses

Dicionario de Dados

No MySql Workbench somente a verso comercial tem a capacidade de dicionrizar o Banco, no entanto.....

Dicionario de Dados

No MySql Workbench somente a verso comercial tem a capacidade de dicionrizar o Banco, no entanto.....
No post anterior sobre o mysql workbench, eu havia comentado que a funcionalidade de gerar um dicionrio de dados s era liberado para verso comercial. Bom, continua assim. Porm, pesquisando sobre, encontrei alguns plugins e scripts que o geram. Claro, o dbdoc que o plugin gera diferente da verso comercial do workbench. O plugin e script esto escritos em LUA, ento, se voc conhece esta linguagem pode estar modificando e melhorando o fonte.
http://javabeginners.wordpress.com/2011/12/06/gerar-dicionario-de-dados-mysqlworkbench/

Dicionario de Dados

No MySql Workbench somente a verso comercial tem a capacidade de dicionrizar o Banco, no entanto..... Plugin:
A instalao simples. No workbench v em: Scripting > Install/Plugin Mode > Selecione o plugin > OK. V em: Scripting > Plugin Manager e veja se esto habilitados. OBS: Depois de instalado, o plugin vai estar disponvel no menu Plugin > Catalog > DbDoc Write to file. OBS 2: O DBDOC s vai aparecer depois de voc ter feito a engenharia reversa na sua database e ter gerado o DER.
Base: DoctrinExport (http://code.google.com/p/mysql-workbench-doctrine-plugin/)

Dicionario de Dados

No MySql Workbench somente a verso comercial tem a capacidade de dicionrizar o Banco, no entanto..... Outro exemplo em:
local schemata= grtV.getGlobal("/wb/doc/physicalModels/0/catalog/schemata/1/tables") local i local j print("<table border='1' style='width:100%'> \n" ) for i=1, grtV.getn(schemata) do print("<tr> \n" ) print("<td colspan='5'> TABLE NAME: " .. schemata[i].name .. "</td> \n") print("</tr> \n" ) print("<tr> \n" ) print("<td>COLUMN_NAME</td> \n") print("<td>TYPE</td> \n") print("<td>NULLABLE?</td> \n") print("<td>AUTO_INCREMENT?</td> \n") print("<td>COMMENTS</td> \n") print("</tr> \n" ) for j=1, grtV.getn(schemata[i].columns) do print("<tr> \n" ) print ( " <td>" .. schemata[i].columns[j].name .. "</td> \n" ) print ( " <td>" .. schemata[i].columns[j].formattedType .. "</td> \n" )

http://tmsanchezdev.blogspot.com.br/2010/07/reporte-en-html-de-un-modelo-en.html?showComment=132197

Dicionario de Dados

No MySql Workbench somente a verso comercial tem a capacidade de dicionrizar o Banco, no entanto..... Outro exemplo em:
if (schemata[i].columns[j].isNotNull == 1) then print (" <td>" .. "NOT NULL" .. "</td> \n" ) else print ( " <td>" .. "NULL" .. "</td> \n" ) end if (schemata[i].columns[j].autoIncrement == 1) then print (" <td>" .. "AUTO_INCREMENT" .. "</td> \n" ) else print (" <td>" .. " - " .. "</td> \n" ) end print ( " <td>" .. schemata[i].columns[j].comment .. "</td> \n" ) print("</tr> \n" ) end end print("</table> \n" ) print ( "\n" )

http://tmsanchezdev.blogspot.com.br/2010/07/reporte-en-html-de-un-modelo-en.html?showComment=132197

Comparativos
Comparao entre MySQL x Oracle Preo Oracle Pago, e a verso Oracle Express

Edition tem tantas restries que no comparvel ao MySQL MySQL Gratuito

Porte Oracle usado em grandes organizaes em funo da habilidade de trabalhar com grandes volumes de dados e questes de segurana MySQL usado massivamente em vrios ambientes, inclusive os maiores especialistas em MySQL so do Facebook, onde existem cerca de 900 milhes de pessoas usando

Comparativos

Segurana Oracle possui mais recursos de segurana, como nome de usurio,senha , perfis, autenticao local, autenticao externa. MySQL usa basicamente trs parmetros, nome de usurio, senha e localizao.

Sintaxe Oracle utiliza de uma linguagem chamada PL/SQL e o SQL*Plus a ferramenta para implementao das Triggers e Stored procedures, e possui tambm ferramentas para confeco de relatrios MySQL tambm possui uma linguagem para a criao de Triggers e Stored Procedures, mas no to completo.

Comparativos

Armazenamento Oracle possui Tablespace, snapshots MySQL permite que se escolha o Engine mais adequado para cada tabela Nomes de Objeto Oracle os nomes dos objetos no schema so insensveis a caso, e geral MySQL os nomes dos objetos no schema tambm so insensveis a caso, mas em alguns casos em funo do SO passa a ser sensvel. Executando Programas e suporte a programas externos Oracle suporta varias linguagens compiladas e executadas internamente ao banco, inclusive suportando o uso de XML MySQL no suporta linguagens e tao pouco XML

Comparativos

Tabelas Temporrias Oracle as tabelas so visveis para todas as sesses/usurios e necessrio efetuar o DROP ao final de seu uso MySQL as tabelas so automaticamente "DROPADAS" ao final e as mesmas somente so visveis ao usurio da sesso Backup Oracle permite uma variedade de backup, copias quentes, copias frias, exportao, importao e datapump e tambm possui a ferramenta RMAN, que permite automatizar algumas tarefas como o backup ou restaurao com pequeno uso de comandos ou usando stored procedures MySQL possui basicamente duas ferramentas mysqldump e mysqlhotcopy, este ultimo a principio funcionando apenas em maquinas linux, e o primeiro permite que se exporte, importe ou migre a base de dados
Fonte:http://www.dbametrix.com/comp-oracle-mysql.html - 2011

Comparativos

Fixao: Pesquise em grupo, comparativo entre mysql x postgree, ou mssql x ? e comparativo entre relacional x norel em grupo 4 pessoas, para entrega

S-ar putea să vă placă și