sábado, 20 de mayo de 2023

Espacios vectoriales

 Un espacio vectorial es una estructura algebraica que consta de un conjunto de elementos, llamados vectores, junto con dos operaciones, suma de vectores y multiplicación por un escalar, que satisfacen ciertos axiomas. Estos axiomas definen las propiedades fundamentales de los espacios vectoriales y permiten realizar operaciones algebraicas coherentes dentro de ellos.


Los ocho axiomas que deben cumplirse para que un conjunto sea un espacio vectorial son los siguientes:


1. Cerradura bajo la suma: La suma de dos vectores en el conjunto siempre da como resultado otro vector en el conjunto.

2. Asociatividad de la suma: La suma de vectores es asociativa, es decir, (u + v) + w = u + (v + w), para todos los vectores u, v y w en el conjunto.

3. Existencia de vector cero: Existe un vector cero en el conjunto que, al sumarse con cualquier vector del conjunto, da como resultado el mismo vector.

4. Existencia de inverso aditivo: Para cada vector u en el conjunto, existe un vector opuesto (-u) en el conjunto tal que u + (-u) = 0.

5.Cerradura bajo la multiplicación por un escalar: La multiplicación de un vector por un escalar en el conjunto siempre da como resultado otro vector en el conjunto.

6. Distributividad de la suma respecto a la multiplicación escalar: Para todos los escalares a y b, y para cualquier vector u en el conjunto, se cumple que (a + b)u = au + bu.

7. Distributividad de la multiplicación escalar respecto a la suma de vectores: Para cada escalar a y para cualquier par de vectores u y v en el conjunto, se cumple que a(u + v) = au + av.

8. Asociatividad de la multiplicación escalar: Para cada escalar a y b, y para cualquier vector u en el conjunto, se cumple que (ab)u = a(bu).

Un subespacio vectorial es un conjunto que cumple con los ocho axiomas de los espacios vectoriales y, además, es un subconjunto de otro espacio vectorial más grande. Esto significa que todos los elementos del subespacio también son elementos del espacio vectorial más grande y heredan las operaciones y propiedades de este.


Las tres propiedades que permiten probar si un subconjunto de un espacio vectorial es un subespacio son:


1. Contiene al vector cero: El subconjunto debe contener el vector cero del espacio vectorial más grande.

2. Cerradura bajo la suma: La suma de dos vectores en el subconjunto siempre da como resultado otro vector en el subconjunto.

3. Cerradura bajo la multiplicación por un escalar: La multiplicación de un vector del subconjunto por un escalar siempre da como resultado otro vector en el subconjunto.

La dimensión de un subespacio vectorial se refiere al número máximo de vectores linealmente independientes que pueden generar ese subespacio. Es la cantidad mínima de vectores necesarios para expresar cualquier vector dentro del subespacio mediante una combinación lineal de ellos. El rango de un subespacio es igual a su dimensión.


Una base de un subespacio vectorial es un conjunto de vectores linealmente independientes que generan el subespacio. Estos vectores son suficientes para representar cualquier vector dentro







domingo, 14 de mayo de 2023

importancia de utilizar el lenguaje SQL para la creación y manipulación de las bases de datos relacionales

 El lenguaje SQL (Structured Query Language) es fundamental para la creación y manipulación de bases de datos relacionales debido a su importancia en varios aspectos clave. Aquí tienes un breve resumen de su importancia:


  1. Creación de bases de datos: SQL permite crear bases de datos relacionales mediante la definición de tablas, columnas, restricciones y relaciones entre ellas. Proporciona una sintaxis específica para definir la estructura de la base de datos, lo que facilita la organización y el almacenamiento de la información de manera eficiente.
  2.  Manipulación de datos: SQL permite realizar consultas y manipulaciones en la base de datos, lo que incluye la inserción, actualización y eliminación de registros en las tablas. Esto brinda flexibilidad y control sobre los datos almacenados, permitiendo realizar cambios y actualizaciones según sea necesario.
  3. Consultas avanzadas: SQL ofrece una amplia gama de operaciones y funciones para realizar consultas complejas en los datos almacenados. Permite combinar datos de múltiples tablas, filtrar resultados, realizar cálculos y agregar funciones estadísticas. Estas capacidades son esenciales para extraer información significativa y responder preguntas específicas sobre los datos.
  4. Mantenimiento de integridad y consistencia: SQL proporciona mecanismos para establecer restricciones en los datos, como claves primarias, claves foráneas y restricciones de integridad referencial. Estas restricciones garantizan que los datos se mantengan consistentes y se cumplan ciertas reglas y relaciones predefinidas en la base de datos.
  5. Seguridad y control de acceso: SQL permite gestionar los permisos y derechos de acceso a los datos. Se pueden definir diferentes niveles de acceso para diferentes usuarios o roles, asegurando que solo las personas autorizadas puedan acceder y manipular los datos.
  6. Rendimiento y optimización: SQL ofrece técnicas de optimización de consultas para mejorar el rendimiento de las operaciones en la base de datos. Los motores de base de datos utilizan algoritmos y estrategias internas para ejecutar consultas de manera eficiente, minimizando el tiempo de respuesta y utilizando los recursos de manera óptima.


