martes, 8 de junio de 2021
lunes, 7 de junio de 2021
MI RESPONSABILIDAD EN EL MANEJO DE INFORMACIÓN DE UNA BASE DE DATOS
¿Qué acciones emprendería ante un incidente como la manipulación de una Base de Datos?
EJECUCIÓN EJEMPLOS BDD
En Cali se mantendrá el salario y la bonificación por horas
extras de los empleados para el cálculo de la nómina; además allí se mantendrá
la cantidad y el valor de cada medicamento para control de las existencias de
todos los medicamentos.
En cada ciudad se desea mantener la información de los
proyectos, las brigadas de salud, los medicamentos y de los empleados. La base
de datos relacional es la siguiente:
PROYECTO(cod_proy, nom_proy, ciudad)
BRIGADA(cód_bri, nom_bri, cod_proy)
PARTICIPA(cod_bri, cédula, fecha)
EMPLEADO(cedula, nom_emp, telefono, salario, bonificacion)
BRI_MED(cod_bri, cod_med, canti_utilizada)
MEDICAMENTO(cod_med, nom_med, forma_uso, cantidad, valor)
Realice las particiones necesarias para una mejor autonomía
local y construya la tabla de asignación de fragmentos en cada localidad.
Se procede a elaborar la base de datos en Sql, asi:
create database Farmacias
use farmacias
create table Proyecto
(Cod_Proy
int not null,
Nom_Proy
varchar (50)not null,
Ciudad
varchar(50)not null
primary
key(Cod_Proy))
create
table Brigada
(Cod_Bri
int not null,
Nom_Bri
varchar(50)not null,
Cod_Proy
int,
Primary
key (Cod_Bri),
Foreign
key (Cod_Proy)references Proyecto(Cod_Proy)
on
delete cascade on update cascade)
create
table Participa
(Cod_Bri
int not null,
Cedula
int not null,
Fecha
datetime not null,
foreign
key (Cod_Bri)references Brigada(Cod_Bri)
on
delete cascade on update cascade)
create
table Empleado
(Cedula
int not null,
Nom_Emp
varchar (50) not null,
Telefono
varchar(50) not null,
Salario
decimal not null,
Bonificacion
decimal not null)
Create
table Medicamento
(Cod_Med
int not null,
Nom_Med
varchar(50) not null,
Forma_Uso varchar(50)not null,
Cantidad
int not null,
Valor
decimal not null,
primary
key (Cod_med))
create
table Bri_Med
(Cod_Bri
int not null,
Cod_Med
int not null,
Canti_Utilizada
int not null,
foreign
key (Cod_Bri)references Brigada(Cod_Bri)
on
delete cascade on update cascade, foreign key
(Cod_Med)references
Medicamento(Cod_Med)
on
delete cascade on update cascade)
Con esto queda creada la base de datos, con las respectivas
tablas. A continuación veremos el pantallazo de los cinco ejercicios
propuestos:
Fragmentación horizontal proyecto
Aca, se crean tablas discriminadas para cada una de las
ciudades, pues si vemos en la tabla proyecto, en la columna ciudad estarían
todas revueltas.
Veremos al lado izquierdo de las imágenes las tablas de
fragmentación ya creadas.
Cali
Select *
into ProyectoC
From PROYECTO
Where ciudad = 'Cali'
Para visualizar la tabla ProyectoC se da la sentencia: select*from proyectoC. No se veran datos, porque no hemos llenado las tabla, pero se vera su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla proyectoC.
Bogota
Select *
into ProyectoB
From PROYECTO
Where ciudad = 'Bogotá'
Para visualizar la tabla ProyectoB se da la sentencia: select*from
proyectoB. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoB.
Medellin
Select *
into
ProyectoMe
From PROYECTO
Where ciudad = 'Medellín'
Para visualizar la tabla ProyectoM se da la sentencia: select*from
proyectoM. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoM.
Manizales
Select *
into ProyectoMa
From PROYECTO
Where ciudad = 'Manizales'
Para visualizar la tabla ProyectoMa se da la sentencia: select*from
proyectoMa. No se veran datos, porque no hemos llenado las tabla, pero se vera
su estructura. Si metieramos datos a la tabla proyecto, aca se veria la tabla
proyectoMa
Fragmentación horizontal derivada
brigada
Esto lo que hace es crear una nueva tabla BrigadaC con todos los
registros de la tabla Brigada, donde Cod_Proy de ProyectoC y Brigada,
coincidan.
Cali
Select
Brigada.*
into BrigadaC
From BRIGADA
inner join ProyectoC
On BRIGADA.cod_proy= ProyectoC.cod_proy
MI APRENDIZAJE SOBRE DIAGRAMA DE CLASES
Completar los demás supuestos semánticos que hacen falta para construir el modelo orientado a objetos o el diagrama de clases, ubicando las clases, subclases, objetos, herencia simple y herencia múltiple si la hay.
Una empresa dedicada a comercializar cocinas desea aumentar su control sobre aquellos elementos que le afectan. Del resultado del análisis que realiza obtiene la siguiente información.
Hay una serie de fabricantes de muebles de cocina; de cada fabricante se dispone de su cédula, nombre, teléfono, nivel de calidad y su experiencia.
Un mueble tiene una determinada línea, color, dimensiones (ancho, largo y alto) y una categoría. Cada fabricante puede trabajar con varios distribuidores y cada distribuidor trabaja al menos con un fabricante; de un distribuidor se conoce la cédula, nombre, teléfono, calificación de vendedor y fecha de ingreso.
Una cocina la compone una serie de muebles de distinto tipo, cada mueble solo podrá formar parte de una única cocina. De una cocina nos interesa conocer el número de muebles que la componen y su código que la diferencia de las demás.
La cocina la puede vender un único distribuidor en una determinada fecha aunque un distribuidor puede vender varias cocinas. Cada cocina la debe instalar al menos un instalador y el mismo instalador puede instalar varias cocinas.
De un instalador nos interesa conocer la cédula, nombre, teléfono y número de cocinas instalado. Cada cocina puede comprarla un solo cliente y el mismo cliente puede comprar varias cocinas. Del cliente nos interesa conocer la cédula, nombre, dirección, fecha de ingreso y teléfono.
SOLUCIÓN DEL EJERCICIO
Del ejercicio deducimos que la clase principal es persona, con los atributos: Cédula, nombre y teléfono. Como fabricante, distribuidor, cliente e instalador son personas; estos heredan sus atributos, ademas, cada uno cuenta con otros tantos que los hace un objeto particular.
El fabricante y el distribuidor están ligados mediante la clase trabaja, que contiene la cédula de quien lo contrata.
Instalación es la clase que hace el empalme entre el venta y el instalador, esta clase tiene la fecha de instalación, el código de venta y la cédula del instalador, ademas maneja el método instalación.
Para cocina, tenemos que tiene relación con muebles, porque esta compuesta de muebles y con venta, ya que las cocinas son vendidas, esta relación se da por medio de cod_cocina. Los métodos que se usan están escritos en el diagrama.
Análisis BDOO y BDD
Diseño de una Base de Datos Distribuida
Base de datos distribuida:
Es una base que está repartida o almacenada en diferentes partes de la red, con esto se utiliza el acceso de datos en distintas posiciones geográficas.
Base de datos orientada a objetos:
En esta base se definen una serie de operación para su manipulación, y se integra con un lenguaje de programación orientado a objetos. Ejemplo C#
Se almacenan sus componentes como objetos y no como datos.
En qué casos recomienda el uso de una BDOO y en qué casos el uso de una BDD?
R/ para una BDOO es mejor usarla cuando se van a manejar datos complejos y relaciones entre datos directamente, los objetos tienen relaciones mucho a muchos, y se accede mediante punteros.
R/ y con una BDD si queremos tener una base más confiable, con mayor tiempo de respuesta y aparte menor costo de comunicación esta es la base perfecta para esas características.
sábado, 5 de junio de 2021
Mi Responsabilidad Administrando Bases de datos
Ley de Hábeas Data
Ley 1266 de 2008
El Habeas Data
El Habeas Data es el derecho fundamental que tiene toda persona para conocer, actualizar y rectificar toda aquella información que se relacione con ella y que se recopile o almacene en bancos de datos. (Artículo 15 de la Constitución Política de Colombia, Desarrollado por la Ley 1266 de 2008.)
Ámbito de aplicación
Esta Ley se aplica a todos los datos de información personal registrados en un banco de datos, sean estos administrados por entidades de naturaleza pública o privada. (Artículo 2 de la Ley 1266 de 2008)
Derechos de los titulares de la información
Los derechos específicos de los titulares de la información, de conformidad con el artículo 6 de la Ley 1266 de 2008 son:
1. Frente a los operadores de los bancos de datos:
1.1 Ejercer el derecho fundamental al hábeas data en los términos de la presente ley, mediante la utilización de los procedimientos de consultas o reclamos, sin perjuicio de los demás mecanismos constitucionales y legales.
1.2 Solicitar el respeto y la protección de los demás derechos constitucionales o legales, así como de las demás disposiciones de la presente ley, mediante la utilización del procedimiento de reclamos y peticiones.
1.3 Solicitar prueba de la certificación de la existencia de la autorización expedida por la fuente o por el usuario.
1.4 Solicitar información acerca de los usuarios autorizados para obtener información.
2. Frente a las fuentes de la información:
2.1 Ejercer los derechos fundamentales al hábeas data y de petición, cuyo cumplimiento se podrá realizar a través de los operadores, conforme lo previsto en los procedimientos de consultas y reclamos de esta ley, sin perjuicio de los demás mecanismos constitucionales o legales.
2.2 Solicitar información o pedir la actualización o rectificación de los datos contenidos en la base de datos, lo cual realizará el operador, con base en la información aportada por la fuente, conforme se establece en el procedimiento para consultas, reclamos y peticiones.
2.3 Solicitar prueba de la autorización, cuando dicha autorización sea requerida conforme lo previsto en la presente ley.
3. Frente a los usuarios:
3.1 Solicitar información sobre la utilización que el usuario le está dando a la información, cuando dicha información no hubiere sido suministrada por el operador.
3.2 Solicitar prueba de la autorización, cuando ella sea requerida conforme lo previsto en la presente ley.
Deberes de las fuentes de información
- Garantizar que la información que se suministre a los operadores de los bancos de datos o a los usuarios sea veraz, completa, exacta, actualizada y comprobable.
- Reportar, de forma periódica y oportuna al operador, todas las novedades respecto de los datos que previamente le haya suministrado y adoptar las demás medidas necesarias para que la información suministrada a este se mantenga actualizada.
- Rectificar la información cuando sea incorrecta e informar lo pertinente a los operadores.
- Diseñar e implementar mecanismos eficaces para reportar oportunamente la información al operador.
- Solicitar, cuando sea del caso, y conservar copia o evidencia de la respectiva autorización otorgada por los titulares de la información.
- Certificar, semestralmente al operador, que la información suministrada cuenta con la autorización.
- Resolver los reclamos y peticiones del titular.
- Informar al operador que determinada información se encuentra en discusión por parte de su titular, cuando se haya presentado la solicitud de rectificación o actualización de la misma.
- Deber de comunicar al titular de la información previamente al reporte.
Bancos de Datos
Los bancos de datos o centrales de información son sociedades o agremiaciones de carácter privado en las cuales se registra el comportamiento crediticio, financiero y comercial de las personas que celebran operaciones con entidades financieras, cooperativas y empresas del sector real. Las centrales de información no están sujetas a la inspección y vigilancia de la Superintendencia Financiera de Colombia.
Cuando se trata de operaciones activas de crédito celebradas con instituciones financieras, estas entidades tienen el deber de actualizar y rectificar permanentemente la información reportada a efectos de que siempre sea verdadera y completa.
Acerca de los reportes negativos:
¿A partir de cuándo puede la información negativa ser reportada a una central de información?
Las fuentes de información podrán efectuar el reporte de la información transcurridos veinte(20) días calendario siguientes, desde que la entidad le envíe una comunicación a la última dirección que se encuentre registrada en los archivos de la fuente de la información.
¿Por cuánto tiempo quedará el histórico de la información negativa en los bancos de datos desde que la persona se encuentre al día en los pagos?
La información de carácter positivo permanecerá de manera indefinida en los bancos de datos de los operadores de información. El término de permanencia de la información negativa no podrá exceder el doble de la mora reportada, cuando la misma sea inferior a dos (2) años; en el caso en que la mora reportada sea igual o superior a dos (2) años, el dato negativo permanecerá por cuatro (4) años más, contados a partir de la fecha en que se extinga la obligación por cualquier modo. (Artículo 13 de la Ley 1266 de 2008).
¿Cuál es la finalidad para que los usuarios puedan acceder a la información?
La información contenida en bancos de datos de información financiera, crediticia, comercial, de servicios y la proveniente de terceros países podrá ser accedida por los usuarios únicamente con las siguientes finalidades:
- Como elemento de análisis para establecer y mantener una relación contractual, cualquiera que sea su naturaleza.
- Para la evaluación de los riesgos derivados de una relación contractual vigente.
- Como elemento de análisis para hacer estudios de mercado o investigaciones comerciales o estadísticas.
- Para el adelantamiento de cualquier trámite ante una autoridad pública o una persona privada, respecto del cual dicha información resulte pertinente.
- Para cualquier otra finalidad, diferente de las anteriores, respecto de la cual y en forma general o para cada caso particular se haya obtenido autorización por parte del titular de la información.
¿Cuáles son los procedimientos para la atención de peticiones, consultas y reclamos?
Los titulares de la información o sus causahabientes podrán consultar la información personal del titular, que repose en cualquier banco de datos, sea este del sector público o privado. La petición, consulta de información se formulará verbalmente, por escrito, o por cualquier canal de comunicación, siempre y cuando se mantenga evidencia de la consulta por medios técnicos. La petición o consulta se deberá atender de fondo, suministrando integralmente toda la información solicitada. Los titulares de la información o sus causahabientes que consideren que la información contenida en su registro individual en un banco de datos debe ser objeto de corrección o actualización podrán presentar un reclamo ante el operador. La petición o reclamo se formulará mediante escrito dirigido al operador del banco de datos, con la identificación del titular, la descripción de los hechos que dan lugar al reclamo, la dirección, y si fuere el caso, acompañando los documentos de soporte que se quieran hacer valer.
Definiciones Importantes que consagra la Ley de Hábeas Data (Artículo 3 de la Ley 1266 de 2008).
Titular de la información: Es la persona natural o jurídica a quien se refiere la información que reposa en un banco de datos y sujeto del derecho de hábeas data y demás derechos y garantías a que se refiere la ley.
Fuente de información: Es la persona, entidad u organización que recibe o conoce datos personales de los titulares de la información, en virtud de una relación comercial o de servicio o de cualquier otra índole y que, en razón de autorización legal o del titular, suministra esos datos a un operador de información, el que a su vez los entregará al usuario final.
Operador de información: Se denomina operador de información a la persona, entidad u organización que recibe de la fuente datos personales sobre varios titulares de la información, los administra y los pone en conocimiento de los usuarios bajo los parámetros de la presente ley. Por tanto el operador, en cuanto tiene acceso a información personal de terceros, se sujeta al cumplimiento de los deberes y responsabilidades previstos para garantizar la protección de los derechos del titular de los datos.
Usuario: El usuario es la persona natural o jurídica que, en los términos y circunstancias previstos en la ley de hábeas data, puede acceder a información personal de uno o varios titulares de la información suministrada por el operador o por la fuente, o directamente por el titular de la información. El usuario, en cuanto tiene acceso a información personal de terceros, se sujeta al cumplimiento de los deberes y responsabilidades previstos para garantizar la protección de los derechos del titular de los datos.
Dato personal: Es cualquier pieza de información vinculada a una o varias personas determinadas o determinables o que puedan asociarse con una persona natural o jurídica. Los datos impersonales no se sujetan al régimen de protección de datos de la presente ley. Cuando en la presente ley se haga referencia a un dato, se presume que se trata de uso personal.
Los datos personales pueden ser públicos, semiprivados o privados.
Dato público: Es el dato calificado como tal según los mandatos de la ley o de la Constitución Política y todos aquellos que no sean semiprivados o privados, de conformidad con la presente ley. Son públicos, entre otros, los datos contenidos en documentos públicos, sentencias judiciales debidamente ejecutoriadas que no estén sometidos a reserva y los relativos al estado civil de las personas.
Dato semiprivado: Es semiprivado el dato que no tiene naturaleza íntima, reservada, ni pública y cuyo conocimiento o divulgación puede interesar no sólo a su titular sino a cierto sector o grupo de personas o a la sociedad en general, como el dato financiero y crediticio de actividad comercial o de servicios a que se refiere el dato.
Dato privado: Es el dato que por su naturaleza íntima o reservada sólo es relevante para el titular.
Como administrador de bases de datos debo actuar en procura del cumplimiento de la ley de Hábeas Data y promover en todo momento el respeto de la misma, así el cuidado de los datos suministrados en mi labor.
Además, teniendo en cuenta que en mi rol, es necesario el manejo de gran cantidad de datos, muchos de los cuales pueden resultar ser altamente sensibles, mi comportamiento en dicho manejo debe ser ético, velando por la seguridad de toda la información que me ha sido entregada.
Mis ejemplos propuestos BD Brigadas
Mis ejemplos propuestos BD Brigadas:
Trigger
Aumentar el salario del empleado en 10% si participa en una nueva brigada)
CREATE TRIGGER tr_aumento_salario_nuevo
on participa
after insert
as
if exists (select cedula from inserted)
begin
update empleado
set salario = salario + salario * 0.1
from empleado inner join inserted on empleado.cedula = inserted.cedula
end
insert into participa (cod_bri, cedula, fecha) values (301,104,2019-11-05)
select * from empleado
select * from brigada
Ejecución de los ejemplos BD Brigadas
Trigger
Ejercicio 1
Crear un trigger para que cada vez que un empleado participe en una brigada se le sume a la bonificación el 15% del valor de la cantidad de medicamento utilizada en la brigada















