Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 1 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... ☰ Twittear 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 2 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 3 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 4 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 5 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... -- Creando la base de datos UACME 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 6 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... create database uacme; -- Cambiarse de la BD por omisión a la ACME (en PSQL) \c UACME --Creación de las tablas create table CuentaCheques( ncuenta int, saldo numeric(7,2), banco varchar, primary key(ncuenta) ); create table Cheque( ncuenta int, cns int, total numeric(10,2), fecha date, foreign key (ncuenta) references CuentaCheques, primary key(ncuenta, cns) ); create table Tabulador( idtab int, importehora varchar, primary key(idtab) ); create table Profesores( idprofe int, idtab int, nombre varchar, maximo varchar, sueldo float, foreign key (idtab) references Tabulador, primary key(idprofe) ); create table CursosEspeciales( idcurso int, idprofe int, fini varchar, ffin varchar, ncuenta int, cns int, foreign key(idprofe) references Profesores, foreign key(ncuenta, cns) references Cheque, primary key (idcurso) ); create table CursosExtracurricular( idextra int primary key, decextra text, nhorascurso int ); create table Materias( nmat int, des varchar, horacurso int, primary key(nmat) ); create table CEVerano( idcurso int primary key, nmat int, foreign key(nmat) references Materias ); create table CEExtracurricula( idcurso int primary key, idextra int, foreign key (idextra) references CursosExtracurricular ); create table Alumnos( matricula int, nombre varchar, primary key(matricula) ); create table Bimestre( periodo int, matricula int, nmat int, calificacion int, Faltas float, foreign key(nmat) references Materias, foreign key(matricula) references Alumnos, primary key(matricula, periodo) ); create table Faltas( fecha varchar, matricula int, foreign key(matricula) references Alumnos, primary key(matricula, fecha) ); create table Concepto( idconcepto int, desconcepto varchar, primary key(idconcepto) ); 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 7 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... create table Recibo( folio int, matricula int, fecharec varchar, totalrec float, foreign key (matricula) references Alumnos, primary key(folio) ); create table DetalleRecibo( cns int, idconcepto int, folio int, subtotal float, foreign key(idconcepto) references Concepto, foreign key(folio) references Recibo, primary key(folio, cns) ); create table CalendarioEscolar( fecha varchar primary key, motivo varchar ); insert insert insert insert insert insert into into into into into into CuentaCheques CuentaCheques CuentaCheques CuentaCheques CuentaCheques CuentaCheques values(1,700,'HSBC'); values(2,9000,'HSBC'); values(3,60,'HSBC'); values(4,10,'HSBC'); values(5,1000,'HSBC'); values(6,200,'HSBC'); insert insert insert insert insert insert insert into into into into into into into Cheque Cheque Cheque Cheque Cheque Cheque Cheque insert insert insert insert insert insert insert insert insert insert insert insert insert into into into into into into into into into into into into into Tabulador values(10,100); Tabulador values(20,200); Tabulador values(30,300); Tabulador values(40,400); Tabulador values(50,500); Tabulador values(60,600); Tabulador values(70,700); Profesores values(1,40,'Roberto','Maestria',15000); Profesores values(2,70,'Carlos','Doctorado',25000); Profesores values(3,20,'Luis','Licenciatura',6000); Profesores values(4,30,'Yunuan','Maestria',12000); Profesores values(5,10,'Julio','Licenciatura',4500); Profesores values(6,20,'Samuel','Licenciatura',5500); insert insert insert insert insert into into into into into CursosEspeciales CursosEspeciales CursosEspeciales CursosEspeciales CursosEspeciales insert insert insert insert into into into into CursosExtracurricular CursosExtracurricular CursosExtracurricular CursosExtracurricular insert insert insert insert into into into into Materias Materias Materias Materias values(1,10,200,'2008-02-01'); values(2,10,575.20,'2008-02-01'); values(2,20,20,'2008-02-01'); values(3,10,600,'2007-02-01'); values(4,10,800,'2007-02-01'); values(5,10,100,'2007-02-01'); values(6,10,300,'2007-02-01'); values(1,1,1,20070204,20050204); values(2,2,2,20070204,20050204); values(3,3,3,20070204,20050204); values(4,4,4,20070204,20050204); values(5,5,5,20070204,20050204); values(1,'admin',204); values(2,'diseño',204); values(3,'bdd',204); values(4,'java',204); values(1,'admin bdd',204); values(2,'redes',204); values(3,'redes 2',204); values(4,'admin bdd',204); 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 8 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... -- Creando los grupos de usuarios create group admin; create group escolar; -- Creando los usuarios del grupo administrativo create user avila with password 'admin' in group admin; create user cancino with password 'admin' in group admin; -- Creando los usuarios del grupo escolar create user barroso with password 'escolar' in group escolar; create user tirado with password 'escolar' in group escolar; create user martinez with password 'escolar' in group escolar; create user aquino with password 'escolar' in group escolar; create user ramos with password 'escolar' in group escolar; 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 9 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... -- Creando la vista, note que no se proyecta el campo sueldo, por lo tanto se esconde de la mirada de los usuarios del grup CREATE VIEW VistaProfesoresEscolar AS SELECT idprofe,idtab,nombre,maximo FROM Profesores; -- Todos los GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON privilegios para las tablas del sistema administrativo table Cheque to group admin; table CuentaCheques to group admin; table Tabulador to group admin; table Concepto to group admin; table Recibo to group admin; table DetalleRecibo to group admin; -- Solo puede consultar y actualizar la tabla de profesores a los usuarios del grupo admin. GRANT select, update ON table Profesores to group admin; -- Solo se permite consultar estas tablas a los usuarios del grupo admin. GRANT select ON table CursosExtracurricular to group admin; GRANT select ON table CEVerano to group admin; GRANT select ON table CEExtracurricula to group admin; GRANT select ON table CursosEspeciales to group admin; -- Otorgando GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON GRANT all ON -- Otorgando GRANT all ON Select Select Select Select insert insert privilegios sobre las tablas del sistema escolar. table Materias to group escolar; table CursosExtracurricular to group escolar; table CEVerano to group escolar; table CEExtracurricula to group escolar; table CursosEspeciales to group escolar; table Alumnos to group escolar; table Faltas to group escolar; table Bimestre to group escolar; table CalendarioEscolar to group escolar; permisos sobre la vista de profesores table VistaProfesoresEscolar to group escolar; * from Profesores; * from VistaProfesoresEscolar; * from CuentaCheques; * from Cheque; into Profesores values(7, 20, 'Jesus', 'Licenciatura', 25000 ); into VistaProfesoresEscolar values(7, 20, 'Jesus', 'Licenciatura', 25000 ); CREATE or REPLACE RULE insertar_profesores AS ON insert TO VistaProfesoresEscolar DO INSTEAD insert into profesores values ( new.idprofe, new.idtab, new.nombre, new.maximo, 0); 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 10 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... insert into VistaProfesoresEscolar values(7, 20, 'Jesus', 'Licenciatura'); Select Select Select Select update insert insert Me gusta Compartir * from Profesores; * from VistaProfesoresEscolar; * from CuentaCheques; * from Cheque; Profesores set sueldo = 6000 where idprofe = 7; into Profesores values(8, 30, 'Salvador', 'Maestria', 20000 ); into VistaProfesoresEscolar values(8, 30, 'Salvador', 'Maestria'); 47 3 comentarios Ordenar por: Los más antiguos Añade un comentario... Lsc Dany López Yau Excelente aportación para empezar a conocer todo sobre la administración de base de datos. Ayudara a muchos alumnos y/o maestros en el aprendizaje de estos conocimientos primordiales ya que son de suma importancia saberlos. Me gusta · Responder · 1 · 21 de enero de 2015 18:33 Oswald Mtz Asabay · Gerente General en Pull&Bear genial!!!! Me gusta · Responder · 22 de marzo de 2015 23:56 Israel Ascencio Mendez · Programadorinformatica muy bueno algine tiene algun sistema basicno o avanzado en postgres Me gusta · Responder · 6 de junio de 2016 18:56 Facebook Comments Plugin 19/10/2016 01:12 p. m. Administración de base de datos con PostgreSql - Laboratorio 1. Control ... 11 de 11 http://www.espacioimasd.unach.mx/docs/Administracion_de_base_de_d... 19/10/2016 01:12 p. m.