En resumen, el lenguaje SQL es fundamental en la creación y manipulación de bases de datos relacionales debido a su capacidad para definir la estructura de la base de datos, realizar consultas complejas, mantener la integridad de los datos, controlar el acceso y garantizar un rendimiento óptimo en las operaciones de la base de datos.

Implementación y manipulación de bases de datos

LINK DEL VIDEO https://drive.google.com/file/d/1hLxwSSMsjyBy01JRh8LgXzPqM20LpvVs/view?usp=share_link


 DROP DATABASE TIA_UNIDAD_2

CREATE DATABASE TIA_UNIDAD_2

-- Creación de la tabla AgenciaArrendamientos
CREATE TABLE AgenciaArrendamientos (
  idAgenciaArrendamiento INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Telefono VARCHAR(20),
  Direccion VARCHAR(255)
);

-- Creación de la tabla Sedes
CREATE TABLE Sedes (
  idSede INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Telefono VARCHAR(20),
  Direccion VARCHAR(255),
  AgenciaArrendamiento_idAgenciaAarendamiento INT,
  FOREIGN KEY (AgenciaArrendamiento_idAgenciaAarendamiento) REFERENCES AgenciaArrendamientos(idAgenciaArrendamiento)
);

-- Creación de la tabla Administradores
CREATE TABLE Administradores (
  idAdministrador INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Telefono VARCHAR(20),
  Email VARCHAR(255),
  Sedes_idSede INT,
  FOREIGN KEY (Sedes_idSede) REFERENCES Sedes(idSede)
);

-- Creación de la tabla Propiedades
CREATE TABLE Propiedades (
  idPropiedades INT PRIMARY KEY,
  Descripcion VARCHAR(255),
  Precio DECIMAL(10,2),
  Habitaciones INT,
  Area DECIMAL(10,2),
  Propietario VARCHAR(255),
  Sedes_idSede INT,
  Dueños_idDueños INT,
  TipoInmueble_idTipoInmueble INT,
  servicios_idServicios INT,
  Ubicacion_idUbicacion INT

  FOREIGN KEY (Sedes_idSede) REFERENCES Sedes(idSede),
  FOREIGN KEY (Dueños_idDueños) REFERENCES Dueños(IdDueños),
  FOREIGN KEY (TipoInmueble_idTipoInmueble) REFERENCES TipoInmueble(idTipoInmueble),
  FOREIGN KEY (servicios_idServicios) REFERENCES Servicios(IdServicios),
  FOREIGN KEY (Ubicacion_idUbicacion) REFERENCES Ubicación(idUbicacion)
);






-- Creación de la tabla TipoInmueble
CREATE TABLE TipoInmueble (
  idTipoInmueble INT PRIMARY KEY,
  Nombre VARCHAR(255)
);

-- Creación de la tabla Servicios
CREATE TABLE Servicios (
  IdServicios INT PRIMARY KEY,
  TipoServicio VARCHAR(255)
);

-- Creación de la tabla Dueños
CREATE TABLE Dueños (
  IdDueños INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Cedula VARCHAR(20),
  Email VARCHAR(255)
);

-- Creación de la tabla Ubicación
CREATE TABLE Ubicación (
  idUbicacion INT PRIMARY KEY,
  Pais VARCHAR(255),
  Ciudad VARCHAR(255),
  Barrio VARCHAR(255),
  Direccion VARCHAR(255)
);

-- Creación de la tabla Arriendos
CREATE TABLE Arriendos (
  IdArriendo INT PRIMARY KEY,
  Fecha DATE,
  FormaPago VARCHAR(255),
  ValorPago DECIMAL(10,2),
  Clientes_idClientes INT,
  Propiedades_idPropiedades INT,
  FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes),
  FOREIGN KEY (Propiedades_idPropiedades) REFERENCES Propiedades(idPropiedades)
);

