Alcance Del ACA - Enero - 19

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Alcance del ACA

Especialización en Analítica de datos


Código 84ET8

Wendy Cifuentes Parra


Dayanna Julio Ramírez
Biviana Patiño Fonseca
Wilson Sinuco Moreno
Stevens Moriano
Contenido

 Descarga e instalación de SQL Server 2022


 Diseño Entidad-Relación
 Diccionario de Datos
 Modelo entidad relación del Sistema de gestión de Base de
Datos configurado en el entorno local
 Queries
Validación de la Instalación
Diseño Entidad-Relación
DICCIONARIO DE DATOS
Customers
Columna Tipo de Dato Descripción
PK CustomerID Entero INT Identificador único del cliente
CustomerName Cadena de caracteres VARCHAR Nombre de la empresa cliente
ContactName Cadena de caracteres VARCHAR Nombre de la persona de contacto
Address Cadena de caracteres VARCHAR Dirección de la empresa cliente
City Cadena de caracteres VARCHAR Ciudad donde se encuentra la empresa cliente
PostalCode Cadena de caracteres VARCHAR Código postal del cliente
Country Cadena de caracteres VARCHAR País donde se encuentra la empresa cliente

Categories
Columna Tipo de Dato Descripción
PK CategoryID Entero INT Identificador único de la categoría
CategoryName Cadena de caracteres VARCHAR Nombre de la categoría
Description Cadena de caracteres VARCHAR Descripción de la categoría

Employees
Columna Tipo de Dato Descripción
PK EmployeeID Entero INT Identificador único del empleado
LastName Cadena de caracteres VARCHAR Apellido del empleado
FirstName Cadena de caracteres VARCHAR Nombre del empleado
BirthDate Fecha DATE Fecha de nacimiento del empleado
Photo Cadena de caracteres VARCHAR Ruta o nombre de archivo de la foto del empleado
Notes Texto TEXT Notas o información adicional sobre el empleado
Shippers
Columna Tipo de Dato Descripción
PK ShipperID Entero INT Identificador único del transportista
ShipperName Cadena de caracteres VARCHAR Nombre del transportista
Phone Cadena de caracteres VARCHAR Número de teléfono del transportista

Suppliers
Columna Tipo de Dato Descripción
FK SupplierID Entero INT Identificador único del proveedor
SupplierName Cadena de caracteres VARCHAR Nombre del proveedor
ContactName Cadena de caracteres VARCHAR Nombre de contacto del proveedor
Address Cadena de caracteres VARCHAR Dirección del proveedor
City Cadena de caracteres VARCHAR Ciudad donde está ubicado el proveedor
PostalCode Cadena de caracteres VARCHAR Código postal del proveedor
Country Cadena de caracteres VARCHAR País donde está ubicado el proveedor
Phone Entero INT Número de teléfono del proveedor

Products
Columna Tipo de Dato Descripción
PK ProductID Entero INT Identificador único del producto
ProductName Texto TEXT Nombre del producto
FK SupplierID Entero INT Identificador único del proveedor
FK CategoryID Entero INT Identificador único de la categoría
Unit Texto TEXT Unidad de medida del producto
Price Decimal FLOAT Precio unitario del producto
Order
Columna Tipo de Dato Descripción
PK OrderID Entero INT Identificador único del pedido
FK CustomerID Entero INT Identificador único del cliente
FK EmployeeID Entero INT Identificador único del empleado
OrderDate Fecha DATE Fecha en que se realizó el pedido
FK ShipperID Entero INT Identificador único de la empresa de envío

OrderDetails
Columna Tipo de Dato Descripción
PK OrderDetailID Entero INT Identificador único del detalle del pedido
FK OrderID Entero INT Identificador único del pedido
FK ProductID Entero INT Identificador único del producto
Quantity Entero INT Cantidad del producto en el detalle del pedido
Modelo entidad relación del Sistema de gestión de Base de
Datos configurado en el entorno local.
a. ¿Cuál es el proveedor que más productos
suministra? Ayuda: Usen las tablas Supplier y
Products
SELECT top(1) Suppliers.SupplierName,COUNT(Products.SupplierID) AS 'Numero de
productos'
FROM Products
INNER JOIN Suppliers on Suppliers.SupplierID=Products.SupplierID
GROUP BY Suppliers.SupplierName
order by COUNT(Products.SupplierID) DESC;
Mediante la queries pudimos conocer que 2
proveedores son los que suministran mas
productos.
SELECT top(5) Suppliers.SupplierName,COUNT(Products.SupplierID) AS 'Numero
de productos'
FROM Products
INNER JOIN Suppliers on Suppliers.SupplierID=Products.SupplierID
GROUP BY Suppliers.SupplierName
order by COUNT(Products.SupplierID) DESC;
¿Cuál empleado ha realizado más ventas?
Ayuda: Usen las tablas Employees, Orders,
OrderDetails

