Alguém pode ajudar nesse projeto..
Nosso projeto consiste em desenvolver um script na linguagem SQL (sintaxe SQLite). Esse script deve contemplar a criação das tabelas de acordo com o modelo físico abaixo:
Anexos:
diogolopess1oxzlrm:
So nao esquece de declarar a primary key e a foreign key
Soluções para a tarefa
Respondido por
21
Bem, primeiro vamos definir a ordem da criação das tabelas.
1. SITUACAO
2. SOCIO
3. MARCA
4. CARRO
Não precisa ser necessariamente nessa ordem, mas optei por ela. Após definir a ordem, crie cada tabela apenas colocando o nome das colunas. Ex.:
CREATE TABLE TABELA (
campo1,
campo2,
campoN
);
Faça isso com todas as tabelas. Depois, adicione o tipo dos dados e, para os campos chaves, adicione a propriedade de primary key e not null. Se deseja que a chave seja inserida automaticamente em cada linha da tabela, use o autoincrement.
Depois crie os campos que serão a chave estrangeira e embaixo declare eles como chaves estrangeiras e para qual tabela.atributo estarão referenciando.
Para criar a relação (1, 1), basta que criar uma foreign key em ambas as tabelas.
-- Tabela da Situacao
CREATE TABLE SITUACAO (
id_situacao INTEGER NOT NULL PRIMARY KEY,
situacao VARCHAR(10),
id_socio INTEGER DEFAULT NULL,
FOREIGN KEY(id_socio) REFERENCES SOCIO(id_socio) -- Para (1,1)
);
-- Tabela do Socio
CREATE TABLE SOCIO (
id_socio INTEGER NOT NULL PRIMARY KEY,
nome VARCHAR(256),
cpf VARCHAR(11),
email VARCHAR(256),
id_situacao INTEGER,
FOREIGN KEY(id_situacao) REFERENCES SITUACAO(id_situacao)
);
-- Tabela da Marca
CREATE TABLE MARCA (
id_marca INTEGER NOT NULL PRIMARY KEY,
marca VARCHAR(128),
id_carro INTEGER DEFAULT NULL,
FOREIGN KEY(id_carro) REFERENCES CARRO(id_carro) -- Para (1,1)
);
-- Tabela do Carro
CREATE TABLE CARRO (
id_carro INTEGER NOT NULL PRIMARY KEY,
modelo VARCHAR(128),
cor VARCHAR(64),
placa VARCHAR(10),
id_socio INTEGER,
id_marca INTEGER,
FOREIGN KEY(id_socio) REFERENCES SOCIO(id_socio),
FOREIGN KEY(id_marca) REFERENCES MARCA(id_marca)
);
Cole o script acima em um arquivo chamado script com a extensão SQL (script.sql) e depois crie uma base de dados com o sqlite3. Exemplo:
$ sqlite3 minha_base.sqlite3
Ou abra o sqlite3 e use o comando:
sqlite> .open minha_base.sqlite3.
E dentro dela, execute o script que criará as tabelas e suas relações:
sqlite> .read script.sql
Após isso, poderá listar as tabelas com o comando .tables e ver a estrutura delas com o .schema.
1. SITUACAO
2. SOCIO
3. MARCA
4. CARRO
Não precisa ser necessariamente nessa ordem, mas optei por ela. Após definir a ordem, crie cada tabela apenas colocando o nome das colunas. Ex.:
CREATE TABLE TABELA (
campo1,
campo2,
campoN
);
Faça isso com todas as tabelas. Depois, adicione o tipo dos dados e, para os campos chaves, adicione a propriedade de primary key e not null. Se deseja que a chave seja inserida automaticamente em cada linha da tabela, use o autoincrement.
Depois crie os campos que serão a chave estrangeira e embaixo declare eles como chaves estrangeiras e para qual tabela.atributo estarão referenciando.
Para criar a relação (1, 1), basta que criar uma foreign key em ambas as tabelas.
-- Tabela da Situacao
CREATE TABLE SITUACAO (
id_situacao INTEGER NOT NULL PRIMARY KEY,
situacao VARCHAR(10),
id_socio INTEGER DEFAULT NULL,
FOREIGN KEY(id_socio) REFERENCES SOCIO(id_socio) -- Para (1,1)
);
-- Tabela do Socio
CREATE TABLE SOCIO (
id_socio INTEGER NOT NULL PRIMARY KEY,
nome VARCHAR(256),
cpf VARCHAR(11),
email VARCHAR(256),
id_situacao INTEGER,
FOREIGN KEY(id_situacao) REFERENCES SITUACAO(id_situacao)
);
-- Tabela da Marca
CREATE TABLE MARCA (
id_marca INTEGER NOT NULL PRIMARY KEY,
marca VARCHAR(128),
id_carro INTEGER DEFAULT NULL,
FOREIGN KEY(id_carro) REFERENCES CARRO(id_carro) -- Para (1,1)
);
-- Tabela do Carro
CREATE TABLE CARRO (
id_carro INTEGER NOT NULL PRIMARY KEY,
modelo VARCHAR(128),
cor VARCHAR(64),
placa VARCHAR(10),
id_socio INTEGER,
id_marca INTEGER,
FOREIGN KEY(id_socio) REFERENCES SOCIO(id_socio),
FOREIGN KEY(id_marca) REFERENCES MARCA(id_marca)
);
Cole o script acima em um arquivo chamado script com a extensão SQL (script.sql) e depois crie uma base de dados com o sqlite3. Exemplo:
$ sqlite3 minha_base.sqlite3
Ou abra o sqlite3 e use o comando:
sqlite> .open minha_base.sqlite3.
E dentro dela, execute o script que criará as tabelas e suas relações:
sqlite> .read script.sql
Após isso, poderá listar as tabelas com o comando .tables e ver a estrutura delas com o .schema.
Perguntas interessantes