Jump to content

Recommended Posts

Posted

Viva!

Estou a desenvolver um portal para uso interno no meu trabalho, e ando a estudar algumas matérias antes de começar a desenvolver alguma coisa.

Gostaria de saber a vossa opinião relativamente ao tipo de tabela a utilizar, visto que com o acumular do tempo o volume de informação deve ser grande e certamente haverão situações em que vários utilizadores executaram o mesmo procedimentos em simultâneo (não sei se esta situação implica alguma precaução em especial).

Posted

Olá!

Olha, muito mais importante que o tipo de tabelas vai ser realmente o desenho da base de dados. Um bom esquema e tens 90% dos problemas solucionados.

Uma regra que eu sigo é a seguinte: eu não apago nada da BD. Isto é, eu posso ter algo activo/inactico, em curso/cancelado. Acredito que é boa política não se perder informação.

Relativamente ao número de acessos para modificar um registo de uma tabela, tens sistemas de "semáforos" que te fazem essa gestão. Pessoalmente nunca tive de resolver essa questão, por isso não sou a pessoa que te deve aconselhar.

Quando falas que o volume pode ser grande significa a quantidade de informação ou por exemplo, o facto de trabalhares com imagens ou ficheiros?

Já agora, qual o servidor de bd que estás pensar em usar?

Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.

Posted

Olá!

A modelação da base de dados já tenho feita, estou agora a passar à fase da implementação.

A quantidade de informação, para já, é apenas a quantidade de registos nas várias tabelas...apenas texto

Vou utilizar o MySQL.

Posted

Faz uma estimativa de quantos registos terás por tabela e do tamanho de cada registo.

Assim saberás o tamanho físico de cada tabela e a da base de dados.

Mas não te preocupes com o tamanho da base de dados, a menos que vás desenvolver um data warehouse, vais demorar muitos anos até atingires as centenas de megas por tabela.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted

Pelas opiniões que já li, vou utilizar o tipo de tabelas InnoDB e o charset=utf8_general_ci.

Já agora aproveito para deixar uma situação que me aconteceu no ar, quando faço o export da base dados e quando vou importar noutro PC, os campos são preenchidos até ao 1º caracter acentuado...para já não me faz diferença, mas no futuro quem sabe? Estou a fazer o export/import no phpMyAdmin, conhecem alguma solução para isto?

Posted

Olha, o que estás a dizer é muito estranho... e realmente ainda bem que levantas a questão. Já agora, que ferramentas estás a usar para fazer a exportação?

Outra coisa, já utilizaste o mysql administrator e o query browser? Pessoalmente prefiro-os do que ao PHPmyAdmin. Diz-me a tua opinião.

Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.

  • 2 weeks later...
Posted

No seguimento deste tópico andei a fazer alguns testes no backup à base de dados, e deparei-me com o seguinte, acedendo ao phpMyAdmin selecciono a base dados e surge a listagem das tabelas

Tabela | Acções | Registos | Tipo

------------------------------------

teste  | ......... |          0 | InnoDB

teste1  | ......... |          0 | InnoDB

2 tabela(s) | Soma |        0 | MyISAM

Como exemplo na tabela acima, na coluna tipo os tipos de tabelas estão certos, apenas no fim aparece MyISAM. Esta situação implica alguma coisa no funcionamento da base dados?

Já tentei criar uma tabela e tal como nas tabelas colocar a linha TYPE = InnoDB, mas não está a resultar....

  • 2 weeks later...
Posted

Olha que na norva versão do mysql mudou um pouco a nomenclatura.

Creio que agora usas ENGINE=InnoDB e não Type=InnoDB

O facto de ser do tipo InnoDB permite-te garantires a integridade da base de dados. Isso faz sentido quando começas a trabalhar com chaves estrangeiras.

Há duas coisas infinitas: o Universo e a estupidez humana... embora não haja certezas quanto ao primeiro.

Posted

Gostaria de saber a vossa opinião relativamente ao tipo de tabela a utilizar, visto que com o acumular do tempo o volume de informação deve ser grande e certamente haverão situações em que vários utilizadores executaram o mesmo procedimentos em simultâneo (não sei se esta situação implica alguma precaução em especial).