-- Creación de la tabla Clientes
CREATE TABLE Clientes (
  IdClientes INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Apellido VARCHAR(255),
  Direccion VARCHAR(255),
  Telefono VARCHAR(20)
);

-- Creación de la tabla Fiador
CREATE TABLE Fiador (
  IdFiador INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Direccion VARCHAR(255),
  Telefono VARCHAR(20),
  Clientes_idClientes INT,
  FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes)
);

-- Creación de la tabla Bienes
CREATE TABLE Bienes (
  IdBienes INT PRIMARY KEY,
  Nombre VARCHAR(255),
  Direccion VARCHAR(255),
  Valor DECIMAL(10,2),
  Fiador_idFiador INT,
  FOREIGN KEY (Fiador_idFiador) REFERENCES Fiador(IdFiador)
);

-- Creación de la tabla CertificadosLaboral
CREATE TABLE CertificadosLaboral (
  IdCertificadosLaboral INT PRIMARY KEY,
  Descripcion VARCHAR(255),
  Fecha DATE,
  Clientes_idClientes INT,
  FOREIGN KEY (Clientes_idClientes) REFERENCES Clientes(IdClientes)
);

-- Creación de la tabla Pagos
CREATE TABLE Pagos (
  idPago INT PRIMARY KEY,
  Fecha DATE,
  Monto DECIMAL(10,2),
  Propiedades_idPropiedades INT,
  FOREIGN KEY (Propiedades_idPropiedades) REFERENCES Propiedades(idPropiedades)
);














-- Inserción de registros en la tabla AgenciaArrendamientos

INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion)
VALUES (1, 'Agencia 1', '1234567', 'Calle 1 # 1-1');

INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion)
VALUES (2, 'Agencia 2', '2345678', 'Calle 2 # 2-2');

INSERT INTO AgenciaArrendamientos (idAgenciaArrendamiento, Nombre, Telefono, Direccion)
VALUES (3, 'Agencia 3', '3456789', 'Calle 3 # 3-3');

-- Inserción de datos en la tabla Sedes

INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento)
VALUES (1, 'Sede 1', '1111111', 'Calle 1 # 1-1', 1);

INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento)
VALUES (2, 'Sede 2', '2222222', 'Calle 2 # 2-2', 2);

INSERT INTO Sedes (idSede, Nombre, Telefono, Direccion, AgenciaArrendamiento_idAgenciaAarendamiento)
VALUES (3, 'Sede 3', '3333333', 'Calle 3 # 3-3', 2);

-- Inserción de datos en la tabla Administradores

INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede)
VALUES (1, 'Admin 1', '1111111', 'admin1@sedes.com', 1);

INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede)
VALUES (2, 'Admin 2', '2222222', 'admin2@sedes.com', 2);

INSERT INTO Administradores (idAdministrador, Nombre, Telefono, Email, Sedes_idSede)
VALUES (3, 'Admin 3', '3333333', 'admin3@sedes.com', 3);

-- Inserción de datos en la tabla Propiedades

INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion)
VALUES (1, 'Apartamento 1', 1000000.00, 4, 75.50, 'Propietario 1', 1, 1, 1, 1, 1);

INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion)
VALUES (2, 'Casa 1', 2000000.00, 4, 120.00, 'Propietario 2', 2, 2, 2, 2, 2);


INSERT INTO Propiedades (idPropiedades, Descripcion, Precio, Habitaciones, Area, Propietario, Sedes_idSede, Dueños_idDueños, TipoInmueble_idTipoInmueble, servicios_idServicios, Ubicacion_idUbicacion)
VALUES (3, 'Oficina 1', 1000000.00, 2, 60.00, 'Propietario 3', 2, 3, 3, 3, 3);





-- Inserción de datos en la tabla TipoInmueble
INSERT INTO TipoInmueble (idTipoInmueble, Nombre) VALUES
(1, 'Apartamento'),
(2, 'Casa'),
(3, 'Oficina');

-- Inserción de datos en la tabla Servicios
INSERT INTO Servicios (IdServicios, TipoServicio) VALUES
(1, 'Agua'),
(2, 'Luz'),
(3, 'Gas');

-- Inserción de datos en la tabla Dueños
INSERT INTO Dueños (IdDueños, Nombre, Cedula, Email) VALUES
(1, 'Carlos González', '1234567890', 'carlos.gonzalez@example.com'),
(2, 'Ana López', '0987654321', 'ana.lopez@example.com'),
(3, 'Jorge Pérez', '5678901234', 'mario.perez@example.com');

