Actividad Semana 02_ (2)

Actividad semana 02 CUESTIONARIO JUAN MANUEL ORNELAS FRANCO 206505457 LIC EN INFO Creamos la siguiente instancia: initdb

Views 167 Downloads 2 File size 130KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Actividad semana 02 CUESTIONARIO JUAN MANUEL ORNELAS FRANCO 206505457 LIC EN INFO Creamos la siguiente instancia: initdb -D primera -U admin -A md5 –W Contestar las siguientes preguntas: ¿Qué sucede si se omiten las parámetros –A md5 –W? Hará que se solicite el password del usuario administrador. No es necesario si se utiliza – A. ¿Qué pasa si se omite el parámetro –U admin? El nombre de usuario puede ser cualquier nombre valido. De omitirse se tomará el nombre del usuario de Windows. ¿Se puede omitir el parámetro –D? ¿Si tu respuesta es positiva explicar la acción a tomar? Se puede indicar una trayectoria completa entre comillas, por ejemplo: “c:\bases\instancia”. De no especificarse el directorio destino, será el mismo donde se ejecuta initdb.exe. Si se omite esta initdb tratará de tomar el valor de la variable de ambiente PGDATA. Levantamos el servidor de PostgreSQL: pg_ctl -D primera -o "-p 5433" -l bitacora.txt start Contestar las siguientes preguntas: ¿Qué sucede si se omiten las parámetros -o "-p 5433"? Como ya se instaló una instancia de Postgres en el laboratorio y está corriendo en el puerto por default que es 5432 ¿Se puede omitir el parámetro -l? ¿Para qué sirve? Muestra las bases de datos exsitentes en la instancia ¿Se puede omitir el parámetro –D? ¿Si tu respuesta es positiva explicar la acción a tomar? Equivalente a la palabra clave NOCREATEDB Explícitamente indica que el nuevo usuario no puede crear bases de datos. ¿Qué otras opciones admite el parámetro -o? -o nombre --output = nombre del archivo Pon toda salida de la consulta en un archivo de nombre de archivo. Esto es equivalente al comando \ o. Nos conectamos al servidor de PostgreSQL: psql -U admin -d postgres -p 5433 -h localhost

Contestar las siguientes preguntas: ¿Qué sucede si se omiten las parámetros -U y -d? De omitirse se tomará el nombre del usuario en Windows ¿Se puede omitir el parámetro -p? ¿Para qué sirve? -p puerto --port = puerto Especifica el puerto TCP o la extensión del archivo socket Unix de dominio local en el que el servidor está a la escucha para las conexiones. El valor predeterminado es el valor de la PGPORT variable de entorno o, si no se establece, para el puerto especificado en tiempo de compilación, por lo general 5432. ¿Se puede omitir el parámetro –D? ¿Si tu respuesta es positiva explicar las circunstancias? De no especificarse el directorio destino, será el mismo donde se ejecuta initdb.exe. Si se omite esta initdb tratará de tomar el valor de la variable de ambiente PGDATA ¿Qué otras opciones admite el parámetro -o? -o nombre --output = nombre del archivo Pon toda salida de la consulta en un archivo de nombre de archivo. Esto es equivalente al comando \ o. ¿Hay otros parámetros que admita el cliente psql.exe? Incluido también en el directorio bin/, es un cliente en línea de comandos con el que nos podemos conectar a cualquier servidor Postgres Investigar las acciones que se tienen que tomar en caso de que el administrador olvide su password. Postgres utilizando el comando y podremos cambiar la contraseña, utilizando la instrucción SQL postgres=# ALTER USER postgres WITH PASSWORD 'nueva_pass'; ALTER ROLE postgres=# \q Investigar y describir cada uno de los métodos de autenticación que acepta el parámetro –A en: initdb -D primera -U admin -A **** -W

Admite las opciones: trust, password y md5 entre otras. trust no solicita password, la opción “password” lo requiere pero no viaja encriptado; md5 es un método de autentificación suficientemente seguro. El valor por defecto es trust ¿A que se conoce como “variables de entorno” o “variables de ambiente”? Explicar la forma en que se definen en línea de comandos y describir aquellas que puede reconocer PostgreSQL. Una variable de entorno es aquella que almacena el sistema operativo para saber ciertos detalles sobre un programa, por ejemplo saber cual es su ruta de ejecución. Variables de Entorno Se pueden utilizar las siguientes variables de entorno para seleccionar valores de parámetros de conexión de defecto, que serán utilizadas por PQconnectdbo PQsetdbLogin si no se especifica ningún otro valor directamente en el código que realiza la llamada. Son utilizables para impedir codificar nombres de bases de datos en simples programas de aplicación. 

    

 

