Banco de dados em postgreSQL
Eu tenho um trabalho de banco de dados que é basicamente criar um banco de dados no PostgreeSQL e fazer consultas nesse banco.. mas o problema é que nao consigo instalar o postgre em casa... e na escola quando eu acesso o arquivo.SQL que contem as tabelas.. da erros q eu nao sei corrigir.. gostaria de saber se alguem naum estaria interessado em me ajudar, c precisar eu pagoo to desesperado rs... o trampo é pra quarta feira agora... obrigado pessoal.. quem puder entrar em contato sou de ribeirao preto ddd 16 celular claro 91733510 ou 92275175 msn: dant_2004@hotmail.com e orkut http://www.orkut.com.br/Main#Profile.aspx?uid=6139776317104894539
por favor alguem me ajude!!!
abraçoss!
por favor alguem me ajude!!!
abraçoss!
Polux_2009
Curtidas 0
Respostas
Facc
03/12/2008
vc poderia postar esse arquivo SQL para que possamos analizar, né...
GOSTEI 0
Polux_2009
03/12/2008
Então, o arquivo.SQL eh esse ai.... o prof falou q tem q tirar os INDEX , os ON DELETE NO ACTION, ON UPDATE NO ACTION.. num sei mas acho q esses AUTO_INCREMENT tbm taum dando erro ,,, bom gente.. preciso inserir dados nessa tabela.. e fzer consultas dos seguintes tipos:
3 simples
3 com junção
1 auto junção
2 com sub consulta
3 com agregação
Entregar documento para casa consulta
descrição textual
SQL
resultado
Criterios de avaliação
grau de complexidade
diferença entre elas
UTILIDADE
e detalhe.. só pode fazer no laboratorio do professor pq tem q ser no servidor dele e talz.. ai o lab só abre na segunda feira.. e segunda feira terei 2 PROVAS entao fiko impossibilitado de fikar la fzendo, alemd e naum saber mecher direito com postgre e tbm alem de q naum vai dar tempo de fzer tudo em 3 horas... gente pelamorr.. me ajudem
AH , os dados saum tipo pra uma clinica de diagnostico por imagens... se precisar eu vou bolando pra todas as tabelas e passoa pra pessoa c alguem me ajudar (please...) ,c precisar eu pagu rsss to desesperaduuu abraços pessoal!!!
CREATE TABLE Modelos_laudo (
ID_Modelo CHAR NOT NULL AUTO_INCREMENT,
Texto INTEGER UNSIGNED NULL,
Campo_X NUMERIC NULL,
Campo_Y NUMERIC NULL,
Campo_Z NUMERIC NULL,
Volume NUMERIC NULL,
PRIMARY KEY(ID_Modelo)
);
CREATE TABLE Usuario (
ID_usuario CHAR NOT NULL AUTO_INCREMENT,
RG VARCHAR(20) NOT NULL,
CPF VARCHAR(20) NOT NULL,
Nome VARCHAR(45) NOT NULL,
Endereço VARCHAR(45) NOT NULL,
Nivel_acesso CHAR NOT NULL,
Login VARCHAR(20) NOT NULL,
Senha VARCHAR(45) NOT NULL,
Tipo_usuario CHAR NOT NULL,
PRIMARY KEY(ID_usuario, RG, CPF)
);
CREATE TABLE Médico (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
CRM VARCHAR NOT NULL AUTO_INCREMENT,
Especialidade VARCHAR(20) NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Médico_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Técnico (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
Data_Contrato DATE NOT NULL AUTO_INCREMENT,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Técnico_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Administrador (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Administrador_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Laudo (
ID_Laudo CHAR NOT NULL AUTO_INCREMENT,
Modelos_laudo_ID_Modelo CHAR NOT NULL,
Medidads_eixoX NUMERIC NULL,
Medidas_eixoY NUMERIC NULL,
Medidas_eixoZ NUMERIC NULL,
PRIMARY KEY(ID_Laudo, Modelos_laudo_ID_Modelo),
INDEX Laudo_FKIndex1(Modelos_laudo_ID_Modelo),
FOREIGN KEY(Modelos_laudo_ID_Modelo)
REFERENCES Modelos_laudo(ID_Modelo)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Secretaria (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Secretaria_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
INDEX Secretaria_FKIndex2(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Procedimento (
ID_Procedimento CHAR NOT NULL AUTO_INCREMENT,
Secretaria_Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_RG VARCHAR(20) NOT NULL,
Secretaria_Usuario_CPF VARCHAR(20) NOT NULL,
Data_Procedimento DATE NULL,
Hora TIME NULL,
Tipo VARCHAR(20) NULL,
PRIMARY KEY(ID_Procedimento),
INDEX Procedimento_FKIndex1(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario),
FOREIGN KEY(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario)
REFERENCES Secretaria(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Consultas (
Id_procedimento CHAR NOT NULL AUTO_INCREMENT,
Procedimento_ID_Procedimento CHAR NOT NULL,
Médico_Usuario_ID_usuario CHAR NOT NULL,
Médico_Usuario_RG VARCHAR(20) NOT NULL,
Médico_Usuario_CPF VARCHAR(20) NOT NULL,
Data_Consulta DATE NULL,
Diagnostico VARCHAR(45) NULL,
Med_Responsavel VARCHAR(20) NULL,
PRIMARY KEY(Id_procedimento, Procedimento_ID_Procedimento),
INDEX Consultas_FKIndex1(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario),
INDEX Consultas_FKIndex2(Procedimento_ID_Procedimento),
FOREIGN KEY(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario)
REFERENCES Médico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Paciente (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_RG VARCHAR(20) NOT NULL,
Secretaria_Usuario_CPF VARCHAR(20) NOT NULL,
Peso SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Altura NUMERIC NULL,
Sexo CHAR NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Paciente_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
INDEX Paciente_FKIndex2(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario)
REFERENCES Secretaria(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Médico_Realiza_Procedimento (
Médico_Usuario_ID_usuario CHAR NOT NULL,
Médico_Usuario_RG VARCHAR(20) NOT NULL,
Médico_Usuario_CPF VARCHAR(20) NOT NULL,
Procedimento_ID_Procedimento CHAR NOT NULL,
PRIMARY KEY(Médico_Usuario_ID_usuario, Médico_Usuario_RG, Médico_Usuario_CPF, Procedimento_ID_Procedimento),
INDEX Médico_has_Procedimento_FKIndex1(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario),
INDEX Médico_has_Procedimento_FKIndex2(Procedimento_ID_Procedimento),
FOREIGN KEY(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario)
REFERENCES Médico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Exames (
ID_procedimento CHAR NOT NULL AUTO_INCREMENT,
Laudo_ID_Laudo CHAR NOT NULL,
Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Procedimento_ID_Procedimento CHAR NOT NULL,
Técnico_Usuario_ID_usuario CHAR NOT NULL,
Técnico_Usuario_RG VARCHAR(20) NOT NULL,
Técnico_Usuario_CPF VARCHAR(20) NOT NULL,
Diagnostico VARCHAR(45) NULL,
PRIMARY KEY(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento),
INDEX Exames_FKIndex1(Técnico_Usuario_CPF, Técnico_Usuario_RG, Técnico_Usuario_ID_usuario),
INDEX Exames_FKIndex2(Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo),
INDEX Exames_FKIndex3(Procedimento_ID_Procedimento),
FOREIGN KEY(Técnico_Usuario_CPF, Técnico_Usuario_RG, Técnico_Usuario_ID_usuario)
REFERENCES Técnico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo)
REFERENCES Laudo(ID_Laudo, Modelos_laudo_ID_Modelo)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Study (
Study_ID CHAR NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Paciente_ID CHAR NULL,
Data_Study DATE NULL,
Descrição_Study VARCHAR NULL,
Modalidade_Study VARCHAR(20) NULL,
Nome_Paciente VARCHAR(20) NULL,
Altura_Paciente NUMERIC NULL,
Sexo_Paciente CHAR NULL,
Peso_Paciente SMALLINT UNSIGNED NULL,
PRIMARY KEY(Study_ID),
INDEX Study_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Tipo_Exame (
ID_Tipo_Exame INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Descrição VARCHAR(20) NULL,
PRIMARY KEY(ID_Tipo_Exame),
INDEX Tipo_Exame_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Série (
ID_Serie CHAR NOT NULL AUTO_INCREMENT,
Study_ID CHAR NOT NULL,
Data_Série DATE NULL,
Hora_série TIME NULL,
Descrição_Serie VARCHAR(45) NULL,
Posição_Paciente VARCHAR(20) NULL,
Constraste_Usado VARCHAR(20) NULL,
Parte_Corpo_Examinada VARCHAR(20) NULL,
PRIMARY KEY(ID_Serie, Study_ID),
INDEX Série_FKIndex1(Study_ID),
FOREIGN KEY(Study_ID)
REFERENCES Study(Study_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Equipamento (
ID_Equipamento CHAR NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Modelo VARCHAR(20) NULL,
Modalidade VARCHAR(20) NULL,
PRIMARY KEY(ID_Equipamento),
INDEX Equipamento_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Convenios (
Cod_Convenio INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Paciente_Usuario_ID_usuario CHAR NOT NULL,
Paciente_Usuario_RG VARCHAR(20) NOT NULL,
Paciente_Usuario_CPF VARCHAR(20) NOT NULL,
Nome_Empresa VARCHAR(20) NULL,
Valor_Consulta NUMERIC NULL,
Valor_Exame NUMERIC NULL,
Endereço VARCHAR(20) NULL,
Telefone VARCHAR(20) NULL,
PRIMARY KEY(Cod_Convenio),
INDEX Convenios_FKIndex1(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario),
FOREIGN KEY(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario)
REFERENCES Paciente(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Imagem (
ID_Imagem CHAR NOT NULL AUTO_INCREMENT,
Série_Study_ID CHAR NOT NULL,
Série_ID_Serie CHAR NOT NULL,
Data_Imagem DATE NULL,
Hora_Imagem TIME NULL,
Número_de_frames SMALLINT UNSIGNED NULL,
Localização_do_corte VARCHAR NULL,
Tipo_imagem VARCHAR NULL,
Pixels_por_amostra SMALLINT UNSIGNED NULL,
Interpretação_da_foto VARCHAR(45) NULL,
PRIMARY KEY(ID_Imagem, Série_Study_ID, Série_ID_Serie),
INDEX Imagem_FKIndex1(Série_ID_Serie, Série_Study_ID),
FOREIGN KEY(Série_ID_Serie, Série_Study_ID)
REFERENCES Série(ID_Serie, Study_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Equipamento_realiza_Tipo_Exame (
Equipamento_ID_Equipamento CHAR NOT NULL,
Tipo_Exame_ID_Tipo_Exame INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Equipamento_ID_Equipamento, Tipo_Exame_ID_Tipo_Exame),
INDEX Equipamento_has_Tipo_Exame_FKIndex1(Equipamento_ID_Equipamento),
INDEX Equipamento_has_Tipo_Exame_FKIndex2(Tipo_Exame_ID_Tipo_Exame),
FOREIGN KEY(Equipamento_ID_Equipamento)
REFERENCES Equipamento(ID_Equipamento)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Tipo_Exame_ID_Tipo_Exame)
REFERENCES Tipo_Exame(ID_Tipo_Exame)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Paciente_sofre_procedimento (
Procedimento_ID_Procedimento CHAR NOT NULL,
Paciente_Usuario_ID_usuario CHAR NOT NULL,
Paciente_Usuario_RG VARCHAR(20) NOT NULL,
Paciente_Usuario_CPF VARCHAR(20) NOT NULL,
PRIMARY KEY(Procedimento_ID_Procedimento, Paciente_Usuario_ID_usuario, Paciente_Usuario_RG, Paciente_Usuario_CPF),
INDEX Procedimento_has_Paciente_FKIndex1(Procedimento_ID_Procedimento),
INDEX Procedimento_has_Paciente_FKIndex2(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario),
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario)
REFERENCES Paciente(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
3 simples
3 com junção
1 auto junção
2 com sub consulta
3 com agregação
Entregar documento para casa consulta
descrição textual
SQL
resultado
Criterios de avaliação
grau de complexidade
diferença entre elas
UTILIDADE
e detalhe.. só pode fazer no laboratorio do professor pq tem q ser no servidor dele e talz.. ai o lab só abre na segunda feira.. e segunda feira terei 2 PROVAS entao fiko impossibilitado de fikar la fzendo, alemd e naum saber mecher direito com postgre e tbm alem de q naum vai dar tempo de fzer tudo em 3 horas... gente pelamorr.. me ajudem
AH , os dados saum tipo pra uma clinica de diagnostico por imagens... se precisar eu vou bolando pra todas as tabelas e passoa pra pessoa c alguem me ajudar (please...) ,c precisar eu pagu rsss to desesperaduuu abraços pessoal!!!
CREATE TABLE Modelos_laudo (
ID_Modelo CHAR NOT NULL AUTO_INCREMENT,
Texto INTEGER UNSIGNED NULL,
Campo_X NUMERIC NULL,
Campo_Y NUMERIC NULL,
Campo_Z NUMERIC NULL,
Volume NUMERIC NULL,
PRIMARY KEY(ID_Modelo)
);
CREATE TABLE Usuario (
ID_usuario CHAR NOT NULL AUTO_INCREMENT,
RG VARCHAR(20) NOT NULL,
CPF VARCHAR(20) NOT NULL,
Nome VARCHAR(45) NOT NULL,
Endereço VARCHAR(45) NOT NULL,
Nivel_acesso CHAR NOT NULL,
Login VARCHAR(20) NOT NULL,
Senha VARCHAR(45) NOT NULL,
Tipo_usuario CHAR NOT NULL,
PRIMARY KEY(ID_usuario, RG, CPF)
);
CREATE TABLE Médico (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
CRM VARCHAR NOT NULL AUTO_INCREMENT,
Especialidade VARCHAR(20) NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Médico_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Técnico (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
Data_Contrato DATE NOT NULL AUTO_INCREMENT,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Técnico_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Administrador (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Administrador_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Laudo (
ID_Laudo CHAR NOT NULL AUTO_INCREMENT,
Modelos_laudo_ID_Modelo CHAR NOT NULL,
Medidads_eixoX NUMERIC NULL,
Medidas_eixoY NUMERIC NULL,
Medidas_eixoZ NUMERIC NULL,
PRIMARY KEY(ID_Laudo, Modelos_laudo_ID_Modelo),
INDEX Laudo_FKIndex1(Modelos_laudo_ID_Modelo),
FOREIGN KEY(Modelos_laudo_ID_Modelo)
REFERENCES Modelos_laudo(ID_Modelo)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Secretaria (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Secretaria_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
INDEX Secretaria_FKIndex2(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Procedimento (
ID_Procedimento CHAR NOT NULL AUTO_INCREMENT,
Secretaria_Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_RG VARCHAR(20) NOT NULL,
Secretaria_Usuario_CPF VARCHAR(20) NOT NULL,
Data_Procedimento DATE NULL,
Hora TIME NULL,
Tipo VARCHAR(20) NULL,
PRIMARY KEY(ID_Procedimento),
INDEX Procedimento_FKIndex1(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario),
FOREIGN KEY(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario)
REFERENCES Secretaria(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Consultas (
Id_procedimento CHAR NOT NULL AUTO_INCREMENT,
Procedimento_ID_Procedimento CHAR NOT NULL,
Médico_Usuario_ID_usuario CHAR NOT NULL,
Médico_Usuario_RG VARCHAR(20) NOT NULL,
Médico_Usuario_CPF VARCHAR(20) NOT NULL,
Data_Consulta DATE NULL,
Diagnostico VARCHAR(45) NULL,
Med_Responsavel VARCHAR(20) NULL,
PRIMARY KEY(Id_procedimento, Procedimento_ID_Procedimento),
INDEX Consultas_FKIndex1(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario),
INDEX Consultas_FKIndex2(Procedimento_ID_Procedimento),
FOREIGN KEY(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario)
REFERENCES Médico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Paciente (
Usuario_CPF VARCHAR(20) NOT NULL,
Usuario_RG VARCHAR(20) NOT NULL,
Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_ID_usuario CHAR NOT NULL,
Secretaria_Usuario_RG VARCHAR(20) NOT NULL,
Secretaria_Usuario_CPF VARCHAR(20) NOT NULL,
Peso SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
Altura NUMERIC NULL,
Sexo CHAR NULL,
PRIMARY KEY(Usuario_CPF, Usuario_RG, Usuario_ID_usuario),
INDEX Paciente_FKIndex1(Usuario_ID_usuario, Usuario_RG, Usuario_CPF),
INDEX Paciente_FKIndex2(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario),
FOREIGN KEY(Usuario_ID_usuario, Usuario_RG, Usuario_CPF)
REFERENCES Usuario(ID_usuario, RG, CPF)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Secretaria_Usuario_CPF, Secretaria_Usuario_RG, Secretaria_Usuario_ID_usuario)
REFERENCES Secretaria(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Médico_Realiza_Procedimento (
Médico_Usuario_ID_usuario CHAR NOT NULL,
Médico_Usuario_RG VARCHAR(20) NOT NULL,
Médico_Usuario_CPF VARCHAR(20) NOT NULL,
Procedimento_ID_Procedimento CHAR NOT NULL,
PRIMARY KEY(Médico_Usuario_ID_usuario, Médico_Usuario_RG, Médico_Usuario_CPF, Procedimento_ID_Procedimento),
INDEX Médico_has_Procedimento_FKIndex1(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario),
INDEX Médico_has_Procedimento_FKIndex2(Procedimento_ID_Procedimento),
FOREIGN KEY(Médico_Usuario_CPF, Médico_Usuario_RG, Médico_Usuario_ID_usuario)
REFERENCES Médico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Exames (
ID_procedimento CHAR NOT NULL AUTO_INCREMENT,
Laudo_ID_Laudo CHAR NOT NULL,
Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Procedimento_ID_Procedimento CHAR NOT NULL,
Técnico_Usuario_ID_usuario CHAR NOT NULL,
Técnico_Usuario_RG VARCHAR(20) NOT NULL,
Técnico_Usuario_CPF VARCHAR(20) NOT NULL,
Diagnostico VARCHAR(45) NULL,
PRIMARY KEY(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento),
INDEX Exames_FKIndex1(Técnico_Usuario_CPF, Técnico_Usuario_RG, Técnico_Usuario_ID_usuario),
INDEX Exames_FKIndex2(Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo),
INDEX Exames_FKIndex3(Procedimento_ID_Procedimento),
FOREIGN KEY(Técnico_Usuario_CPF, Técnico_Usuario_RG, Técnico_Usuario_ID_usuario)
REFERENCES Técnico(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo)
REFERENCES Laudo(ID_Laudo, Modelos_laudo_ID_Modelo)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Study (
Study_ID CHAR NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Paciente_ID CHAR NULL,
Data_Study DATE NULL,
Descrição_Study VARCHAR NULL,
Modalidade_Study VARCHAR(20) NULL,
Nome_Paciente VARCHAR(20) NULL,
Altura_Paciente NUMERIC NULL,
Sexo_Paciente CHAR NULL,
Peso_Paciente SMALLINT UNSIGNED NULL,
PRIMARY KEY(Study_ID),
INDEX Study_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Tipo_Exame (
ID_Tipo_Exame INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Descrição VARCHAR(20) NULL,
PRIMARY KEY(ID_Tipo_Exame),
INDEX Tipo_Exame_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Série (
ID_Serie CHAR NOT NULL AUTO_INCREMENT,
Study_ID CHAR NOT NULL,
Data_Série DATE NULL,
Hora_série TIME NULL,
Descrição_Serie VARCHAR(45) NULL,
Posição_Paciente VARCHAR(20) NULL,
Constraste_Usado VARCHAR(20) NULL,
Parte_Corpo_Examinada VARCHAR(20) NULL,
PRIMARY KEY(ID_Serie, Study_ID),
INDEX Série_FKIndex1(Study_ID),
FOREIGN KEY(Study_ID)
REFERENCES Study(Study_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Equipamento (
ID_Equipamento CHAR NOT NULL AUTO_INCREMENT,
Exames_Procedimento_ID_Procedimento CHAR NOT NULL,
Exames_Laudo_Modelos_laudo_ID_Modelo CHAR NOT NULL,
Exames_Laudo_ID_Laudo CHAR NOT NULL,
Exames_ID_procedimento CHAR NOT NULL,
Modelo VARCHAR(20) NULL,
Modalidade VARCHAR(20) NULL,
PRIMARY KEY(ID_Equipamento),
INDEX Equipamento_FKIndex1(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento),
FOREIGN KEY(Exames_ID_procedimento, Exames_Laudo_ID_Laudo, Exames_Laudo_Modelos_laudo_ID_Modelo, Exames_Procedimento_ID_Procedimento)
REFERENCES Exames(ID_procedimento, Laudo_ID_Laudo, Laudo_Modelos_laudo_ID_Modelo, Procedimento_ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Convenios (
Cod_Convenio INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Paciente_Usuario_ID_usuario CHAR NOT NULL,
Paciente_Usuario_RG VARCHAR(20) NOT NULL,
Paciente_Usuario_CPF VARCHAR(20) NOT NULL,
Nome_Empresa VARCHAR(20) NULL,
Valor_Consulta NUMERIC NULL,
Valor_Exame NUMERIC NULL,
Endereço VARCHAR(20) NULL,
Telefone VARCHAR(20) NULL,
PRIMARY KEY(Cod_Convenio),
INDEX Convenios_FKIndex1(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario),
FOREIGN KEY(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario)
REFERENCES Paciente(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Imagem (
ID_Imagem CHAR NOT NULL AUTO_INCREMENT,
Série_Study_ID CHAR NOT NULL,
Série_ID_Serie CHAR NOT NULL,
Data_Imagem DATE NULL,
Hora_Imagem TIME NULL,
Número_de_frames SMALLINT UNSIGNED NULL,
Localização_do_corte VARCHAR NULL,
Tipo_imagem VARCHAR NULL,
Pixels_por_amostra SMALLINT UNSIGNED NULL,
Interpretação_da_foto VARCHAR(45) NULL,
PRIMARY KEY(ID_Imagem, Série_Study_ID, Série_ID_Serie),
INDEX Imagem_FKIndex1(Série_ID_Serie, Série_Study_ID),
FOREIGN KEY(Série_ID_Serie, Série_Study_ID)
REFERENCES Série(ID_Serie, Study_ID)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Equipamento_realiza_Tipo_Exame (
Equipamento_ID_Equipamento CHAR NOT NULL,
Tipo_Exame_ID_Tipo_Exame INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Equipamento_ID_Equipamento, Tipo_Exame_ID_Tipo_Exame),
INDEX Equipamento_has_Tipo_Exame_FKIndex1(Equipamento_ID_Equipamento),
INDEX Equipamento_has_Tipo_Exame_FKIndex2(Tipo_Exame_ID_Tipo_Exame),
FOREIGN KEY(Equipamento_ID_Equipamento)
REFERENCES Equipamento(ID_Equipamento)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Tipo_Exame_ID_Tipo_Exame)
REFERENCES Tipo_Exame(ID_Tipo_Exame)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
CREATE TABLE Paciente_sofre_procedimento (
Procedimento_ID_Procedimento CHAR NOT NULL,
Paciente_Usuario_ID_usuario CHAR NOT NULL,
Paciente_Usuario_RG VARCHAR(20) NOT NULL,
Paciente_Usuario_CPF VARCHAR(20) NOT NULL,
PRIMARY KEY(Procedimento_ID_Procedimento, Paciente_Usuario_ID_usuario, Paciente_Usuario_RG, Paciente_Usuario_CPF),
INDEX Procedimento_has_Paciente_FKIndex1(Procedimento_ID_Procedimento),
INDEX Procedimento_has_Paciente_FKIndex2(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario),
FOREIGN KEY(Procedimento_ID_Procedimento)
REFERENCES Procedimento(ID_Procedimento)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
FOREIGN KEY(Paciente_Usuario_CPF, Paciente_Usuario_RG, Paciente_Usuario_ID_usuario)
REFERENCES Paciente(Usuario_CPF, Usuario_RG, Usuario_ID_usuario)
ON DELETE NO ACTION
ON UPDATE NO ACTION
);
GOSTEI 0