Criando Tabelas no MySQL
- Gerar link
- X
- Outros aplicativos
O MySQL é um dos sistemas de gerenciamento de banco de dados mais populares do mundo. Criar tabelas eficientes e bem estruturadas é essencial para a modelagem de dados. Neste artigo, vamos abordar como criar um banco de dados, uma tabela "Pessoa" com dados pessoais e uma tabela "Veículo" com uma chave estrangeira relacionada à tabela "Pessoa".
Criando um Banco de Dados
Antes de criar tabelas, é importante definir o banco de dados que as abrigará. Você pode fazer isso usando o seguinte comando SQL:
CREATE DATABASE ALUGUEL_VEICULOS;
Lembre-se de escolher um nome significativo para seu banco de dados.
Criando a Tabela PESSOA
Vamos começar criando a tabela "Pessoa". O CPF será a chave primária, e usaremos a notação snake_case para os nomes das colunas, na qual o caractere "_" (underscore) é utilizado para separar as palavras. Além disso, é uma boa prática utilizar letras maiúsculas para os comandos SQL para evitar problemas em servidores Linux, que são "case sensitive". Na verdade, você pode usar qualquer padrão (maiúsculas, minúsculas ou Capitulado, snake_case, etc), desde que sempre use esse padrão para evitar erros preveníveis.
É uma boa pratica indicar o nome do database no qual a tabela deve ser criada. Isso evita o erro de criar a tabela no banco de dados corrente por engano. É bom também indicar o nome da constraint de primary key, já que o SGBD irá nomeá-la, tendo você indicado o nome ou não. Assim, documenta-se melhor o banco de dados e será mais fácil identificar onde estão os possíveis erros, pois os SGBDs indicam qual constraint foi violada nas mensagens de erro. Uma constraint deve ter um nome único no banco de dados. Como cada tabela tem apenas um chave primária, usar o prefixo PK_ junto ao nome da tabela já é o suficiente.
CREATE TABLE ALUGUEL_VEICULOS.PESSOA (
CPF VARCHAR(11) NOT NULL,
NOME VARCHAR(255) NOT NULL,
DATA_DE_NASCIMENTO DATE,
IDF_SEXO ENUM('M', 'F'),
ENDERECO VARCHAR(250) NOT NULL,
CONSTRAINT PK_PESSOA PRIMARY KEY (CPF)
) ENGINE=INNODB;
Neste exemplo, criamos uma tabela PESSOA com as colunas CPF, NOME, DATA_DE_NASCIMENTO, IDF_SEXO (identificador) e ENDERECO. O CPF foi definido como a
chave primária. Como o MySQL tem vários tipos de tabelas, para fazer uso da integridade referencial pelo SGBD é preciso criar as tabelas com o motor (engine) INNODB.
Chave Estrangeira na Tabela VEICULO
Agora, criaremos a tabela VEICULO com uma chave estrangeira que faz referência à tabela PESSOA. A placa do veículo será a chave primária da tabela VEICULO. A chave estrangeira é usada para estabelecer a relação entre o proprietário do veículo e a pessoa na tabela PESSOA.
CREATE TABLE ALUGUEL_VEICULOS.VEICULO (
PLACA VARCHAR(7) NOT NULL,
MARCA VARCHAR(50) NOT NULL,
MODELO VARCHAR(50) NOT NULL,
ANO YEAR NOT NULL,
CPF_PROPRIETARIO VARCHAR(11) NOT NULL,
CONSTRAINT ALUGUEL_VEICULOS.PK_VEICULO
PRIMARY KEY (PLACA),
CONSTRAINT ALUGUEL_VEICULOS.FK_VEICULO_2_PESSOA
FOREIGN KEY (CPF_PROPRIETARIO) REFERENCES PESSOA (CPF)
) ENGINE=INNODB;
Neste exemplo, criamos a tabela VEICULO com as colunas PLACA, MARCA, MODELO, ANO e CPF_PROPRIETARIO. A coluna CPF_PROPRIETARIO é a chave estrangeira que faz referência à coluna
CPF na tabela PESSOA. PLACA é a chave primária da tabela VEICULO.
Novamente indicamos o banco de dados onde a tabela deve ser criada e os nomes das constraints. A constraint de chave estrangeira faz referência a origem e o destino da relação, ou seja, vai da tabela VEICULO para a tabela PESSOA. Além disso, foi informado o engine da tabela.
Conclusão
Criar tabelas em um banco de dados MySQL é uma parte fundamental da modelagem de dados. Ao definir cuidadosamente as chaves primárias e chaves estrangeiras, você pode estabelecer relações entre as entidades e garantir a integridade dos dados. Lembre-se de seguir as boas práticas de nomenclatura e de escolher nomes descritivos para suas tabelas e colunas.
Com esse conhecimento, você está pronto para criar e relacionar tabelas em seu banco de dados MySQL.
Espero que tenha gostado.
Até a próxima!
- Gerar link
- X
- Outros aplicativos
Comentários
Postar um comentário