PGHOST fija el nombre del del ordenador servidor. Si se especifica una cadena de longitud distinta de 0, se utiliza comunicación TCP/IP. Sin un nombre de ordenador, libpq conectará utilizando un socket del dominio Unix local. PGPORT fija el puerto de defecto o la extensión de fichero del socket de dominio Unix local para la comunicación con el servidor PostgreSQL. PGDATABASE fija el nombre de la base de datos PostgreSQL. PGUSER fija el nombre de usuario utilizado para conectarse a la base de datos y para autenticación. PGPASSWORD fija la palabra de paso utilizada si el servidor solicita autenticación por palabra clave. PGREALM sets the Kerberos realm to use with PostgreSQL, if it is different from the local realm. If PGREALM is set, PostgreSQL applications will attempt authentication with servers for this realm and use separate ticket files to avoid conflicts with local ticket files. This environment variable is only used if Kerberos authentication is selected by the backend. PGOPTIONS fija opciones de ejecución adicionales para el serviodor PostgreSQL. PGTTY fija el fichero o tty en el que se mostrarán los mensajes de depuración del servidor.

Las siguientes variables de entorno se pueden usar para especificar el comportamiento de defecto de los usuario para cada sesión de PostgreSQL:  

PGDATESTYLE Fija el estilo de la representación de fechas y horas. PGTZ Fija el valor de defecto para la zona horaria.

Las siguientes variables de entorno se pueden utilizar para especificar el comportamiento interno de defecto de cada sesión de PostgreSQL: 

PGGEQO fija el modo de defecto para el optimizador genético.

¿Por qué se recomienda que PostgreSQL se ejecute en el sistema como un usuario limitado? Elevar sus privilegios cuando se configura de una manera que asigne el mismo nombre para el usuario y la base de datos. Cuando esas condiciones se cumplen, “entonces esta vulnerabilidad puede ser usado para fijar temporalmente una variable de configuración con los privilegios del usuario root”, escribieron los responsables de PostgreSQL. Dichos usuarios que también tenían la posibilidad de guardar los archivos en el sistema también podría ejecutar código malicioso, excepto en los casos en que la base de datos se ejecutan en el sistema operativo SELinux. 8. Investigar los puertos utilizados por los siguientes motores de bases de datos: PostgreSQL Puerto 5432, Puerto 5433 y Puerto 5434 MySQL el puerto por defecto que tiene que usar (3306) MS SQL Server: Por default el servidor cliente debe conectarse por el puerto 1433 Oracle: puesto 80 DB2. El número de puerto predeterminado para los servidores de DB2 es 50000

Definir la tabla departamento dentro del esquema compania: CREATE TABLE compania.departamento ( VARCHAR(25 NOT nombred ) UNIQUE, NO NUL numerod INT T L NO NUL nssgte CHAR(9) T L fechainicgte DATE );

NULL PRIMA RY KEY, REFERENCES compania.empleado(nss),

Verificar todas las definiciones de tabla dentro del esquema compania: \d compania.*

(comando exclusivo del cliente psql.exe)

Verificar la definición de la tabla departamento del esquema compania: \d compania.departamento

(exclusivo del cliente psql.exe)

Se insertan varios valores en la tabla compania.empleado. INSERT es una instrucción SQL del DML (Lenguaje de Manejo de Datos):

INSERT INTO compania.empleado VALUES ('JOAQUIN', 'GONZALEZ', '723487645', '1976-02-21', 'Thiers 854', 'Mexico', 'M', 27000.00, '987654321', 4); INSERT INTO compania.empleado VALUES ('GUSTAVO', 'ALVAREZ', '528476291', '198001-11', 'Jesus Garcia 894', 'Guadalajara', 'M', 30000.00, '878672843', 3); INSERT INTO compania.empleado VALUES ('INES', 'SANTOYO', '281655645', '1977-1004', 'Pedro Moreno 1765', 'Monterrey', 'F', 22000.00, '775833245', 6); INSERT INTO compania.empleado VALUES ('RAMON', 'NIETO', '666884444', '1952-0915', 'Independencia 35', 'Monterrey', 'M', 38000.00, '333445555', 5);

INSERT INTO compania.empleado VALUES ('JAIME', 'BOTELLO', '888665555', '1937-1110', 'Mariano Escobedo 450', 'Mexico', 'M', 55000.00, NULL, 1); INSERT INTO compania.empleado VALUES ('GUILLERMO', 'BARBA', '791783463', '197606-10', 'Paseo Industrial 3872', 'Monterrey', 'M', 14000.00, '128763542', 3); INSERT INTO compania.empleado VALUES ('JOSE', 'SILVA', '123456789', '1955-01-09', 'Paseo Camelinas 731', 'Morelia', 'M', 42000.00, NULL, 7); INSERT INTO compania.empleado VALUES ('SALVADOR', 'VAZQUEZ', '232651876', '1971-07-05', 'Priv. de los Sada', 'Monterrey', 'M', 17000.00, '918264845', 3); INSERT INTO compania.empleado VALUES ('CORNELIO', 'REYES', '749273822', '198101-15', 'Laureles 2745', 'Morelia', 'M', 25000.00, '245892763', 5); INSERT INTO compania.empleado VALUES ('LORENA', 'HERRERA', '552981673', '198812-15', 'Guadalupe 854', 'Monterrey', 'F', 21000.00, '918264845', 3); INSERT INTO compania.empleado VALUES ('RAFAEL', 'SALGADO', '927583746', '197905-05', 'Camichines 1763', 'Morelia', 'M', 17000.00, '245892763', 5); INSERT INTO compania.empleado VALUES ('MARISA', 'RAZO', '492738495', '1975-0907', 'Rumorosa 35', 'Morelia', 'F', 25000.00, '245892763', 5); INSERT INTO compania.empleado VALUES ('JORGE', 'FLORES', '348726591', '1971-1119', 'Obregon 284', 'Morelia', 'M', 18000.00, '626491624', 7); INSERT INTO compania.empleado VALUES ('JAVIER', 'MERCADO', '372769928', '196209-18', 'Av. Vallarta 3456', 'Guadalajara', 'M', 17000.00, '775833245', 6); INSERT INTO compania.empleado VALUES ('ALICIA', 'ZAPATA', '999887777', '1958-0719', 'Priv. Castillo 3321', 'Mexico', 'F', 12000.00, '987654321', 4); INSERT INTO compania.empleado VALUES ('GUADALUPE', 'GALINDO', '774592713', '1968-01-22', 'Lope de Vega 800', 'Guadalajara', 'F', 14000.00, '528476291', 3); INSERT INTO compania.empleado VALUES ('FRANCISCO', 'ALCALA', '459827165', '1981-09-29', 'Guadalupe Victoria 472', 'Morelia', 'M', 16000.00, '626491624', 7); INSERT INTO compania.empleado VALUES ('PEDRO', 'MACIAS', '792648162', '1976-1120', 'Juarez 1000', 'Morelia', 'M', 19000.00, '626491624', 7); INSERT INTO compania.empleado VALUES ('IRMA', 'GALLEGOS', '567324572', '195908-02', 'Lazaro Cardenas 1763', 'Mexico', 'F', 14000.00, '775833245', 6);

