domingo, 29 de julho de 2012

Criando tabelas com relacionamentos, MySql


Criando um Banco de Dados

     Imaginem que vocês precisem criar um banco de dados para um banco qualquer, todas as tabelas devem se relacionar para facilitar na hora de fazer a pesquisa, ou seja, à hora de pesquisar informações sobre o cliente, o endereço dele, o saldo em determinada data, não vou está postando os select para fazer a pesquisa neste post, mas assim que sobra um tempinho vou fazer outro post para criação do select para este banco de dados, espero que gostem, e se gostarem da um +1 ai. Lembrando guarde o código para usarmos o select.

     Estou criando usando o Query Browser, e para executar os comandos bastas selecionar a linha e aperta Ctrl + Enter. “Quando digo selecionar a linha é só clica em qualquer parte do código que você quer executar, qualquer lugar entre “create” e o “;" ponto e virgula, ele serve para finalizar o código.

Criando a Database para o banco de dados

create database Banco_Dionatan;
     Selecionando a database para não precisar ficar digitando o nome em cada tabela, facilita bastante na criação das tabelas.

use Banco_Dionatan;


     Criando a tabela estado, começamos por ela porque não tem uma chave estrangeira, sempre devemos começa a criar as nossas tabelas por uma que não tenha uma chave estrangeira, mas porque isto? Simples como você irá relacionar uma coisa com outra que não existe? Vejamos o seguinte à tabela estado não relaciona com nem uma outra, mas a tabela cidade relaciona com o ID da tabela estado, então se cria-se a tabela cidade primeiro daria erro, isto porque a tabela estado ainda não existe, então o campo id da tabela estado também não. Acho que agora deu para entender? Se ainda tiver alguma dúvida, deixe um comentário que vou tentar explicar melhor.

create table estado (
id int not null auto_increment primary key,
nome varchar (50) not null,
sigla char (2) not null);

     Criando a tabela cidade, a tabela cidade relaciona com a tabela estado, ou seja, na tabela cidade o campo idestado relaciona com o campo da tabela estado id.

create table cidade (
id int not null auto_increment primary key,
nome varchar (50) not null,
idestado int not null,
foreign key (idestado) references estado (id));

     Criando a tabela endereco, a tabela endereco se relaciona com a tabela cidade pelo campo idcidade na tabela endereco,ou seja, idcidade é igual ao id da tabela cidade.

create table endereco (
id int not null auto_increment primary key,
logradouro varchar (100) default null,
cep char (8) not null,
idcidade int not null,
foreign key (idcidade) references cidade (id));

     Criando a tabela cliente, a tabela cliente relaciona com a tabela endereco, onde o campo da tabela cliente id endereco se relaciona com o campo da tabela endereco no id.

create trable cliente (
id int not null auto_increment primary key,

nome varchar (50) not null,

cpf varchar(8) not null,

idendereco int not null,

logradouro varchar (100) default null,

telefone1 varchar (14) default null,

telefone2 varchar (14) default null,

Email varchar (100) default null,

foreign key (idendereco) references endereco (id));


     Criando a tabela conta, a tabela conta se relaciona com a tabela cliente através do campo na tabela conta idcliente, este campo liga no id do cliente.

create table conta (

id int not null auto_increment primary key,

banco varchar (50) not null,

idcliente int not null,

agencia varchar (100) not null,

conta varchar (15) not null,

foreign key (idcliente) references cliente (id));


     Criando a tabela operações, a tabela operações relaciona com a tabela conta através da chave estrangeira idconta, que se liga no campo id da tabela conta.

create table operecoes (

id int not null auto_increment primary key,
idconta int not null,
saldo float (11,2) default null,
retirada float (11,2) default null,
foreign key (idconta) references conta (id));

 
     Devem ser criadas as tabelas na mesma ordem por questões de relacionamento, com essa estrutura será capaz de pesquisar qualquer informação que deseja, porque todos os campos tem ligação um com o outro, então basta criar seus selects personalizado.

     Não altere o código imaginado que digitei errado. Exemplo: endereco ao invés de endereço, isto porque quando se estiver digitando o código a algumas regar, entre elas é jamais usar o "~" ão, fazer isto é um crime.

Nenhum comentário:

Postar um comentário