Vous êtes sur la page 1sur 13

BASES DE DATOS

AVANZADAS

NOMBRE: Ruben Baez Rivera


FECHA: 04 mayo - 2016

La tcnica que se usa es Combinacin de tablas con asociacin 1:1 ya que son tablas de relacin 1 a
1 y se aumentan los campos nombre_alumno y nombre_curso, adems las claves primarias estn
implementadas en inscripciones as que no habra problemas si se eliminan las tablas alumno y
cursos. Pero dependiera mucho de la consulta la cual no se encuentra especificada porque los
campos email, costo, duracin tambin serian importantes entonces se aplicara esta tcnica
duplicidad de atributos que no forman parte de la clave en asociaciones 1:N, con la relacin de 1
curso tiene muchos alumnos y no se eliminaran campos.

PROYECTOS(CODIGO, DENOMINACION, ANIO)


INVESTIGADORES(ID, NOMBRE, EMPRESA)
INTEGRANTES(PROYECTO, INTEGRANTE, ROL)
P_I_X(CODIGO, ID, ROL, DENOMINACION, NOMBRE)
Y la consulta seria la siguiente:
SELECT DENOMINACION, NOMBRE, ROL FROM P_I_X

Preguntas de repaso cap 18.


Describa el propsito de los pasos principales de la metodologa de diseo fisico presentada en este
captulo.

En qu circunstancias conviene desnormalizar un modelo lgico de datos? Utilice ejemplos para


ilustrar su respuesta.
Combinacin de relaciones uno a uno (1:1)
En el caso de tener relaciones 1:1 debemos combinar las tablas haciendo una sola con
todos los atributos y eliminando la otra.

Duplicacin de atributos no clave en las relaciones uno a muchos (1 :*) para reducir las
combinaciones
En este caso duplicamos los valores de la consulta sql en una de las tablas conservando
estos valores en la tabla anterior. As la consulta seria mas eficiente.

Duplicacin de los atributos de clave externa en las relaciones uno a muchos (1 :*) para
reducir las combinaciones
el objetivo especfico de reducir o eliminar las combinaciones en las consultas frecuentes
o crticas.
Duplicacin de los atributos en las relaciones muchos a muchos (*:*) para reducir las
combinaciones
Aqu se crea una tabla adicional con los campos que se desea extraer en la consulta y
con las claves forneas de las mismas tablas.

Introduccin de grupos repetitivos


fueron eliminados del modelo lgico de los datos como resultado del requisito de que
todas las entidades estn en primera forma normal. Los grupos repetitivos se separaron
en una nueva tabla, formando una relacin 1:* con la tabla original (padre).
Creacin de tablas de extraccin.
Se crea una tabla nica de extraccin totalmente desnormalizada basndose en las tablas

que requieren los informes y dndoles a los clientes acceso a esta tabla de extraccin en
lugar de la tabla base.

Particionamiento de tablas.
En ves de combinar las tablas, otra tcnica que resuelve el problema fundamental de
soportar las tablas (e ndices) de muy gran tamao es descomponerlas en una serie de
piezas ms pequeas y manejables denominadas particiones. Existen dos tipos:
Particionamiento horizontal.
Particionamiento vertical.

Qu factores pueden usarse para medir la eficiencia?

Tasa de procesamiento de transacciones.


Tiempo de respuesta.
Almacenamiento en disco.
La optimizacin puede evitar tener que comprar hardware adicional.
Puede que sea posible reducir la configuracin hardware.
Un sistema bien optimizado proporciona tiempos de respuesta ms rpidos y una mayor tasa
de procesamiento.
Los tiempos de respuesta mejorados pueden hacer que aumente la satisfaccin de los
usuarios.
Los tiempos de respuesta mejorados pueden hacer que aumente la satisfaccin de los
clientes.

Explique cmo interactan entre s y cmo afectan a las prestaciones del sistema los cuatro
componentes bsicos del hardware.
En la memoria principal los accesos son significativamente mas rpidos mientras haya mas
memoria disponible para el SGBD estas se ejecutaran mas rpido. En caso de que no haya memoria
para los procesos el sistema operativo transferir paginas de los procesos a disco con el fin de
hibernar la memoria. Si despus se requieren estas paginas el sistema operativo har el proceso
inverso.
En el procesador cuando hay intercambio excesivo de paginas entre memoria principal y disco
aparecen los cuellos de botella esto se debe a que los procesos de usuario o el sistema operativo
imponen una carga excesiva al procesador. Es imprescindible comprender cul es el patrn tpico de
carga de trabajo en un 24 horas y garantizar que haya recursos suficientes hay opciones como:
Garantizar que no se ejecute ninguna tarea no prescindible durante los picos de carga, otra es
utilizar mltiples procesadores en paralelo que hace que el procesamiento sea distribuido que

