Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.30 KB | None | 0 0
  1. create database ConsultorioDental;
  2.  
  3. use ConsultorioDental;
  4.  
  5. -- Tablas Principales
  6.  
  7. create table rol(
  8. idRol int not null primary key,
  9. nombre varchar(16)
  10. )
  11.  
  12. create table nota_compra(
  13. idNota int not null primary key,
  14. nombre varchar(64) not null,
  15. fecha date not null,
  16. nit int not null,
  17. monto int not null,
  18. idUsuario int not null foreign key references usuario(idUsuario)
  19. )
  20.  
  21. create table cara_dental
  22. (
  23. idCarDent int not null primary key,
  24. nombre varchar(32)
  25. )
  26.  
  27. create table historial(
  28. idHist int not null primary key,
  29. fechaRegistro date not null,
  30. ultimaConsulta date not null
  31. )
  32.  
  33. create table especialidad(
  34. idEsp int not null primary key,
  35. descripcion varchar(64) not null
  36. );
  37.  
  38.  
  39. create table servicio(
  40. idServ int not null primary key,
  41. nombre varchar(32) not null,
  42. descripcion varchar (500) not null,
  43. estado bit not null
  44. );
  45.  
  46. create table materia_prima(
  47. idMatPrim int not null primary key,
  48. nombre varchar(32) not null,
  49. descripcion varchar(128),
  50. estado bit not null,
  51. stock int not null,
  52. cant_usos int not null,
  53. total_usos int not null
  54. );
  55.  
  56. create table horario (
  57. idHor int not null primary key,
  58. estado bit not null,
  59. dia varchar(10) not null,
  60. hora_inicio time not null,
  61. hora_fin time not null
  62. )
  63.  
  64.  
  65. create table agenda(
  66. idAgenda int not null primary key
  67. )
  68.  
  69.  
  70. -- Tablas con llaves foraneas
  71.  
  72. CREATE TABLE usuario (
  73. idUsuario INT NOT NULL PRIMARY KEY,
  74. nombre VARCHAR(20)NOT NULL,
  75. estado bit NOT NULL,
  76. contraseña VARCHAR(50) NOT NULL,
  77. idRol int not null foreign key references rol(idRol)
  78. on update cascade
  79. on delete cascade
  80. )
  81.  
  82. create table recepcionista(
  83. ciRecep int not null primary key,
  84. nombre varchar(64) not null,
  85. sexo char not null,
  86. telefono int not null,
  87. idUsuario int not null foreign key references usuario(idUsuario)
  88. on update cascade
  89. on delete cascade
  90. )
  91.  
  92. create table paciente(
  93. ciPaci int not null primary key,
  94. nombre varchar(64) not null,
  95. sexo char not null,
  96. telefono int not null,
  97. idHist int not null foreign key references historial(idHist)
  98. on update cascade
  99. on delete cascade,
  100. fecha_nacimiento date not null,
  101. correo varchar(32) not null,
  102. idUsuario int not null foreign key references usuario(idUsuario)
  103. on update cascade
  104. on delete cascade,
  105. )
  106.  
  107. create table consulta(
  108. idCon int not null,
  109. idHist int not null,
  110. primary key(idCon,idHist),
  111. foreign key (idHist) references historial(idHist)
  112. on update cascade
  113. on delete cascade,
  114. diagnostico varchar(128) not null,
  115. fecha_retorno date not null,
  116. motivo varchar(128) not null,
  117. tratamiento varchar(128) not null
  118. )
  119.  
  120. create table odontologo(
  121. ciOdon int not null primary key,
  122. nombre varchar(64) not null,
  123. sexo char not null,
  124. telefono int not null,
  125. idAgenda int not null foreign key references agenda(idAgenda)
  126. on update cascade
  127. on delete cascade,
  128. idUsuario int not null foreign key references usuario(idUsuario)
  129. on update cascade
  130. on delete cascade
  131. );
  132. create table tiene_especialidad(
  133. idOdon int not null foreign key references odontologo(ciOdon)
  134. on update cascade
  135. on delete cascade,
  136. idEspe int not null foreign key references especialidad(idEsp)
  137. on update cascade
  138. on delete cascade,
  139. primary key (idOdon,idEspe)
  140. )
  141.  
  142. create table cita(
  143. idCita int not null primary key,
  144. estado bit not null,
  145. fecha date not null,
  146. hora time not null,
  147.  
  148. idHist int not null,
  149. idCon int not null,
  150.  
  151. foreign key (idCon,idHist) references consulta(idCon,idHist)
  152. on update cascade
  153. on delete cascade,
  154.  
  155. idRecep int not null foreign key references recepcionista(ciRecep)
  156. on update cascade
  157. on delete cascade,
  158.  
  159. idAgenda int not null foreign key references agenda(idAgenda)
  160. on update cascade
  161. on delete cascade,
  162.  
  163. ciPaci int not null foreign key references paciente(ciPaci)
  164. on update no action
  165. on delete no action
  166.  
  167.  
  168. );
  169.  
  170. create table ficha_serv(
  171. idCita int not null foreign key references cita(idCita)
  172. on update cascade
  173. on delete cascade,
  174. idServ int not null foreign key references servicio(idServ)
  175. on update cascade
  176. on delete cascade,
  177. primary key (idCita,idServ)
  178. )
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186. create table receta(
  187. idRec int not null primary key,
  188. descripcion varchar(128) not null,
  189. idCon int not null,
  190. idHist int not null,
  191. foreign key (idCon,idHist) references consulta(idCon,idHist)
  192. on update cascade
  193. on delete cascade,
  194. )
  195.  
  196. create table odontograma(
  197. idOdonto int not null primary key,
  198. idHist int not null,
  199. idCon int not null ,
  200. foreign key (idCon,idHist) references consulta(idCon,idHist)
  201. on update cascade
  202. on delete cascade,
  203. )
  204.  
  205.  
  206.  
  207. create table diente(
  208. idDiente int not null,
  209. idOdonto int not null foreign key references odontograma(idOdonto)
  210. on update cascade
  211. on delete cascade,
  212. primary key (idDiente,idOdonto),
  213. nombre varchar(64) not null,
  214. estadoActual varchar(32) not null,
  215. )
  216.  
  217. create table serv_cons(
  218. idServ int not null foreign key references servicio(idServ)
  219. on update cascade
  220. on delete cascade,
  221. idHist int not null,
  222. idCon int not null,
  223. foreign key (idCon,idHist) references consulta(idCon,idHist)
  224. on update cascade
  225. on delete cascade,
  226. primary key (idServ,idHist,idCon)
  227. )
  228.  
  229. create table odont_horario(
  230. idHor int not null foreign key references horario(idHor)
  231. on update cascade
  232. on delete cascade,
  233. ciOdon int not null foreign key references odontologo(ciOdon)
  234. on update cascade
  235. on delete cascade,
  236. primary key (idHor,ciOdon)
  237. )
  238.  
  239. create table serv_mat(
  240. cant_usos int not null,
  241. idMatPrim int not null foreign key references materia_prima(idMatPrim)
  242. on update cascade
  243. on delete cascade,
  244. idServ int not null foreign key references servicio(idServ)
  245. on update cascade
  246. on delete cascade,
  247. primary key (idMatPrim,idServ)
  248.  
  249. )
  250.  
  251. CREATE TABLE odont_serv(
  252. ciOdon INT NOT NULL FOREIGN KEY REFERENCES odontologo(ciOdon )
  253. on update cascade
  254. on delete cascade,
  255. idServ INT NOT NULL FOREIGN KEY REFERENCES servicio(idServ)
  256. on update cascade
  257. on delete cascade,
  258. PRIMARY KEY (ciOdon,idServ)
  259. )
  260.  
  261. CREATE TABLE nota_vent
  262. (idNotaVent INT NOT NULL PRIMARY KEY,
  263. idConsult INT NOT NULL,
  264. idHist INT NOT NULL,
  265. idUsuario int not null foreign key references usuario(idUsuario)
  266. on update cascade
  267. on delete cascade,
  268. FOREIGN KEY (idConsult,idHist) REFERENCES consulta(idCon,idHist)
  269. on update cascade
  270. on delete cascade,
  271. fecha DATE NOT NULL,
  272. monto_total INT NOT NULL,
  273. saldo INT NOT NULL
  274. )
  275.  
  276. CREATE TABLE cuota(
  277. idNotaVenta INT NOT NULL FOREIGN KEY REFERENCES nota_vent(idNotaVent)
  278. on update cascade
  279. on delete cascade,
  280. idCuota INT NOT NULL,
  281. PRIMARY KEY (idNotaVenta,idCuota),
  282. ciPaci INT NOT NULL FOREIGN KEY REFERENCES paciente(ciPaci)
  283. on update no action
  284. on delete no action,
  285. fecha DATE NOT NULL,
  286. monto INT NOT NULL
  287.  
  288. )
  289.  
  290.  
  291. create table permiso(
  292. idPer int not null,
  293. idRol int not null foreign key references rol(idRol)
  294. on update cascade
  295. on delete cascade,
  296. primary key (idPer,idRol),
  297.  
  298. )
  299.  
  300.  
  301.  
  302. CREATE TABLE estudio_complementario
  303. (
  304. idEstudio INT NOT NULL PRIMARY KEY,
  305. nombre VARCHAR(20),
  306. descripcion VARCHAR(128) NOT NULL,
  307. idServicio INT NOT NULL FOREIGN KEY REFERENCES servicio(idServ)
  308. on update cascade
  309. on delete cascade,
  310.  
  311. )
  312.  
  313.  
  314.  
  315. CREATE TABLE cp_dental(
  316. idCarDent INT NOT NULL FOREIGN KEY REFERENCES cara_dental(idCarDent)
  317. on update cascade
  318. on delete cascade,
  319. idDiente INT NOT NULL ,
  320. idOdontoG INT NOT NULL,
  321. FOREIGN KEY (idDiente,idOdontoG) REFERENCES diente(idDiente,idOdonto)
  322. on update cascade
  323. on delete cascade,
  324. PRIMARY KEY (idCarDent,idDiente,idOdontoG),
  325. estado_diagnostico VARCHAR(100) NOT NULL,
  326. estado_tratamiento VARCHAR(100)NOT NULL
  327. )
  328.  
  329. CREATE TABLE nota_mat_prima(
  330. idNota INT NOT NULL FOREIGN KEY REFERENCES nota_compra(idNota)
  331. on update cascade
  332. on delete cascade,
  333. idMatPrim INT NOT NULL FOREIGN KEY REFERENCES materia_prima(idMatPrim)
  334. on update cascade
  335. on delete cascade,
  336. PRIMARY KEY (idNota,idMatPrim),
  337. Precio INT NOT NULL)
  338.  
  339.  
  340.  
  341. -- ROL
  342. insert into rol values(01,'Administrador')
  343. insert into rol values(02,'Odontologo')
  344. insert into rol values(03,'Recepcionista')
  345. insert into rol values(04,'Paciente')
  346.  
  347. -- USUARIO
  348. insert into usuario values(1,'silviaventura',1,'silviaventura09',2)
  349. insert into usuario values(02,'pedrotardio',1,'pedrotardio1234',02)
  350.  
  351. insert into usuario values(03,'toborochi98',1,'12345tortas',04)
  352. insert into usuario values(04,'pablotb',1,'mrpablo45',04)
  353. insert into usuario values(05,'ochoq_lo',1,'octavia45',04)
  354. insert into usuario values(06,'hentailover',1,'seibazero13',04)
  355. insert into usuario values(07,'sedusau',1,'sedusau334455',04)
  356.  
  357. insert into usuario values(08,'naomilopez',1,'naomirosita',03)
  358. insert into usuario values(09,'sebaroca69',1,'lamole33',03)
  359.  
  360. -- CARA DENTAL
  361. insert into cara_dental values (01,'Oclusal')
  362. insert into cara_dental values (02,'Lingual')
  363. insert into cara_dental values (03,'Vestibular')
  364. insert into cara_dental values (04,'Mesial')
  365. insert into cara_dental values (05,'Distal')
  366. insert into cara_dental values (06,'Todas')
  367.  
  368. -- ESPECIALIDAD
  369. insert into especialidad values (111,'Ortodoncia');
  370. insert into especialidad values (222,'Endodoncia');
  371. insert into especialidad values (333,'Implantologia oral');
  372. insert into especialidad values (444,'Periodoncia');
  373.  
  374. -- AGENDA
  375. insert into agenda values (1);
  376. insert into agenda values (2);
  377.  
  378. -- HISTORIAL
  379. insert into historial values (01,'2019-05-03','2019-08-02');
  380. insert into historial values (02,'2019-07-26','2019-09-05');
  381. insert into historial values (03,'2019-06-14','2019-08-13');
  382. insert into historial values (04,'2019-08-10','2019-09-02');
  383. insert into historial values (05,'2019-04-19','2019-09-10');
  384.  
  385.  
  386. -- PACIENTE
  387. insert into paciente values(111,'Leonardo Anez Vladimirovna','M',70840755,05,'1998-11-07','toborochi98@outlook.com',03)
  388. insert into paciente values(222,'Pablo Tardio Ventura','M',74513555,04,'1998-11-07','pablotv@gmail.com',04)
  389. insert into paciente values(333,'Luis Octavio Antelo','M',69445123,03,'1998-11-07','magicrainbow98@gmail.com',05)
  390. insert into paciente values(444,'Javier Selaya','M',78912321,02,'1998-11-07','nojomo13@gmail.com',06)
  391. insert into paciente values(555,'Sebastian Duran','M',64513000,01,'1998-11-07','sedusau97@gmail.com',07)
  392.  
  393. -- CONSULTA
  394. insert into consulta values (01,02,'El paciente presenta leves indicios de caries','2019-09-15','Checkeo','Limpieza dental')
  395. insert into consulta values (02,01,'Paciente presenta dolores al masticar','2019-09-10','Dolores dentales','Endodoncia')
  396. insert into consulta values (03,04,'Paciente presenta encias inflamadas','2019-04-12','Inflamacion','Profilaxis')
  397.  
  398. -- RECEPCIONISTA
  399. insert into Recepcionista values(21902954,'Naomi López Rocha','F',76855331,08);
  400. insert into Recepcionista values(62904529,'Sebastián Roca Ibañez','M',70401101,09);
  401.  
  402. -- ODONTOLOGO
  403. insert into odontologo values (3834393,'Silvia Ventura','M',79064047,01,1)
  404. insert into odontologo values (1052248,'Pedro Tardio','M',79064047,02,2)
  405.  
  406.  
  407. -- HORARIO
  408. insert into horario values(1,1,'Lunes','16:00:00','19:30:00');
  409. insert into horario values(2,1,'Lunes','19:30:00','22:00:00');
  410. insert into horario values(3,1,'Martes','16:00:00','19:30:00');
  411. insert into horario values(4,1,'Martes','19:30:00','22:00:00');
  412. insert into horario values(5,1,'Miercoles','16:00:00','19:30:00');
  413. insert into horario values(6,1,'Miercoles','19:30:00','22:00:00');
  414. insert into horario values(7,1,'Jueves','16:00:00','19:30:00');
  415. insert into horario values(8,1,'Jueves','19:30:00','22:00:00');
  416. insert into horario values(9,1,'Viernes','16:00:00','19:30:00');
  417. insert into horario values(10,1,'Viernes','19:30:00','22:00:00');
  418.  
  419. -- ODONT_HORARIO
  420. insert into odont_horario values (1,3834393)
  421. insert into odont_horario values (3,3834393)
  422. insert into odont_horario values (5,3834393)
  423. insert into odont_horario values (7,3834393)
  424. insert into odont_horario values (9,3834393)
  425.  
  426. insert into odont_horario values (2,1052248)
  427. insert into odont_horario values (4,1052248)
  428. insert into odont_horario values (6,1052248)
  429. insert into odont_horario values (8,1052248)
  430. insert into odont_horario values (10,1052248)
  431.  
  432. select * from odont_horario
  433.  
  434. -- SERVICIO
  435. insert into servicio values (01,'endodoncia','estudia las enfermedades de la pulpa de los dientes y sus técnicas de curación.',1)
  436. insert into servicio values (02,'puente','Se realizan, fundas, coronas si faltan piezas dentales se realiza reemplazo, hasta 6 piezas',1)
  437. insert into servicio values (03,'tartrectomía','Si un paciente tiene dientes manchados cerca a la encía, como una clasificación,(una caries inicial) se elimina',1)
  438. insert into servicio values (04,'profilaxis','Se realiza limpieza de placa bacteriana',1)
  439.  
  440. -- ODONT_SERV
  441. insert into odont_serv values(1052248,01)
  442. insert into odont_serv values(3834393,03)
  443. insert into odont_serv values(1052248,02)
  444. insert into odont_serv values(3834393,04)
  445.  
  446. -- ESTUDIO_COMPLEMENTARIO
  447. insert into estudio_complementario values(01,'Rayos X','Se hace una vista de la estructura interna actual de los dientes.',01)
  448. insert into estudio_complementario values(02,'Examen Sanguineo','Toma de muestras de sangre para evaluar el estado de globulos rojos, blancos y tiempo de coagulacion.',02)
  449. insert into estudio_complementario values(03,'Toma Presion','Verificacion de afecciones cardiacas.',03)
  450.  
  451. -- MATERIA_PRIMA
  452. insert into materia_prima values (01,'sellante',null,1,10,2,8);
  453. insert into materia_prima values (02,'resina',null,1,200,10,190);
  454. insert into materia_prima values (03,'acrilico',null,1,300,30,270);
  455.  
  456. -- SERV_MAT
  457. insert into serv_mat values(2,01,02)
  458. insert into serv_mat values(5,02,03)
  459. insert into serv_mat values(15,03,01)
  460.  
  461. -- CITA
  462. insert into cita values(1,1,'2019-09-10','15:30',1,2,21902954,1,111)
  463. insert into cita values(2,1,'2019-09-01','14:30',2,1,21902954,2,333)
  464. insert into cita values(3,1,'2019-09-01','14:30',4,3,62904529,2,555)
  465.  
  466. -- PERMISO
  467. insert into permiso values (1,01);
  468. insert into permiso values (2,02);
  469. insert into permiso values (3,03);
  470. insert into permiso values (4,04);
  471.  
  472. -- ODONTOGRAMA
  473. insert into odontograma values (123,2,1);
  474. insert into odontograma values (345,1,2);
  475. insert into odontograma values (567,4,3);
  476.  
  477. -- TIENE ESPECIALIDAD
  478. insert into tiene_especialidad values (3834393,111);
  479. insert into tiene_especialidad values (3834393,222);
  480. insert into tiene_especialidad values (1052248,333);
  481. insert into tiene_especialidad values (1052248,444);
  482.  
  483. -- RECETA
  484. insert into receta values(1,'Tomar Paracetamol y calmantes',1,2)
  485. insert into receta values(2,'Tomar antiinflamatorios',2,1)
  486. insert into receta values(3,'Cada 5 Horas realizar enjuague bucal',3,4)
  487.  
  488. -- SERV_CONS
  489. insert into serv_cons values (1,2,1)
  490. insert into serv_cons values (2,1,2)
  491. insert into serv_cons values (3,4,3)
  492.  
  493. -- NOTA VENTA
  494. Insert into nota_vent values(111,1,2,3,'2019-06-25',80,0)
  495. Insert into nota_vent values(222,2,1,4,'2019-09-30',100,50)
  496. Insert into nota_vent values(333,3,4,6,'2019-12-04',300,100)
  497.  
  498. -- CUOTA
  499. insert into cuota values(111,01,111,'2019-05-25',30)
  500. insert into cuota values(222,02,555,'2019-06-15',30)
  501. insert into cuota values(222,03,555,'2019-08-30',20)
  502. insert into cuota values(333,04,222,'2019-10-17',50)
  503.  
  504. -- DIENTE
  505. insert into diente values(01,123,'Canino','Leche')
  506. insert into diente values(02,345,'Molar','Permanente')
  507. insert into diente values(04,123,'Incisivo','Leche')
  508. insert into diente values(04,567,'Premolar','Permanente')
  509.  
  510. -- CP_DIENTE
  511. insert into cp_dental values(1,1,123,'El diente presenta una carie','El paciente tiene progreso')
  512. insert into cp_dental values(3,2,345,'El diente presenta una carie','Paciente debe seguir aplicando medicamento')
  513. insert into cp_dental values(4,4,123,'El diente presenta inflamacion alrededor','Seguir tomando antinflamatorio')
  514.  
  515. -- FICHA_SERV
  516. insert into ficha_serv values(1,1)
  517. insert into ficha_serv values(2,3)
  518.  
  519. -- Mostrar los horarios de atencion de los odontologos X
  520. select odontologo.nombre, horario.dia,horario.hora_inicio,horario.hora_fin
  521. from horario,odontologo,odont_horario
  522. where odont_horario.ciOdon=odontologo.ciOdon and odont_horario.idHor=horario.idHor and odontologo.nombre = 'Silvia Ventura'
  523.  
  524. -- Ultima fecha del paciente X
  525. select ultimaConsulta
  526. from historial,paciente
  527. where historial.idHist=paciente.idHist and paciente.nombre = 'Luis Octavio Antelo'
  528.  
  529. -- Servicios que realiza el odontologo
  530. select servicio.nombre,servicio.descripcion
  531. from servicio,odont_serv,odontologo
  532. where odont_serv.ciOdon=odontologo.ciOdon and servicio.idServ=odont_serv.idServ and odontologo.nombre='Silvia Ventura'
  533.  
  534. -- Diagnosticos de un paciente
  535. select consulta.motivo,consulta.diagnostico,cita.fecha
  536. from consulta,cita,paciente
  537. where consulta.idCon=cita.idCon and consulta.idHist=paciente.idHist and cita.estado=1 and paciente.nombre='Sebastian Duran'
  538.  
  539.  
  540.  
  541. -- Mostrar las piezas dentales en que caras y en que consultas se le realizaron tratamientos al paciente con el nombre
  542. /*
  543. select cara_dental.nombre,diente.nombre,consulta.tratamiento,cp_dental.estado_diagnostico,cita.fecha
  544. from cara_dental,diente,cp_dental,odontograma,consulta,cita,paciente
  545. where cara_dental.idCarDent=cp_dental.idCarDent and
  546. cp_dental.idOdontoG=odontograma.idOdonto and
  547. diente.idOdonto = odontograma.idOdonto and
  548. odontograma.idCon = consulta.idCon and
  549. cita.idCon = consulta.idCon and
  550. cita.ciPaci = paciente.ciPaci and
  551. paciente.nombre = 'Luis Octavio Antelo'*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement