Sql Server Flashcards
Diseño de esquemas de BD
Recolección de Requisitos: Define qué datos se deben almacenar y las relaciones entre ellos.
Identificación de Entidades: Identifica los objetos principales del negocio que se convertirán en tablas (Clientes, Productos, Facturas, etc.).
Definición de Relaciones: Usa los tipos de relaciones (1:1, 1:N, N:M) y normaliza la base de datos para evitar la redundancia.
Normalización: Aplica las formas normales (1NF, 2NF, 3NF, etc.) para eliminar redundancias y dependencias transitorias.
Identificación de Claves: Asigna claves primarias (PK) y claves foráneas (FK) para enlazar las tablas.
Modelado: Usa diagramas Entidad-Relación (ERD) para representar gráficamente el esquema.
Creación del Esquema SQL: Implementa el esquema usando CREATE TABLE con restricciones PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, NOT NULL.
Consultas SQL eficientes
Seleccionar solo los campos necesarios: Usa SELECT campo1, campo2 en vez de SELECT *.
Filtrar Datos: Usa WHERE con índices en las columnas adecuadas.
Uso de Índices: Crea índices en columnas que se usan con frecuencia en WHERE, JOIN y ORDER BY.
Evitar Funciones en Columnas: Evita WHERE UPPER(nombre) = ‘JUAN’, usa WHERE nombre = ‘Juan’.
Uso de Joins: Prefiere INNER JOIN sobre LEFT JOIN si no necesitas datos nulos.
Limitar Resultados: Usa LIMIT o TOP para reducir la cantidad de registros devueltos.
Evita subconsultas anidadas: Reemplázalas por JOINs si es posible.
Explorar el Plan de Ejecución: Usa EXPLAIN para ver cómo se ejecuta la consulta y ajustar los índices.
Garantizar la integridad de los datos
Restricciones:
* NOT NULL: Evita valores nulos.
* UNIQUE: Evita duplicados.
* CHECK: Define validaciones personalizadas.
* FOREIGN KEY: Mantiene la integridad referencial.
Transacciones (ACID):
Usa BEGIN TRANSACTION, COMMIT y ROLLBACK para proteger operaciones críticas.
Triggers:
Usa AFTER INSERT, UPDATE, DELETE para auditorías y validaciones.
Garantizar la seguridad de los datos
Control de Acceso (Roles y Permisos):
Usa GRANT y REVOKE para otorgar permisos específicos.
Encriptación de Datos:
Usa AES_ENCRYPT() y AES_DECRYPT() para encriptar columnas sensibles.
Auditoría de Acceso:
Usa triggers para registrar accesos o modificaciones.
Principio de Mínimos Privilegios:
Los usuarios deben tener solo los permisos necesarios.
Resumen
Esquema Diseño E-R, Normalización
* Claves PK,
* FK,
* Índices,
* Restricciones (NOT NULL, UNIQUE)
Consultas Consultas rápidas y optimizadas SELECT,
* JOIN,
* WHERE,
* LIMIT,
* índices,
* EXPLAIN
Integridad Precisión de los datos Transacciones ACID,
* Check,
* Claves Foráneas,
* Triggers
Seguridad Protección y control de acceso
* Roles,
* GRANT,
* AES_ENCRYPT,
* Principio de mínimos privilegios
|