Buscar

banco de dados lista

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 23 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 23 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 9, do total de 23 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

Prévia do material em texto

Curso: Sistemas de Informação – Unidade São Gabriel
Disciplina: Bancos de Dados – Período: 5º - Turno: Noite
Professor: Claudiney Vander Ramos
Data de Entrega: 11/09/2015
Alunos: 	Ricardo Pereira de Fátima 494774
		Gleidson Pereira Viana 495812
PRIMEIRA LISTA DE EXERCÍCIOS – Capítulos 1 e 2
OBS: Os exercícios podem ser feitos individualmente ou em duplas. A entrega será de
acordo com o final de matrícula. No caso de entrega em duplas, deve-se fazer os
exercícios correspondentes ao final das duas matrículas. Caso o final seja idêntico e
diferente de zero, somar os finais e pegar o resto da divisão por 10 (MOD 10). Se o final
for idêntico e igual a zero, fazer os exercícios de final 0 e 5.
Final 2: exercícios 06, 16, 26, 36, 41
Final 4: exercícios 08, 18, 28, 38, 43
Parte I – Conceitos
6. Qual a diferença entre a redundância controlada e aquela sem controle? Ilustre com exemplos.
A redundância controlada de dados acontece quando o software tem conhecimento da múltipla representação da informação e garante a sincronia entre as diversas representações.
 A redundância não controlada de dados acontece quando a responsabilidade pela manutenção da sincronia entre as diversas representações de uma informação está com o usuário e não com o software