SELECT Employees.EmployeeID as 'COD Employee',


Employees.LastName,Employees.FistName,
COUNT(Orders.EmployeedID) AS 'Numero de Ordenes'
FROM Orders INNER JOIN Employees
on Employees.EmployeeID=Orders.EmployeedID
GROUP BY Employees.EmployeeID,Employees.LastName,Employees.FistName
ORDER BY COUNT(Orders.EmployeedID) DESC;
Diseñar Y Definir El Estándar De Buenas Prácticas De
Sql.
Definir las políticas para su uso: quien lo va a utilizar, donde se va a publicar, quien le hará
mantenimiento a los estándares, cada cuanto se revisarán y quien vigilará que los
estándares se realicen:

1. Quién lo Va a Utilizar:
Equipo de Desarrollo y DBAs:
Responsabilidad: Los desarrolladores y administradores de bases de datos serán los
principales usuarios de los estándares SQL.
2. Dónde se Va a Publicar:
Repositorio Centralizado:
Responsabilidad: Los estándares se publicarán en un repositorio centralizado accesible para
todos los miembros del equipo.
Formato: Documento en formato markdown.
3. Quién le Hará Mantenimiento a los Estándares:
Administrador de Bases de Datos (DBA) Principal:
Responsabilidad: El DBA principal será responsable de mantener y actualizar los estándares
en función de las evoluciones tecnológicas y las necesidades del equipo.
Frecuencia: Actualizaciones trimestrales, o según sea necesario.
4. Cada Cuánto se Revisarán:
Revisiones Trimestrales:
Responsabilidad: Se realizarán revisiones trimestrales para evaluar la relevancia y eficacia de
los estándares.
Participación: Involucrar a miembros clave del equipo de desarrollo y DBAs.
5. Quién Vigilará que los Estándares se Realicen:
Coordinador de Calidad de Código:
Responsabilidad: Un coordinador de calidad de código será designado para vigilar y asegurar
que los estándares se sigan en los proyectos.
Reportes: Generar informes periódicos sobre el cumplimiento de los estándares.
RAZON ESTANDAR EJEMPLO

CONVENCIONES DE Facilita la comprensión Tablas: Singular, en mayúsculas y ID del Estándar: SQL-001


NOMBRES CLARAS del código y mejora la con palabras clave claras (e.g., Nombre del Estándar: Convenciones de Nombres
legibilidad. Usuario). Claras
Columnas: En minúsculas y con Responsable: Equipo de Desarrollo
nombres descriptivos (e.g., Fecha de Creación: 01/01/2023
nombre_usuario). Fecha de Actualización: 15/04/2023

USO DE CLAVES Garantiza unicidad y Cada tabla debe tener una clave ID del Estándar: SQL-002
PRIMARIAS facilita la referencia primaria definida, preferiblemente Nombre del Estándar: Uso de Claves Primarias
entre tablas utilizando ID como nombre. Responsable: DBA Principal
Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023

EVITAR EL USO DE Mejora el rendimiento Especificar columnas específicas en ID del Estándar: SQL-003
SELECT * y evita la transmisión las consultas (SELECT columna1, Nombre del Estándar: Evitar el Uso de SELECT *
innecesaria de datos columna2) en lugar de SELECT * Responsable: Coordinador de Calidad de Código
Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023

USO DE Evita la vulnerabilidad Utilizar parámetros en consultas ID del Estándar: SQL-004


PARÁMETROS EN de SQL Inyección y dinámicas en lugar de concatenación Nombre del Estándar: Uso de Parámetros en
CONSULTAS mejora la seguridad. de cadenas. Consultas Dinámicas
DINÁMICAS Responsable: DBA Principal
Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023
DOCUMENTACIÓN DE Facilita el mantenimiento y la Comentar de manera clara y ID del Estándar: SQL-005
CÓDIGO colaboración en equipo. concisa los bloques de Nombre del Estándar: Documentación de
código, especialmente en Código
procedimientos Responsable: Equipo de Desarrollo
almacenados y funciones Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023

TRANSACCIONES Garantiza la integridad de Agrupar operaciones ID del Estándar: SQL-006