-- Inserción de datos en la tabla Ubicaccion 
INSERT INTO Ubicación (idUbicacion, Pais, Ciudad, Barrio, Direccion) VALUES
(1, 'Colombia', 'Bogotá', 'Chapinero', 'Calle 57 # 13 - 23'),
(2, 'Colombia', 'Medellín', 'Envigado', 'Carrera 43 A # 5 A Sur - 20'),
(3, 'Colombia', 'Cali', 'Poblado', 'calle 25 #12-12');








-- Inserción de datos en la tabla Arriendos
INSERT INTO Arriendos (IdArriendo, Fecha, FormaPago, ValorPago, Clientes_idClientes, Propiedades_idPropiedades) VALUES
(1, '2022-01-01', 'Transferencia bancaria', 1500000.00, 1, 1),
(2, '2022-02-01', 'Efectivo', 1000000.00, 2, 2),
(3, '2015-01-01', 'Cheque', 1200000.00, 3, 3);



-- Inserción de datos en la tabla Clientes
INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono)
VALUES (1, 'Juan', 'Perez', 'Calle 123 #45-67', '3001234567');

INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono)
VALUES (2, 'Maria', 'Gonzalez', 'Carrera 78 #90-12', '3109876543');

INSERT INTO Clientes (IdClientes, Nombre, Apellido, Direccion, Telefono)
VALUES (3, 'Pedro', 'Rodriguez', 'Avenida 56 #23-45', '3204567890');

-- Inserción de datos en la tabla Fiador

INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes)
VALUES (1, 'Luisa', 'Calle 98 #65-43', '3108765432', 1);

INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes)
VALUES (2, 'Jose', 'Avenida 34 #12-56', '3207890123', 2);

INSERT INTO Fiador (IdFiador, Nombre, Direccion, Telefono, Clientes_idClientes)
VALUES (3, 'Ana', 'Carrera 67 #89-01', '3002345678', 3);

-- Inserción de datos en la tabla Bienes

INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador)
VALUES (1, 'Apartamento en El Poblado', 'Carrera 12 #10-32', 400000, 1);

INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador)
VALUES (2, 'Casa en Envigado', 'Calle 15 #20-18', 700000, 2);

INSERT INTO Bienes (IdBienes, Nombre, Direccion, Valor, Fiador_idFiador)
VALUES (3, 'Apartamento en Belén', 'Carrera 34 #45-67', 500000, 3);

-- Inserción de datos en la tabla CertificadosLaboral

INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes)
VALUES (1, 'Certificado laboral para crédito bancario', '2022-04-15', 1);

INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes)
VALUES (2, 'Certificado laboral para arriendo de inmueble', '2022-05-02', 2);

INSERT INTO CertificadosLaboral (IdCertificadosLaboral, Descripcion, Fecha, Clientes_idClientes)
VALUES (3, 'Certificado laboral para solicitud de visa', '2022-06-22', 3);

-- Inserción de registros en la tabla Pagos
INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades)
VALUES (1, '2023-05-01', 1000.00, 1);

INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades)
VALUES (2, '2023-05-05', 1500.00, 2);

INSERT INTO Pagos (idPago, Fecha, Monto, Propiedades_idPropiedades)
VALUES (3, '2023-05-10', 1200.00, 3);












--Mostrar los datos de las propiedades con número de habitaciones mayor que 3 y tiene un área mayor que 68 mts2 o son tipo casa.

SELECT * FROM Propiedades 
WHERE (Habitaciones > 3 AND Area > 68) OR TipoInmueble_idTipoInmueble = (SELECT idTipoInmueble FROM TipoInmueble WHERE Nombre = 'Casa')

--Mostrar los datos de los pagos generados por la propiedad con dirección calle 25 #12-12.

SELECT p.idPago, p.Fecha, p.Monto
FROM Pagos p
JOIN Propiedades pr ON p.Propiedades_idPropiedades = pr.idPropiedades
JOIN Ubicación u ON pr.Ubicacion_idUbicacion = u.idUbicacion
WHERE u.Direccion = 'calle 25 #12-12';


--Mostrar los datos de las propiedades arrendadas en fechas menores a 01/01/2016

SELECT *
FROM Arriendos
INNER JOIN Propiedades ON Arriendos.Propiedades_idPropiedades = Propiedades.idPropiedades
WHERE Arriendos.Fecha < '2016-01-01';