Ex.: Uma indústria executa três funções básicas: vendas, produção e compras;
Se cada uma das funções for informatizada de forma separada, pode ocorrer que para cada uma delas seja criado um arquivo separado para produtos. Se houver integração e conhecimento, por parte do software usado, existirá a sincronia entre as representações e assim a redundância controlada. Se não houver a integração entre os dados e o software usado, então ocorrerá a redundância não controlada.
8. Discutir as principais categorias de modelos de dados.
•	Modelo de dados conceitual é um modelo de alto nível, pois possui informações a nível que os usuários entendam o projeto.
Este modelo utiliza de entidades, atributos e relacionamentos. Sendo entidades um objeto do mundo real, o atributo é uma ou mais características deste objeto, e o relacionamento é conexão entre duas ou mais entidades (objetos).
•	Modelo de dados físico é um modelo de baixo nível, pois descreve os dados no nível que são armazenados no sistema de computador.
•	Modelo de dados representacionais (ou de implementação) é o meio termo entre a linguagem de usuário e os dados físicos. O usuário consegue entender bem este modelo, pois algumas informações sobre detalhes de armazenamento de dados são implícitos, e as informações neste podem ser implementadas facilmente e de forma direta em um computador.
Este modelo engloba o modelo de dados relacionais, bem como os antigos modelos de rede e os modelos hierárquicos.
•	E atualmente temos o modelo de dados orientados a objeto pode ser considerada uma evolução do modelo de dados conceitual, pois o mesmo está muito próximo do usuário (alto nível).
16. Discutir alguns tipos de funcionalidade de banco de dados, ferramentas e suas
funções.
A maioria dos SGBDs possui utilitários de banco de dados que ajudam o DBA a gerenciar o sistema de banco de dados. Os utilitários comuns possuem as seguintes funções: 
Carga (loading): Usada para carregar arquivos de dados existentes (como arquivos textos ou arquivos sequenciais) para dentro do banco de dados.
Cópia (backup): cria uma copia de segurança do banco de dados, geralmente transferindo todo o banco de dados para fitas. 
Reorganização de arquivos (file reorganization): usado para reorganizar um arquivo do banco de dados numa forma diferente de organização de arquivo e melhorar o desempenho do banco de dados. 
Monitoramento de desempenho (performance reorganization): monitora o uso do banco de dados e fornece estatísticas para o DBA. 
18. Listar os vários casos em que o uso de um valor null (nulo) seria apropriado.
Basicamente, os valores nulos são utilizados em campos não obrigatórios, ou seja, um campo opcional. O que é bastante prático, pois temos diversas situações no cotidiano em que as informações são opcionais e que não precisam ser informadas, sendo assim o valor nulo se torna um padrão no banco de dados para facilitar uma futura consulta ao banco de dados.
26. Quando pensamos em relacionamentos como atributos, quais são os conjuntos de valores desses atributos? Qual classe dos modelos de dados está baseada nesse conceito?
Considerando o relacionamento TRABALHA_PARA, podemos imaginar um atributo chamado Departamento, da entidade EMPREGADO cujo valor para cada entidade empregado seja (uma referencia para) a entidade departamento para qual o empregado trabalha. Dessa forma, o conjunto de valores para esse atributo departamento é o conjunto de todas as entidades DEPARTAMENTO. Quando pensamos nu relacionamento binario como um atributo, sempre temos duas opções. Neste exemplo a alternativa é pensar num atributo multivalorado Empregados do tipo da entidade DEPARTAMENTO cujos valores para cada entidade departamento seja o conjunto de entidades empregado que trabalham para aquele departamento. O conjunto de valores desse atributo Empregados é o conjunto de entidades EMPREGADO. Qualquer um desses atributos - Departamento de EMPREGADO ou Empregados de DEPARTAMENTO - pode representar relacionamento TRABALHA_PARA. Se ambos forem representados, eles serão restringidos de forma a serem inversos entre si.
28. Quando o conceito de entidade fraca é usado na modelagem de dados? Definir os termos tipo entidade forte, tipo entidade fraca, tipo relacionamento identificador e chave parcial.
O conceito de entidade fraca é utilizado quando para uma entidade existir depende de outra entidade, como se fosse um relacionamento entre pai e filho. Por exemplo, só podemos ter uma entidade do tipo Dependente se tivermos uma relação com a entidade do tipo Empregado, onde Empregado é a entidade pai e Dependente é entidade filho.
Entidade fraca são entidades que não possuem nenhuma chave primária.
Já a entidade forte é aquela que possui vários atributos, inclusive a chave primária.
A chave parcial de um conjunto de entidades fraco é um conjunto de atributos que permite realizar a distinção entre as entidades no conjunto de entidades que dependa de uma entidade forte particular.
Relacionamento identificador é representado quando se há uma associação entre uma entidade forte e uma entidade fraca.
36. Qual é a diferença entre uma hierarquia de especialização e um reticulado de especialização?
Uma hierarquia de especialização restringe todas as suas subclasses a participar de ape-nas um relacionamento classe/subclasse, ou seja, cada subclasse tem apenas uma classe genérica ou superclasse. Enquanto que na especialização reticulada, uma subclasse pode participar de mais de um relacionamento classe/subclasse, logo, a Figura abaixo é um reticulado.
Exemplificando: na Figura abaixo, VEÍCULO TERRESTRE é uma subclasse de VEÍCULO, e é também uma superclasse de VEÍCULO ANFÍBIO; esta é uma restrição que certamente foi imposta pelo mundo real, que o veículo anfíbio deva ser um veículo terrestre.
38. Como uma categoria difere de uma subclasse regular compartilhada? Para que uma categoria é usada? Ilustrar sua resposta com exemplos.
A diferença é que as categorias podem utilizar atributos chaves diferentes, enquanto que as subclasses regulares compartilhadas devem ter o mesmo atributo chave.
41. Discutir as duas notações para a especificação de restrições em relacionamentos nários e para quê cada uma pode ser usada.
Existem 2 tipos de restrições em relacionamentos
Razão de cardinalidade: Que especifica o número máximo de relacionamentos em que uma entidade pode participar 1:1, 1:N, N:1 e M:N
Participação: Que determina se a existência de uma entidade depende de sua existência relacionada à outra entidade, total e parcial.
43. Qual aspecto de agregação está ausente no modelo entidade-relacionamento estendido?
Não é possível expressar relacionamentos entre relacionamentos.
Parte II – Modelagem Conceitualde Bancos de Dados
Construa um Diagrama Entidade-Relacionamento (DER) e um diagrama de classes para modelar cada um dos sistemas abaixo. As descrições são informais, e podem gerar diferentes interpretações. Por este motivo, não existe somente uma solução correta, mas o diagrama deve refletir de forma coerente a descrição.
OBS:
a) Fazer o mapeamento para o modelo relacional (elaborar comandos CREATE TABLE).
b) Os exercícios podem ser feitos individualmente ou em duplas. A entrega será de acordo com o final de matrícula. No caso de entrega em duplas, deve-se fazer os exercícios correspondentes ao final das duas matrículas. Caso o final seja idêntico e diferente de zero, somar os finais e pegar o resto da divisão por 10 (MOD 10). Se o final for idêntico e igual a zero, fazer os exercícios de final 0 e 5.
Final 2: exercícios 04, 14, 24, 27
Final 4: exercícios 06, 16, 26, 29
4) Projetar um banco de dados para acompanhar as informações relativas a um museu de artes. Suponha que os seguintes requisitos foram coletados:
· O museu possui uma coleção de OBJETOS_DE_ARTE. Cada OBJETO_DE_ARTE possui um identificador único, um artista, um ano de criação, um título e uma descrição detalhada. Os objetos de arte são categorizados de diversas formas, conforme descrito a seguir.
· OBJETOS_DE_ARTE são categorizados com base no seu tipo. Existem três tipos de objetos: PINTURA, ESCULTURA e um tipo chamado OUTRO para acomodar objetos que não se inserem em nenhum dos tipos principais.
· Uma PINTURA possui um tipo (óleo, aquarela, etc), o material no qual foi pintado (papel, tela, madeira, etc) e estilo (moderno, abstrato, etc).
· Uma ESCULTURA possui um material no qual foi criada (madeira, pedra, etc), altura, peso e estilo.
· Um objeto de arte da categoria OUTRO possui um tipo (gravura, fotografia, etc) e estilo.
· OBJETOS_DE_ARTE também são categorizados como COLEÇÃO_PERMANENTE
que são de propriedade do museu (que possui informações quanto à data de aquisição, se está exposto ou guardado e o custo) ou EMPRESTADO, que possui as informações sobre a coleção da qual foi emprestado), a data de empréstimo e a data de devolução.
· OBJETOS_DE_ARTE também possuem informações que descrevem seu país/cultura utilizando informações sobre país/cultura de origem (italiana, egípcia, americana, indiana, etc) e época (Renascentista, Moderno, Antigo, etc).
· O museu acompanha informações sobre ARTISTAS, caso sejam conhecidas: nome, data de nascimento, data de falecimento (caso não esteja mais vivo), país de origem, época, e estilo dominante. O nome é suposto como sendo único.
· Ocorrem diferentes EXPOSIÇÕES, cada uma com um nome, data de início, data de encerramento e cada uma está vinculada a todos os objetos de arte que estiveram expostos durante a exposição.
· São mantidas também informações de outras COLEÇÕES com as quais o museu interage, incluindo o nome , o tipo (museu, pessoal, etc), a descrição, endereço, telefone e pessoa de contato. O nome da coleção é único (identificador).
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE Artista (
estilo VARCHAR(10),
epoca VARCHAR(10),
falecimento VARCHAR(10),
Nome VARCHAR(10) PRIMARY KEY,
nascimento VARCHAR(10),
País VARCHAR(10)
)
CREATE TABLE Pintura (
Estilo VARCHAR(10),
Tipo VARCHAR(10),
Materal VARCHAR(10),
Id_obra VARCHAR(10)
)
CREATE TABLE Escultura (
Altura VARCHAR(10),
Estilo VARCHAR(10),
Peso VARCHAR(10),
Material VARCHAR(10),
Id_obra VARCHAR(10)
)
CREATE TABLE Outro (
Estilo VARCHAR(10),
Tipo VARCHAR(10),
Id_obra VARCHAR(10)
)
CREATE TABLE Museu_exposição (
Nome VARCHAR(10) PRIMARY KEY,
Data_inicio VARCHAR(10),
Termino VARCHAR(10)
)
CREATE TABLE ObraArte (
Ano_criação VARCHAR(10),
Artista VARCHAR(10),
Id_obra VARCHAR(10) PRIMARY KEY,
Titulo VARCHAR(10),
País VARCHAR(10),
Cultura VARCHAR(10),
època VARCHAR(10)
)
CREATE TABLE Coleções (
Nome VARCHAR(10) PRIMARY KEY,
Tipo VARCHAR(10),
Descrição VARCHAR(10),
Contato VARCHAR(10),
Rua VARCHAR(10),
Numero VARCHAR(10),
Bairro VARCHAR(10),
telefone VARCHAR(10),
telefone1 VARCHAR(10),
telefone2 VARCHAR(10),
telefone3 VARCHAR(10),
telefone4 VARCHAR(10)
)
CREATE TABLE Pegou_Emprestado (
Id_obra VARCHAR(10),
Data_emprestimo VARCHAR(10),
Data_devolução VARCHAR(10),
FOREIGN KEY(Id_obra) REFERENCES ObraArte (Id_obra)
)
CREATE TABLE Possui_Coleção_permanente (
Id_obra VARCHAR(10),
aquisição VARCHAR(10),
custo VARCHAR(10),
estado VARCHAR(10),
FOREIGN KEY(Id_obra) REFERENCES ObraArte (Id_obra)
)
CREATE TABLE Mantem (
Nome VARCHAR(10),
FOREIGN KEY(Nome) REFERENCES Coleções (Nome)
)
CREATE TABLE Acompanha (
Nome VARCHAR(10),
FOREIGN KEY(Nome) REFERENCES Artista (Nome)
)
ALTER TABLE Pintura ADD FOREIGN KEY(Id_obra) REFERENCES ObraArte (Id_obra)
ALTER TABLE Escultura ADD FOREIGN KEY(Id_obra) REFERENCES ObraArte (Id_obra)
ALTER TABLE Outro ADD FOREIGN KEY(Id_obra) REFERENCES ObraArte (Id_obra)
6) Sistema Agenda
Deseja-se construir uma agenda de endereços de pessoas e empresas onde trabalham. As pessoas da agenda possuem endereços para fins postais e telefones, que podem ser residenciais, comerciais, fax, celular ou de outro tipo. Anota-se no telefone DDD, prefixo e número. Telefones do tipo fixo são associados a endereços e telefones do tipo móvel são associados a pessoas. A cada endereço associa-se um código de endereço(único), rua, número, bairro, e CEP. Todo endereço de pessoa pode ser classificado dentre os tipos residência própria, residência com os pais, residência com parentes, residência com amigos, de referência ou outro, sendo que, um endereço pode pertencer a mais de uma pessoa. Para toda pessoa da agenda armazena-se seu código
seqüencial na agenda, e seu nome. Uma pessoa pode ser amiga de outras pessoas e têm armazenados a data de início da amizade entre elas, ou se a pessoa for parente de outras pessoas deve armazenar o tipo do parentesco. Alem disso, pessoas têm armazenados o seu sexo e sua data de nascimento e a profissão. Sendo que algumas pessoas podem trabalhar em uma empresa da agenda. Para a empresa, armazena-se a razão social, a inscrição estadual, o CNPJ, o ramo de atuação da empresa e o proprietário da empresa, que é uma pessoa armazenada na agenda. As empresas da agenda possuem um único
endereço, e em uma empresa trabalham várias pessoas da agenda, sendo que a existência de uma empresa está condicionada a existir uma pessoa na agenda que trabalha nela.
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE Telefone (
prefixo VARCHAR(10),
DDD VARCHAR(10),
Numero VARCHAR(10) PRIMARY KEY
)
CREATE TABLE Fixo (
Numero VARCHAR(10),
FOREIGN KEY(Numero) REFERENCES Telefone (Numero)
)
CREATE TABLE Movel (
Numero VARCHAR(10),
FOREIGN KEY(Numero) REFERENCES Telefone (Numero)
)
CREATE TABLE Pessoa (
Codigo VARCHAR(10) PRIMARY KEY,
Nome VARCHAR(10),
Profissão VARCHAR(10),
Sexo VARCHAR(10)
)
CREATE TABLE empresa (
Razao_social VARCHAR(10),
Inscricao_estadual VARCHAR(10),
Ramo_atuacao VARCHAR(10),
Proprietario VARCHAR(10),
CNPJ VARCHAR(10) PRIMARY KEY,
Codigo VARCHAR(10),
Id_CEP VARCHAR(10),
FOREIGN KEY(Codigo) REFERENCES Pessoa (Codigo)
)
CREATE TABLE Endereço (
Classificação_tipo VARCHAR(10),
Id_CEP VARCHAR(10) PRIMARY KEY,
rua VARCHAR(10),
numero VARCHAR(10),
bairro VARCHAR(10)
)
CREATE TABLE Amzade (
Codigo VARCHAR(10),
possui_Codigo VARCHAR()
)
CREATE TABLE Esta (
Id_CEP VARCHAR(10),
FOREIGN KEY(Id_CEP) REFERENCES Endereço (Id_CEP)
)
CREATE TABLE tem (
Codigo VARCHAR(10),
FOREIGN KEY(Codigo) REFERENCES Pessoa (Codigo)
)
CREATE TABLE Possui (
Codigo VARCHAR(10),
Numero VARCHAR(10),
Id_CEP VARCHAR(10),
PRIMARY KEY(Codigo,Numero,Id_CEP)
)
CREATE TABLE trabalha (
Codigo VARCHAR(10),
CNPJ VARCHAR(10),
FOREIGN KEY(Codigo) REFERENCES Pessoa (Codigo),
FOREIGN KEY(CNPJ) REFERENCES empresa (CNPJ)
)
ALTER TABLE empresa ADD FOREIGN KEY(Id_CEP) REFERENCESEndereço (Id_CEP)
14) Apuração Eleitoral
Para facilitar o processamento da apuração eleitoral da eleição municipal a ser realizada nesse ano, o TRE (Tribunal Regional Eleitoral) resolveu informatizar esse processo. Sabe-se que cada localidade é dividida em várias zonas eleitorais que, por sua vez, são divididas em várias seções nas quais os eleitores estão vinculados. O candidato a um cargo público deve estar vinculado a um único partido político. Vale ressaltar que, segundo a legislação vigente, o voto é secreto.
-- Sql ANSI 2003 - brModelo.
CREATE TABLE Partido (
Atributo1 VARCHAR(10)
)
CREATE TABLE candidato (
nome VARCHAR(10),
rg VARCHAR(10) PRIMARY KEY
)
CREATE TABLE Seções (
mesarios VARCHAR(10)
)
CREATE TABLE Eleitores (
titulo VARCHAR(10) PRIMARY KEY,
nome VARCHAR(10)
)
CREATE TABLE localidade (
região VARCHAR(10),
cidade VARCHAR(10),
bairro VARCHAR(10)
)
CREATE TABLE Zona_eleitoral (
rua VARCHAR(10),
numero VARCHAR(10),
bairro VARCHAR(10)
)
CREATE TABLE Possui (
)
16) Contratos
Uma empresa multinacional de grande porte deseja gerenciar os contratos firmados com
seus fornecedores. O Setor de Patrimônio é o responsável pelo gerenciamento e cadastramento de contratos, e de seus respectivos fornecedores. Esses contratos de fornecimento de produtos e de prestação de serviços são realizados com vários fornecedores dos mais variados ramos de atividade. Um determinado contrato pode ser feito com vários fornecedores, como por exemplo, um contrato de fornecimento de suprimentos de informática onde cada fornecedor entrega determinado tipo de produto (um entrega papel, outro cartucho de impressora jato de tinta, etc.). Os contratos são classificados em vários tipos, tais como: consultoria, aluguel de equipamento, fornecimento de material/serviço, etc. Cada contrato possui uma forma de pagamento específica estabelecida na sua inclusão. Entretanto, todos os fornecedores enviam boletas de cobrança que são registradas, e na sua respectiva data de vencimento são atualizadas para o status de “paga”, e uma autorização para crédito ao fornecedor é enviada para o Sistema Bancário. O Setor de Patrimônio também é responsável pelo cadastramento dos materiais/serviços consumidos pela empresa, e também pelo cadastramento de seus respectivos fornecedores. Esses materiais/serviços podem ser contratados em vários contratos.
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE Boletas (
Data_Vencimento VARCHAR(10),
Status VARCHAR(10)
)
CREATE TABLE sistema_bancario (
Nome VARCHAR(10),
ID_sisbanc VARCHAR(10) PRIMARY KEY
)
CREATE TABLE fornecedores (
ID_fornecedor VARCHAR(10) PRIMARY KEY,
Nome VARCHAR(10),
Telefone VARCHAR(10),
Telefone1 VARCHAR(10),
Telefone2 VARCHAR(10),
Telefone3 VARCHAR(10),
Telefone4 VARCHAR(10),
ID_patrimonio VARCHAR(10)
)
CREATE TABLE materiais (
Nome VARCHAR(10),
Descrição VARCHAR(10),
Preço VARCHAR(10),
ID_materiais VARCHAR(10) PRIMARY KEY
)
CREATE TABLE patrimonio_contrato (
ID_patrimonio VARCHAR(10) PRIMARY KEY,
Gerente VARCHAR(10),
Forma_pagamento VARCHAR(10),
Tipo VARCHAR(10)
)
CREATE TABLE enviar_Autorização_credito (
ID_sisbanc VARCHAR(10),
status_pagamento VARCHAR(10),
FOREIGN KEY(ID_sisbanc) REFERENCES sistema_bancario (ID_sisbanc)
)
CREATE TABLE envia (
ID_fornecedor VARCHAR(10),
FOREIGN KEY(ID_fornecedor) REFERENCES fornecedores (ID_fornecedor)
)
CREATE TABLE cadastrar (
ID_materiais VARCHAR(10),
ID_fornecedor VARCHAR(10),
ID_patrimonio VARCHAR(10),
PRIMARY KEY(ID_materiais,ID_fornecedor,ID_patrimonio)
)
CREATE TABLE contrata (
ID_materiais VARCHAR(10),
FOREIGN KEY(ID_materiais) REFERENCES materiais (ID_materiais)
)
ALTER TABLE fornecedores ADD FOREIGN KEY(ID_patrimonio) REFERENCES patrimonio_contrato (ID_patrimonio)
24) PLANO DE SAÚDE
Uma empresa, que gerencia um plano de saúde, deseja construir um sistema para facilitar e agilizar o gerenciamento das internações, seja em enfermaria ou em apartamento do tipo standard, realizadas por seus associados (usuários), bem como o controle dos pagamentos que devem ser realizados aos hospitais credenciados junto à empresa. O controle de mensalidades dos associados não faz parte do escopo do sistema. A empresa só trabalha com um tipo de plano de saúde. Só se deseja controlar as diárias de internações.
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE associados (
nome VARCHAR(10),
ID_associado VARCHAR(10) PRIMARY KEY
)
CREATE TABLE hospitais (
nome VARCHAR(10),
ID_hospital VARCHAR(10) PRIMARY KEY
)
CREATE TABLE empresa_internação (
Plano_saude VARCHAR(10),
Tipo_internação VARCHAR(10)
)
CREATE TABLE Controlar_Pagamento (
ID_hospital VARCHAR(10),
valor VARCHAR(10),
data VARCHAR(10),
FOREIGN KEY(ID_hospital) REFERENCES hospitais (ID_hospital)
)
26) LOJA DE MATERIAIS
Uma organização que atua no ramo de vendas de materiais de construção deseja montar
um banco de dados para emissão de faturas em suas lojas, gerenciando a comissão de
cada empregado. Sabe-se:
A empresa possui diversas lojas; Um empregado pertence sempre a uma loja mas já pode ter trabalhado em outras lojas da rede; Uma nota fiscal é composta de dados genéricos (número da nota fiscal, nome do cliente, data de emissão, valor total da Nota fiscal, nome do empregado responsável pela venda) e dados do detalhe da venda (nome do material vendido, quantidade deste material, valor unitário, valor total do item de material vendido).
27) PROJETOS
Uma empresa desenvolve projetos de grande porte envolvendo diversas áreas como
engenharia, urbanismo, transportes, etc. Esta empresa está organizada em
departamentos, sendo que cada projeto é desenvolvido sempre sob a coordenação de
um departamento. Os departamentos possuem chefias e subchefias e como existe
rodízio nestas funções, a empresa deseja guardar o intervalo no qual um empregado
esteve como chefe ou subchefe de um departamento.
Embora um empregado pertença sempre a um departamento, ele pode ser alocado a
projetos de outros departamentos. A empresa deseja guardar informações das equipes de
projeto. Todo projeto é sempre de uma área (engenharia, urbanismo, etc.), possui
período definido de tempo e está dividido em fases que também possuem períodos. Os
responsáveis pelo projeto são as chefias do departamento ao qual o projeto está
alocado. Um empregado é alocado ao projeto em determinada fase específica para
determinada função. A empresa deseja saber em que projeto, por quanto tempo e em
qual função esteve o empregado alocado. Para facilitar o controle, suponha que num
mesmo intervalo de tempo um empregado estará alocado apenas a um projeto.
Obs.: Este exercício foi baseado em exercício semelhante ao da Palestra de Modelagem
de Dados do Instituto Latino-Americano de Tecnologia (IBM Business) de dez/94.
CREATE TABLE departamento (
Sub_chefia VARCHAR(10),
chefias VARCHAR(10),
ID_departamento VARCHAR(10) PRIMARY KEY
)
CREATE TABLE area (
Nome VARCHAR(10),
Atividade VARCHAR(10),
ID_area VARCHAR(10) PRIMARY KEY
)
CREATE TABLE empregado (
Intervalo_departamento VARCHAR(10),
ID_empregado VARCHAR(10) PRIMARY KEY,
ID_departamento VARCHAR(10),
FOREIGN KEY(ID_departamento) REFERENCES departamento (ID_departamento)
)
CREATE TABLE equipes (
Nome VARCHAR(10),
Tipo_projeto VARCHAR(10)
)
CREATE TABLE projeto (
periodo_tempo VARCHAR(10),
periodo VARCHAR(10),
ID_projeto VARCHAR(10) PRIMARY KEY,
ID_departamento VARCHAR(10),
ID_area VARCHAR(10),
-- Erro: nome do campo duplicado nesta tabela!
ID_departamento VARCHAR(10),
FOREIGN KEY(ID_departamento) REFERENCES departamento (ID_departamento),
FOREIGN KEY(ID_area) REFERENCES area (ID_area),
FOREIGN KEY(ID_departamento) REFERENCES departamento (ID_departamento)
)
CREATE TABLE alocado_alocação (
ID_empregado VARCHAR(10),
ID_projeto VARCHAR(10),
nome_projeto VARCHAR(10),
TempoVARCHAR(10),
Função VARCHAR(10),
FOREIGN KEY(ID_empregado) REFERENCES empregado (ID_empregado),
FOREIGN KEY(ID_projeto) REFERENCES projeto (ID_projeto)
)
CREATE TABLE alocado (
ID_departamento VARCHAR(10),
ID_empregado VARCHAR(10),
FOREIGN KEY(ID_departamento) REFERENCES departamento (ID_departamento),
FOREIGN KEY(ID_empregado) REFERENCES empregado (ID_empregado)
)
CREATE TABLE participa (
ID_empregado VARCHAR(10),
FOREIGN KEY(ID_empregado) REFERENCES empregado (ID_empregado)
)
CREATE TABLE possui (
ID_area VARCHAR(10),
ID_departamento VARCHAR(10),
FOREIGN KEY(ID_area) REFERENCES area (ID_area),
FOREIGN KEY(ID_departamento) REFERENCES departamento (ID_departamento)
)
29) IMOBILIÁRIA
Uma imobiliária com especialidade em aluguéis deseja desenvolver uma aplicação para
 e repasse dos aluguéis a seus clientes. Esta empresa cadastra todos os seus clientes e os inquilinos destes. Ela necessita guardar informações dos imóveis sob sua responsabilidade e dos contratos de aluguel por ela efetuados. Para facilidade de controle nos pagamentos dos aluguéis, estes serão feitos via sistema de cobrança bancária. O banco credenciado, após a cobrança, irá depositar automaticamente na conta da imobiliária o valor de 5% relativo à comissão de seus serviços e o restante, na conta do proprietário do imóvel, em conta/banco/agência indicada por ele. O sistema mensalmente repassará ao banco de cobrança informações para tal. Os contratos podem ser cancelados a qualquer instante, dentro da legislação vigente. Quinzenalmente o sistema deverá emitir uma relação dos inquilinos em atraso.
