En este articulo vamos a realizar un ejemplo practico de DDL (Data Definition Lenguage), el cual es uno de los lenguajes que se deprenden de SQL (Structured Query Lenguage).
En este caso yo lo voy a hacer desde la consola, ya que lo importante es que podamos dominar el lenguaje aun cuando no haya un cliente grafico con el cual interactuar.
Para este ejemplo, solo nos vamos a encargar de crear una base de datos cuyo nombre va a ser bduoc
que puedes recordarla como Base de Datos Usuario O Cliente.
Además vamos a crear las siguientes tablas:
- clientes
- departamentos
- proyectos
- empleados
Y en cada uno de estas tablas les vamos a agregar las llaves primarias y las llaves foráneas.
Entonces, el código quedaría de la siguiente manera:
CREATE DATABASE bduoc; // Se crea la base de datos
SHOW DATABASES; //Verificas si la base de datos ya esta hecha
USE DATABASE bduoc; //Empiezas a usar la base de datos
CREATE TABLE clientes //Creacion de la primera tabla
(codigo_cli INTEGER,
nombre_cli CHAR(30) NOT NULL,
nif CHAR (12),
direccion CHAR (30),
ciudad CHAR (20),
telefono CHAR (12),
PRIMARY KEY (codigo_cli),
UNIQUE(nif)
);
CREATE TABLE departamentos
(nombre_dep CHAR(20),
ciudad_dep CHAR(20),
telefono INTEGER DEFAULT NULL,
PRIMARY KEY (nombre_dep, ciudad_dep)
);
CREATE TABLE proyectos
(codigo_proyec INTEGER,
nombre_proyec CHAR(20),
precio REAL,
fecha_inicio DATE,
fecha_prev_fin DATE,
fecha_fin DATE DEFAULT NULL,
codigo_cliente INTEGER,
PRIMARY KEY (codigo_proyec),
FOREIGN KEY codigo_cliente REFERENCES clientes (codigo_cli),
CHECK (fecha_inicio < fecha_prev_fin),
CHECK (fecha_inicio < fecha_fin)
);
CREATE TABLE empleados
(codigo_empl INTEGER,
nombre_empl CHAR (20),
apellido_empl CHAR(20),
sueldo REAL CHECK (sueldo > 7000),
nombre_dep CHAR(20)
ciudad_dep CHAR(20),
num_proyec INTEGER,
PRIMARY KEY (codigo_empl),
FOREIGN KEY (nombre_dep, ciudad_dep) REFERENCES
departamentos (nombre_dep, ciudad_dep),
FOREIGN KEY (num_proyec) REFERENCES proyectos (codigo_proyec)
);
SHOW TABLES; //Ves las tablas que ya creaste
DESCRIBE proyectos; //Para que veas las entidades de la tabla
Es importante mencionar que hasta ahora las tablas están vacías, ya que no les hemos agregado nada aun
Curso de Fundamentos de Bases de Datos 2019