Laboratório de Banco de Dados

19 03 2012

Inventário de Hardware e Software

https://gist.github.com/gists/2094129/download





Laboratório de Banco de Dados

6 03 2012

Seguem os scripts sql para criação do banco Controle de Biblioteca (estrutura, alterações e dados), por favor quem for usar me avise se estiver com algum problema pois não tive tempo para testar.

Bons estudos!


— ALTERANDO AS ESTRUTURAS DAS TABELAS
— ADICIONANDO UMA COLUNA
ALTER TABLE EMPRESTIMO ADD OBS_EMPRESTIMO VARCHAR2(50);
— RENOMEANDO UMA COLUNA
ALTER TABLE LIVRO RENAME COLUMN TITULO_LIVRO TO TITULO;
— CRIANDO E EXCLUINDO UMA COLUNA
ALTER TABLE USUARIO ADD (TIME_PREFERENCIA CHAR(20));
ALTER TABLE USUARIO DROP COLUMN TIME_PREFERENCIA;
— MUDANDO O TAMANHO OU TIPO DE DADO DE UMA COLUNA
ALTER TABLE EMPRESTIMO MODIFY OBS_EMPRESTIMO VARCHAR2(100);
— DEFININDO UM VALOR PADRAO (DEFAULT) PARA UMA COLUNA
ALTER TABLE EMPRESTIMO MODIFY VALOR_MULTA DEFAULT 0.0;
—————————————————————————–
— DEFINDO UMA CHAVE ESTRANGEIRA EM UMA COLUNA JA EXISTENTE
— CRIANDO UMA TABELA DE UM CAMPO – LOCALIZACAO "QUESTAO DE PROVA"
CREATE TABLE LOCALIZACAO_EXEMPLAR
(
LOCALIZACAO CHAR(6) PRIMARY KEY,
DESCR_LOCALIZACAO CHAR(20) NOT NULL,
);
ALTER TABLE EXEMPLAR MODIFY LOCALIZACAO CHAR(10);
ALTER TABLE EXEMPLAR ADD CONSTRAINT FK_LOCAL
FOREIGN KEY(LOCALIZACAO) REFERENCES LOCALIZACAO_EXEMPLAR(LOCALIZACAO);
—————————————————————————–
— CRIANDO SEQUENCIAS DE AUTO-NUMERACAO
— PARA APAGAR AS SEQUENCIAS E NECESSARIO APAGAR E RECRIA-LAS
— EMPRESTIMO
CREATE SEQUENCE EMPRESTIMO_SEQ START WITH 120000 INCREMENT BY 1;
— RESERVA
CREATE SEQUENCE RESERVA_SEQ START WITH 12000;

view raw

Alteracoes.sql

hosted with ❤ by GitHub