--Mostrar los datos de clientes que han arrendado casas en el poblado y sus dueños son Jorge Pérez o Aníbal Ruiz

SELECT c.Nombre AS Cliente, c.Apellido, p.Descripcion AS Propiedad, d.Nombre AS Dueño
FROM Clientes c
JOIN Arriendos a ON c.IdClientes = a.Clientes_idClientes
JOIN Propiedades p ON a.Propiedades_idPropiedades = p.idPropiedades
JOIN Dueños d ON p.Dueños_idDueños = d.IdDueños
JOIN Ubicación u ON p.Ubicacion_idUbicacion = u.idUbicacion
WHERE u.Barrio = 'Poblado'
  AND (d.Nombre = 'Jorge Pérez' OR d.Nombre = 'Aníbal Ruiz');

martes, 9 de mayo de 2023

Introducción a los sistemas de base de datos

 ¿Qué importancia tienen las bases de datos en una organización?


Tienen mucha importancia ya que se encargan de organizar información de datos que por si solos no tienen sentido, las bases de datos relacionan toda la información y le dan sentido, permitiendo de esta manera que podamos consultar y actualizar esos datos. 

Diseño de base de datos en el MER

 El Modelo Entidad Relación tiene mucha importancia ya que nos permite por medio de esquemas organizar la información que se emplea en una base de datos, en el caso de las organizaciones o negocios, esta herramienta permite simplificar la información y representar los componentes que participan en la misma (Entidad, atributos, claves etc)


PLANTEAMIENTO DEL PROBLEMA 


Situación de una Agencia de Arrendamientos




 


Se requiere crear un modelo entidad relación que cuenta con las siguientes características:


a. Se tiene un conjunto de sedes que pertenecen a la agencia de arrendamiento en cada una hay un administrador responsable.


b. Cuenta con 5000 propiedades para cada propiedad que se arrienda se debe conocer su ubicación y sus características principales.


c. Cada propiedad tiene un dueño.


d. Para los que toman el arriendo de la propiedad que serían los clientes deben presentar certificados de trabajo.


e. Para que un cliente pueda tomar en arriendo una propiedad necesita proporcionar mínimo un fiador que cuente con uno o más bienes para que pueda respaldar el contrato de alquiler o arriendo.


f. Una propiedad varía su precio en cada nuevo contrato que realiza.


g.También se manejan los pagos que se han generado por cada contrato de arrendamiento de una determinada propiedad.


ORIENTACIONES PARA EL DESARROLLO DE LA TIA


Propósito: Aplicar el análisis o primera etapa del ciclo de vida de una base de datos a una situación propuesta.




El análisis o estudio inicial de la situación agencia de arrendamientos




1.1. Título: Arrendamientos Alnago




1.2. Análisis de la situación de una compañía XXX agencia de arrendamientos que conozca o que haya investigado.


En la reunión que se realiza con el cliente es muy importante dejar claro los grupos de usuarios que se van a manejar, que en este caso sería administrador de cada sede que tendría todos los permisos de acceso, encargado de ingresar los inmuebles y de realizar la muestra a los interesados, personal que se encarga del estudio para aprobación del inmueble y de pagos. 


En la agencia de arrendamientos es bastante indispensable la implementación de una base de datos ya que manejan mucha información, sus obligaciones principales radican en el manejo de los inmuebles que tengan a su cargo, datos del arrendador y arrendatario, información de pagos, empleados y pagos de nómina. Hay una alta tasa de frecuencia en la recepción de la información que debe ser guardada y almacenada para posteriores consultas, y adicional maneja un carácter confidencial pues la mayoría de su información es personal, sin embargo,hay información que es pública y puede ser visualizada a través de la página web propia por cualquier usuario, como los inmuebles disponibles y sus características principales evidenciadas con fotos.




1.3. Definir problemas y restricciones que se pueden presentar en la agencia.


Cada agencia tiene asignado un número determinado de propiedades en términos de permisos para modificar y actualizar información. Esto con el fin de evitar que se generen inserciones, borrados o modificaciones sobre la información desde varias sedes para una misma propiedad lo que podría desencadenar problemas de redundancia e inconsistencia de la integridad referencial de la base de datos.


Los clientes (arrendatarios) no tienen permiso para modificar información preexistente, solamente pueden adjuntar información nueva (información sobre fiador) que será revisada posteriormente por el administrador responsable y también solo tienen permiso para ver la información preexistente con fines de arrendamiento.


