Bom dia. poderiam verificar se está correto?
A livraria deseja manter um cadastro de clientes;
Sobre cada cliente, é importante manter seu endereço, telefone, CPF e lista dos livros que este cliente já comprou. Para cada compra, é importante guardar a data em que esta foi realizada;
Um cliente pode comprar muitos livros. Um livro pode ser vendido para mais de um cliente pois geralmente há vários livros em estoque;
Um cliente pode ser pessoa física ou jurídica. Se for pessoa jurídica, o seu identificador deve ser o CNPJ e caso seja física seu identificador será o CPF.
A livraria compra livros de editoras;
Sobre as editoras, a livraria precisa de seu código, endereço, telefone de contato, e o nome de seu gerente;
Cada cliente tem um código único;
Deve-se manter um cadastro sobre cada livro na livraria. Para cada livro, é importante armazenar o nome do autor, assunto, editora, ISBN e a quantidade dos livros em estoque. Cada livro pode ter vários autores e somente uma editora;
Editoras diferentes não fornecem o mesmo tipo de livro.
essa é a minha resposta.
create database livraria;
use livraria;
create table pessoafisica(
cpf varchar(11) primary key not null
);
create table pessoajuridica(
cnpj varchar(15) primary key not null
);
clientecreate table cliente(
codigo int primary key not null,
telefone varchar(11),
endereço varchar(45),
cpf varchar(11) primary key not null,
foreign key (cpf) references
pessoafisica (cpf),
cnpj varchar(15) primary key not null,
foreign key (cnpj) references
pessoajuridica (cnpj)
);
create table compras(
codigocliente int not null,
isbn int not null,
datacompra date,
primary key (codigocliente, isbn)
);
create table livro(
isbn int primary key not null,
qtd_estoque int,
assunto varchar(45),
autor varchar(45),
codigoeditora varchar(45)
);
create table editora(
codigo int primary key not null,
endereco varchar(45),
telefone varchar(11),
gerente varchar(45)
);