Buscar

BANCO DE DADOS

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

CLARETIANO – REDE DE EDUCAÇÃO 
 
 
 
 
 
 
NATHÁLIA CAROLINA MARTINS SOUSA 
8135239 
 
 
 
 
 
 
 
 
 
 
 
BANCO DE DADOS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
GOIÂNIA 
2022 
 
 
 
 
Título: Banco de Dados para uma Loja 
 
a) Descrição do Projeto: 
Atenção! É muito importante que você saiba exatamente como são cada um dos elementos e para qual 
tipo de dado podem ser utilizados! Antes de iniciar, reveja a simbologia no item 8 do CRC (p. 65) e, 
na página 66, um exemplo de como deve ser elaborado o DER final. Para poder mapear, você precisa 
saber identificar os símbolos do DER corretamente! 
Considere a seguinte declaração de escopo do sistema: 
O banco de dados para uma loja na web que vende presentes em geral e deve permitir cadastrar os 
produtos que serão vendidos. Cada produto tem informações como Nome, Preço de Venda, 
Quantidade em Estoque e Preço de Compra. Um fabricante pode vender vários produtos, mas um 
produto é vendido por um único fabricante. O sistema deve permitir registrar cada venda, com Data da 
Venda e o Cliente para quem foram vendidos os produtos do pedido, registrando também os dados do 
Cliente, tais como, Nome, Endereço, telefone. Um cliente pode ter muitos telefones e e-mails. 
Lembre-se de que um Cliente pode comprar vários produtos em cada Pedido de Venda e que em um 
mesmo pedido podem ser comprados vários produtos. 
 
 
Atividade 1 – Fazer o mapeamento. 
Para esta atividade, você pode consultar a Unidade 3 (Item 12) do CRC e, caso considere insuficiente, 
pode consultar também o Capítulo 9 do livro: ELMASRI, R.; NAVATHE, S. B. Sistemas de bancos 
de dados. 4. ed. São Paulo: Addison Wesley, 2005, que abrange o mesmo tema. Os Capítulos 2 e 3 
desta obra abrangem o mesmo conteúdo da Unidade 3 do CRC. 
Com base no diagrama da Figura 2 elabore o Mapeamento para o Modelo Relacional, gerando assim 
o Esquema de Relações do Banco de Dados para o diagrama da Figura 2, conforme definido por 
Rangel et al (2014, pp. 98-105): 
• Você deve ter em mente as fases de construção de um banco de dados para facilitar as 
conversões do DER (diagrama entidade-relacionamento) para o modelo relacional. Vale 
relembrar que o modelo entidade-relacionamento é utilizado durante o projeto conceitual e o 
modelo de dados relacional, durante o projeto lógico da base. Com isso, é natural pensar em 
um algoritmo que traduza os conceitos de um dos modelos (DER) nos conceitos do outro 
(relacional). 
 
 
 
 
 
 
 
 
 
Mapeamento 
ATIVIDADE 1 
 
 
 
 
1. CLIENTE (Codigo_Cliente, Nome, Rua, Numero, Complemento) 
2. VENDA (Numero_Pedido, Codigo_Cliente-CE, Data) 
3. PRODUTO (Codigo_produto, Codigo_Fabricante-CE, Preço, Estoque, Nome) 
4. FABRICANTE (Codigo_Fabriante, Nome) 
5. CONTÉM (Codigo_Produto_ Prod-CE, Numero_Pedido_Vend_CE). 
6. TELEFONE_CLIENTE (Codigo_Cliente-CE, Telefone). 
7. EMAIL_CLIENTE (Codigo_Cliente-CE, eMail) 
 
 
 
 
 
 
 
 
 
 
Atividade 2 – Script em Linguagem SQL 
Para realizar esta atividade, você pode consultar a Unidade 4 do CRC. Se considerar o 
 
 
conteúdo insuficiente, pode consultar também o Capítulo 4 e o item 5.1 do Capítulo 5 do 
livro: ELMASRI, R.; NAVATHE, S. B. Sistemas de bancos de dados. 4. ed. São Paulo: 
Addison Wesley, 2005. Outra possibilidade é o Capítulo 7 do livro: PUGA, S.; FRANÇA, E.; 
GOYA, M. Banco de Dados: Implementação em SQL, PL/SQL e Oracle 11g. São Paulo: 
Pearson Education do Brasil, 2013, ambos disponíveis na Biblioteca Virtual Pearson. E ainda 
há o Capítulo 3 do livro: RAMAKRISHNAN, R.; GEHRKE, J. Sistemas de gerenciamento de 
banco de dados. 3. ed. São Paulo: Mc Graw Hill, 2008, disponível na Biblioteca Virtual 
“Minha Biblioteca”. 
Esquema de Relações do Banco de Dados de uma Clínica Médica (use-o para a atividade 
2) 
 