Modelo logico:
-- Geração de Modelo físico
-- Sql ANSI 2003 - brModelo.
CREATE TABLE imobiliaria (
Id_mobiliaria VARCHAR(10) PRIMARY KEY,
nome VARCHAR(10)
)
CREATE TABLE cliente (
Nome VARCHAR(10),
Dados_bancarios VARCHAR(10),
Dados_imovel VARCHAR(10),
Id_cliente VARCHAR(10) PRIMARY KEY
)
CREATE TABLE cadastra (
Id_mobiliaria VARCHAR(10),
Id_cliente VARCHAR(10),
ID_inquilino VARCHAR(10),
PRIMARY KEY(Id_mobiliaria,Id_cliente,ID_inquilino)
)
CREATE TABLE moveis (
numero VARCHAR(10),
rua VARCHAR(10),
bairro VARCHAR(10),
Nome_proprietario VARCHAR(10)
)
CREATE TABLE aluga_contrato (
ID_inquilino VARCHAR(10),
Id_mobiliaria VARCHAR(10),
Data_inicio VARCHAR(10),
Valor_aluguel VARCHAR(10),
Data_termino VARCHAR(10),
FOREIGN KEY(Id_mobiliaria) REFERENCES imobiliaria (Id_mobiliaria)
)
CREATE TABLE inquilino (
nome VARCHAR(10),
ID_inquilino VARCHAR(10) PRIMARY KEY
)
CREATE TABLE possui (
Id_cliente VARCHAR(10),
FOREIGN KEY(Id_cliente) REFERENCES cliente (Id_cliente)
)
CREATE TABLE pagamento (
ID_banco VARCHAR(10),
ID_inquilino VARCHAR(10),
FOREIGN KEY(ID_inquilino) REFERENCES inquilino (ID_inquilino)
)
CREATE TABLE deposita_banco (
Id_mobiliaria VARCHAR(10),
Id_cliente VARCHAR(10),
Nome VARCHAR(10),
ID_banco VARCHAR(10) PRIMARY KEY,
FOREIGN KEY(Id_mobiliaria) REFERENCES imobiliaria (Id_mobiliaria),
FOREIGN KEY(Id_cliente) REFERENCES cliente (Id_cliente)
)
CREATE TABLE guarda_Informações (
Id_mobiliaria VARCHAR(10),
Proprietario VARCHAR(10),
Valor_aluguel VARCHAR(10),
FOREIGN KEY(Id_mobiliaria) REFERENCES imobiliaria (Id_mobiliaria)
)
ALTER TABLE aluga_contrato ADD FOREIGN KEY(ID_inquilino) REFERENCES inquilino (ID_inquilino)
ALTER TABLE pagamento ADD FOREIGN KEY(ID_banco) REFERENCES deposita_banco (ID_banco)

Continue navegando