Solo los administradores de cada sede pueden modificar la información concerniente a los nuevos precios del arriendo que toma cada propiedad tras cada nuevo contrato; de igual manera, los administradores son los únicos que pueden acceder al historial de pagos generados por cada contrato. 


Los datos sobre las propiedades de ubicación y características principales debe tener unos campos (atributos) de obligatorio cumplimiento puesto que son de vital relevancia para la determinación del valor del arrendamiento, estos atributos son: ubicación, estratificación, tamaño, tipo de inmueble (casa, apto, etc), número de habitaciones y baños. En otras palabras, no pueden ser valores nulos o inexistentes puesto que son obligatorios.


Es posible que un cliente sea a la vez dueño de un inmueble pero esté arrendando otro inmueble por alguna razón por lo cual puede repetirse el nombre en varios campos de la base de datos.




1.4. Definir objetivos que se pretenden en la compañía con la solución en una base de datos.


Almacenar los datos de forma organizada y estructurada para gestionar más eficientemente el proceso de arrendamiento tanto para nuevos clientes como para los ya existentes al tiempo que se consigue un mejor manejo de los pagos y de los requerimientos necesarios para completar los contratos.


Asignar unos roles y unos permisos específicos para cada uno de los usuarios de los datos según el propósito que estos tengan para los mismos. 


Extraer información valiosa de los datos almacenados para generar estadísticas y visiones pormenorizadas del funcionamiento del negocio como las áreas de mayor movimiento, los cambios en los comportamientos del mercado de arriendos y de los usuarios, los perfiles de los mismos, etc. 




1.5. Definir alcance y límites de la situación agencia de arrendamientos dados los requerimientos.


La agencia no podrá procesar solicitudes de arrendamiento de clientes que sean independientes o que trabajan en la informalidad debido a que no podrían presentar certificados de trabajo.


Los fiadores deben ser solo propietarios lo cual limita la base de potenciales clientes.




El diseño en el modelo entidad relación de  la situación de una agencia de arrendamientos que incluya:




2.1. Identificación de entidades.


AGENCIA (superclase):


SEDE(subclase de agencia): lugar donde se tramitan los arrendamientos.


ADMINISTRADOR: persona encargada de manejar cada una de las sedes


PROPIEDAD: cada una de las instancias que están arrendadas o listas para ser arrendadas.


DUEÑO: cada uno de los interesados en poner un inmueble(s) en arriendo.


CLIENTE: cada uno de los potenciales arrendatarios.


CONTRATO: el documento que identifica las condiciones de arrendamiento para un cliente en una fecha determinada sobre una propiedad dada.


PAGO: el saldo que se ha pagado por cada contrato correspondiente a una propiedad, y se seguirá pagando durante el tiempo que este dure.


FIADOR: el individuo que posee los bienes que sirven como seguro o depósito para procesar el arrendamiento.




2.2. Identificación de relaciones. 


SEDE/PROPIEDAD: 1:N una sede debe tener varias propiedades a su cargo.


SEDE/ADMINISTRADOR: 1:1 una sede solo puede poseer un administrador.


PROPIEDAD/CLIENTE: 1:1 una propiedad puede ser arrendada por un cliente.


DUEÑO/PROPIEDAD: 1:N un dueño puede tener varias propiedades, en tanto que una propiedad debe pertenecer a un solo dueño.


CLIENTE/CONTRATO: 1:1 un cliente puede tener un solo contrato , en tanto que un contrato debe tener un solo cliente.


CONTRATO/PROPIEDAD: 1:1 un contrato debe tener una propiedad, en tanto una propiedad debe tener un contrato.


PAGO/CONTRATO: 1:1 un pago debe reflejar las condiciones de un solo contrato, en tanto que un contrato debe tener un solo pago.


CLIENTE/FIADOR: 1:N un cliente debe tener un fiador, en tanto un fiador puede ser asignado a muchos clientes.




2.3. Elaborar el diagrama inicial.





Implementación y manipulación de bases de datos

 Es muy importante en nuestro desarrollo como programadores saber SQL e implementar y manipular base de datos, es fundamental dominar base de datos porque SQL ese implementa en la mayoría de cosas cuando se va a programar, ya sea desarrollar aplicaciones, páginas web, etc. 

Patente estadounidense No 6016394

 Resumen de Patente estadounidense No 6016394

