Banco de dados

1163 palavras 5 páginas
1- Considerando o esquema, defina, em SQL, restrições para assegurar que:
a) Um médico não possa ter consultas marcadas no mesmo dia e no mesmo horário;
CREATE ASSERTION controle_consulta CHECK (
NOT EXISTS (
SELECT * FROM AgendaConsulta M WHERE M.data IN (
SELECT * FROM AgendaConsulta VM WHERE M.hora = VM.hora
)
))
b)O grau de formação do médico seja “Graduação”, “Especialização”, “Mestrado” ou
“Doutorado”;
Usando Asserção
CREATE ASSERTION grau_formacao CHECK (
NOT EXISTS (
SELECT * FROM Medico M WHERE M.maior_formacao
NOT IN
(“ Graduacao ”, “ Especializacao ”, “ Mestrado ”, “ Doutorado ”)
))
Usando check – Melhor abordagem, por não necessitar de verificações em várias tabelas, ou seja, por ser um tipo de restrição mais simples.
Ao criar a tabela médico definir : maior_formacao varchar (45),
CHECK maior_formacao IN (“Graduacao ”, “ Especializacao ”, “ Mestrado ”, “
Doutorado ”),
c)Um médico só trabalhe em clínicas de sua cidade;
CREATE ASSERTION cidade_medico_clinica CHECK(
NOT EXISTS (
SELECT * FROM Medico M INNER JOIN ClinicaMedico CM ON
M.CodMed = CM.CodMed INNER JOIN Clinica C ON CM.CodCli = C.CodCli
WHERE M.CidadeMed C.CidadeCli
))
d) Uma subárea de especialização só exista se estiver ligada à sua respectiva área genérica;
CREATE ASSERTION verifica_subarea_especializacao CHECK(
NOT EXISTS (
SELECT * FROM Especializacao E WHERE E.CodEspGen IS NULL
))
2- Considerando o esquema de clínica médica, defina visões que mostrem:
a)Os nomes dos médicos que sejam Doutores em Ginecologia; Em seguida, verifique se o médico “Sérgio” está entre eles;
CREATE VIEW doutores_ginecologia AS
(SELECT M.NomeMed FROM Medico M INNER JOIN Especializacao E ON
M.CodEspe = E.CodEspeci WHERE M.maior_formacao = 'Doutorado' AND
E.Nome='Ginecologia'
)
Verificando existência do médico com o nome Sérgio
SELECT NomeMed FROM doutores_ginecologia WHERE NomeMed='Sergio'
b)Os nomes das áreas de

Relacionados

  • Banco de dados: dados
    436 palavras | 2 páginas
  • banco de dados
    11859 palavras | 48 páginas
  • Banco de dados
    2201 palavras | 9 páginas
  • Bancos de Dados
    6609 palavras | 27 páginas
  • Banco de dados
    2417 palavras | 10 páginas
  • Banco de dados
    1390 palavras | 6 páginas
  • BANCO DE DADOS
    2097 palavras | 9 páginas
  • O Que Banco De Dados
    1748 palavras | 7 páginas
  • Banco de dados
    940 palavras | 4 páginas
  • banco de dados
    2741 palavras | 11 páginas