Banco de dados mysql
Esquema do Base de Dados de um hospital: Paciente(CodPac,NomePac,DataNascPac) chave primaria(CodPac) /* tabela com todos pacientes internados na atualidade ou no passado no hospital, inclusive os nele nascidos */ Internação(CodPac,NumeroIntern,DataHoraBaixa,DataHoraAlta) chave primaria (CodPac,NumeroIntern) CodPac referencia Paciente /* tabela com as internações já ocorridas no hospital para partos, apenas a internação da mãe é registrada */ Leito (NoLeito,CodigoQuarto,TipoLeito) chave primaria(NoLeito) /* tabela de leitos com respectivos quartos e tipos */ OcupaLeito(CodPac,NumeroIntern,NoLeito,DataHoraInic,DataHoraFim) chave primaria (CodPac,NumeroIntern,NoLeito,DataHoraInic) (CodPac,NumeroIntern) referencia Internação NoLeito referencia Leito /* tabela de ocupação de leitos indicando que paciente internado ocupou que leito */ Parto(CodPac,HoraNasc,TipoParto,CodPacMae,NumeroIntern) chave primaria (CodPac) CodPac referencia Paciente CodPacMae,NumeroIntern referencia Internação /* tabela de partos - CodPac é o código de paciente recém nascido CodPacMae é o código de paciente da mãe */
1. Resolver as consultas a seguir utilizando Álgebra Relacional
a) Obter uma tabela com as Datas de Nascimento e as Data/Hora das internações (baixas) dos pacientes de nome “José” e que ocuparam o leito número 06.
Opção com produto cartesiano e seleção:
Paciente.DataNascPac,Internação.DataHoraBaixa ( 1 Internação.CodPac = Paciente.CodPac) and (OcupaLeito.CodPac = Internação.CodPac) and (OcupaLeito.NumeroIntern = Internação. NumeroIntern) and (Paciente.NomePac = “José”) and (OcupaLeito.NoLeito = 06) (Paciente X InternaçãoXOcupaLeito) )
Opção com junção Natural:
Paciente.DataNascPac,Internação.DataHoraBaixa ( 1 Paciente.NomePac = “José”) and (OcupaLeito.NoLeito = 06) (Paciente * Internação * OcupaLeito) )
b) Faça uma consulta que retorne uma tabela com os nomes dos pacientes, as respectivas Data/Hora das baixas e