algunas operaciones se realicen en paralelo.


En las E/S de disco tambin existen los cuellos de botella, se necesita una gran cantidad de
operaciones para almacenar y extraer los datos, la forma en que los datos se organizan en el disco
tiene un impacto importante sobre el rendimiento del disco global. Pueden surgir los problemas
como la contienda de disco que pasa cuando mltiples procesos tratan de acceder al mismo disco de
forma simultanea. Los discos en su gran mayora tienen un limite como en el numero de accesos
como en la cantidad de datos que pueden transferir por segundo y si pasan los limites los procesos
tendrn que esperar para acceder al disco.
Cmo distribuira los datos entre una serie de discos?
se recomienda que se distribuyan los datos de forma equitativa entre los discos disponibles,
para reducir la probabilidad de que se produzcan problemas de rendimiento.

En esta figura se ilustra los principios basicos de una distribucion de los datos entre los discos.

Escribir los comandos Oracle necesarios para lo siguiente:


1.Crear un nuevo usuario propio NO DBA que tenga los permisos bsicos para
abrir sesiones Oracle y crear objetos en su propio esquema. El nombre del
usuario debe ser el mismo de su usuario eMail.
CREATE USER rdbaez IDENTIFIED BY agosto14;

En el esquema del nuevo usuario crear una nueva tabla llamada


PERSONAS (Definir los campos a su criterio, al menos 5)
--------------------------------------------------------- DDL for Table PERSONAS
-------------------------------------------------------CREATE TABLE "RDBAEZ"."PERSONAS"
(
"ID" NUMBER(*,0),
"NOMBRE" VARCHAR2(20 BYTE),
"APELLIDO_PATERNO" VARCHAR2(20 BYTE),
"APELLIDO_MATERNO" VARCHAR2(20 BYTE),
"MES_NACIMIENTO" VARCHAR2(20 BYTE)
) SEGMENT CREATION IMMEDIATE
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ;
--------------------------------------------------------- DDL for Index PERSONAS_PK
-------------------------------------------------------CREATE UNIQUE INDEX "RDBAEZ"."PERSONAS_PK" ON "RDBAEZ"."PERSONAS" ("ID")
PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ;
--------------------------------------------------------- Constraints for Table PERSONAS
-------------------------------------------------------ALTER TABLE "RDBAEZ"."PERSONAS" ADD CONSTRAINT "PERSONAS_PK" PRIMARY KEY ("ID")
USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "SYSTEM" ENABLE;
ALTER TABLE "RDBAEZ"."PERSONAS" MODIFY ("MES_NACIMIENTO" NOT NULL ENABLE);
ALTER TABLE "RDBAEZ"."PERSONAS" MODIFY ("APELLIDO_MATERNO" NOT NULL ENABLE);
ALTER TABLE "RDBAEZ"."PERSONAS" MODIFY ("APELLIDO_PATERNO" NOT NULL ENABLE);
ALTER TABLE "RDBAEZ"."PERSONAS" MODIFY ("NOMBRE" NOT NULL ENABLE);
ALTER TABLE "RDBAEZ"."PERSONAS" MODIFY ("ID" NOT NULL ENABLE);

En el esquema del usuario HR crear una vista (ponerle el nombre a su criterio), que permita
obtener el id del departamento, nombre del departamento y nombre del pais donde esta
ubicado cada departamento.

Crear un Rol llamado RPRACTICA el cual contenga permisos para:


Consulta la vista creada en el punto anterior
Consultar la tabla PERSONAS
Agregar registro en PERSONAS
Modificar registros en PERSONAS
Eliminar registros PERSONAS

Crear un nuevo usuario NO DBA llamado UPRACTICA y asignarle:


a. Permisos para que pueda acceder a Oracle
b. El ROL creado en el punto anterior
c. Permiso para que pueda consultar la tabla EMPLOYEES de HR
Como se ve tiene asignado el rol

SELECT * FROM HR.EMPLOYEES;

INSERT INTO HR.EMPLOYEES VALUES (207, 'Ruben', 'Baez', 'rdbaez@utpl.edu.ec' ,'555.555.1234' ,'14/08/1995', 'SH_CLEEK',
'5000', '206', '128');

Comprobacin que la fila fue insertada correctamente.

UPDATE HR.EMPLOYEES SET FIRST_NAME = 'RUBENCAMBIO' WHERE


DEPARTMENT_ID = 128;

Comprobacin de que la fila fue actualizada correctamente.

DELETE FROM HR.EMPLOYEES WHERE FIRST_NAME = 'RUBENCAMBIO'

Comprobacin de que la fila fue eliminada.

Revocar a UPRACTICA el permiso para consultar la tabla EMPLOYEES de HR

Comprobacin de que ya se perdi el privilegio

Vous aimerez peut-être aussi