jueves, 18 de noviembre de 2021

Mi aprendizaje sobre base de datos


 

“Mi aprendizaje sobre programación SQL”

 




MIS EJEMPLOS PROPUESTOS BD BRIGADAS

 Mis ejemplos propuestos y la captura de la función ejecutada


VISTA

--Vista para mostrar el nombre y uso de un medicamento

create view NombreUsoMedicamento
as 
select nom_med,forma_uso from medicamento
go




select * from NombreUsoMedicamento




TRIGGER

--trigger para no efectuar borrado en tabla Medicamentos

create trigger Tr_Medicamento_NDELETE
on MEDICAMENTO for delete
as begin 
print 'Usuario restringido para borrar registro. Por favor contacte a su Administrador'
rollback transaction 

end


PROCEDIMIENTO ALMACENADO

--Procedimiento para crear un medicamento si no existe un registro o actualizarlo en caso de que exista

create proc ActualizaMedicamento
@codMed int,
@nomMed varchar(50),
@formaUso varchar(50),
@cantidad int, 
@valor int
as
--Crea nuevo Medicamento

if not exists (select cod_med from medicamento where cod_med=@codMed )
insert into medicamento(cod_med,nom_med,forma_uso,cantidad,valor)
values (@codMed,@nomMed,@formaUso,@cantidad,@valor)

--Actualiza el empleado

else update medicamento set cod_med=@codMed,nom_med=@nomMed,
forma_uso=@formaUso,
cantidad=@cantidad,valor=@valor


where cod_med=@codMed



FUNCIÓN

--Función que retorna el valor total de las existencias de una referencia de medicamentos