La patente se titula "Método y sistema para bases de datos". Su descripción es: Crear una aplicación de software de destino a partir de una descripción denominada diccionario que interopera con una aplicación de software genérica. Tras la independencia de la soberanía británica, Estados Unidos buscó mecanismos para estimular el crecimiento económico. Para ello, se propone establecer un sistema de patentes para estimular la producción intelectual, aprovechando al máximo los recursos naturales y la mano de obra del país. Por lo tanto, Estados Unidos presentó al mundo el primer sistema de patentes moderno, basado en principios democráticos amplios, por el cual cualquiera podía patentar su invención.


Este sistema se diferenciaba del sistema de la época en que buscaba divulgar efectivamente el conocimiento de la solicitud presentada e implementar un sistema de examen basado en el examen de la novedad, no obviedad y utilidad de la invención, que debía ser realizado por un examinador técnico. Capacitado para garantizar que la invención realmente represente tecnología de punta. En un corto período de tiempo, el número de solicitudes de patentes en los Estados Unidos ha superado el número de solicitudes de patentes relacionadas con el Reino Unido, que se originan tanto en áreas rurales como urbanas de la región. Hoy en día, el sistema de patentes de EE. UU. sigue siendo único en el mundo y conserva las características que lo distinguen de sus orígenes. Primero, es un incentivo económico para seguir ofreciendo descuentos a las pequeñas empresas. Por lo tanto, el sistema de patentes de EE. UU. ofrece varias ventajas para que los solicitantes demuestren sus invenciones, contando con un sistema de examinación único que busca garantizar la validez de las concesiones otorgadas.


Un sistema y método para el software de administración de bases de datos asistido por computadora para crear aplicaciones de software de destino a partir de descripciones llamadas diccionarios que interactúan con aplicaciones de software genéricas. El contenido del diccionario personaliza la aplicación genérica en la aplicación de software de destino, generada por un diálogo de alto nivel entre el diseñador de la aplicación y el editor gráfico de la aplicación. En el campo de la innovación, se sitúa como un referente en informática, especialmente en la automatización de la creación de aplicaciones de software interactivo con bases de datos. Esto conduce a un diálogo entre humanos de alto nivel y máquinas.


En cuanto al estado temporal de la implementación, se basa en necesidades que se hacen evidentes a medida que las transacciones comerciales complejas se vuelven más complejas. Las discusiones sobre las aplicaciones de software y los defectos de calidad involucrados en el desarrollo dan como resultado productos entregados que son visualmente defectuosos e inconsistentes con el resto de la aplicación, y los cambios en la tecnología requieren una innovación acorde con la complejidad de la aplicación. Por lo tanto, existe la necesidad de un "método y sistema para la creación automática o altamente automatizada de aplicaciones de software de bases de datos complejas, sin la necesidad de una programación detallada, tradicional y exhaustiva".


Entre los objetivos de la innovación, se destacan los siguientes objetivos: Proporcionar un método para crear un software de administración de bases de datos asistido por computadora, con la ayuda de una aplicación de software de propósito general que interactúa con una base de datos extendida, entre otras cosas, para proporcionar una base de datos asistida por computadora. Creación de una aplicación del sistema de objetos para gestionar la base de datos de la aplicación. La innovación proporciona una interfaz de usuario y manipulación de los datos contenidos en la base de datos de la aplicación. Como se mencionó anteriormente, la base de datos de destino puede incluso existir antes de que se cree la aplicación para interactuar con ella, por lo que permite que la estructura se cree al mismo tiempo.

REDA: Gestión de información desde bases de datos

 






Comparación SGDB

 Los Sistemas de Gestión de Bases de Datos (SGBD) son herramientas muy importantes para el manejo de grandes cantidades de datos. A continuación, se presenta un cuadro comparativo entre algunos de los SGBD más representativos en el mercado:



  • Tipo: indica si el SGBD es relacional o no relacional.
  • Licencia: indica si el SGBD es comercial o libre.
  • Lenguaje: indica el lenguaje de consulta utilizado por el SGBD.
  • Escalabilidad: indica la capacidad del SGBD para escalar y manejar grandes cantidades de datos.
  • Confiabilidad: indica la capacidad del SGBD para mantener la integridad y consistencia de los datos.
  • Interfaz: indica la interfaz utilizada para interactuar con el SGBD.
  • Soporte de plataforma: indica las plataformas en las que se puede utilizar el SGBD.
Es importante mencionar que la elección del SGBD adecuado dependerá de las necesidades específicas de cada proyecto y de los recursos disponibles.

lunes, 8 de mayo de 2023

Tarea: Informe - Transformaciones lineales

 