INSERT INTO compania.empleado VALUES ('FEDERICO', 'VIZCARRA', '333445555', '1945-12-08', 'Valle 638', 'Monterrey', 'M', 45000.00, NULL, 5); INSERT INTO compania.empleado VALUES ('GERARDO', 'CEJA', '135628469', '1979-0426', 'Hidalgo 2020', 'Guadalajara', 'M', 19000.00, '775833245', 6); INSERT INTO compania.empleado VALUES ('JAIME', 'ORTEGA', '978675645', '1980-0918', 'Obelisco 1856', 'Mexico', 'M', 17000.00, '987654321', 4); INSERT INTO compania.empleado VALUES ('CARMEN', 'CORONA', '647758129', '196210-23', 'Paseo de la Reforma 2004', 'Mexico', 'F', 12000.00, '466557975', 2); INSERT INTO compania.empleado VALUES ('ISABEL', 'JIMENEZ', '878672843', '1977-0608', 'Juarez 245', 'Guadalajara', 'F', 52000.00, NULL, 3); INSERT INTO compania.empleado VALUES ('MIGUEL', 'SANTANA', '156675267', '196912-11', 'Independencia 2387', 'Mexico', 'M', 20000.00, '466557975', 2); INSERT INTO compania.empleado VALUES ('RODRIGO', 'SANTANA', '198347767', '1972-05-11', 'Insurgentes 734', 'Mexico', 'M', 17000.00, '466557975', 2); INSERT INTO compania.empleado VALUES ('GRISELDA', 'JIMENEZ', '834572889', '198104-03', 'Av. Tacubaya 473', 'Mexico', 'F', 27000.00, '888665555', 1); INSERT INTO compania.empleado VALUES ('RICARDO', 'FERRERO', '592745726', '1981-11-17', 'Sevilla 56', 'Mexico', 'M', 17000.00, '888665555', 1); INSERT INTO compania.empleado VALUES ('TERESA', 'MADRIGAL', '864523419', '198310-25', 'Priv. Magnolia 1678', 'Morelia', 'F', 16000.00, '487261987', 7); INSERT INTO compania.empleado VALUES ('JAVIER', 'LOPEZ', '918264845', '1985-1215', 'Revolucion 376', 'Monterrey', 'M', 30000.00, '878672843', 3); INSERT INTO compania.empleado VALUES ('AHMED', 'JABBAR', '987987987', '1959-0329', 'Dallas 980', 'Mexico', 'M', 35000.00, '987654321', 4); INSERT INTO compania.empleado VALUES ('ENRIQUE', 'RAMOS', '128763542', '198002-05', 'Alfonso Reyes 456', 'Monterrey', 'M', 30000.00, '878672843', 3); INSERT INTO compania.empleado VALUES ('PATRICIA', 'GONZALEZ', '775833245', '1966-07-01', 'Paseo de los Orfebres 854', 'Mexico', 'F', 29000.00, NULL, 6); INSERT INTO compania.empleado VALUES ('MARIO', 'PADILLA', '245892763', '1966-1220', 'Aldama 765', 'Morelia', 'M', 38000.00, '333445555', 5);

INSERT INTO compania.empleado VALUES ('JUAN', 'GONZALEZ', '482645631', '196804-30', 'Rio Rebelde 782', 'Monterrey', 'M', 17000.00, '128763542', 3); INSERT INTO compania.empleado VALUES ('LORENZO', 'BARRAGAN', '192856472', '1978-10-30', 'Valle de las Magnolias 827', 'Monterrey', 'M', 15000.00, '128763542', 3); INSERT INTO compania.empleado VALUES ('ESTHER', 'SERRANO', '862938865', '195809-20', 'Orestes 1458', 'Monterrey', 'F', 16000.00, '128763542', 3); INSERT INTO compania.empleado VALUES ('HUGO', 'GOMEZ', '423675975', '1956-0818', 'Americas 739', 'Monterrey', 'M', 22000.00, '666884444', 5); INSERT INTO compania.empleado VALUES ('JULIAN', 'SOSA', '675645340', '1969-07-16', 'Madero 492', 'Morelia', 'M', 22000.00, '487261987', 7); INSERT INTO compania.empleado VALUES ('RUBEN', 'SANCHEZ', '672839456', '196902-22', 'Pedro Garza 3456', 'Monterrey', 'M', 27000.00, '775833245', 6); INSERT INTO compania.empleado VALUES ('FERNANDA', 'GUTIERREZ', '472891286', '1955-04-11', 'Av. Guadalupe 3654', 'Guadalajara', 'F', 30000.00, '878672843', 3); INSERT INTO compania.empleado VALUES ('LUZ', 'GOMEZ', '466557975', '1959-12-28', 'Ciceron 739', 'Mexico', 'F', 34000.00, NULL, 2); INSERT INTO compania.empleado VALUES ('MARIA', 'HERNANDEZ', '867253671', '1975-03-25', 'Allende 345', 'Monterrey', 'F', 19000.00, '666884444', 5); INSERT INTO compania.empleado VALUES ('MARTIN', 'ANDERSON', '482948739', '1981-03-13', 'Argentina 133', 'Mexico', 'M', 24000.00, '888665555', 1); INSERT INTO compania.empleado VALUES ('ADRIANA', 'TORRES', '183612935', '196804-30', 'San Juan de los Garza', 'Monterrey', 'F', 17000.00, '918264845', 3); INSERT INTO compania.empleado VALUES ('ANGEL', 'ZAMBRANO', '137845983', '196410-17', 'Belisario Dominguez 2563', 'Guadalajara', 'M', 19000.00, '472891286', 3); INSERT INTO compania.empleado VALUES ('PABLO', 'CASARRUBIAS', '659327184', '1974-08-01', 'Plutarco Elias Calles 367', 'Guadalajara', 'M', 17000.00, '472891286', 3); INSERT INTO compania.empleado VALUES ('DANIEL', 'VAZQUEZ', '298234874', '196812-30', 'Industria 345', 'Guadalajara', 'M', 15000.00, '472891286', 3); INSERT INTO compania.empleado VALUES ('JOSEFA', 'ESPARZA', '378445358', '196207-31', 'Cancion 1450', 'Monterrey', 'F', 25000.00, '666884444', 5);

