hice un rename
This commit is contained in:
9
BasesDeDatos/cosasquenoanotelaclase/1.md
Normal file
9
BasesDeDatos/cosasquenoanotelaclase/1.md
Normal file
@@ -0,0 +1,9 @@
|
||||
# Problemas
|
||||
- Falta de auditoria
|
||||
- El contador asigna presupuesto a cosas fuera de su dominio de conocimiento.
|
||||
- El presupuesto no existe.
|
||||
- Gerente de sistemas no participa en reuniones de gestión.
|
||||
- Falta Transparencia sobre las actas de las reuniones.
|
||||
- El plan estrategico no tiene en cuenta "Investigacion y Desarrollo".
|
||||
- El Gerente de administracion tiene la palabra final sobre decisiones fuera de su dominio.
|
||||
|
||||
44
BasesDeDatos/cosasquenoanotelaclase/Indices ej.org
Normal file
44
BasesDeDatos/cosasquenoanotelaclase/Indices ej.org
Normal file
@@ -0,0 +1,44 @@
|
||||
#+title: TP Indices Logico
|
||||
|
||||
* Intro
|
||||
Es una estructura de base de datos que mejora la velocidad de
|
||||
recuperación de datos al asignar los valores de una columna
|
||||
(o un conjunto de columnas) a la ubicación física de las filas asociadas.
|
||||
|
||||
** En resumen
|
||||
Consiste en la implementacion real sobre la cual se almacena los datos dentro del disco
|
||||
|
||||
* Ventajas
|
||||
1. Aceleran el rendimiento de las consultas\\
|
||||
o Ejemplo: Buscar un producto por su código en una tabla de millones de registros se vuelve casi instantáneo si hay un índice sobre ese campo.
|
||||
o Beneficio: Reduce el tiempo de respuesta en operaciones SELECT, JOIN, WHERE, ORDER BY.
|
||||
2. Facilitan el almacenamiento y generación de informes\\
|
||||
o Ejemplo: Si generás reportes frecuentes basados en fechas o regiones, un índice en esos campos mejora la velocidad de los informes.
|
||||
o Beneficio: Mejora la eficiencia del análisis de datos y la toma de decisiones.
|
||||
3. Permiten mantener la integridad de los datos mediante índices únicos\\
|
||||
o Ejemplo: Un índice único en el campo email evita que se registren dos usuarios con el mismo correo.
|
||||
o Beneficio: Asegura la unicidad y evita duplicados no deseados.
|
||||
4. Optimiza operaciones de manipulación de datos\\
|
||||
o Ejemplo: Al actualizar registros específicos, el índice permite localizarlos más rápido.
|
||||
o Beneficio: Mejora el rendimiento de operaciones UPDATE y DELETE selectivas.
|
||||
|
||||
* Desventajas
|
||||
1. Impactan el rendimiento de escritura\\
|
||||
o Explicación: Cada vez que se inserta, actualiza o elimina un registro, también hay que modificar el índice.
|
||||
o Ejemplo: En una base de datos con inserciones constantes (como registros de sensores en tiempo real), los índices pueden ralentizar el rendimiento.
|
||||
2. Consumen espacio y memoria\\
|
||||
o Explicación: Los índices ocupan espacio adicional en disco y en memoria para su mantenimiento.
|
||||
o Ejemplo: Si hay muchos índices en una tabla, pueden ocupar tanto espacio como los datos mismos.
|
||||
3. Estrategias de indexación inadecuadas afectan el rendimiento\\
|
||||
o Explicación: Demasiados índices, o índices en columnas poco utilizadas, pueden hacer que el sistema desperdicie recursos.
|
||||
o Ejemplo: Si se indexan campos que rara vez se usan en consultas, se incurre en sobrecarga sin beneficio real.
|
||||
|
||||
|
||||
* Ejemplo
|
||||
1. Índice compuesto\\
|
||||
Consiste en la utilizacion de varisa columnas para tanto hacer que la tabla este ordenada por ambas columnas como acelerar busquedas usando esas columnas
|
||||
2. Índice UNIQUE\\
|
||||
Su principal utilidad, además de la aceleracion de las busquedas, Es una restriccion a la insercion en la tabla
|
||||
|
||||
* Cuando se recomienda
|
||||
Los índices físicos en SQL son recomendables para mejorar la velocidad de consulta cuando se realizan búsquedas frecuentes en ciertas columnas, especialmente en cláusulas WHERE o JOIN
|
||||
47
BasesDeDatos/cosasquenoanotelaclase/actividad1.org
Normal file
47
BasesDeDatos/cosasquenoanotelaclase/actividad1.org
Normal file
@@ -0,0 +1,47 @@
|
||||
#+title: Actividad1
|
||||
#+author: Federico Polidoro & Luca Troiano
|
||||
#+options: toc:0
|
||||
#+latex_class: article
|
||||
#+latex_class_options:
|
||||
#+latex_header: \usepackage[a4paper, left=2cm, right=2cm, top=2cm, bottom=2cm]{geometry}
|
||||
#+latex_header_extra:
|
||||
#+description:
|
||||
#+keywords:
|
||||
#+subtitle:
|
||||
#+latex_footnote_command: \footnote{%s%s}
|
||||
#+latex_engraved_theme:
|
||||
#+latex_compiler: pdflatex
|
||||
#+date: \today
|
||||
|
||||
* Listar los vuelos cuyo kilometraje sea mayor al promedio general.
|
||||
|
||||
#+begin_src sql
|
||||
Select * from Vuelos
|
||||
where km > (Select avg(km) from Vuelos);
|
||||
#+end_src
|
||||
* Mostrar los aviones cuya cantidad de pasajeros sea mayor que la de todos los aviones del año 2019.
|
||||
|
||||
#+begin_src sql
|
||||
SELECT * FROM Aviones aa
|
||||
WHERE aa.pasajeros > (SELECT a.pasajeros Aviones a
|
||||
WHERE AñoFabricacion = 2019);
|
||||
#+end_src
|
||||
* Mostrar los aviones cuya cantidad de pasajeros sea mayor que la alguno los aviones del año 2019.
|
||||
|
||||
#+begin_src sql
|
||||
SELECT * FROM Aviones
|
||||
WHERE pasajeros > (SELECT TOP 1 a.pasajeros FROM Aviones a
|
||||
WHERE AñoFabricacion = 2019)
|
||||
#+end_src
|
||||
* Mostrar todos los propietarios que tienen aviones registrados.
|
||||
|
||||
#+begin_src sql
|
||||
SELECT * FROM Propietarios p
|
||||
WHERE p.Id = (SELECT PropietarioID FROM Propietario_Avion pv);
|
||||
#+end_src
|
||||
* Mostrar el/los avión/es que tenga la mayor capacidad de pasajeros.
|
||||
|
||||
#+begin_src sql
|
||||
SELECT TOP 1 * FROM Aviones a
|
||||
ORDER BY a.pasajeros;
|
||||
#+end_src
|
||||
BIN
BasesDeDatos/cosasquenoanotelaclase/actividad1.pdf
Normal file
BIN
BasesDeDatos/cosasquenoanotelaclase/actividad1.pdf
Normal file
Binary file not shown.
162
BasesDeDatos/cosasquenoanotelaclase/actividad2.org
Normal file
162
BasesDeDatos/cosasquenoanotelaclase/actividad2.org
Normal file
@@ -0,0 +1,162 @@
|
||||
#+title: Actividad2
|
||||
|
||||
#+begin_src sql
|
||||
USE [master]
|
||||
GO
|
||||
/****** Object: Database [Vuelos] Script Date: 7/4/2025 23:02:58 ******/
|
||||
CREATE DATABASE [Vuelos]
|
||||
GO
|
||||
USE [Vuelos]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Aviones] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Aviones](
|
||||
[id_avion] [int] NOT NULL,
|
||||
[id_prop] [int] NULL,
|
||||
[cant_p] [int] NULL,
|
||||
[anio] [int] NULL,
|
||||
[matricula] [nvarchar](60) NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id_avion] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Escalas] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Escalas](
|
||||
[id_escala] [int] NOT NULL,
|
||||
[id_vuelo] [int] NULL,
|
||||
[id_avion] [int] NULL,
|
||||
[ori] [nvarchar](60) NULL,
|
||||
[dest] [nvarchar](60) NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id_escala] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Localidades] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Localidades](
|
||||
[cp] [int] NOT NULL,
|
||||
[localidad] [nvarchar](60) NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[cp] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Pasajeros] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Pasajeros](
|
||||
[dni] [nvarchar](12) NOT NULL,
|
||||
[apellido] [nvarchar](10) NULL,
|
||||
[nombre] [nvarchar](10) NULL,
|
||||
[telefono] [nvarchar](20) NULL,
|
||||
[mail] [nvarchar](60) NULL,
|
||||
[cp] [int] NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[dni] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Propietarios] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Propietarios](
|
||||
[id_prop] [int] NOT NULL,
|
||||
[cuit] [nvarchar](13) NULL,
|
||||
[domicilio] [nvarchar](60) NULL,
|
||||
[nombre] [nvarchar](12) NULL,
|
||||
[apellido] [nvarchar](12) NULL,
|
||||
[cp] [int] NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id_prop] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Vuelos] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Vuelos](
|
||||
[id_vuelo] [int] NOT NULL,
|
||||
[ori] [nvarchar](12) NULL,
|
||||
[dest] [nvarchar](12) NULL,
|
||||
[km] [int] NULL,
|
||||
[fecha] [date] NULL,
|
||||
[horas] [nvarchar](6) NULL,
|
||||
[horaa] [nvarchar](6) NULL,
|
||||
[id_avion] [int] NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id_vuelo] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
/****** Object: Table [dbo].[Vuelos_pasajeros] Script Date: 7/4/2025 23:02:58 ******/
|
||||
SET ANSI_NULLS ON
|
||||
GO
|
||||
SET QUOTED_IDENTIFIER ON
|
||||
GO
|
||||
CREATE TABLE [dbo].[Vuelos_pasajeros](
|
||||
[id_vuelo] [int] NOT NULL,
|
||||
[dni] [nvarchar](12) NOT NULL,
|
||||
PRIMARY KEY CLUSTERED
|
||||
(
|
||||
[id_vuelo] ASC,
|
||||
[dni] ASC
|
||||
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
|
||||
) ON [PRIMARY]
|
||||
GO
|
||||
ALTER TABLE [dbo].[Aviones] WITH CHECK ADD FOREIGN KEY([id_prop])
|
||||
REFERENCES [dbo].[Propietarios] ([id_prop])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Escalas] WITH CHECK ADD FOREIGN KEY([id_avion])
|
||||
REFERENCES [dbo].[Aviones] ([id_avion])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Escalas] WITH CHECK ADD FOREIGN KEY([id_vuelo])
|
||||
REFERENCES [dbo].[Vuelos] ([id_vuelo])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Pasajeros] WITH CHECK ADD FOREIGN KEY([cp])
|
||||
REFERENCES [dbo].[Localidades] ([cp])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Propietarios] WITH CHECK ADD FOREIGN KEY([cp])
|
||||
REFERENCES [dbo].[Localidades] ([cp])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Vuelos] WITH CHECK ADD FOREIGN KEY([id_avion])
|
||||
REFERENCES [dbo].[Aviones] ([id_avion])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Vuelos_pasajeros] WITH CHECK ADD FOREIGN KEY([id_vuelo])
|
||||
REFERENCES [dbo].[Vuelos] ([id_vuelo])
|
||||
GO
|
||||
ALTER TABLE [dbo].[Vuelos_pasajeros] WITH CHECK ADD FOREIGN KEY([dni])
|
||||
REFERENCES [dbo].[Pasajeros] ([dni])
|
||||
GO
|
||||
USE [master]
|
||||
GO
|
||||
ALTER DATABASE [Vuelos] SET READ_WRITE
|
||||
GO
|
||||
|
||||
|
||||
|
||||
|
||||
#+end_src
|
||||
50
BasesDeDatos/cosasquenoanotelaclase/autoeval.org
Normal file
50
BasesDeDatos/cosasquenoanotelaclase/autoeval.org
Normal file
@@ -0,0 +1,50 @@
|
||||
#+title: Auto-Evaluacion
|
||||
#+author: Federico Polidoro
|
||||
|
||||
* ¿Qué tareas realiza un DBA en una empresa mediana o grande?
|
||||
Mencioná al menos 5 tareas clave que le corresponden a un administrador de base de datos.
|
||||
|
||||
** Rta
|
||||
se encarga de:
|
||||
- Diseñar las tablas y consultas que se hacen a la base de datos.
|
||||
- Garantiza que la base de datos mantenga integridad.
|
||||
- Se encarga de que la base de datos opere utilizando los recursos necesarios.
|
||||
- Realiza copias de seguridad o configura la realizacion de copias de seguridad automaticas de la base de datos.
|
||||
- Se encarga de que la basse de datos siga normas de seguridad (ej, ISO 27001).
|
||||
|
||||
* ¿Por qué es importante el mantenimiento preventivo en una base de datos?
|
||||
Explicá con tus palabras qué implica hacer mantenimiento y qué riesgos se podrían evitar.
|
||||
|
||||
** Rta
|
||||
Realizar mantenimiento podria implicar:
|
||||
- Revisar los logs de la base de datos para detectar potenciales actores maliciosos con acceso a la informacion.
|
||||
- Revisar la integridad del medio de almacenamiento donde opera la base de datos.
|
||||
- Revisar que no se quede sin almacenamiento el servidor.
|
||||
|
||||
Esto podria evitar:
|
||||
- Perdidas de informacion.
|
||||
- Que la base de datos sea comprometida.
|
||||
- Caidas en el servicio donde la base de datos se encuentra operacional.
|
||||
|
||||
* ¿Qué habilidades técnicas debe tener un buen DBA?
|
||||
Listá al menos 3 conocimientos o competencias técnicas necesarias, y explicá brevemente por qué.
|
||||
|
||||
** Rta
|
||||
1. Un Dba debe tener conocimiento sobre "Normalizacion de Bases de Datos".
|
||||
2. Conocer el tipo de base de datos y/o la base de datos que utiliza el empleador.
|
||||
3. Tener conocimiento sobre el lenguaje de querys utilizado por la base de datos.
|
||||
|
||||
* ¿Qué decisiones toma un DBA en relación con la seguridad de los datos?
|
||||
Dá ejemplos de medidas que podría aplicar.
|
||||
|
||||
** Rta
|
||||
Realizar copias de seguridad y restrigir el acceso de cada usuario con permisos que tengan sentido para su caso de uso (no le das permiso de dropear tablas a un cajero).
|
||||
|
||||
* Imaginá que sos el/la DBA de un sistema crítico de salud.
|
||||
¿Qué aspectos serían prioritarios en tu trabajo diario y por qué?
|
||||
(Pensá en seguridad, disponibilidad, integridad, backups, etc.)
|
||||
|
||||
** Rta
|
||||
Es prioritaria la disponibilidad de los datos ante el personal medio, ya que, estos necesitan acceso rapido a la historia medica del cliente. esto les facilita determinar que medicamento pueden o no tomar en base a si tienen alguna patologia que no les permita consumirlo.
|
||||
|
||||
Igual de importante es la integridad y backups, es debido a estos, que se considera viable almacenar la informacion de cada paciente a largo plazo
|
||||
BIN
BasesDeDatos/cosasquenoanotelaclase/autoeval.pdf
Normal file
BIN
BasesDeDatos/cosasquenoanotelaclase/autoeval.pdf
Normal file
Binary file not shown.
BIN
BasesDeDatos/cosasquenoanotelaclase/indices (4).pdf
Normal file
BIN
BasesDeDatos/cosasquenoanotelaclase/indices (4).pdf
Normal file
Binary file not shown.
23
BasesDeDatos/cosasquenoanotelaclase/informe1.org
Normal file
23
BasesDeDatos/cosasquenoanotelaclase/informe1.org
Normal file
@@ -0,0 +1,23 @@
|
||||
#+title: Informe Base de Datos
|
||||
#+author: Federico Polidoro
|
||||
#+options: toc:2
|
||||
|
||||
* Rol del Dba
|
||||
Este es un profesional dedicado a salvaguardar la integridad, accesibilidad de la base de datos. Dado que la principal activiadad economica de la empresa es la venta online es de altisima importancia la latencia que hay entre un cliente accediendo la pagina y el primer momento donde podemos mostrarle cuales son los productos que la empresa posee a la venta. Además Se hace responsabilidad del DBA la generacion de querys utilizadas para generar los informes utilizados por la junta directiva, encargada de la toma de desiciones.
|
||||
|
||||
Las principales tareas vinculadas al mantenimiento son:
|
||||
** Simulacros de Backup
|
||||
Una vez por semana se carga los backups del servidor de produccion en el de testeo para verificar que los backups son utilizables en un caso de que la base de datos principal haya tenido un problema el cual pudiera comprometer sus datos.
|
||||
|
||||
** BenchMarking y Optimizacion de querys
|
||||
En caso de que una query no sea lo suficientemente rapida el DBA deberá de mirar potenciales problemas con ella para asi poder identificar si es necesario crear indices en las tablas o modificar la logica detras de la query.
|
||||
|
||||
** Definicion de politicas de acceso
|
||||
El DBA debera
|
||||
|
||||
* Caracteristicas Clave del DBA
|
||||
** Buenas Practicas
|
||||
Es imperativo que el DBA conozca de normalizacion de bases de datos y haya creado las tablas teniendo en cuenta las potenciales querys que se podrian realizar hacia ellas. y asi que los indices utilizados en las tablas sean los optimos para las querys necesitadas por el cliente.
|
||||
|
||||
** Conocimientos Tecnicos
|
||||
Debe de conocer el funcionamientto de la base de datos internamente. y conocimientos sobre SQL como lo podria ser: JOINS, SUBCONSULTAS, PUNTEROS, INDICES.
|
||||
Reference in New Issue
Block a user