Sistemas distribuidos
Por: danceelektro • 2/12/2015 • Trabalho acadêmico • 584 Palavras (3 Páginas) • 205 Visualizações
[pic 1]
Disciplina: Banco de Dados I
Trabalho Parte 2 – Valor 5 pontos
Aluno: DANILO DE SOUZA LIMA | |
Docente: Ricardo Yamasaki Sassagawa | |
Curso: Sistemas de Informação | Período: 3º |
- Caso de Estudo: BIBLIOTECA
Representação das entidades:
- LIVRO(ID, TIT, ANO_EDI, EDI, {EDITORA (ID, NOME, {ENDERECO(ID, RUA, NUMERO, CEP, BAIRRO, {CIDADE(ID, NOME, ESTADO)})})}, {AUTORES(ID, NOME, {TITULO (ID, DESCRICAO)})})
- USUARIO(ID, NOME, CPF {END(ID, RUA, NUM, CEP, BAIRRO, {CID(ID, NOME, ESTADO)})} )
- EMPRESTIMO (ID, LIVROS, USUARIO, DT_EMP, DT_DEV)
Obs.: Um livro só pode possuir uma editora, mas pode ter vários autores. Um empréstimo pode ser realizado para apenas um usuário, no entanto, o usuário pode pegar vários livros emprestados.
Levando-se em consideração as entidades apresentadas acima, realize a normalização das mesmas até estarem na 3FN (Terceira forma normal).
LIVRO (IDLIV, TIT, ANO_EDI, EDI, EDIT)
EDITORA (IDEDIT, NOME, END)
ENDERECO (IDEND, RUA, NUM, CEP, BAIRRO, CID)
CIDADE (IDCID, NOME, EST)
ESTADO (IDEST, NOME)
AUTORES (IDAUT, NOME, TIT)
TITULO (IDTITU, DESC)
USUARIO (IDUSU, NOME, CPF, END)
EMPRESTIMO (IDEMP, LIV, USU, DT_EM, DT_EVO)
- Após a realização da normalização crie um modelo lógico baseado nas tabelas resultantes.
[pic 2]
- Após criar o modelo lógico, crie os scripts SQL de criação do banco de dados e das tabelas normalizadas.
CREATE DATABASE biblioteca,
CREATE TABLE livro (
idLiv INT PRIMARY KEY NOT NULL,
titulo VARCHAR (30),
ano_edi INT (4),
edi INT (4),
edit INT FOREGIN KEY,
aut INT FOREGIN KEY
)
CREATE TABLE editora (
idEdit INT PRIMARY KEY NOT NULL,
nome VARCHAR (50),
idEnd INT FOREGIN KEY
)
CREATE TABLE endereco (
idEnd INT PRIMARY KEY NOT NULL,
rua VARCHAR (50),
num INT (4),
cep INT (8),
bairro VARCHAR (50)
cid INT FOREGIN KEY
)
CREATE TABLE cidade (
idCid INT PRIMAR KEY NOT NULL,
nome VARCHAR (40),
est INT FOREGIN KEY
)
CREATE TABLE estado (
idEst INT PRIMARY KEY NOT NULL,
nome VARCHAR (40)
)
CREATE TABLE emprestimo (
idEmp INT PRIMARY KEY NOT NULL,
...