jueves, 18 de noviembre de 2021

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.

 

jueves, 4 de noviembre de 2021

Manipulando datos

 

Manipulando datos

 

¿Para que se utilizan las sentencias DML?
Las sentencias DML se usan para modificar los registros podemos borrar, actualizar, insertar y buscar registros con las siguientes sentencias:
  • insert
  • select
  • delete
  • update
Elabore el código para crear una tabla con 5 campos (coloque el nombre a la tabla que usted desee)
create table tblEmpleado
(codEmpleado numeric(18,0) primary key
,nomEmpleado nvarchar(20) not null
,apeEmpleado nvarchar(20) not null 
,edad numeric(18,0) not null
,direccion nvarchar(30) not null 
,email nvarchar(30) not null
,telefono numeric(18,0) not null
)

Asigne a la tabla una clave principal y una clave foránea
Alter table calzado
add foreign key (cod_tienda)
references Tiendas (cod_tienda)

Elabore el código para ingresar 3 registros a la tabla que acaba de crear.
--Insertar en Empleados
Insert into tblEmpleado values(671920,'Franco','Ubalde',25,'Carrera 80 #20','franco@gmail.com',124578)
Insert into tblEmpleado values(671921,'Ana','Mendoza',19,'Carrera 81 #21','anmen@gmail.com',1425)
Insert into tblEmpleado values(671922,'Soralla','Martínez',26,'Carrera 82 #22','lumen@gmail.com',4758)

Elabore el código con consultas para actualizar un registro ya creado
update tblEjemplar set estado = 'Reservado' from tblEjemplar

Elabore el código con consultas para borrar un registro ya creado
delete from tblPrestamo from tblPrestamo where  codigo= 1234

Mi aprendizaje sobre Tipos de consultas -caso de estudio “Biblioteca”

 


 use  DBBiblioteca2016

/*REALIZADO POR: NELLY SORALLA MARTINEZ - 04/11/2021*/


-- SECCION DE INSERTAR

/* 1: Insertar una reserva para el usuario Carlos con cédula 8888 de la dependencia judicial para el material libro el Buen vendedor con un valor de 30000,

 año 2013 y cantidad 1. Si el usuario y el material no están en la base de datos también los debe insertar y asumir los datos faltantes.*/

 insert into tblusuario values (8888,'Carlos',9544,'Carrera 84 #27-26',1,'Vigente')

 insert into tblMaterial values ('Buen Vendedor', 30000, 2012, 1, 1)

 Insert into tblPertenece values (8888, 1)

 insert into tblReserva values (getdate(),8888, 8)


 select * from tblusuario

 select * from tblMaterial

 select * from tblPertenece

 select * from tblReserva


/* 2: Insertar en una tabla llamada TBL_datos los registros de  los usuarios con préstamos vigentes.*/

 select * from tblusuario

 select * into TBL_datos from tblusuario where Estado_usuario  = 'Vigente'

 select * from TBL_datos


 -- SECCION DE CONSULTAR

 /* 1: Mostrar los datos de los materiales que no han devuelto los usuarios de sistemas o de administración.*/

select tblMaterial.Cod_material, Nombre_material, Valor, año, CodTipo_Material, cantidad, Nombre_Dependencia from tblMaterial

inner join tblEjemplar on tblMaterial.Cod_material = tblEjemplar.Cod_Material

inner join tblPrestamo on tblPrestamo.Num_Ejemplar= tblEjemplar.Num_Ejemplar

inner join tblusuario on tblusuario.Cedula= tblPrestamo.Cedula

inner join tblPertenece on tblPertenece.Cedula= tblusuario.Cedula

inner join tbldependencia on tbldependencia.Cod_Dependencia=tblPertenece.Cod_Dependencia

where Fecha_Devolucion = ''(select * from tbldependencia where Nombre_Dependencia = 'Sistemas' or Nombre_Dependencia='Administracion')



 /* 2: Mostrar los nombres de los materiales y su cantidad de préstamos solo si esta cantidad es mayor que el promedio de todas las cantidades de los 

 materiales. */

