Unidad 1 Lenguaje de Definición de Datos




Lenguaje de Definición de Datos (DDL)

1.1 Instalación de un SGBD: SQL Server Express

Introducción al SGBD

Un Sistema de Gestión de Bases de Datos (SGBD) es el software fundamental para definir, construir y manipular estructuras de datos mediante comandos DDL. En esta guía paso a paso, realizaremos la instalación de Microsoft SQL Server Express en Windows.

Enlace de Descarga Oficial

Para comenzar, descarga la versión gratuita de SQL Server Express desde el portal oficial de Microsoft:

Ir a la Página Oficial de Descarga

Guía de Instalación Paso a Paso en Windows

1

Descarga del Instalador

Accede al enlace oficial proporcionado arriba. Desplázate hasta la sección de ediciones gratuitas y selecciona SQL Server Express haciendo clic en «Descargar ahora». Obtendrás un archivo ejecutable liviano (ej. SQLServer2025-SSEI-Expr.exe).

2

Ejecución y Selección de Tipo de Instalación

Ejecuta el archivo descargado como Administrador. El asistente te presentará tres opciones de instalación:

  • Básica: Instala el motor de base de datos con la configuración predeterminada (Recomendado para aprendizaje).
  • Personalizada: Permite elegir características avanzadas y rutas de instalación.
  • Descargar medios: Para instalaciones fuera de línea.
Selecciona la opción Básica.

3

Aceptación de Términos de Licencia

Revisa los Términos de Licencia de Microsoft SQL Server y haz clic en el botón Aceptar para continuar.

4

Ruta de Instalación y Descarga de Paquetes

Confirma o cambia la ruta de destino de los archivos de SQL Server (por defecto C:\Program Files\Microsoft SQL Server). Haz clic en Instalar. El asistente descargará los paquetes necesarios e iniciará la instalación automáticamente.

5

Finalización e Instalación del Cliente (SSMS)

Al finalizar la instalación del motor, verás el resumen con el nombre de la instancia (por defecto SQLEXPRESS). Haz clic en el botón Instalar SSMS (SQL Server Management Studio) para contar con una interfaz gráfica donde ejecutar tus comandos DDL (CREATE, ALTER, DROP).

📌 Nota para el taller de DDL:

Una vez instalado SQL Server Express y SSMS, el SGBD estará listo para la creación del esquema mediante SQL (definición de tablas, llaves primarias, constraints e índices).


Configuración de Puertos en SQL Server

Habilitación de Conexiones Remotas mediante SQL Server Configuration Manager

Esquema de Arquitectura de Red (Puerto 1433)

Por defecto, la instancia de SQL Server Express deshabilita el protocolo TCP/IP, impidiendo que clientes externos como SSMS se conecten desde la red local o remota.

Cliente / Estación Remota SQL Server Management Studio (SSMS)
TCP / IP (Puerto 1433)
Servidor SQL Server Instancia: SQLEXPRESS / Estática

Procedimiento Paso a Paso

1

Abrir SQL Server Configuration Manager

En Windows, presiona la tecla Win + R, escribe según tu versión (ejemplo: SQLServerManager16.msc) o búscalo directamente en el menú de Inicio como SQL Server Configuration Manager.

2

Habilitar el Protocolo TCP/IP

Despliega el menú lateral izquierdo: Configuración de red de SQL Server > Protocolos de [TuInstancia] (por defecto Protocols for SQLEXPRESS).

  • Haz clic derecho sobre el protocolo TCP/IP.
  • Selecciona Habilitar (Enable).
3

Asignación de Puerto Estático 1433

Haz clic derecho en TCP/IP y selecciona Propiedades. Ve a la pestaña Direcciones IP (IP Addresses):

Configuración recomendada en la sección «IPAll»:
  • Puertos dinámicos TCP (TCP Dynamic Ports): Borra cualquier valor (Déjalo totalmente blanco/vacío).
  • Puerto TCP (TCP Port): Escribe el puerto predeterminado 1433.
4

Reiniciar el Servicio de SQL Server

Para que los cambios de red se apliquen en el sistema:

  1. En el panel izquierdo, selecciona Servicios de SQL Server (SQL Server Services).
  2. Haz clic derecho sobre el servicio SQL Server (SQLEXPRESS) o tu instancia principal.
  3. Haz clic en Reiniciar (Restart).
5

Habilitar Regla en Windows Defender Firewall

Abre el Firewall de Windows con seguridad avanzada y crea una nueva Regla de Entrada (Inbound Rule):

  • Tipo de regla: Puerto (Port).
  • Protocolo y puertos: TCP > Puertos locales específicos: 1433.
  • Acción: Permitir la conexión (Allow connection).

Importancia Estratégica para SQL Server y SSMS

1. Acceso Multicapa y Aplicaciones

Permite que aplicaciones externas (.NET, Web APIs, Power BI, Python) interactúen con el motor de base de datos alojado en servidores locales o en la nube.

2. Administración Centralizada con SSMS

El equipo de Administradores de Bases de Datos (DBA) puede conectarse remotamente mediante SSMS sin necesidad de iniciar sesión por escritorio remoto (RDP) al servidor físico.

3. Prevención de Errores Comunes