create function costoTotalMedicamentos 
(@codmed int
returns int 
as
begin 
declare @costoTotalMed int
select @costoTotalMed = (cantidad*valor)
from medicamento  where cod_med=@codmed
return @costoTotalMed


end



SEGURIDAD

--CREAR UN USUARIO PARA LA BASE DE DATOS DBBRIGADA

--CREAR LOGIN


create login nsalas with password ='1111'



--CREAR USUARIO

create user nelson for login nsalas

go


--ASIGNACIÓN DE ROL USUARIO

execute sp_addrolemember 'db_datawriter','nelson'

go


Mi Responsabilidad en el manejo de la información de las bases de datos

 


 Como profesional en el área de informática que ha diseñado bases de datos avanzadas tales como BDOO y BDD, responda la siguiente pregunta:


¿Qué acciones emprendería ante un incidente como la manipulación indebida de una base de datos?


La seguridad de los datos implica protegerlos de operaciones indebidas que pongan en peligro su definición, existencia, consistencia e integridad independientemente de la persona que los accede. Esto se logra mediante mecanismos que permiten estructurar y controlar el acceso y actualización de los mismos sin necesidad de modificar o alterar el diseño del modelo de datos; definido de acuerdo a los requisitos del sistema o aplicación software.

Se debe proteger la Base de Datos contra accesos no autorizados. Se llama también privacidad. INCLUYE ASPECTOS DE: 
  • Aspectos legales, sociales y éticos 
  • Políticas de la empresa, niveles de información pública y privada 
  • Controles de tipo físico, acceso a las instalaciones 
  • Identificación de usuarios: voz, retina del ojo, etc. 
  • Controles de sistema operativo.

Ejecución ejemplos BD Brigadas

 

Ejecución ejemplos BDD

Nos proponen la siguiente base de datos distribuida:

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



martes, 16 de noviembre de 2021

“Consulta nuevas tendencias de BD”

 


Análisis BDOO y BDD

 Análisis de Bases de datos Orientada a Objeto y Bases de datos Distribuidas.


Una base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos pueden ser bases de datos multimedia (videos, imágenes y sonidos), donde la herencia nos permita una mejor representación de la información, estas bases de datos tienen una identidad de ser un Todo, y no solo una parte de una gran base, por ejemplo, una base de secuencias de ADN.
El objetivo de una base de datos orientada a objetos son los mismos que los de las bases de datos tradicionales, pero con la ventaja de representar las modelos de datos con un marco mucho más eficiente, manteniendo la integridad y relación entre ellos.
Recordemos que un objeto es una estructura que tiene asociado un estado y un comportamiento (propiedades y métodos). Estas bases tienen las características de todo lo que es orientado a objeto que son Herencia, Polimorfismo, Abstracción y Encapsulamiento.
Un objeto puede heredar comportamiento de otro tipo de objetos (herencia) y puede adaptarse para responder de diferentes maneras ante la solicitud de una acción (polimorfismo), lo importante es que permite representar cosas de la vida real con relativa facilidad (abstracción) y que todo esto se puede implementar de manera que no nos importe el código, sino sólo la manera de comunicarnos con estos objetos pensando en ellos como una sola unidad (encapsulamiento).
Las bases de datos orientados a objetos han adoptado muchos de los objetos creados para los lenguajes de programación orientados a objetos.
La utilización de una BDOO simplifica la conceptualización ya que la utilización de objetos permite representar de una manera más natural la información que se quiere guardar.
Para modelar la estructura o vista lógica de la BD, se utiliza el Diagrama de clases que permite presentar las clases con sus respectivas relaciones estructurales y de herencia, además del Diagrama de Objetos cuando no está muy claro y preciso cómo serían las instancias de las clases o para especificar más el Diagrama de Clases.
Para modelar la parte dinámica, la interacción y comportamiento entre los objetos, se emplearía el Diagrama de Secuencia para presentar las interacciones entre los objetos organizados en una secuencia temporal y describir como estos objetos colaboran; así como también, el Diagrama de Estado para mostrar los posibles estados en que puede encontrarse un objeto y las transacciones que pueden causar un cambio de estado, luego que ocurre un evento.
En general, cada objeto está asociado con:
Un conjunto de variables que contiene los datos del objeto; las variables corresponden con los atributos del modelo E-R.
Un conjunto de mensajes a los que responde; cada mensaje puede o no tener parámetros o tener uno o varios.
Un conjunto de métodos, cada uno de los cuales es el código que implementa un mensaje; el método devuelve un valor como respuesta al mensaje.
Además, tienen un Nombre, Tiempo de vida pueden ser transitorios o persistentes, estado y comportamiento.
1.    Características de Base de Datos Orientada a Objetos

Mandatorias: son las que el Sistema debe satisfacer a orden de tener un sistema de BDOO y estos son: Objetos complejos, Identidad de Objetos, Encapsulación, Tipos o clases, Sobre paso con unión retardada, Extensibilidad, Completación Computacional, Persistencia y Manejador de almacenamiento secundario, Concurrencia, Recuperación y Facilidad de Query
Opcional: Son las que pueden ser añadidas para hacer el sistema mejor pero que no son Mandatorias, estas son de: herencia múltiple, chequeo de tipos e inferencia d e distribución y diseño de transacciones y versiones.
Abiertas: Son los puntos donde el diseñador puede hacer un número de opciones y estas son el paradigma de la programación, la representación del sistema ó el tipo de sistema y su uniformidad. Hemos tomado una posición no muy a la expectativa para tener una palabra final más bien para proveer un punto de orientación para un debate futuro.
Una Base de Datos Distribuida (BDD) es una colección de datos distribuidos en diferentes nodos de una red de computadoras. Cada sitio de la red es autónomo, puede ejecutar aplicaciones locales y al menos una aplicación global, lo cual requiere el acceso a datos, ubicados en varios sitios, usando un subsistema de comunicación.
Los Sistemas de Bases de Datos Distribuidas representan más naturalmente la estructura geográficamente descentralizada de una organización, aumentan la disponibilidad de los datos, reducen el tráfico de comunicación y es justificable, además, por el abaratamiento de los costos en el equipamiento y la infraestructura de comunicaciones de las redes de computadoras. El diseño de las Bases de Datos Distribuidas posee las fases del diseño centralizado y cuenta, además, con dos nuevos problemas que caracterizan el proceso de distribución de datos, e incluyen la determinación de: cómo dividir la base de datos en componentes para localizarlos en diferentes sitios, qué cantidad de datos debe ser replicados y cómo deben los fragmentos replicados ser localizados.
Existen varias definiciones sobre qué es un sistema distribuido pero hay divergencias entre ellas, para nuestros propósitos es suficiente expresar que un sistema distribuido es una colección de computadoras independientes interconectadas entre sí que aparecen ante los usuarios del sistema como una única computadora.

2.    Ventajas y Desventajas de los sistemas distribuidos

Ventajas
El acceso a los datos es más rápido debido a que los datos se localizan más cercanos al lugar donde se utilizan.
El procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo,
Nuevos nodos se pueden agregar fácil y rápidamente.
La probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.
Control local de los datos con que se interactúa.
Mayor tolerancia a los fallos


Desventajas
Es más complicado el control y la manipulación de los datos
Es compleja el aseguramiento de la integridad de la información en presencia de fallas no predecibles tanto de componentes de hardware como de software. La integridad se refiere a la consistencia, validez y exactitud de la información.
El control de concurrencia y los mecanismos de recuperación son mucho más complejos que en un sistema centralizado dado que los datos pueden estar replicados.

¿ En qué casos recomendaría el uso de una BDOO y en qué casos el uso de una BDD?

En el momento en el cual nos encontramos ante una necesidad empresarial que esté relacionada con datos complejos de alto rendimiento tenemos que considerar la opción de sacar partido a las bases de datos orientadas a objetos. Estas son una posibilidad más que recomendable en el caso de que contemos con un total de tres elementos determinados: alto rendimiento, necesidad de negocio y datos complejos. Recomendaría una base de datos distribuida cuando la misma base de datos con necesidades diferentes pero características en comun sean necesarias para el negocio en cuestión.

Video diseño BDD”






 https://youtu.be/6bvoRIp3eXw






viernes, 12 de noviembre de 2021

HERRAMIENTA AUTOPSY

 


Análisis forense Digital

 




Mi Responsabilidad como Analista Forense

 

Mi Responsabilidad como Analista Forense

 

 

 

La profesión de perito informático es una ciencia multidisciplinar, que abarca desde derecho legal, la ciencia criminalística, seguridad informática, ingeniería informática y análisis forense digital, entre otras, hasta conceptos, más allá de los puros técnico – científicos, que permitan observar el entorno a investigar –ciberespacio- como una estructura de relaciones virtuales en la actual ciber sociedad. Para ser perito informático, hay que cumplir una serie de requisitos que establece el actual reglamento legislativo, y nada sencillas de cumplir. Esto es así porque por las decisiones de un perito informático son muy importantes y pueden afectar directamente a la vida de los ciudadanos.

 

Si bien es cierto que un analista forense no tiene que ver con el manejo de evidencias sobre un delito humano, debe ser muy cuidadoso en el manejo del objeto sobre el cual está su trabajo: los elementos informáticos que sirven como evidencia ante un crimen de este tipo. De la calidad de su trabajo depende la inocencia o la culpa de muchas personas involucradas en un crimen.

 

De igual manera la responsabilidad de un analista forense pone en juego su parte ética y profesional, pues en sus manos tendrá información de carácter confidencial (datos, imágenes, audios), por lo cual debe manejar un alto grado de discreción en el conocimiento y divulgación de información que no atañe al caso que se está tocando, pero que puede ser útil en otros ámbitos y para otras personas que les pueda interesar. Si pusiéramos el caso de un crimen informático en un Hospital, el forense tendría acceso a datos personales y confidenciales de pacientes mientras escudriña sobre las pistas que busca. Es acá donde entra a jugar su profesionalismo como forense y como confidente de datos que no vienen al caso pero que son importantes para muchas personas cercanas: amigos, conocidos, compañeros, jueces.

 

  • Ser objetivo y ajeno completamente al proceso en el cual se le requiere o se presenta su participación.
  • Ser una persona imparcial y sin intereses particulares.
  • Poseer los conocimientos, la experiencia y la formación teórico-práctica como experto en la materia.
  • Rechazar cualquier proceso que le sea imputado por coacción y no pueda ejercer de manera voluntaria.
  • Aceptar el cargo que le es asignado, colaborar con los asesores jurídicos y el resto de los peritos o consultores técnicos y declarar ante el juez en el caso de que este lo requiera.
  • Fundamentar sus conclusiones técnicas, expresando claramente los elementos analizados y las técnicas utilizadas para llegar a las mismas.
  • Respetar el código de ética que le impone su profesión.