Tarea: Informe - Transformaciones lineales

 

 


 

 

 

 

 

JENIFER RESTREPO MONSALVE

 

 

 

 

INSTITUCIÓN UNIVERSITARIA PASCUAL BRAVO

FACULTAD DE INGENIERÍA

TECNOLOGÍA EN DESARROLLO DE SOFTWARE

2023

 

Tarea: Informe - Transformaciones lineales

 

 

 

 

 

 

1.       ¿Qué es una transformación lineal?

Una transformación lineal es una función matemática que mantiene las propiedades de linealidad, es decir, la aditividad y homogeneidad de la multiplicación por un escalar, y se utiliza para transformar vectores de un espacio vectorial en otro espacio vectorial. En términos más simples, una transformación lineal es una operación matemática que convierte un vector de un espacio en otro espacio, manteniendo la linealidad.

 

2.       ¿Cuáles son las condiciones para que exista una transformación lineal?

Para que exista una transformación lineal, se deben cumplir dos condiciones fundamentales:

 

La aditividad: T(u + v) = T(u) + T(v) para cualquier par de vectores u y v en el espacio vectorial.

La homogeneidad: T(cu) = cT(u) para cualquier vector u en el espacio vectorial y cualquier escalar c.

3.       Al menos cinco propiedades o teoremas de las transformaciones lineales

Las transformaciones lineales tienen varias propiedades y teoremas, algunos de los cuales se enumeran a continuación:

·         Teorema de la imagen: El rango de una transformación lineal es el conjunto de todas las posibles imágenes de un espacio vectorial.

·         Teorema del núcleo: El núcleo de una transformación lineal es el conjunto de todos los vectores del espacio vectorial que se mapean en el vector nulo del espacio de llegada.

·         Teorema de la dimensión: El teorema de la dimensión establece que la dimensión del núcleo más la dimensión del rango de una transformación lineal es igual a la dimensión del espacio vectorial de partida.

·         Teorema del isomorfismo: El teorema del isomorfismo afirma que si una transformación lineal es biyectiva, entonces los espacios vectoriales de partida y llegada son isomorfos, es decir, tienen la misma estructura algebraica.

·         Propiedad de composición: La composición de dos transformaciones lineales es también una transformación lineal.

 

 

 

 

 

 

4.       Un ejemplo de una transformación lineal.

Un ejemplo común de una transformación lineal es la rotación de un vector en un plano. Supongamos que tenemos un vector v = (x, y) y queremos rotarlo 90 grados en sentido antihorario. La transformación lineal de la rotación se puede representar mediante la matriz de transformación:

R = [0 -1]

    [1  0]

Aplicando la multiplicación matricial, podemos calcular la imagen de v bajo la transformación lineal de rotación:

Rv = [0 -1] [x] = [-y]

     [1  0] [y]   [x ]

 

Por lo tanto, la imagen de v después de la rotación es (-y, x).

 

5.       Cómo probar una transformación lineal:

Para probar que una transformación es lineal, debemos verificar que cumple con las dos propiedades básicas de linealidad: la aditividad y la homogeneidad. Es decir, que para cualquier par de vectores u y v, y cualquier escalar a, se cumpla que:

 

T(u + v) = T(u) + T(v)

T(a u) = a T(u)

 

Además, también podemos comprobar si se cumple la condición de preservar la estructura vectorial, es decir, si para cualquier par de vectores u y v, se cumple que:

 

T(u + v) = T(u) + T(v)

T(c u) = c T(u)

 

Donde c es un escalar. Si todas estas condiciones se cumplen, entonces podemos concluir que la transformación es lineal.

 

Espacios Vectoriales

 Un espacio vectorial es un conjunto no vacío 

 de objetos, llamados vectores, en el que se han definido dos operaciones: la suma y el producto por un escalar (número real) sujetas a los diez axiomas que se dan a continuación. Los axiomas deben ser válidos para todos los vectores  y  en  y todos los escalares  y  reales.
Llamamos + a la suma de vectores en , y  al producto de un número real  por un vector .

1. +
2. +=+
3. (+)+=+(+)
4. Existe un vector nulo 0 tal que +0=
5. Para cada  en , existe un opuesto () tal que +()=0
6. 
7. (+)=+
8. (+)=+
9. ()=()
10. 1=


Observación: En la definición anterior, cuando decimos «escalares» nos estamos refiriendo a números reales. En este caso, se dice que V  es un espacio vectorial real.




Mapa mental-informe final de auditoría