create sequence seq_editora START 1;
create table editora (
cod_editora int not null
default nextval ('seq_editora'),
descricao varchar (30) null,
endereco varchar (30) null,
constraint pk_editora
primary key (cod_editora)
);
create sequence seq_livro START 1;
create table livro (
cod_livro int not null
default nextval ('seq_livro'),
isbn varchar (20) null,
titulo varchar (45) null,
num_edicao int null,
preco float null,
cod_editora int not null,
constraint pk_livro
primary key (cod_livro),
constraint fk_livro_editora
foreign key (cod_editora)
references editora (cod_editora)
);
create sequence seq_autor START 1;
create table autor (
cod_autor int not null primary key
default nextval ('seq_autor'),
nome varchar (45) null,
sexo char (1) null,
data_nascimento date null
);
create table livro_autor (
cod_livro int not null,
cod_autor int not null,
constraint pk_livro_autor
primary key (cod_livro, cod_autor),
constraint fk_livro_autor_livro
foreign key (cod_livro)
references livro (cod_livro),
constraint fk_livro_autor_autor
foreign key (cod_autor)
references autor (cod_autor)
);
insert into editora
(descricao, endereco)
values
('campus', 'rua do timbó'),
('abril', null),
('editora teste', null);
insert into livro
(isbn, titulo, num_edicao, preco, cod_editora)
values
('12345', 'banco de dados', 3, 70.00, 1),
('35790', 'sgbd', 1, 85.00, 2),
('98765', 'redes de computadores', 2, 80.00,2);
insert into autor
(nome, sexo, data_nascimento)
values
('João', 'M', '1970/01/01'),
('Maria', 'F', '1974/05/17'),
('José', 'M', '1977/10/10'),
('Carla', 'F', '1964/12/08');
insert into livro_autor
(cod_livro, cod_autor)
values (1, 1), (1,2), (2, 2), (2,4), (3,3);