Especialidade (CodEspecialidade, NomeEspecialidade) 
Medico (CRM, NomeMedico, NomeDepto, ChefeDepartamento, CodEspecialidade-CE) 
Paciente (Registro, Nome DataNascimento, Sexo, Rua, Numero) 
TelefonePaciente (Registro-CE, Telefone) 
Andar (NumAndar, DescricaoAndar) 
Enfermaria (NumAndar-CE, CodEnfermaria, NomeEnfermaria, SituacaoEnfermaria) 
Tipo (CodTipo, NomeTipo) 
Leito (NumLeito, SituacaoLeito, CodTipo-CE, CodEspec-CE, NumAndar-CE, 
CodEnfermaria-CE, TipoEspecialidade) 
Internado (Registro-CE, NumLeito-CE, CRM-CE, Naturalidade, DataInternacao, DataAlta, 
QuantidadeDiasInternado) 
 
CODIGO DO SCRIPT SQL 
 
CREATE TABLE especialidade 
 ( 
 codespecialidade NUMERIC NOT NULL, 
 nomeespecialidade VARCHAR(1000) NOT NULL, 
 CONSTRAINT codespecialidade PRIMARY KEY (codespecialidade) 
 ); 
 
CREATE TABLE medico 
 ( 
 crm NUMERIC NOT NULL, 
 nomemedico VARCHAR(1000) NOT NULL, 
 codespecialidade NUMERIC NOT NULL, 
 nomedepto VARCHAR(1000) NOT NULL, 
 chefedepartamento VARCHAR(1000) NOT NULL, 
 CONSTRAINT crm PRIMARY KEY (crm), 
 FOREIGN KEY (codespecialidade) REFERENCES especialidade (codesp
ecialidade) 
 ); 
 
 
 
CREATE TABLE paciente 
 ( 
 registro NUMERIC NOT NULL, 
 nome VARCHAR(1000) NOT NULL, 
 datanascimento TIMESTAMP NOT NULL, 
 sexo VARCHAR(1000) NOT NULL, 
 rua VARCHAR(1000) NOT NULL, 
 numero VARCHAR(1000) NOT NULL, 
 CONSTRAINT registro PRIMARY KEY (registro) 
 ); 
 
CREATE TABLE telefonepaciente 
 ( 
 registroce INT NOT NULL, 
 telefone INT NOT NULL, 
 PRIMARY KEY (registroce, telefone), 
 FOREIGN KEY (registroce) REFERENCES paciente (registro) 
 ); 
 
 
CREATE TABLE andar 
 ( 
 numandar NUMERIC NOT NULL, 
 descricaoandar VARCHAR(1000) NOT NULL, 
 CONSTRAINT numandar PRIMARY KEY (numandar) 
 ); 
 
CREATE TABLE enfermaria 
 ( 
 numandarce TINYINT NOT NULL, 
 codenfermaria INT NOT NULL, 
 nomeenfermaria VARCHAR (40), 
 situacaoenfermaria TEXT, 
 PRIMARY KEY (numandarce, codenfermaria), 
 FOREIGN KEY (numandarce) REFERENCES andar (numandar) 
 ); 
 
 
 
 
 
CREATE TABLE leito 
 ( 
 numleito INTEGER, 
 situacaoleito VARCHAR (255) NOT NULL, 
 codtipo INTEGER, 
 codespecialidade INTEGER, 
 numandar INTEGER, 
 codenfermaria INTEGER, 
 tipoespecialidade VARCHAR (255) NOT NULL, 
 PRIMARY KEY (numleito), 
 FOREIGN KEY (codtipo) REFERENCES tipo (codtipo), 
 FOREIGN KEY (codespecialidade) REFERENCES especialidade (codesp
ecialidade), 
 FOREIGN KEY (numandar) REFERENCES andar (numandar), 
 FOREIGN KEY (codenfermaria) REFERENCES enfermaria (codenfermari
a) 
 ); 
 
CREATE TABLE internado 
 ( 
 registro INTEGER, 
 numleito INTEGER, 
 crm INTEGER, 
 naturalidade VARCHAR (255) NOT NULL, 
 datainternacao DATE, 
 dataalta DATE, 
 quantidadediasinternado INTEGER, 
 FOREIGN KEY (registro) REFERENCES paciente (registro), 
 FOREIGN KEY (numleito) REFERENCES leito (numleito), 
 FOREIGN KEY (crm) REFERENCES medico (crm), 
 PRIMARY KEY (registro, numleito, crm) 
 );

Continue navegando