select tblMaterial.Nombre_material, Num_Prestamo from tblMaterial

inner join tblEjemplar on tblEjemplar.Cod_Material = tblMaterial.Cod_material

inner join tblPrestamo on tblPrestamo.Num_Ejemplar = tblEjemplar.Num_Ejemplar

inner join tblDevolucion on tblDevolucion.Num_Prestamo = tblPrestamo.Cod_Prestamo

where tblDevolucion.Num_Prestamo>(select avg(tblMaterial.cantidad) from tblMaterial)


 /* 3: Mostrar los datos de los usuarios con estado betado que pertenecen a todas las dependencias.*/

select * from tblusuario

select * from tblpertenece

select * from tbldependencia


Select * from tblusuario 

inner join tblPertenece on tblusuario.Cedula = tblPertenece.Cedula

inner join tbldependencia on tblPertenece.Cod_Dependencia = tbldependencia.Cod_Dependencia

where Estado_usuario = 'Betado' and tbldependencia.Nombre_Dependencia in 

('Judicial','Sistemas','Administración','Educación','Agroambiental','electronica')



 -- SECCION DE ACTUALIZAR

 /* 1: Actualizar el estado de los ejemplares de los materiales tipo película o juegos para estado reservado.*/

select * from tblmaterial

select * from tblejemplar

select * from tblTipo_Material


update tblEjemplar set estado = 'Reservado' from tblEjemplar

inner join tblMaterial on tblEjemplar.Cod_material = tblMaterial.Cod_material

inner join tblTipo_Material on tblTipo_Material.CodTipo_Material = tblMaterial.CodTipo_Material

where NombreTipo_Material = 'Juegos' or NombreTipo_Material = 'Pelicula'


 /* 2: Actualizar el valor de los materiales en una disminución del 5% con año menor que 2000 y se han prestado más de 5 veces*/

 select * from tblmaterial

 select * from tblprestamo


 /* 3: Actualizar el estado de los usuarios Carlos Camilo y Camila a vigente si pertenecen a las dependencias Judicial*/

select * from tblusuario

select * from tblpertenece

select * from tbldependencia


--update tblpertenece set Cod_Dependencia = 1 where Cedula = 124

--update tblusuario set Estado_usuario = 'Vigente' from tblusuario

--inner join tblPertenece on tblusuario.Cedula = tblPertenece.Cedula

--inner join tbldependencia on tblPertenece.Cod_Dependencia = tbldependencia.Cod_Dependencia

--where tblusuario.Nombre in ('Carlos','Camilo','Camila') and tbldependencia.Cod_Dependencia = 1


 -- SECCION DE BORRAR

 /* 1: Borrar las reservas de los usuarios Carlos Camilo y Camila.*/

 select * from tblusuario

 select * from tblreserva


--delete from tblReserva from tblReserva

--inner join tblusuario on tblusuario.Cedula = tblReserva.Cedula

--where tblusuario.Nombre in ('Carlos','Camilo','Camila')


 /* 2: Borrar los préstamos de los ejemplares de los materiales libros.*/


select * from tblEjemplar

select * from tblTipo_Material

select * from tblPrestamo


delete from tblPrestamo from tblPrestamo 

inner join tblEjemplar on tblPrestamo.Cod_Material = tblEjemplar.Cod_Material

inner join tblMaterial on tblEjemplar.Cod_Material = tblMaterial.Cod_material

inner join tblTipo_Material on tblMaterial.CodTipo_Material = tblTipo_Material.CodTipo_Material

where tblTipo_Material.CodTipo_Material = 1

Nuevas tendencias de las bases de datos


 

Emparejamiento BDOO

 


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.

 

 

Informática forense teoría y práctica

 








Utilización de la herramienta Autopsy

 


Metodología para un Análisis Forense

 


Introducción a la informática forense