INSERT INTO compania.empleado VALUES ('LETICIA', 'RAMIREZ', '786459371', '197802-07', 'Rio Churubusco 2345', 'Mexico', 'F', 11000.00, '775833245', 6); INSERT INTO compania.empleado VALUES ('MARTHA', 'ORTEGA', '973624168', '198409-12', 'Sierra Madre 245', 'Guadalajara', 'F', 15000.00, '528476291', 3); INSERT INTO compania.empleado VALUES ('ISABEL', 'RODRIGUEZ', '626491624', '1962-10-21', 'Morelos 625', 'Morelia', 'F', 27000.00, '123456789', 7); INSERT INTO compania.empleado VALUES ('PATRICIA', 'BERMUDEZ', '239812752', '1959-07-27', 'Prol. Alcalde 5689', 'Guadalajara', 'F', 17000.00, '472891286', 3); INSERT INTO compania.empleado VALUES ('JAZMIN', 'VALDEZ', '987654321', '1941-0620', 'Guthemberg 291', 'Mexico', 'F', 48000.00, NULL, 4); INSERT INTO compania.empleado VALUES ('FERNANDO', 'ROBLEDO', '487261987', '1979-05-13', 'Blv. Lazaro Cardenas', 'Morelia', 'M', 27000.00, '123456789', 7); INSERT INTO compania.empleado VALUES ('LUIS', 'ROBLES', '825463817', '1989-02-06', 'Prol. Alcalde 3862', 'Guadalajara', 'M', 13000.00, '528476291', 3);

Se modifica la tabla empleado para agregar una llave foránea que haga referencia a la llave primaria de la misma tabla. Se trata de una relación recursiva. ALTER es una instrucción SQL del DDL: ALTER TABLE compania.empleado ADD FOREIGN KEY (nsssuper) REFERENCES compania.empleado(nss);

Se insertan varios registros en la tabla departamento. INSERT es una instrucción SQL del DML (Lenguaje de Manejo de Datos):

INSERT INTO compania.departamento VALUES ('INVESTIGACION', 5, '333445555', '1978-05-22'); INSERT INTO compania.departamento VALUES ('ADMINISTRACION', 4, '987654321', '1985-07-01'); INSERT INTO compania.departamento VALUES ('ESTUDIOS AMBIENTALES', 7, '123456789', '2000-05-11'); INSERT INTO compania.departamento VALUES ('DIRECCION', 1, '888665555', '1971-0619');

INSERT INTO compania.departamento VALUES ('CONTABILIDAD', 2, '466557975', '200403-20'); INSERT INTO compania.departamento VALUES ('PRODUCCION', 3, '878672843', '200510-25'); INSERT INTO compania.departamento VALUES ('PERSONAL', 6, '775833245', '2006-0101');

Se modifica la tabla empleado para definir al atributo como llave foránea que apunta al atributo numerod de la tabla departamento:

ALTER

TABLE

compania.empleado ADD FOREIGN KEY (nd) REFERENCES compania.departamento(numerod);

Se comprueba que los datos han sido almacenados. SELECT es una instrucción SQL del DML (Lenguaje de Manejo de Datos): SELECT * FROM compania.empleado; SELECT * FROM compania.departamento;

Salimos del cliente psql: \q

(comando exclusivo del cliente psql.exe)

Detenemos el servidor: pg_ctl -D segunda stop