ATÓMICAS los datos y evita relacionadas en Nombre del Estándar: Transacciones
inconsistencias. transacciones, asegurando Atómicas
que todas se completen o Responsable: Coordinador de Calidad de
ninguna. Código
Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023

REVISIÓN DE PLANES DE Optimiza el rendimiento de Analizar y revisar ID del Estándar: SQL-007


EJECUCIÓN las consultas regularmente los planes de Nombre del Estándar: Revisión de Planes de
ejecución para identificar Ejecución
posibles mejoras en la Responsable: DBA Principal
eficiencia Fecha de Creación: 01/01/2023
Fecha de Actualización: 15/04/2023
Estrategia para gestionar la seguridad de los datos
en la BD
COPIA DE SEGURIDAD

PERIODICIDAD La frecuencia de las copias de seguridad debe equilibrar la necesidad de proteger datos críticos
con el impacto en el rendimiento del sistema se recomienda tener una matriz BIA que permita
evaluar la criticidad de las aplicaciones, estas pueden tener las siguientes periodicidades según la
necesidad del negocio
DIARIAS PARA DATOS CRÍTICOS Almacenar copias de seguridad en ubicaciones seguras y descentralizadas garantiza la
recuperación incluso en situaciones de desastre para esto se recomienda tener un PCN “Plan de
continuidad del negocio” algunas opciones son las siguientes

Servidores Locales y Remotos: Mantener copias de seguridad en servidores locales y remotos


para redundancia.
Servicios en la Nube: Utilizar servicios en la nube para almacenar copias de seguridad de forma
segura.
Es de resaltar que se deben tener mínimo 3 copias de seguridad y es recomendable que estas
estén en local, remoto y en nube, en ubicaciones diferentes a los servidores respaldados
Método de Copia de Seguridad El método de copia de seguridad debe ser eficiente y asegurar la integridad de los datos algunas
opciones son las siguientes:
Copia de Seguridad Completa
Copia de Seguridad Incremental
Copia de Seguridad Diferencial
Copia de Seguridad de Imagen del Sistema
Pruebas de Restauración Probar regularmente la restauración de copias de seguridad
garantiza su eficacia en caso de emergencia.
Implementación

Programar Pruebas Periódicas Establecer un calendario para realizar pruebas de restauración y


validar la integridad de los datos restaurados
Documentar Procedimientos Documentar y mantener actualizados los procedimientos de
restauración
TIPOS DE ROLES:
• Lectura: Acceso solo para consultar datos.
• Escritura: Permisos para modificar datos.
• Administrador: Acceso total, incluyendo configuración y gestión de usuarios
GESTIÓN DE SUPER ROLES • Responsable Designado: Asigna a un administrador de seguridad
de la base de datos para gestionar y asignar super roles.
• Autorización Controlada: Limita la asignación de super roles a
unos pocos responsables para garantizar un control estricto.

AUDITORÍA DE ACCESOS • Configuración de Auditoría: Configura registros de auditoría para


capturar eventos de acceso.
REGISTRO DE EVENTOS: • Revisiones Periódicas: Realiza revisiones periódicas de los
registros de auditoría para identificar patrones inusuales o
actividades sospechosas.
CAPACITACIÓN Y DOCUMENTACIÓN

CAPACITACIÓN CONTINUA • Entrenamiento de Usuarios: Proporciona capacitación continua sobre el uso seguro y eficiente
de roles y permisos.
• Actualizaciones Periódicas: Mantén a los usuarios actualizados sobre las políticas y
procedimientos de acceso
MANTENIMIENTO DE EQUIPOS TÉCNICOS INFORMADOS

MANUALES Y PROCEDIMIENTOS • Documentación Clara: Crea manuales detallados sobre la gestión de roles, explicando cada tipo
y su propósito.
• Acceso Centralizado: Pública documentación en un lugar centralizado y accesible a los equipos
técnicos.

CAPACITACIÓN Y SESIONES • Sesiones de Capacitación Periódica: Organiza sesiones de capacitación regulares para los
INFORMATIVAS equipos técnicos sobre las mejores prácticas de seguridad.
• Demostraciones Prácticas: Realiza demostraciones prácticas de la asignación y gestión de roles.
COMUNICACIÓN PROACTIVA: • Anuncios y Boletines: Envía anuncios y boletines periódicos sobre cambios en políticas de
acceso y nuevas características de seguridad.
• Canal de Comunicación Directa: Establece un canal de comunicación directa para preguntas y
aclaraciones.
PRUEBAS DE PENETRACIÓN: • Simulaciones de Ataques: Realiza pruebas de penetración para identificar posibles
vulnerabilidades en el sistema de acceso.
• Informe de Resultados: Comparte los resultados con el equipo técnico y toma medidas
correctivas según sea necesario.

