Guía SQL y MVC: Comandos DDL, DML y Arquitectura Model-View-Controller
Comandos SQL: creación, modificación y consulta de tablas
Creación de tablas
A continuación se muestra la creación de la tabla MY_EMP:
CREATE TABLE MY_EMP (
ID NUMBER(7) PRIMARY KEY,
LAST_NAME VARCHAR(25) NOT NULL,
FIRST_NAME VARCHAR(25) NOT NULL,
SEX_TYPE CHAR(1) CHECK (SEX_TYPE IN ('F','M')),
DEPT_ID NUMBER(7) CHECK (DEPT_ID > 0)
);Modificación de tablas
Agregar una columna a la tabla MY_DEPART:
ALTER TABLE MY_DEPART
ADD DEPT_ID NUMBER;Agregar una restricción de clave foránea:
ALTER TABLE MY_DEPART
ADD CONSTRAINT FK_DEPT_ID FOREIGN KEY (DEPT_ID) REFERENCES MY_DEPART(CODIGO);Creación de la tabla EMP con restricciones
CREATE TABLE EMP (
EMPNO NUMBER(4),
ENAME VARCHAR2(10),
JOB CHAR(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7,2),
COMM NUMBER(7,2),
DEPTNO NUMBER(2) NOT NULL,
CONSTRAINT PK_EMPNO PRIMARY KEY (EMPNO),
CONSTRAINT FK_DEPT FOREIGN KEY (DEPTNO) REFERENCES DEPT(DEPTNO),
CONSTRAINT FK_MGR FOREIGN KEY (MGR) REFERENCES EMP(EMPNO)
);Manipulación de datos (DML)
Inserción de registros
INSERT INTO MY_EMP (ID, LAST_NAME, FIRST_NAME, SEX_TYPE, DEPT_ID)
VALUES (2549, 'MARIA', 'JOAQUINA', 'F', 7895);Actualización de registros
UPDATE CUSTOMER
SET CREDITLIMIT = CREDITLIMIT * 1.05
WHERE REPID = '7844';UPDATE CUSTOMER
SET ADDRESS = '333 SENADOR VERGUEIRO'
WHERE CUSTID = 105;Puntos de control y reversión
SAVEPOINT SAVE1;ROLLBACK SAVE2;Consultas (SELECT)
SELECT ENAME, SAL, TO_CHAR(HIREDATE, 'DD/MM/YYYY')
FROM EMP
WHERE SUBSTR(ENAME, 1, 1) = 'A';SELECT ENAME, HIREDATE, SAL, D.DNAME
FROM EMP E
JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY ENAME, HIREDATE, SAL, D.DNAME;SELECT D.DNAME, COUNT(E.ENAME), SUM(E.SAL)
FROM EMP E
JOIN DEPT D ON E.DEPTNO = D.DEPTNO
GROUP BY D.DNAME
HAVING COUNT(E.ENAME) > 3;Patrón de arquitectura MVC
MVC (Model-View-Controller): este artículo presenta el patrón de arquitectura MVC, mostrando cómo un diagrama de clases construido según ese patrón se transforma en código Java. El foco principal está en la capa Model, implementada mediante el patrón DAO y la base de datos MySQL.
Model-View-Controller
Modelo (Model)
- Representa la lógica del negocio.
- Aloja las entidades de la aplicación.
- Puede interactuar con la base de datos.
- Guarda la lógica y el estado del negocio, conoce las reglas para recuperar y alterar dicho estado.
Vista (View)
- Responsable de la presentación y de exibir la información al usuario.
- Recupera el estado del modelo a través del controlador.
- Obtiene la entrada del usuario y la repasa al controlador.
Controlador (Controller)
- Hace de intermediario ("meio de campo") entre la vista y el modelo.