Home

Descargar - Espacio I+D

image

Contents

1. Bimestre Faltas E oe CE Extracurr cula O Cursos Extracurricular CE Verano Descripci n No horas del Curso Calendario Escolar Fecha falta Faltas a Id concepto Id concepto Detalle Recibo Descripci n Figura 1 Diagrama E R que resuelve el problema anterior ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS II Conceptos b sicos Aqu encontrar una versi n modificada del manual de usuario de PostgreSQL que da una explicaci n del uso y la sintaxis de los comandos usados en el presente laboratorio Para consultar el manual oficial en idioma ingl s visite el sitio en Internet Administrando Cuentas de Usuario Como un administrador de PostgreSQL quiz sea responsable de crear cuentas de usuarios y grupos Quiz sea responsable tambi n de otorgar y revocar privilegios En la mayor parte de los ambientes hay un mapeo uno a uno entre la identidad de los usuarios en el sistema operativo y la identidad de PostgreSQL En efecto tu nombre de usuario en PostgreSQL es frecuentemente identificado con tu nombre de usuario del sistema operativo En algunos casos otras configuraciones son tiles Por ejemplo quiz quiera que la mayor a de los usuarios se identifique por ellos
2. mismos de manera nica mientras les proporciona una cuenta con privilegios de invitado Quiz tambi n tiene una aplicaci n cliente que se identifica por s misma pero rara vez identifica al usuario esto es til para las aplicaciones que son ejecutadas por alg n usuario dentro de alg n proveedor de autentificaci n Una cuenta de usuario es compartida entre todas las bases de datos dentro de cl ster dado Los grupos de usuarios son tambi n almacenados entre todas las bases de datos dentro de un cl ster Privilegios CREATEDB y CREATEUSR Cuando se crea un nuevo usuario se puede controlar algunas de las actividades que estos realizan en la base de datos tal como el permiso de crear nuevas bases de datos Tambi n puede controlar la actividad de crear nuevos usuarios Dar al usuario el derecho de crear nuevas bases de datos o crear nuevos usuarios es un riesgo Cuando asigna privilegios a un usuario con CREATEUSER ese usuario llega a ser un s per usuario en el cl ster Se debe decir que sta es ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 172 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS una forma ligeramente diferente un usuario que tiene privilegios por CREATEUSER puede sobrepasar todas las restricciones en el cl ster de base de datos Se puede negar expl citamente los privilegios con CREATEUSER especificando NOCREATEUSER NOCREA
3. 20070204 20050204 insert into CursosEspeciales values 5 5 5 20070204 20050204 insert into insert into insert into insert into CursosExtracurricular CursosExtracurricular CursosExtracurricular CursosExtracurricular values 1 admin 204 values 2 dise o 204 values 3 bdd 204 values 4 java 204 EnD p ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 184 insert into Materias values 1 admin bdd 204 insert into Materias values 2 redes 204 insert into Materias values 3 redes 2 204 insert into Materias values 4 admin bdd 204 IV Problem tica a resolver En esta secci n ponemos manos a la obra resolviendo el problema plateado inicialmente En este momento ya tenemos la base de datos creada hemos insertado datos en algunas tablas y es hora de implementar los conceptos que hemos estudiado en la secci n conceptos b sicos Los problemas aqu planteados se han resuelto por lo que debe de copiar el comando SQL y pegarlo en el psq Administraci n de usuarios Resolviendo el problema de la administraci n de UACME Se han identificado dos grupos de usuarios en este sistema Administraci n y Escolar Dentro de cada uno de estos grupos encontramos a los usuarios los que se clasifican as Administraci n Jefe de
4. Como los usuarios de la base de datos las definiciones del grupo son almacenadas para toda la base de datos dentro de un cl ster ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 173 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS CREATE GROUP Un s per usuario PostgreSQL puede crear un nuevo grupo usando el comando CREATE GROUP CREATE GROUP nombre grupo WITH option El nombre de grupo debe reunir las reglas para los identificadores de PostgreSQL 31 caracteres o menos comillas o iniciar con una letra o subrayado Puedes incluir un valor SYSID si quiere asignar un identificador num rico para el nuevo grupo Nosotros conocemos cada grupo de usuarios por su nombre pero alguna tabla que se refiera al grupo se referir al valor num rico Quiz asigne un identificador num rico espec fico para un grupo por las mismas razones que se asigna un identificador espec fico para un usuario Puede asignarse un miembro a un grupo de tres maneras e Usar la opci n IN GROUP en el comando CREATE USER e Lista los nombres de usuarios en el USER opci n de CREATE GROUP e Cambia los miembros del grupo usando el comando ALTER GROUP Un t pico comando es CREATE GROUP con el que quiz se vea algo como esto CREATE GROUP desarrolladores USER Bernardo lety WITH option Este comando crea un nuevo grupo nombrado desarrolladores que
5. Preparaci n del ambiente de trabajo Para poder aplicar los conceptos descritos en este laboratorio es necesario tener una base de datos en la cual aplicar las restricciones que requiere el proyecto de trabajo Creaci n de tablas Las tablas que en esta secci n encuentra se crearon aplicando las reglas de conversi n del modelo E R al relacional al diagrama E R de la secci n 1 Este laboratorio no intenta explicar esas reglas Esquemas para el diagrama E R de la Universidad ACME Los nombres de los campos en algunos casos fueron cambiados con respecto del diagrama E R por motivos de tama os del nombre sin embargo los conceptos son los mismos CuentaCheques ncuenta saldo banco Cheque ncuenta cns total fecha Tabulador idtab importehora Profesores idprofe idtab nombre maximo sueldo CursosEspeciales idcurso idprofe cns fini ffin CursosExtracurricular idextra decextra nhorascurso Materias nmat des horacurso CEVerano idcurso nmat CEExtracurricula idcurso idextra Alumnos matricula nombre Bimestre matricula periodo nmat calificacion faltas Faltas matricula fecha Concepto idconcepto desconcepto Recibo folio matricula fecharec totalrec DetalleRecibo folio ens idconcepto subtotal CalendarioEscolar fecha motivo Tablas para el diagrama E R de la Universidad ACME Los siguientes comandos de creaci n de tablas inserci n de datos y creaci n de privilegios deben ser ejecut
6. USUARIOS 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 F create table CursosExtracurricular idextra int primary key decextra text nhorascurso int J7 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 Js create table CEExtracurricula idcurso int primary key ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 181 idextra int foreign key idextra references CursosExtracurricular F create table Alumnos matricula int nombre varchar primary key matricula F 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 fech
7. 01 insert into Cheque values 2 20 20 2008 02 01 insert into Cheque values 3 10 600 2007 02 01 insert into Cheque values 4 10 800 2007 02 01 ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS insert into insert into insert into insert into insert into insert into insert into insert into insert into insert into ia 15000 insert into do 25000 insert into 1 6000 insert into la 12000 insert into ra 4500 insert into ra 5500 Cheque val Cheque val Tabulador Tabulador Tabulador Tabulador Tabulador Tabulador Tabulador Profesores Profesores Profesores Profesores Profesores Profesores 183 ues 5 10 100 2007 02 01 ues 6 10 300 2007 02 01 values 10 100 values 20 200 values 30 300 values 40 400 values 50 500 values 60 600 values 70 700 values 1 40 Roberto Maestr values 2 70 Carlos Doctora values 3 20 Luis Licenciatura values 4 30 Yunuan Maestr values 5 10 Julio Licenciatu values 6 20 Samuel Licenciatu insert into CursosEspeciales values 1 1 1 20070204 20050204 insert into CursosEspeciales values 2 2 2 20070204 20050204 insert into CursosEspeciales values 3 3 3 20070204 20050204 insert into CursosEspeciales values 4 4 4
8. A es qui n les puede modificar el sueldo quincenal mientras que el DCE ni siquiera puede visualizar este Lo curioso es que el DCE es quien acepta los docentes y los registra en el sistema pero es el DA donde se captura el sueldo Importante es para la administraci n de la UACME que esta pol tica se aplique al pie de la letra y que sea implementado directamente sobre la DB A continuaci n se describe detalladamente las tablas a las cuales tiene acceso el personal Tablas a las que se le permite el acceso al personal de la Secretar a Administrativa Cuenta Cheques Cheque Tabulador Profesores Concepto Recibo y Detalle Recibo Como casos especiales este departamento podr acceder a consultar las tablas de Cursos Especiales Cursos Especiales Verano Cursos Especiales Extracurriculares Cursos Extracurriculares y Materias Expl citamente no se les permite modificar ning n campo o registro Tablas a las que se le permite el acceso al personal de la Secretar a Escolar CursosEspeciales CursosExtracurricular Materias CEVerano CEExtracurricula Alumnos Bimestre Faltas CalendarioEscolar ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 170 171 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS CuentaCheques Importe Hora Tabulador Cheques Cursos Es Fecha de Inicio peciales
9. ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS Luis Antonio lvarez Oval Universidad Aut noma de Chiapas El ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 165 MTRO LUIS ANTONIO LVAREZ OVAL Mtro en Ciencias PTC de la Fac Contadur a UNACH Campus Tapachula Contacto lovalWunach mx ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS RESUMEN La serie de laboratorios de Administraci n de Bases de Datos con PostgreSQL muestra de forma pr ctica la administraci n de este tipo de sistemas el cual tiene un amplio uso en la industria de desarrollo de software Mientras que las bases de datos son la herramienta que requieren las empresas que necesitan almacenar la informaci n que generan es en este tipo de sistemas donde se guarda sta De ah la importancia de entender y aplicar los conceptos de administraci n est ndar que se usa en la industria Se usa el sistema PostgreSQL debido a que ofrece los mecanismos que tienen otros sistemas similares pero de car cter propietario PostgreSQL se ofrece bajo una licencia PostgresSQL lo que permite desde el punto de vista del propietario de un sistema de informaci n evitar el pago de c
10. TEUSER es asumido si no se espec fica otro valor Las opciones de CREATEDB dan al usuario el derecho de crear nuevas bases de datos dentro del cl ster Se puede especificar NOCREATEDB para prohibir al usuario crear nuevas bases de datos Si especifica CREATEDB no NOCREATEDB CREATE USER asumir NOCREATEDB Administraci n de Grupos Se pueden definir grupos de usuarios para hacer la administraci n mucho m s f cil Cada grupo puede incluir usuarios Cada usuario puede llegar a pertenecer a uno o m s grupos Cuando se otorga o revocan privilegios para un objeto se puede identificar un usuario espec fico o un grupo de usuarios Cada usuario es autom ticamente miembro de un grupo PUBLIC PUBLIC es realmente un grupo virtual no puede agregar o remover miembros y no puede borrar este grupo pero se permite asociar privilegios con PUBLIC Los grupos son mucho m s f ciles de manejar si ellos coinciden con los roles en la organizaci n Por ejemplo quiz construya grupos nombrados como desarrolladores invitados cajeros y administradores Los grupos se deben ordenar de forma que reflejen el mundo real los grupos hacen que sea mucho m s f cil asignar privilegios en los objetos de la base de datos Un objeto dado puede pertenecer a muchos grupos Por ejemplo un miembro del grupo de los desarrolladores quiz tambi n pertenezca al de los administradores Las definiciones de los grupos son almacenados en las tablas del sistema
11. a create table Concepto idconcepto int desconcepto varchar primary key idconcepto F create table Recibo folio int matricula int fecharec varchar ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 182 totalrec float foreign key matricula references Alumnos primary key folio create table DetalleRecibo ns Ane idconcepto int folio int subtotal float foreign key idconcepto references Concepto foreign key folio references Recibo primary key folio cns 5 create table CalendarioEscolar fecha varchar primary key motivo varchar Inserci n de datos para algunas tablas reci n construidas Los datos insertados s lo sirven para demostrar el funcionamiento de los privilegios de acceso queda en manos del usuario insertar datos en el resto de las tablas para demostrar que las reglas de acceso son funcionales para cada usuario insert into CuentaCheques values 1 700 HSBC insert into CuentaCheques values 2 9000 HSBC insert into CuentaCheques values 3 60 HSBC insert into CuentaCheques values 4 10 HSBC insert into CuentaCheques values 5 1000 HSBC insert into CuentaCheques values 6 200 HSBC insert into Cheque values 1 10 200 2008 02 01 insert into Cheque values 2 10 575 20 2008 02
12. a Las vistas son creadas utilizando el comando CREATE VIEW Creaci n de reglas Sintaxis CREATE RULE name AS ON event TO object WHERE condition DO INSTEAD action NOTHING name El nombre de la regla a crear event Evento puede ser select update delete o insert object Objeto puede ser table o table column ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 175 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 176 condition Cualquier clausula SOL WHERE New o Current pueden aparecer en lugar de una variable de instancia siempre que una variable de instancia es admisible en SQL action Cualquier clausula SQL New o Current pueden aparecer en lugar de una variable de instancia siempre que una variable de instancia sea admisible en SQL Descripci n El sistema de reglas de PostgreSQL permite que una acci n alternativa sea realizada en updates inserts o deletes en tablas o clases Actualmente se utilizan reglas para implementar vistas de tablas El significado de una regla es que cuando una instancia individual es accedida actualizada insertada o borrada existe una instancia actual para consultas actualizaciones y borrados y una nueva instancia para actualizaciones y a adidos Si el event especificado en la cl usula ON y la condition especificada en la cl usula WHERE son verdaderas p
13. a regla faltante para el grupo escolar sobre la vista VistaProfesoresEscolar construya la regla para cuando el usuario barroso desea eliminar el registro del docente Luis 3 Agregue restricciones adicionales Use la siguiente pol tica El encargado de capturar los cursos especiales ser el departamento administrativo cualquier usuario pero qui n asignar el docente ser el departamento escolar Construya la vista y la regla que va a reglamentar esta inserci n de datos e La inserci n de datos a la tabla CursosEspeciales y las tablas especializadas la efectuar el DA con el campo profesor en nulos o referenciando a un registro especial por ejemplo un profesor no v lido de la tabla Profesores e La modificaci n de las tablas CursosEspeciales para asignar al Profesor la efectuar el DCE 4 Finalmente explique las causas por las que las instrucciones para los usuarios barroso y vila marcan errores o funcionan adecuadamente ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 190
14. ados usando el usuarios postgres el usuario por omisi n y se debe de cambiar de usuario hasta que expl citamente se le indique Si durante el proceso de instalaci n a ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS de PostgreSQL no ha creado un acceso directo para el programa psql lo puede encontrar en la siguiente direcci n C Program Files PostgreSQL 9 3 bin y construya el acceso directo Ejecute el programa PSQL del postgreSQL Shell de postgreSQL y copie cada uno de los siguientes comandos y p guelo en el psql Creando la base de datos UACME create database uacme Cambiarse de la BD por omisi n a la ACME en PSQL Ve 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 ens 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 ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 179 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE
15. ara la instancia actual la parte action de la regla es ejecutada Antes sin embargo los valores de los campos de la instancia actual y o la nueva instancia son sustituidos por current attribute name y new attribute name La parte action de la regla se ejecuta con el mismo identificador de comando y transacci n que el comando de usuario que caus la activaci n Notas Es pertinente la precauci n con reglas de SQL Si el mismo nombre de clase o variable de instancia aparece en el event la condition y la parte action de la regla son considerados todos diferentes tuplas De forma m s precisa new y current son las nicas tuplas que son compartidas entre cl usulas Por ejemplo las siguientes dos reglas tienen la misma sem ntica T ON UPDATE TO emp salary WHERE emp name Joe DO UPDATE emp WHERE E ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS T ON UPDATE TO emp 1 salary WHERE emp 2 name Joe emp 3 WHERE DO UPDATI E Cada regla puede tener la etiqueta opcional INSTEAD Sin esta etiqueta la action ser realizada en adici n al comando de usuario cuando el event en la parte condition de la regla aparezcan Alternativamente la parte action ser realizada en lugar del comando del usuario En este ltimo cas
16. at calificacion faltas Faltas matricula fecha CalendarioEscolar fecha motivo Caso especial de profesores para el grupo Escolar La forma en que evitaremos que el grupo escolar vea el sueldo del docente es creando una vista y asignando privilegios por separado Creando la vista note que no se proyecta el campo sueldo us CR por lo tanto se esconde de la mirada de los uarios del grupo escolar EATE VIEW VistaProfesores Escolar AS S EL ECT idprofe idtab nombre maximo FROM Profesores Otorgando los privilegios en la BD al grupo Administraci n en el SQL Todos los privilegios para las tablas del sistema administrativo EnD p ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 187 GRANT all ON table Cheque to group admin GRANT all ON table CuentaCheques to group admin GRANT all ON table Tabulador to group admin GRANT all ON table Concepto to group admin GRANT all ON table Recibo to group admin GRANT all ON table DetallekRecibo 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 gr
17. barroso y en caso de ser correcto se despliega el shell de la BD El ejemplo est desarrollado sobre la plataforma Windows Intente conectarse con los diferentes usuarios que ha creado previamente C Program Files PostgreSQL 9 3 bin gt psql d uacme U barroso Password for user barroso Welcome to psql 9 3 4 the PostgreSQL interactive terminal Type copyright for distribution terms h for help with SQL commands for help with psql commands g or terminate with semicolon to execute query q to quit uacme gt Figura 2 Ejemplo de conexi n con usuario diferente a postgres e Conectado a la BD uacme con el usuario barroso Intente los siguientes comandos Select from Profesores Select from VistaProfesoresEscolar Select from CuentaCheques Select from Cheque insert into Profesores values 7 20 Jesus Licenciatura 25000 insert into VistaProfesoresEscolar values 7 20 Jesus Licenciatura 25000 ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS Esto nos obliga a atacar el problema con una nueva perspectiva la creaci n de reglas usando la cuenta del usuario postgres ejecute el siguiente comando CREATE or REPLACE RULE insertar profesores AS ON insert TO VistaProfesoresEscolar DO INSTEAD insert into profesores values new idpro
18. fe new idtab new nombre new maximo 0 Este problema aparece debido a que no se permite insertar registros sobre vistas entonces lo que tenemos que hacer es redirigir la operaci n a la tabla profesores usando una regla la cual es una especie de interrupci n que se dispara cada vez que se intenta ejecutar una inserci n de datos sobre la tabla Con la cuenta del usuario Barroso intente nuevamente la ejecuci n del comando insert into VistaProfesoresEscolar values 7 20 Jesus Licenciatura e Conectado a la BD uacme con el usuario avila intente los siguientes comandos Select from Profesores Select from VistaProfesoresEscolar Select from CuentaCheques Select from Cheque update Profesores set sueldo 6000 where idprofe 7 insert into Profesores values 8 30 Salvador Maestria 20000 insert into VistaProfesoresEscolar values 8 30 Salvador Maestria ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 189 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS V Trabajo adicional Los siguientes problemas no est n resueltos por lo que es necesario aplicar su experiencia adquirida para resolver estos 1 Usando a los distintos usuarios verifique que se le permitan efectuar los movimientos acordes al privilegio de acceso asignado sobre cada una de las tablas 2 Construya l
19. inicialmente tiene dos miembros Bernardo y Lety Crear Usuarios Hay dos formas de crear un nuevo usuario ejecutando el comando CREATE USER desde una aplicaci n cliente tal como un psql o con el createuser del shell script La sintaxis completa para el comando CREATE USER es ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 174 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS CREATE USER nombre usuario WITH option option SYSID user id number NO CREATEDB NO CREATEUSER IN GROUP groupnamel UN ENCRYPTED PASSWORD password VALID UNTIL expiration Un nombre usuario debe conformar las reglas usuales para los identificadores PostgreSQL esto debe iniciar con una letra o un subrayado y debe tener 31 caracteres de extensi n Si necesitas iniciar un nombre de usuario con un n mero s lo encierra el nombre con comillas dobles Vistas Las vistas son pseudo tablas esto es que no son tablas reales sin embargo aparecen como tablas ordinarias para seleccionar Una vista puede representar un subconjunto de una tabla real seleccionando ciertas columnas o ciertas filas de una tabla ordinaria Incluso una vista puede representar a varias tablas unidas Debido a que a las vistas se les asignan permisos por separado se les puede usar para restringir acceso a una tabl
20. iodo se le permite adelantar hasta dos materias mientras que los segundos son cursos especiales de capacitaci n que se ofrecen a alumnos regulares como estudiantes o profesionistas externos Los docentes de la UACME son los nicos a los que se les permite impartir estos cursos por los cuales reciben un pago adicional se les paga de acuerdo con un tabulador que indica el costo de la hora de estos cursos de acuerdo al nivel acad mico del docente El pago se genera a partir del alta del curso y s lo se permite expedir un cheque por cada curso Adem s los estudiantes deben acudir a pagar adicionalmente al costo del semestre por asistir a ellos ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 169 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS UACME tiene dos departamentos que intervienen en la administraci n de los cursos A Departamento de Administraci n DA y B Departamento de Control Escolar DCE Corresponde al DA efectuar el pago a los docentes y los cobros a los alumnos El DA es dirigido por el C P vila y es auxiliado por el Sr Cancino Mientras que el DCE es dirigido por el Lic Barroso y auxiliado por los Sras Tirado Mart nez Aquino y Ramos y es en ste donde se decide qu cursos se imparten en el periodo qui n los imparte y se aceptan las solicitudes de los alumnos Un caso especial es el de los Profesores ya que el D
21. l departamento C P vila Auxiliar de Administraci n Sr Cancino Escolar Jefe del departamento Lic Barroso Auxiliar Escolar Sra Tirado Auxiliar Escolar Sra Mart nez Auxiliar Escolar Sra Aquino Auxiliar Escolar Sra Ramos Creaci n de los grupos de usuarios Se han elegido los nombres de grupos Admin para la DA y Escolar para el DCE Creando los grupos de usuarios a ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 185 create group admin create group escolar Creaci n de usuarios del grupo Administraci n Se les ha asignado como password el nombre del grupo pero esto se hace por facilidad en la pr ctica cada usuario debe elegir un password personalizado Creando los usuarios del grupo administrativo create user avila with password admin in group admin create user cancino with password admin in group admin Creaci n de usuarios del grupo Escolar Se les ha asignado como password el nombre del grupo pero esto se hace por facilidad en la pr ctica cada usuario debe elegir un password personalizado 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 use
22. nto Tambi n se espera que el usuario tenga conocimientos b sicos del lenguaje de programaci n denominado SQL Es necesario instalar la base de datos PostgreSQL versi n 9 3 sobre el sistema operativo Windows verifique los requerimientos para instalaci n en la p gina oficial de la herramienta www postgresq org ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 168 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS El sistema puede descargarse del sitio Web http www enterprisedb com products services training pgdownload windows PARTES QUE COMPONEN ESTE LABORATORIO 1 Proyecto a desarrollar 2 Conceptos b sicos 3 Preparaci n del ambiente de trabajo 4 Problem tica a resolver 5 Trabajo adicional 6 Referencias I Proyecto a desarrollar El ejercicio consiste en un proyecto que describe el problema de una empresa dedicada a la prestaci n de servicios educativos despu s de leer el texto se genera el diagrama E R con la soluci n a este problema se contin a con la creaci n de las tablas y poblaci n de las tablas para finalmente trabajar con los permisos de grupos y usuarios Proyecto universidad ACME En UACME se ofrecen dos tipos de cursos en el periodo especial de verano en que se imparten cursos de verano y cursos extracurriculares Los primeros son materias que un alumno regular que estudia una carrera cursa en este per
23. o la action puede ser la palabra clave NOTHING Cuando se elige entre los sistemas de reescritura y reglas de instancia para una aplicaci n particular de una regla recu rdese que en el sistema de reescritura current se refiere a la relaci n y algunos calificadores mientras que en el sistema de instancias se refiere a una instancia tupla Es muy importante notar que el sistema de reescritura nunca detectar ni procesar reglas circulares Es necesario tener permiso de definici n de reglas en una clase para poder definir una regla en l Se debe utilizar el comando GRANT y REVOKE para modificar estos permisos El objeto en una regla SQL no puede ser una referencia a un arreglo y no puede tener par metros Aparte del campo oid los atributos del sistema no pueden ser referenciados en ning n lugar de la regla Entre otras cosas esto significa que las funciones de instancias por ejemplo foo emp donde emp es una clase no pueden ser llamadas en ning n lugar dentro de una regla El sistema almacena el texto de la regla y los planes de consulta como atributos de texto Esto implica que la creaci n de reglas puede fallar si la regla m s sus varias internas representaciones exceden alg n valor que es del orden de una p gina a ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 177 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 178 III
24. os de investigaci n y en sistemas que se han implementado para la automatizaci n de las actividades cotidianas de la FCP Como producto de esa experiencia acad mica e industrial se han obtenido estos laboratorios que se usan en las aulas para capacitar a nuestros estudiantes Hemos encontrado que los estudiantes se motivan al estudio cuando se concretan en estos ejercicios las ideas abstractas que se explican en las aulas aunque ese ser tema de otro art culo Tambi n se tiene noticia de que son una fuente de consulta para egresados que laboran en el sector empresarial Como se ha mencionado previamente la herramienta tiene caracter sticas y lenguajes de programaci n est ndar que ofrecen sistemas propietarios por lo que los ejemplos f cilmente pueden ser aplicados en otros sistemas de bases de datos del mercado o pueden ser referencia para aplicar los conceptos en proyectos industriales Por lo que puedan servir como consulta a profesionales de las Ciencias de la Computaci n OBJETIVO El lector aprender a administrar grupos y usuarios que acceden a una base de datos as como a otorgar y revocar privilegios para limitar sus actividades usando las herramientas que ofrece el sistema de administraci n de base de datos PostgreSQL PRERREQUISITOS Se espera que el lector tenga experiencia previa en el uso y conversi n de diagramas Entidad Relaci n E R los temas asociados al Dise o de Base de Datos no se cubren en este docume
25. ostosas licencias por el uso de una base de datos Palabras Claves Administraci n de Base de Datos SQL Programaci n de procedimientos almacenados postgreSQL ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 166 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS sta serie de seis laboratorios de Administraci n de Base de Datos ABD son un punto de partida para conocer a detalle las prestaciones ofrecidas por el sistema PostgreSQL este es un sistema de base de datos objeto relacional que tiene las caracter sticas de los sistemas de base de datos propietarios tradicionales PostgreSQL es libre y el c digo fuente completo est disponible Esta ltima caracter stica es la m s atractiva para desarrollar aplicaciones empresariales para el mercado latinoamericano ya que evita el pago de costosas licencias El software y la documentaci n se ofrecen bajo la licencia PostgreSQL http www postgresql org about licence la cual es similar a las licencias BSD o MIT Los laboratorios se han dise ado para proporcionar los conceptos y la experiencia necesarios para conocer detalladamente el sistema se aprovecha la funci n de copiar y pegar que nos ofrece el sistema operativo Windows para disminuir el esfuerzo del lector en la preparaci n del ambiente de trabajo y en la soluci n de los problemas En la secci n denominada trabajo adicional
26. oup 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 los privilegios en la BD al grupo Escolar en el SQL Otorgando privilegios sobre las tablas del sistema escolar GRANT all ON table Materias to group escolar GRANT all ON table CursosExtracurricular to group escolar GRANT all ON table CEVerano to group escolar GRANT all ON table CEExtracurricula to group escolar GRANT all ON table CursosEspeciales to group escolar GRANT all ON table Alumnos to group escolar GRANT all ON table Faltas to group escolar GRANT all ON table Bimestre to group escolar GRANT all ON table CalendarioEscolar to group escolar Otorgando permisos sobre la vista de profesores GRANT all ON table VistaProfesoresEscolar to group escolar ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS 188 Prueba de los privilegios asignados a los usuarios Para conectarse a la base de datos con un usuario diferente a postgres ver Figura 2 busque en el directorio C Program Files PostgreSQL 9 3 bin el comando psql e ind quele a cual base de datos se desea conectar para nuestro caso d uacme y el usuario que va a usar U barroso una vez hecho esto PostgreSQL le solicita el password para el usuario
27. r aquino with password escolar in group escolar create user ramos with password escolar in group escolar Otorgamiento de privilegios de acceso sobre las tablas del sistema Para otorgar privilegios de acceso la junta directiva de UACME ha autorizado el acceso sobre las siguientes tablas para cada departamento Tablas alas que se le permite el acceso al grupo Administraci n CuentaCheques ncuenta saldo banco ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS Cheque ncuenta cns total fecha Tabulador idtab importehora Profesores idprofe idtab nombre maximo sueldo Concepto idconcepto desconcepto Recibo folio matricula fecharec totalrec DetalleRecibo folio cns idconcepto subtotal 186 Como casos especiales este departamento podr acceder a consultar las tablas de Cursos Especiales Cursos Especiales Verano Cursos Especiales Extracurriculares Cursos Extracurriculares y Materias Expl citamente no se les permite modificar ning n campo o registro Tablas a las que se le permite el acceso al grupo Escolar CursosEspeciales idcurso idprofe cns fini ffin CursosExtracurricular idextra decextra nhorascurso Materias nmat des horacurso CEVerano idcurso nmat CEExtracurricula idcurso idextra Alumnos matricula nombre Bimestre matricula periodo nm
28. se requiere que el lector aplique la experiencia obtenida en la soluci n de problemas relacionados con el tema central del laboratorio La secci n de conceptos b sicos muestra la sintaxis de los comandos y da algunas explicaciones del uso de los mismos Este material ha sido tomado del Manual de usuario del sistema PostgreSQL el cual est disponible en la p gina oficial de la herramienta en algunos casos se ha tomado del sitio oficial en Espa ol Los conceptos b sicos se aplican en torno a un proyecto que se denomina Universidad ACME el cual es producto de la imaginaci n del autor as como la soluci n pr ctica de los problemas planteados Los libros que se ofrecen en la secci n de referencias sirven como consulta para apoyar algunos de los conceptos que se aplican en la soluci n pr ctica de problemas de administraci n de base de datos Estos laboratorios se han preparado para procurar una experiencia pr ctica a los estudiantes de la materia Administraci n de Base de Datos de la Licenciatura en Sistemas Computacionales que se ofrece en la Facultad de Contadur a P blica FCP del Campus IV de la Universidad Aut noma de Chiapas UNACH En la FCP tenemos al menos 14 a os de experiencia en el uso de PostgreSQL en las aulas ya ESPACIO I D Innovaci n m s Desarrollo Vol Ill No 6 Octubre 2014 ISSN 2007 6703 167 ADMINISTRACI N DE BASE DE DATOS CON POSTGRESQL LABORATORIO 1 CONTROL DE USUARIOS proyect

Download Pdf Manuals

image

Related Search

Related Contents

Guia do Usuário do CMD ShadowControl  Exacompta "Jura 160"  GLIVEC®  取扱説明書 - ミマキエンジニアリング  - UNICALIBRATOR    Les TIC favorisent-elles une pédagogie différenciée  GENORA Manuel d`utilisation  

Copyright © All rights reserved.
Failed to retrieve file