como você sabe como criar um banco de dados mysql quando criando um aplicativo php avançado?

StackOverflow https://stackoverflow.com/questions/200257

  •  03-07-2019
  •  | 
  •  

Pergunta

i nunca criou um carrinho de compras, ou fórum em php. além de visualizar e analisar outra pessoas projetar ou visualizar tutoriais que exibição como fazer um projeto como este ou como sendo um projeto como este. como é que uma pessoa sabe como criar a estrutura de banco de dados para criar uma coisa dessas? im adivinhando sua probbably por tentativa e erro ...

Foi útil?

Solução

A principal técnica que você pode aprender sobre design de banco de dados é chamado banco de dados Normalização.

normalização banco de dados tem seus limites, especialmente se você tiver muitas transações. Em algum momento você pode ser forçado a desnormalizar .

Mas IMHO é sempre melhor começar com um design de banco de dados normalizado.

Outras dicas

Você deve ler e compreender as noções básicas de normalização . para a maioria dos projetos, normalizando a forma normal 3º será apenas multa. há sempre determinados cenários, quando você quiser mais ou menos a normalização, mas compreender os conceitos por trás que vai permitir que você a pensar sobre como seu banco de dados é estruturado em um formato normalizado.

Aqui está um exemplo muito básico de normalizar uma tabela:

students
  student_id
  student_name
  student_class
  student_grade

uma tabela bastante normal contendo diversos dados, mas podemos ver algumas questões imediatamente. podemos ver que o nome de um estudante é dependente de sua ID, no entanto, um aluno pode estar envolvido em mais de uma classe, e cada classe seria concebível ter um grau diferente. podemos então pensar sobre as mesas como tal:

students
  student_id
  student_name

class
  class_id
  class_name

este não é ruim, agora podemos ver, temos vários estudantes e várias classes, mas não temos capturado notas do aluno.

grades
  student_id
  class_id
  grade

agora temos uma tabela 3, o que nos permite compreender a relação entre um aluno em particular, uma classe particular, e uma nota associada a essa classe. da nossa primeira tabela inicial, agora temos 3 tabelas em um banco de dados normalizado (vamos supor que não precisam de notas normalizar mais longe por causa do exemplo :))

algumas coisas que podemos recolher a partir deste exemplo muito básico:

  • nossos dados são todos ligados a uma chave de algum tipo (student_id, class_id e student_id + class_id). estes são identificadores únicos dentro de cada mesa.
  • com nossas relações com chave, somos capazes de relacionar informações entre si (quantas aulas é estudante # 4096 inscritos no?)
  • podemos ver nossas mesas não contêm dados duplicados agora (pensar sobre a nossa primeira mesa, onde student_class poderia ser o mesmo valor para muitos estudantes. Se nós tivemos que mudar o nome da classe, nós teríamos que atualizar todos os registros . em nosso formato normalizado, nós podemos apenas atualização class_name de class_id)

Eu também recomendo usar um editor visual para criar o esquema do banco de dados. Estive recentemente usando: http://dev.mysql.com/workbench/

Depois de criar um projeto de banco de dados, tem alguém com mais experiência visual sobre isso e dar-lhe feedback. Mas saiba que tanto tempo quanto você pode gastar concepção, você acabará por ter de fazer a implementação e vai descobrir que está faltando alguma coisa ou poderia fazer um trabalho ainda melhor fazê-lo de outra forma.

Então, design, obter feedback, mas não tenha medo de mudança.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top