Banco de Dados - Álgebra Relacional
Tema:
Sistema de Biblioteca
Introdução:
A Biblioteca de uma faculdade possui um acervo de obras, de acordo com o tipo de obra e tipo de clientes, as obras podem ser emprestadas outras não.
Entidades:
Autor
Cliente
Editora
Empréstimo
Estabelecimento
Exemplar
Item Empréstimo
Obra
Diagrama de Entidade de Relacionamento
Modelo de Dados
Consultas em Álgebra relacional
O cliente do empréstimo de código 1
π cliente.nome(σ (empréstimo. cod_emprestimo = 1 ) ^ ( cliente.cod_cliente = empréstimo_cod_cliente) )
(cliente x emprestimo)
O estabelecimento que esta o exemplar de numero 4
π estabelecimento.nome(σ (cod_exemplar = 4 ) ^ ( exemplar.cod_exemplar = estabelecimento.cod_exemplar) )
(exemplar x estabelecimento)
O autor da Obra "Java - Como Programar“
π autor.nome (σ (obra.nome_titulo = ‘Java - Como Programar’ ) ^ (obra.cod_autor = autor.cod_autor) )
(obra x autor)
Avaliação das formas normais em duas tabelas
Obra
cod_obra nome_titulo permite_emp isbn assunto num_volumes data_publicacao cod_autor cod_editora
3
Java-Como Programar
T
9788576
TI_Desenvolvimento
10
"01-01-2008"
1
1
4
Sistemas de Banco de Dados
T
9788501
TI_Banco de Dados
8
"01-01-2010"
2
2
5
Crie banco de dados em MySQL
T
9788711
TI_Banco de Dados
8
"01-01-2002"
3
3
Autor cod_autor nome
1
Paul Deitel
2
Clarice Olivera
3
James Stweart
O script SQL que gerou o banco de dados
-- Table: autor
-- DROP TABLE autor;
CREATE TABLE autor
(
nome character varying, cod_autor serial NOT NULL, CONSTRAINT pk_cod_autor PRIMARY KEY (cod_autor)
)
WITH ( OIDS=FALSE
);
ALTER TABLE autor OWNER TO postgres;
-- Table: cliente
-- DROP TABLE cliente;
CREATE TABLE cliente
(
cod_cliente serial NOT NULL, nome character varying, tipo character(1), curso character varying,