Os diferentes motores disponíveis para serem utilizados em tabelas do mysql, têm características bastante diferentes.

Com a informação que disponibilizaste não se pode recomendar nada. Cada caso é um caso muito particular.  Por exemplo questões como a concorrência e a integridade referencial são relevantes, a rapidez com que se faz operações de escrita, ou de leitura também. No entanto até dentro da mesma base de dados, podemos ter tabelas com requisitos completamente distintos que nos fazem utilizar motores diferentes.

Por exemplo estou num projecto em que utilizamos vários motores diferentes, porque temos problemas muito diferentes para resolver e quantidades muito grandes de dados para lidar (ainda sem termos tudo em produção lidamos com aproximadamente com mais de uma dezena de GB por dia), para tabelas que têm necessidades diferentes.

Se só utilizasse-mos um dos motores não conseguiríamos ter a aplicação a funcionar de forma aceitável. Precisamos de utilizar o motor certo para a tarefa certa. E tu tens que identificar bem as necessidades que vais ter com o teu modelo de dados e aplicar o motor certo na tabela certa.

A necessidade de concorrência, a capacidade de recuperar de falhas, a frequência de operações de escrita, ou de consulta são das coisas mais importantes a ter em conta.

Posted

Olá, falco!

Obrigado pela tua resposta tão esclarecedora.

O projecto que estou a trabalhar é um portal que estou a desenvolver de raiz, e claro implica auto estudo e como a experiência não é muita gosto de ouvir algumas opiniões de forma a direccionar o meu trabalho para a direcção certa.

Este portal irá substituir algumas rotinas, diminuindo o volume de papel e redução do tempo despendido. Estou a desenvolver algumas aplicações, entre as quais sistema de autenticação (front e back office), painel de administração das aplicações que vou desenvolvendo e também a gestão de utilizadores. Num futuro próximo será desenvolvida uma aplicação para gerir pedidos de helpdesk e outras do genero, acho que vai ter algum fluxo de informação, mas não chegará certamente ao GB por dia...acho eu!

Já estou a utilizar as ferramentas que sugeriste, e diga-se que têm dado um jeitão valente.

Vou estudar bem a situação, e depois tomar uma decisão.

Mais uma vez obrigado!

  • 2 weeks later...
Posted
Já estou a utilizar as ferramentas que sugeriste, e diga-se que têm dado um jeitão valente.

Sim apesar das suas limitações, são muito úteis.

Com tanta coisa que existe precisavas mesmo de desenvolver algo de raiz?

Posted

Tentei ver alguns CMS's, talvez pudesse utilizar algum....

Utilizei um, mas não conseguia utilizar de forma clara algumas tags, assim como AJAX...perdi quase um mês de volta disso e não fiz nada que se visse, para além de teste e tentativas.

Assim optei por aventurar-me a desenvolver algo de raiz, talvez seja mais complicado e não tão fácil personalizar, estou a desenvolver o portal e várias aplicações a implementar neste que se adaptam completamente às necessidades do organização onde trabalho....

Verdade seja dite, tá a ser um quebra cabeças, andar a planear como vai ser tudo, sistema de autenticação, permissões, restrição a informação conforme as permissões, e agora painel de administração...tem dado um trabalho valente e ainda na vai a meio...enfim, na verdade estou a gostar do desafio. Desta forma permite aprofundar os meus conhecimentos e aumentar a partilha do mesmo, assim como leva-me a estudar a fundo questões como estas da tabela e trabalhar à volta disto.

Como te digo, é uma aventura!

Posted

talvez seja isso, na verdade sei pouco acerca do assunto.

O que na verdade se pretende com este portal é disponibilizar aplicações que vão sendo desenvolvidas no sentido de optimizar alguns processos internos (mais propriamente requisição de serviços), partilha de informação (neste caso pretende-se desenvolver tipo um arquivo para armazenar docs pdf, powerpoint e docs texto) e com o tempo ir acabando com as bases de dados existente em access e importar estas para MySQL....

Talvez isto seja esse tipo de aplicações te referes, no entanto se tiveres alguma sugestão será bem vinda. Estamos sempre a aprender!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.