Soluciona definitivamente los fallos frecuentes de conexión como Error 26 (Error Locating Server/Instance) o Error 28 (Server doesn’t support requested protocol).


Unidad 1: Lenguaje de Definición de Datos (DDL)

1.2 Creación del Esquema de la Base de Datos

Modificación de Esquemas y Aplicación de Constraints en SQL Server 2025 Express

¿Por qué es fundamental dominar la Creación de Esquemas y Constraints?

El Lenguaje de Definición de Datos (DDL) es la piedra angular del diseño de bases de datos relacionales. Un esquema bien definido garantiza que la información se almacene con integridad, consistencia y optimización de rendimiento desde el primer día.

🛡️ Integridad de Datos: Evita el ingreso de datos duplicados, nulos e inconsistentes mediante restricciones estrictas a nivel de SGBD.
⚡ Optimización de Consultas: Las llaves primarias e índices creados por DDL permiten a SQL Server localizar información en milisegundos.
🔄 Escalabilidad del Software: Permite modificar la estructura de las tablas mediante ALTER sin perder la información ya existente.

🗺️ Mapa de Arquitectura DDL en SQL Server 2025 Express

1. CREACIÓN

CREATE TABLE / SCHEMA

Define nuevas estructuras y tipos de datos.

2. MODIFICACIÓN

ALTER TABLE

Añade, altera o elimina columnas y reglas.

3. RESTRICCIONES

CONSTRAINTS

PRIMARY KEY, FOREIGN KEY, CHECK, UNIQUE.

📘 Guía Paso a Paso en SQL Server 2025 Express

1

Creación del Esquema y Tablas Base

Un esquema en SQL Server organiza objetos como un contenedor lógico. Creamos primero la base de datos y la tabla principal especificando tipos de datos nativos de SQL Server 2025.

-- 1. Crear Base de Datos
CREATE DATABASE TallerDB;
GO
USE TallerDB;
GO

-- 2. Crear Tabla Inicial de Clientes
CREATE TABLE Clientes (
    ClienteID INT IDENTITY(1,1) NOT NULL,
    Nombre VARCHAR(50) NOT NULL,
    Apellido VARCHAR(50) NOT NULL,
    Email VARCHAR(100) NOT NULL,
    FechaRegistro DATETIME2 DEFAULT GETDATE()
);
2

a. Modificación del Esquema de la Base de Datos (ALTER)

El comando ALTER TABLE nos permite actualizar la estructura de la tabla sin tener que borrarla ni destruir los datos existentes.

ADD (Agregar Columna): Incorpora nuevos atributos.
ALTER COLUMN (Modificar Tipo): Cambia longitud o nulo/no nulo.
DROP COLUMN (Eliminar Columna): Remueve campos obsoletos.
-- Agregar columna de teléfono
ALTER TABLE Clientes 
ADD Telefono VARCHAR(20) NULL;

-- Modificar la longitud de la columna Nombre
ALTER TABLE Clientes 
ALTER COLUMN Nombre VARCHAR(80) NOT NULL;
3

b. Aplicación de Constraints (Restricciones)

Las restricciones (constraints) aseguran las reglas del negocio directamente en el motor de SQL Server 2025 Express:

  • PRIMARY KEY (PK): Identifica de forma única cada registro (no permite nulos ni duplicados).
  • FOREIGN KEY (FK): Garantiza la integridad referencial conectando tablas secundarias con la tabla principal.
  • UNIQUE: Asegura que todos los valores en una columna sean distintos (ej. Email).
  • CHECK: Valida que los valores cumplan con una condición o fórmula lógica.
-- 1. Agregar Llave Primaria (PRIMARY KEY)
ALTER TABLE Clientes
ADD CONSTRAINT PK_Clientes PRIMARY KEY (ClienteID);

-- 2. Agregar Restricción UNIQUE para el Email
ALTER TABLE Clientes
ADD CONSTRAINT UQ_Clientes_Email UNIQUE (Email);

-- 3. Crear Tabla 'Pedidos' vinculada mediante FOREIGN KEY
CREATE TABLE Pedidos (
    PedidoID INT IDENTITY(100,1) PRIMARY KEY,
    Monto DECIMAL(10,2) NOT NULL,
    FechaPedido DATE DEFAULT GETDATE(),
    ClienteID INT NOT NULL,
    
    -- Aplicación de Constraints FK y CHECK inline
    CONSTRAINT FK_Pedidos_Clientes FOREIGN KEY (ClienteID) 
        REFERENCES Clientes(ClienteID),
    CONSTRAINT CK_Pedidos_MontoPositivo CHECK (Monto > 0)
);
AUTOEVALUACIÓN INTERACTIVA

🧠 Examen del Tema: Lenguaje de Definición de Datos (DDL)

Pone a prueba tus conocimientos sobre Instalación, Creación, Modificación de Esquemas y Constraints.

1. ¿Cuál es el puerto de red por defecto utilizado por SQL Server para aceptar conexiones remotas TCP/IP?

2. ¿Qué comando DDL se utiliza para modificar la estructura de una tabla existente sin eliminar sus datos?

3. ¿Qué restricción (Constraint) garantiza que los valores introducidos en una columna cumplan con una condición lógica (ej. Monto > 0)?

4. ¿En qué herramienta oficial de SQL Server se habilita el protocolo TCP/IP para conexiones remotas?