0% acharam este documento útil (0 voto)
49 visualizações2 páginas

Script SQL para o Modelo Físico

O documento contém um script SQL para criar um banco de dados chamado 'EmpresaClientes', que inclui tabelas para armazenar informações sobre empresas, clientes, tipos de clientes, endereços, bens e relacionamentos entre clientes e empresas. O script também inclui inserções iniciais de dados, como tipos de clientes e informações de empresas e clientes. As tabelas são interligadas por chaves estrangeiras, garantindo a integridade referencial dos dados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
49 visualizações2 páginas

Script SQL para o Modelo Físico

O documento contém um script SQL para criar um banco de dados chamado 'EmpresaClientes', que inclui tabelas para armazenar informações sobre empresas, clientes, tipos de clientes, endereços, bens e relacionamentos entre clientes e empresas. O script também inclui inserções iniciais de dados, como tipos de clientes e informações de empresas e clientes. As tabelas são interligadas por chaves estrangeiras, garantindo a integridade referencial dos dados.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato TXT, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 2

-- Script SQL para o modelo físico do mini mundo

-- Criar o banco de dados (se ainda não existir)


CREATE DATABASE EmpresaClientes;

-- Selecionar o banco de dados para uso


USE EmpresaClientes;

-- Tabela para armazenar as empresas


CREATE TABLE Empresa (
id_empresa INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
cnpj CHAR(14) NOT NULL UNIQUE
);

-- Tabela para armazenar os clientes


CREATE TABLE Cliente (
id_cliente INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(255) NOT NULL,
sexo CHAR(1), -- M para masculino, F para feminino, N para não especificado
email VARCHAR(255) UNIQUE,
telefone VARCHAR(15)
);

-- Tabela para armazenar os tipos de cliente (Pessoa Física ou Pessoa Jurídica)


CREATE TABLE TipoCliente (
id_tipo_cliente INT AUTO_INCREMENT PRIMARY KEY,
descricao VARCHAR(50) NOT NULL
);

-- Relacionamento entre cliente e tipo de cliente


CREATE TABLE ClienteTipo (
id_cliente_tipo INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT NOT NULL,
id_tipo_cliente INT NOT NULL,
FOREIGN KEY (id_cliente) REFERENCES Cliente (id_cliente) ON DELETE CASCADE,
FOREIGN KEY (id_tipo_cliente) REFERENCES TipoCliente (id_tipo_cliente) ON
DELETE CASCADE
);

-- Tabela para armazenar os endereços dos clientes


CREATE TABLE Endereco (
id_endereco INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT NOT NULL,
logradouro VARCHAR(255) NOT NULL,
cidade VARCHAR(100) NOT NULL,
estado CHAR(2) NOT NULL,
cep CHAR(8) NOT NULL,
FOREIGN KEY (id_cliente) REFERENCES Cliente (id_cliente) ON DELETE CASCADE
);

-- Tabela para armazenar os bens dos clientes


CREATE TABLE Bem (
id_bem INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT NOT NULL,
nome VARCHAR(255) NOT NULL,
tipo VARCHAR(50) NOT NULL, -- Imóvel ou Móvel
valor_mercado DECIMAL(18,2) NOT NULL,
descricao TEXT,
FOREIGN KEY (id_cliente) REFERENCES Cliente (id_cliente) ON DELETE CASCADE
);

-- Tabela para registrar o relacionamento entre clientes e empresas


CREATE TABLE ClienteEmpresa (
id_cliente_empresa INT AUTO_INCREMENT PRIMARY KEY,
id_cliente INT NOT NULL,
id_empresa INT NOT NULL,
data_cadastro DATE NOT NULL,
FOREIGN KEY (id_cliente) REFERENCES Cliente (id_cliente) ON DELETE CASCADE,
FOREIGN KEY (id_empresa) REFERENCES Empresa (id_empresa) ON DELETE CASCADE
);

-- Inserção inicial dos tipos de cliente


INSERT INTO TipoCliente (descricao) VALUES
('Pessoa Física'),
('Pessoa Jurídica');

-- Inserção inicial de empresas


INSERT INTO Empresa (nome, cnpj) VALUES
('Empresa Alpha', '12345678000101'),
('Empresa Beta', '98765432000102');

-- Inserção inicial de clientes


INSERT INTO Cliente (nome, sexo, email, telefone) VALUES
('Arthur Servero', 'M', '[email protected]', '11999999999'),
('Agatha Volkman', 'F', '[email protected]', '21988888888'),
('Senhor Veríssimo', 'N', '[email protected]', '31977777777');

-- Relacionamento entre clientes e tipos


INSERT INTO ClienteTipo (id_cliente, id_tipo_cliente) VALUES
(1, 1), -- João Silva é Pessoa Física
(2, 1), -- Maria Oliveira é Pessoa Física
(3, 2); -- Empresa XYZ é Pessoa Jurídica

-- Inserção inicial de endereços


INSERT INTO Endereco (id_cliente, logradouro, cidade, estado, cep) VALUES
(1, 'Carpazinha, 123', 'São Paulo', 'SP', '01001000'),
(2, 'Inajá, 456', 'Pernambuco', 'PE', '22021001'),
(3, 'Tenebris, 789', 'A cidade que não existe', 'MM', '30120000');

-- Inserção inicial de bens


INSERT INTO Bem (id_cliente, nome, tipo, valor_mercado, descricao) VALUES
(1, 'Apartamento no Centro', 'Imóvel', 500000.00, 'Apartamento de 3 quartos no
centro da cidade'),
(2, 'Carro Sedan', 'Móvel', 80000.00, 'Carro em ótimo estado, modelo 2020'),
(3, 'Lancha Rápida', 'Móvel', 300000.00, 'Lancha com capacidade para 8 pessoas');

-- Relacionamento entre clientes e empresas com data de cadastro


INSERT INTO ClienteEmpresa (id_cliente, id_empresa, data_cadastro) VALUES
(1, 1, '2024-01-10'),
(2, 1, '2024-01-15'),
(3, 2, '2024-02-01');

Você também pode gostar