ACTUALIZACIONES DE POLÍTICAS Revisiones Periódicas: Realiza revisiones regulares de las políticas de acceso y actualizarlas
según sea necesario.
Notificación de Cambios: Asegúrate de notificar a los equipos técnicos sobre cualquier cambio en
las políticas de acceso.
Procedimientos Almacenados
OPTIMIZACIÓN DEL Los procedimientos almacenados se ejecutan directamente en el servidor de la base de datos, lo que reduce la
RENDIMIENTO cantidad de datos transferidos entre el servidor y la aplicación, esta optimización puede mejorar
significativamente el rendimiento de las consultas, especialmente cuando se trabaja con grandes conjuntos de
datos, reduciendo la latencia y mejorando la eficiencia general del sistema
SEGURIDAD DE DATOS Los procedimientos almacenados pueden utilizarse para controlar el acceso a los datos mediante permisos
específicos, proporcionando una capa adicional de seguridad, la seguridad de los datos es crucial en el análisis
de datos, y la capacidad de gestionar permisos a nivel de procedimientos almacenados permite un control más
preciso sobre quién puede acceder y modificar información sensible
REUTILIZACIÓN DE CÓDIGO Los procedimientos almacenados permiten encapsular lógica de negocios compleja que puede ser reutilizada
en varias partes de una aplicación o en diferentes proyectos, la reutilización de código no sólo acelera el
desarrollo, sino que también facilita el mantenimiento, ya que cualquier cambio en la lógica de negocios se
realiza en un único lugar, evitando la duplicación y reduciendo el riesgo de errores
FACILITA EL Al centralizar la lógica de negocios en procedimientos almacenados, cualquier cambio o actualización en la
MANTENIMIENTO base de datos puede realizarse sin afectar la lógica de la aplicación, facilitar el mantenimiento es esencial en el
análisis de datos, donde los cambios en la estructura de la base de datos o en la lógica de procesamiento
pueden ocurrir con frecuencia. La capacidad de actualizar la base de datos sin afectar las aplicaciones que
dependen de ella es valiosa.

CONTROL DE Los procedimientos almacenados permiten la ejecución de transacciones complejas, garantizando la integridad
TRANSACCIONES de los datos mediante la implementación de transacciones atómicas, en el análisis de datos, donde la
consistencia de los datos es fundamental, la capacidad de gestionar transacciones de manera efectiva a través
de procedimientos almacenados es esencial para garantizar la integridad y coherencia de los datos
Lecciones aprendidas
LO QUE ME LLEVÓ DE LA CLASE • Profundización en SQL: Una mejor comprensión de consultas avanzadas y optimización de consultas
SQL.
• Diseño de Bases de Datos: Adquisición de habilidades para diseñar bases de datos eficientes y
normalizadas.
• Gestión de Seguridad de Datos: Comprender la importancia de estrategias de seguridad efectivas.

LO QUE DESEO MEJORAR • Dominio de Tecnologías Emergentes: Actualización constante sobre nuevas tecnologías y tendencias
en bases de datos.
• Práctica Práctica: Mayor aplicación práctica de conceptos aprendidos en proyectos reales.
• Colaboración y Aprendizaje en Grupo: Área de Mejora: Mayor participación en discusiones grupales y
colaboración con compañeros de clase.
CÓMO VOY A LOGRAR ESAS • Planificación del Tiempo:
MEJORAS Cómo Mejorar: Establecer un horario regular para la investigación y estudio de nuevas tecnologías.
• Proyectos Personales:
Cómo Mejorar: Comprometerse a iniciar al menos un proyecto personal que involucre bases de datos
cada trimestre.
• Participación Activa: Cómo Mejorar: Establecer objetivos semanales para contribuir en foros de
discusión y colaborar en al menos un proyecto grupal por trimestre.
COMPROMISO CONMIGO • Establecimiento de Metas:
MISMO(A) PARA LOGRARLO Compromiso: Establecer metas específicas y medibles para la adquisición continua de conocimientos en
bases de datos.
• Seguimiento de Proyectos Personales:
Compromiso: Mantener un registro de proyectos personales y revisar el progreso regularmente.
• Participación Proactiva:
Compromiso: Programar tiempo dedicado a la participación en foros y proyectos grupales, y revisar mi
contribución semanalmente.
Gracias

También podría gustarte