–Criação e População – Controle Biblioteca
— Configuracao do Banco
ALTER SESSION SET NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';
SELECT SESSIONTIMEZONE, CURRENT_TIMESTAMP FROM DUAL;
— Apagando as tabelas
DROP TABLE ORIGEM_EXEMPLAR CASCADE CONSTRAINTS;
DROP TABLE CATEGORIA_LIVRO CASCADE CONSTRAINTS;
DROP TABLE AUTOR CASCADE CONSTRAINTS;
DROP TABLE USUARIO CASCADE CONSTRAINTS;
DROP TABLE EDITORA CASCADE CONSTRAINTS;
DROP TABLE LIVRO CASCADE CONSTRAINTS;
DROP TABLE EXEMPLAR CASCADE CONSTRAINTS;
DROP TABLE AUTORIA CASCADE CONSTRAINTS;
DROP TABLE RESERVA CASCADE CONSTRAINTS;
DROP TABLE ITENS_RESERVA CASCADE CONSTRAINTS;
DROP TABLE EMPRESTIMO CASCADE CONSTRAINTS;
DROP TABLE ITENS_EMPRESTIMO CASCADE CONSTRAINTS;
— Criando as tabelas
— ORIGEM_EXEMPLAR
CREATE TABLE ORIGEM_EXEMPLAR
(
COD_ORIGEM CHAR(1) PRIMARY KEY,
TIPO_ORIGEM CHAR(10) NOT NULL
CHECK(TIPO_ORIGEM IN ('DOACAO','COMPRA'))
);
— CATEGORIA_LIVRO
CREATE TABLE CATEGORIA_LIVRO
(
COD_CATEG INTEGER PRIMARY KEY,
DESC_CATEG VARCHAR2(30) NOT NULL
);
— AUTOR
CREATE TABLE AUTOR
(
COD_AUTOR INTEGER PRIMARY KEY,
NOME_AUTOR VARCHAR2(50) NOT NULL,
NACIONALIDADE CHAR(20)
);
— USUARIO
CREATE TABLE USUARIO
(
COD_USUARIO INTEGER PRIMARY KEY,
NOME_USUARIO VARCHAR2(50) NOT NULL,
END_USUARIO VARCHAR2(100) NOT NULL,
FONE_USUARIO CHAR(11),
SEXO_USUARIO CHAR(1) CHECK(SEXO_USUARIO IN('M','F'),
DT_NASC_USUARIO DATE,
CPF_USUARIO CHAR(11) NOT NULL,
RG_USUARIO CHAR(9) NOT NULL,
TIPO_USUARIO CHAR(1) CHECK(TIPO_USUARIO IN('A','P','F')),
TIPO_IDENTIFICADOR CHAR(9) CHECK(TIPO_IDENTIFICADOR IN('RA','FUNCIONAL')),
NUM_IDENTIFICADOR CHAR(15) NOT NULL,
AREA_VINCULACAO CHAR(20),
CARGO CHAR(15),
SITUACAO_USUARIO CHAR(15) NOT NULL
);
— EDITORA
CREATE TABLE EDITORA
(
COD_EDITORA CHAR(5) PRIMARY KEY,
NOME_EDITORA VARCHAR2(50) NOT NULL,
NACIONALIDADE CHAR(20) NOT NULL,
END_EDITORA VARCHAR2(100),
CONTATO_EDITORA VARCHAR2(50)
);
— LIVRO
CREATE TABLE LIVRO
(
COD_LIVRO CHAR(10) PRIMARY KEY,
TITULO_LIVRO VARCHAR2(50) NOT NULL,
TITULO_ORIGINAL VARCHAR2(50),
IDIOMA_ORIGINAL CHAR(20) NOT NULL,
SITUACAO_LIVRO CHAR(15) NOT NULL,
COD_EDITORA CHAR(5) NOT NULL,
COD_CATEG INTEGER NOT NULL,
FOREIGN KEY(COD_EDITORA) REFERENCES EDITORA,
FOREIGN KEY(COD_CATEG) REFERENCES CATEGORIA_LIVRO
);
— EXEMPLAR
CREATE TABLE EXEMPLAR
(
ISBN NUMBER(14) NOT NULL,
NUM_EXEMPLAR NUMBER(2) NOT NULL,
NUM_EDICAO INTEGER NOT NULL,
QTDE_PAGINAS INTEGER,
ANO_PUBLICACAO INTEGER NOT NULL,
IDIOMA_EXEMPLAR CHAR(20) NOT NULL,
VALOR_EXEMPLAR NUMBER(12,2) NOT NULL,
LOCALIZACAO CHAR(11) CHECK(LOCALIZACAO IN('ACERVO','CIRCULANTE')),
COD_ORIGEM CHAR(1) NOT NULL REFERENCES ORIGEM_EXEMPLAR,
COD_LIVRO CHAR(10) NOT NULL REFERENCES LIVRO,
OBS_EXEMPLAR VARCHAR2(100),
SITUACAO_EXEMPLAR CHAR(15) NOT NULL,
PRIMARY KEY(ISBN, NUM_EXEMPLAR)
);
— AUTORIA
CREATE TABLE AUTORIA
(
COD_LIVRO CHAR(10) REFERENCES LIVRO,
COD_AUTOR INTEGER REFERENCES AUTOR,
TIPO_AUTORIA CHAR(10) CHECK(TIPO_AUTORIA IN('PRINCIPAL','COAUTOR')),
PRIMARY KEY(COD_LIVRO, COD_AUTOR)
);
— RESERVA
CREATE TABLE RESERVA
(
NUM_RESERVA INTEGER PRIMARY KEY,
DT_HORA_RESERVA TIMESTAMP NOT NULL,
PRAZO_RESERVA TIMESTAMP,
SITUACAO_RESERVA CHAR(15),
COD_USUARIO_PROF INTEGER NOT NULL REFERENCES USUARIO
);
— ITENS_RESERVA
CREATE TABLE ITENS_RESERVA
(
NUM_RESERVA INTEGER NOT NULL REFERENCES RESERVA,
COD_LIVRO CHAR(10) NOT NULL REFERENCES LIVRO,
SITUACAO_ITEM_RESERVA CHAR(15) NOT NULL,
PRIMARY KEY(NUM_RESERVA, COD_LIVRO)
);
— EMPRESTIMO
CREATE TABLE EMPRESTIMO
(
NUM_EMPRESTIMO INTEGER PRIMARY KEY,
DT_HORA_EMPRESTIMO TIMESTAMP NOT NULL,
DT_HORA_PREVISAO_DEVOLUCAO TIMESTAMP,
VALOR_MULTA NUMBER(12,2),
SITUACAO_EMPRESTIMO CHAR(15) NOT NULL,
COD_USUARIO INTEGER NOT NULL REFERENCES USUARIO,
NUM_RESERVA INTEGER REFERENCES RESERVA
);
— ITENS_EMPRESTIMO
CREATE TABLE ITENS_EMPRESTIMO
(
NUM_EMPRESTIMO INTEGER NOT NULL REFERENCES EMPRESTIMO,
ISBN NUMBER(14) NOT NULL,
NUM_EXEMPLAR NUMBER(4) NOT NULL,
DT_HORA_DEVOLUCAO TIMESTAMP,
SITUACAO_ITEM_EMPRESTIMO CHAR(15) NOT NULL,
PRIMARY KEY(NUM_EMPRESTIMO, ISBN, NUM_EXEMPLAR),
FOREIGN KEY(ISBN, NUM_EXEMPLAR) REFERENCES EXEMPLAR
);


— POPULANDO AS TABELAS
— USUARIO
INSERT INTO USUARIO VALUES (100,'ALINE LANZILLO MOREIRA','Rua A, 9','1155551231','F','29221','10020029394','205007940','10020029394','205007940','P','FUNCIONAL','201201100','MATEMATICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (101,' ANA CHRISTINA BRITO BRISQUE','Rua B, 10','1155551232','F','29252','10020029495','205007950','10020029495','205007950','A','RA','201201101','','','ATIVO');
INSERT INTO USUARIO VALUES (102,' ANDERSON KAZUNORI UEHARA','Rua C, 11','1155551233','M','29589','10020029596','205007960','10020029596','205007960','A','RA','201201102','','','ATIVO');
INSERT INTO USUARIO VALUES (103,' BRUNO RIBEIRO DA SILVA PEREIRA','Rua A, 10','1155551234','M','29221','10020029697','205007970','10020029697','205007970','F','FUNCIONAL','201201103','FISICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (104,' CAIO CESAR SANTOS DINIZ','Rua B, 11','1155551235','M','29252','10020029798','205007980','10020029798','205007980','P','FUNCIONAL','201201104','ENGENHARIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (105,' CAMILA GREGORIO IRINEU','Rua C, 12','1155551236','F','29589','10020029899','205007990','10020029899','205007990','A','RA','201201105','','','ATIVO');
INSERT INTO USUARIO VALUES (106,' CELSO FERNANDES DE LIMA ','Rua D, 13','1155551237','M','29221','10020030000','205008000','10020030000','205008000','A','RA','201201106','','','ATIVO');
INSERT INTO USUARIO VALUES (107,' CHRISTIANO DA FONSECA','Rua E, 14','1155551238','M','29252','10020030101','205008010','10020030101','205008010','F','FUNCIONAL','201201107','QUIMICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (108,' CLISTINES MARIANO DANIEL MERLUCCI','Rua A, 11','1155551239','F','28166','10020030202','205008020','10020030202','205008020','P','FUNCIONAL','201201108','GEOGRAFIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (109,' CYBELLE DA SILVA SOUZA','Rua B, 12','1155551240','F','32943','10020030303','205008030','10020030303','205008030','A','RA','201201109','','','ATIVO');
INSERT INTO USUARIO VALUES (110,' DANIEL GORSTEN SCHUNEMANN','Rua C, 13','1155551241','M','23774','10020030404','205008040','10020030404','205008040','P','FUNCIONAL','201201110','LITERATURA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (111,' DEBORA DUARTE DE OLIVEIRA','Rua D, 14','1155551242','F','31943','10020030505','205008050','10020030505','205008050','F','FUNCIONAL','201201111','MATEMATICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (112,' DOUGLAS MARCEL MANJON MAZOCA','Rua E, 15','1155551243','M','29252','10020030606','205008060','10020030606','205008060','A','RA','201201112','','','ATIVO');
INSERT INTO USUARIO VALUES (113,' EDUARDA RODRIGUES VIANA DE OLIVEIRA','Rua A, 12','1155551244','F','29589','10020030707','205008070','10020030707','205008070','F','FUNCIONAL','201201113','QUIMICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (114,' ELISA HIROMI MIYADAHIRA','Rua B, 13','1155551245','F','29221','10020030808','205008080','10020030808','205008080','P','FUNCIONAL','201201114','FISICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (115,' FELIPE DE SOUZA DOMINGUES','Rua C, 14','1155551246','M','29252','10020030909','205008090','10020030909','205008090','A','RA','201201115','','','ATIVO');
INSERT INTO USUARIO VALUES (116,' FELIPE STANGORLINI','Rua D, 15','1155551247','M','28166','10020031010','205008100','10020031010','205008100','F','FUNCIONAL','201201116','GEOGRAFIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (117,' FERNANDA FREITAS BISPO DA SILVA','Rua E, 16','1155551248','F','32943','10020031111','205008110','10020031111','205008110','P','FUNCIONAL','201201117','FISICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (118,' FLAVIO EDUARDO DE SOUZA','Rua A, 13','1155551249','M','23774','10020031212','205008120','10020031212','205008120','P','FUNCIONAL','201201118','FISICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (119,' FRANCO YUDI KOSE','Rua B, 14','1155551250','M','31943','10020031313','205008130','10020031313','205008130','F','FUNCIONAL','201201119','MATEMATICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (120,' IARA MERSCHMANN MARQUES','Rua C, 15','1155551251','F','29252','10020031414','205008140','10020031414','205008140','A','RA','201201120','','','ATIVO');
INSERT INTO USUARIO VALUES (121,' ISABELA SIQUEIRA BETTIN','Rua D, 16','1155551252','F','29589','10020031515','205008150','10020031515','205008150','F','FUNCIONAL','201201121','FISICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (122,' JULIANA BARBOSA FEDERICO','Rua E, 17','1155551253','F','29221','10020031616','205008160','10020031616','205008160','P','FUNCIONAL','201201122','FISICA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (123,' JULIANA SCUDILIO RODRIGUES','Rua A, 14','1155551254','F','29252','10020031717','205008170','10020031717','205008170','A','RA','201201123','','','ATIVO');
INSERT INTO USUARIO VALUES (124,' KARINA TAMURA','Rua B, 15','1155551255','F','28166','10020031818','205008180','10020031818','205008180','A','RA','201201124','','','ATIVO');
INSERT INTO USUARIO VALUES (125,' KARINA THEODORO','Rua C, 16','1155551256','F','32943','10020031919','205008190','10020031919','205008190','F','FUNCIONAL','201201125','MATEMATICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (126,' LILIAN LEIKO KOBAYASHI','Rua D, 17','1155551257','F','23774','10020032020','205008200','10020032020','205008200','P','FUNCIONAL','201201126','QUIMICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (127,' LOUISE CHRISTINE SALLES MINSKI','Rua E, 18','1155551258','F','31943','10020032121','205008210','10020032121','205008210','A','RA','201201127','','','ATIVO');
INSERT INTO USUARIO VALUES (128,' MARIANNA CAPANI DOMINGUEZ','Rua A, 15','1155551259','F','29252','10020032222','205008220','10020032222','205008220','A','RA','201201128','','','ATIVO');
INSERT INTO USUARIO VALUES (129,' MAYARA BORDIN','Rua B, 16','1155551260','F','29589','10020032323','205008230','10020032323','205008230','A','RA','201201129','','','ATIVO');
INSERT INTO USUARIO VALUES (130,' MICHELE FERNANDES MORAIS','Rua C, 17','1155551261','F','29221','10020032424','205008240','10020032424','205008240','F','FUNCIONAL','201201130','QUIMICA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (131,' MILLA GABRIELA RIBEIRO DAMASCEN','Rua D, 18','1155551262','F','29252','10020032525','205008250','10020032525','205008250','P','FUNCIONAL','201201131','LITERATURA','AUXILIAR','ATIVO');
INSERT INTO USUARIO VALUES (132,' NOBUKO ARAKAKI ACCORSI','Rua E, 19','1155551263','M','28166','10020032626','205008260','10020032626','205008260','P','FUNCIONAL','201201132','LITERATURA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (133,' ROBSON CAMILO DA COSTA MELO','Rua A, 16','1155551264','M','29252','10020032727','205008270','10020032727','205008270','A','RA','201201133','','','ATIVO');
INSERT INTO USUARIO VALUES (134,' RODRIGO PRESCENDO KUROSAWA','Rua B, 17','1155551265','M','29589','10020032828','205008280','10020032828','205008280','A','RA','201201134','','','ATIVO');
INSERT INTO USUARIO VALUES (135,' SAMUEL MOURA VELOSO DAVID','Rua C, 18','1155551266','M','29221','10020032929','205008290','10020032929','205008290','F','FUNCIONAL','201201135','ENGENHARIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (136,' TAIS CARRASCO CARNEIRO','Rua D, 19','1155551267','F','29252','10020033030','205008300','10020033030','205008300','P','FUNCIONAL','201201136','ENGENHARIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (137,' THIAGO AUGUSTO CORREA PELEIAS','Rua E, 20','1155551268','M','28166','10020033131','205008310','10020033131','205008310','P','FUNCIONAL','201201137','ENGENHARIA','PROFESSOR','ATIVO');
INSERT INTO USUARIO VALUES (138,' VANESSA JORGE DIAS','Rua A, 17','1155551269','F','32943','10020033232','205008320','10020033232','205008320','A','RA','201201138','','','ATIVO');
INSERT INTO USUARIO VALUES (139,' VICTOR MARQUES HENRIQUE','Rua B, 18','1155551270','M','23774','10020033333','205008330','10020033333','205008330','A','RA','201201139','','','ATIVO');
— CATEGORIA
insert into categoria_livro values ( 10, 'Engenharia de Software');
insert into categoria_livro values ( 11, 'Arquitetura de Computadores');
insert into categoria_livro values ( 12, 'Desenvolvimento em Java');
insert into categoria_livro values ( 13, 'Matematica');
insert into categoria_livro values ( 14, 'Fisica');
insert into categoria_livro values ( 15, 'Quimica');
insert into categoria_livro values ( 16, 'Literatura');
insert into categoria_livro values ( 17, 'Filosofia');
insert into categoria_livro values ( 18, 'Estrutura de Dados');
insert into categoria_livro values ( 19, 'Algoritmos');
insert into categoria_livro values ( 20, 'Ficcao');
–localizacao_exemplar
insert into localizacao_exemplar values ('ACER', 'Acervo');
insert into localizacao_exemplar values ('CIRC', 'Circulante');
–origem_exemplar
insert into origem_exemplar values ( 'D', 'DOACAO');
insert into origem_exemplar values ( 'C', 'COMPRA');
–autor
insert into autor values ( 1, 'IAN SOMMERVILLE', 'Norte-Americano');
insert into autor values ( 2, 'ANDREW TANENBAUM', 'Norte-Americano');
insert into autor values ( 3, 'HARVEY DEITEL', 'Norte-Americano');
insert into autor values ( 3, 'Orsom Wells', 'Norte-Americano');
insert into autor values ( 3, 'Arthur Conan Doyle', 'Ingles');
insert into autor values ( 3, 'Deepack Jofra', 'Australiano');
insert into autor values ( 3, 'Alberto Caieiro', 'Brasileiro');
–Editora
insert into editora values ('MKRON','MAKRON BOOKS', 'Norte-Americano','Av. Indianopolis,100', 'Srta. Jeruza');
insert into editora values ('ALTA','ALTA BOOKS', 'Norte-Americano','Av. Paulista,1000', 'Srta. Maricleuza');
insert into editora values ('PRSON','PEARSON BOOKS', 'Norte-Americano','Av. Higienopolis,123', 'Srta. Estrovenia');
insert into editora values ('LIVSO','Livro Otima', 'Brasileira','Av. Macaepolis,23', 'Srta. Senia');
insert into editora values ('ATLAS','Atlas Livros', 'Brasileira','Av. Bambu,13', 'Srta. Mara');
insert into editora values ('LITEC','LIVROS TECNICOS', 'Brasileira','Av. Gatae,153', 'Sr. Alberto');
insert into editora values ('NOBEL','NOBEL BOOKS', 'Inglesa','Av. Europa,32', 'Sra. Jane');
insert into editora values ('BOASN','BOSON BOOKS', 'Norte-Americano','Av. Ueba,123', 'Srta. Xenia');
–Livro
insert into livro values('622.344.1','Engenharia de Software','Software Engeneering','Ingles', 'Disponivel','MKRON',10);
insert into livro values('622.344.2','Como Programar em JAVA','How to program in JAVA','Ingles', 'Disponivel','PRSON',12);
insert into livro values('622.344.3','Estrutura de Dados em JAVA','Data Structures in JAVA','Ingles', 'Disponivel','ALTA',12);
insert into livro values('622.344.4','Arquitetura e Organizacao de Computadores','Architecture and Organization of Computers','Ingles', 'Disponivel','PRSON',11);
insert into livro values('622.344.5','Matematica Discreta','Math','Ingles', 'Disponivel','LITEC',13);
insert into livro values('622.344.6','Fisica Quantica','Phisycs','Ingles', 'Disponivel','NOBEL',14);
insert into livro values('622.344.7','Quimica Molecular','Quimistry','Ingles', 'Disponivel','BOASN',15);
–Exemplar
insert into exemplar values
( 123456, 1, 8, 922, 2009, 'Portugues', 139.99, 'D', '622.344.1', null, 'Ativo', 'ACER');
insert into exemplar values
( 654321, 1, 8, 1901, 2010, 'Portugues', 249.99, 'C', '622.344.2', null, 'Ativo', 'ACER');
insert into exemplar values
( 222333, 1, 3, 800, 2007, 'Portugues', 109.99, 'C', '622.344.3', null, 'Ativo', 'CIRC');
–Emprestimo
insert into emprestimo values ( emprestimo_seq.nextval, current_timestamp-5, current_timestamp+2, default, 'Em andamento',
100, null, null);
insert into emprestimo values ( emprestimo_seq.nextval, current_timestamp-5, current_timestamp+2, default, 'Em andamento',
101, null, null);
insert into emprestimo values ( emprestimo_seq.nextval, current_timestamp-5, current_timestamp+2, default, 'Em andamento',
102, null, null);
–Itens Emprestimo
insert into itens_emprestimo values (120000, 123456, 1, null , 'Em andamento');
insert into itens_emprestimo values (120001, 654321, 1, null , 'Em andamento');
insert into itens_emprestimo values (120002, 222333, 1, current_timestamp , 'Devolvido');
–Autoria do Livro
insert into autoria values ('622.344.1', 1, 'PRINCIPAL');
insert into autoria values ('622.344.2', 1, 'PRINCIPAL');
insert into autoria values ('622.344.3', 1, 'PRINCIPAL');
insert into autoria values ('622.344.2', 2, 'CO-AUTOR');

view raw

Populando.sql

hosted with ❤ by GitHub





Aula01 – Laboratório de Banco de Dados – 06/02/12

14 02 2012

Exercício:

Modelagem de Dados: Controle de Biblioteca

Uma biblioteca quer manter o controle de seus livros da circulante e também proporcionar um sistema computadorizado para busca de livros por categorias ou autores em todo o acervo. Os livros sempre têm um autor principal e em muitos casos co-autorias, assim como os co-autores podem ser de vários livros.
Cada livro é classificado dentro de uma categoria principal, como Ciências, Literatura etc. Os usuários (alunos, professores e funcionários) podem emprestar livros, mas somente professores podem reservar, ou seja, se um livro encontra-se emprestado o professor pode reservá-lo. O limite de empréstimos ou reservas é de 3 livros e o prazo de entrega sempre é de 7 dias corridos. Existem vários exemplares de cada livro na biblioteca circulante embora no acervo só exista um único exemplar para consulta (existem livros do acervo não disponíveis na circulante, como livros com edição esgotada, livros raros etc). As consultas ao acervo devem. além do assunto e autores, permitir o maior número de combinações possíveis, tais como idioma, editora, nacionalidade dos autores, quantidade de páginas, edição etc. É necessário controlar a origem de cada exemplar: doação ou aquisição com os dados de compra/doação, assim como eventuais manutenções nos exemplares tais como encadernação, restauração etc.

Entidades e Relações:

LIVRO, CATEGORIA, AUTOR, USUARIO(ALUNO, PROFESSOR, FUNCIONARIO), EMPRESTIMO, ORIGEM, EDITORA, RESERVA, EXEMPLAR

Relações:

LIVRO CATEGORIA
LIVRO AUTOR
LIVRO EDITORA
USUARIO EMPRESTIMO
EMPRESTIMO EXEMPLAR
EMPRESTIMO RESERVA
ORIGEM EXEMPLAR
RESERVA PROFESSOR
RESERVA LIVRO
EXEMPLAR LIVRO