1 sql. 2 definiciÓn de datos en sql usado para create, drop and alter las descripciones de las...

36
1 SQL

Upload: pancho-campillo

Post on 22-Jan-2016

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

1

SQL

Page 2: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

2

DEFINICIÓN DE DATOS EN SQL

• Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos.

• CREATE TABLE• Especifica una nueva relación de base dándole a esta un nombre, y

especificando cada uno de sus atributos y sus tipos de datos (INTEGER, FLOAT, DECIMAL(i,j), CHAR(n), VARCHAR(n)).

• Una restricción NOT NULL puede ser especificada en un atributo.• CREATE TABLE DEPARTMENT

(DNAME VARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL,

MGRSSN CHAR(9), MGRSTARTDATE CHAR(9) );

Page 3: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

3

En SQL2

• Podemos usar el comando CREATE TABLE para especificar la llave primaria, llaves secundarias y restricciones de integridad referencial (llaves foráneas).

• Atributos llaves pueden ser especificados a través de las palabras clave PRIMARY KEY y UNIQUE

• CREATE TABLE DEPARTMENT(DNAME VARCHAR(10) NOT

NULL, DNUMBER INTEGER NOT

NULL, MGRSSN CHAR(9), MGRSTARTDATE CHAR(9)

PRIMARY KEY(DNUMBER), UNIQUE(DNAME));

Page 4: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

4

DROP TABLE

• Usada para remover una relación de base y su definición

• La relación ya no podrá ser usada en consultas, actualizaciones u otros comandos ya que su descripción no existe.

• Ejemplo:

• DROP TABLE DEPENDENT;

Page 5: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

5

ALTER TABLE

• Usada para añadir un atributo a una de las relaciones de base.

• El atributo añadido tendrá NULL en todas las tuplas de la relación después que el comando sea ejecutado; por lo tanto la restricción NOT NULL no será permitida para tales atributos.

• Ejemplo:• ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12);• Los usuarios de la base de datos tienen que dar entrada

a un valor para el nuevo atributo JOB para cada tupla de EMPLOYEE. Esto puede ser hecho usando el comando UPDATE.

Page 6: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

6

CARACTERÍSTICAS AÑADIDAS EN SQL2

• CREATE SQUEMA• Especifica un nuevo esquema de base de datos dándole un nombre.• CREATE SQUEMA COMPANY;

• OPCIONES DE INTEGRIDAD REFERENCIAL• En SQL2, podemos especificar CASCADE ó SET NULL ó SET DEFAULT

en restricciones de integridad referencial (foreign keys)

• CREATE TABLE DEPARTMENT(DNAMEVARCHAR(10) NOT NULL, DNUMBER INTEGER NOT NULL, MGRSSN CHAR(9) DEFAULT 0, MGRSTARTDATE CHAR(9),

PRIMARY KEY(DNUMBER), UNIQUE(DNAME), FOREIGN KEY(MGRSSN) REFEERENCES EMPLOYEE ON DELETE SET DEFAULT ON UPDATE CASCADE);

Page 7: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

7

CREACION DE TABLA EN SQL2

• CREATE TABLE EMPLOYEE(ENAME VARCHAR(30) NOT NULL, SSN CHAR(9), BDATE DATE, DNO INTEGER DEFAULT 1, SUPERSSN CHAR(9), PRIMARY KEY(SSN), FOREIGN KEY(DNO) REFERENCES DEPARTMENT ON DELETE SET DEFAULT ON UPDATE CASCADE, FOREIGN KEY(SUPERSSN) REFERENCES EMPLOYEE ON DELETE SET NULL ON UPDATE CASCADE);

Page 8: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

8

CONSULTAS DE RECUPERACIÓN DE DATOS

– SQL tiene una instrucción básica para recuperación de información desde una base de datos: la sentencia SELECT.

– Esta no es la misma que la operación SELECT del Álgebra Relacional.

– Una importante distinción entre SQL y el modelo relacional formal: SQL permite que una tabla tenga dos o más tuplas idénticas en todos los valores de sus atributos .

– Por lo tanto una tabla en SQL es un multi-conjunto (multi-set o bag) de tuplas; esto no es un conjunto de tuplas.

– Una tabla SQL puede estar restringida a un conjunto de tuplas si especificamos atributos PRIMARY KEY ó UNIQUE o usando la opción DISTINCT en una consulta

Page 9: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

9

La forma básica de la sentencia SELECT de SQL es llamada un mapeo o un bloque

SELECT-FROM-WHERE

• SELECT <lista de atributos>• FROM<lista de tablas>• WHERE <condición>• <lista de atributos> es una lista de nombres de

atributos cuyos valores van a ser recuperados por la consulta

• <lista de tablas> es una lista de los nombres de las relaciones requeridos para procesar la consulta

• <condición>es una expresión condicional booleana que identifica las tuplas a ser recuperadas por la consulta

Page 10: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

10

Query 0: Recuperar la fecha de nacimiento y la dirección del empleado ‘John B. Smith’.

• Q0: SELECT BDATE, ADDRESS

FROM EMPLOYEE

WHERE FNAME=’John’ AND MINT=’B’

AND LNAME=’Smith’• Similar al par SELECT-PROJECT del Álgebra

Relacional; la cláusula SELECT especifica los atributos de proyección y la cláusula WHERE especifica la condición de selección.

• Sin embargo, el resultado de la consulta podría contener tuplas duplicadas.

Page 11: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

11

Query 1: Recuperar el nombre y la dirección de todos los empleados quienes trabajan para

el departamento ‘Research’.

• Q1: SELECT FNAME, LNAME, ADDRESSFROM EMPLOYEE, DEPARTMENTWHERE DNAME=’Research’ AND

DNUMBER=DNO;• Similar a la secuencia SELECT-PROJECT-JOIN de las

operaciones del Álgebra Relacional.• (DNAME=’Research’) es una condición de selección

(corresponde a una operación SELECT en Álgebra Relacional).

(DNUMBER=DNO) es una condición de join (corresponde a una operación JOIN en Álgebra Relacional).

Page 12: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

12

Query 2: Para cada proyecto localizado en ‘Houston’, liste el número de proyecto, el número del departamento controlador, y el apellido, dirección y fecha de nacimiento del manager del departamento.

• Q2: SELECT PNUMBER, DNUM, LNAME, BDATE, ADDRESS

FROM PROJECT, DEPARTMENT, EMPLOYEE WHERE DNUM=DNUMBER AND MGRSSN=SSN AND

PLOCATION=’Houston’;• En Q2 hay dos condiciones de join.• La condición de join DNUM=DNUMBER relaciona un proyecto

al departamento que lo controla.• La condición de join MGRSSN=SSN relaciona el departamento

controlador al empleado que dirige ese departamento.

Page 13: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

13

CLAÚSULA WHERE NO ESPECIFICADA

• Una cláusula WHERE omitida indica no condición, por lo tanto todas las tuplas de las relaciones en la cláusula FROM serán seleccionadas.

• Esto es equivalente a la condición WHERE TRUE.• Query 9: Recuperar los valores del SSN para

todos los empleados• Q9: SELECT SSN

FROM EMPLOYEE;

Page 14: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

14

PRODUCTO CARTESIANO

• Si más de una relación es especificada en la cláusula FROM y no hay condición de join, entonces el PRODUCTO CARTESIANO de tuplas es seleccionado.

• Example:• Q10: SELECT SSN, DNAME

FROM EMPLOYEE, DEPARTMENT;

• Es extremadamente importante no pasar por alto especificar ninguna condición de selección ni de join en la cláusula WHERE; de otra manera, relaciones incorrectas y muy grandes podrían resultar.

Page 15: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

15

USE OF *

• Se usa * para recuperar todos los valores de los atributos de las tuplas seleccionadas.

• Ejemplos:• Q1C: SELECT *

FROM EMPLOYEEWHERE DNO=5;

• Q1D: SELECT *FROM EMPLOYEE, DEPARTMENTWHERE DNAME=’Research’ AND

DNO=DNUMBER;

Page 16: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

16

USE OF DISTINCT

• SQL no trata una relación como un conjunto: tuplas duplicadas pueden aparecer.

• Para eliminar tuplas duplicadas del resultado, la palabra clave DISTINCT es usada.

• Por ejemplo, el resultado de Q11 puede tener valores de SALARY duplicados mientras Q11A no tendrá ningún valor duplicado.

• Q11: SELECT SALARY

FROM EMPLOYEE;• Q11A:SELECT DISTINCT SALARY

FROM EMPLOYEE;

Page 17: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

17

OPERACIONES DE CONJUNTO

• SQL tiene directamente incorporadas operaciones de conjunto.

• Hay una operación de UNION y en algunas versiones de SQL hay diferencia de conjuntos (MINUS) e intersección (INTERSECT).

• Las relaciones resultantes de esas operaciones de conjuntos son conjuntos de tuplas; tuplas duplicadas son eliminadas del resultado.

• Las operaciones de conjunto aplican sólo a relaciones que sean unión compatible: las dos relaciones tienen que tener los mismos atributos apareciendo en el mismo orden.

Page 18: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

18

UNION DE CONJUNTOS

• Q4: (SELECT PNAMEFROM PROJECT, DEPARTMENT, EMPLOYEE

WHERE DNUM=DNUMBER AND MGRSSN=SSN AND LNAME=‘Wong’) UNION (SELECT PNAME

FROM PROJECT, WORKS_ON, EMPLOYEE WHERE PNUMBER=PNO AND ESSN=SSN AND

LNAME=’Wong’);

Page 19: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

19

CONSULTAS ANIDADAS• Una consulta SELECT completa, llamada consulta anidada, puede ser especificada

dentro de la cláusula WHERE de otra consulta llamada la consulta externa.• Muchas de las consultas anteriores pueden ser especificadas en una forma

alternativa usando anidamiento.• Q1: SELECT FNAME, LNAME, ADDRESS

FROM EMPLOYEEWHERE DNO IN (SELECT DNUMBER

FROM DEPARTMENT WHERE DNAME=’Research’ );

• La consulta anidada selecciona el número del departamento ‘Research’.• La consulta externa selecciona una tupla de EMPLOYEE si su valor DNO está en

el resultado de la consulta anidada.• El operador de comparación IN compara un valor v con un conjunto o multiconjunto

de valores V, y evalúa a TRUE si v es uno delos elementos en V.• En general, tenemos varios niveles de consultas anidadas.• Una referencia a un atributo no cualificado refiere a la relación declarada en la

consulta anidada más interna.• En este ejemplo, la consulta anidada no está correlacionada con la consulta más

externa

Page 20: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

20

FUNCIÓN EXISTS• EXISTS es usado para checar si el resultado de una consulta correlacionada

anidada es vacía (no contiene tuplas).• Se puede formular la Query 12 en una forma alternativa que utiliza EXISTS

como en Query 12B• Query 12B: Recuperar el nombre de cada empleado que tenga

dependientes con el mismo nombre de dicho empleado.• Q12B: SELECT FNAME, LNAME

FROM EMPLOYEE WHERE EXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN AND

FNAME=DEPENDENT_NAME);• Query 6: Recuperar los nombres de los empleados quienes no tienen

dependientes• Q6: SELECT FNAME, LNAME

FROM EMPLOYEEWHERE NOT EXISTS (SELECT * FROM DEPENDENT WHERE SSN=ESSN );

Page 21: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

21

CONJUNTOS EXPLÍCITOS

• Es también posible usar un conjunto explícito (enumerado) de valores en la cláusula WHERE antes que una consulta anidada.

• Query 13: Recuperar los números de seguro social de todos los empleados que trabajan en los proyectos con número 1, 2 ó 3.

• Q13: SELECT DISTINCT ESSNFROM WORKS_ONWHERE PNO IN (1,2,3);

Page 22: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

22

NULLS EN CONSULTAS SQL

• SQL permite consultas que chequen si un valor es NULL (perdido, indefinido ó no aplicable)

• SQL usa IS ó IS NOT para comparar valores nulos porque este considera cada NULL distinto de otro valor NULL, por lo tanto la comparación por igualdad no es apropiada.

• Query 14: Recuperar los nombres de todos los empleados quienes no tienen supervisores.

• Q14: SELECT FNAME, LNAMEFROM EMPLOYEEWHERE SUPERSSN IS NULL;

Page 23: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

23

COMPARACIÓN DE SUBCADENAS

• El operador de comparación LIKE es usado para comparar cadenas parciales.• Dos caracteres reservados son usados: ‘%’ (ó ‘*’ en algunas

implementaciones) reemplaza un número arbitrario de caracteres y ‘_’ reemplaza un carácter arbitrario simple.

• Query 25: Recuperar todos los empleados cuyas direcciones están en Houston, Texas. Aquí, el valor del atributo ADDRESS tiene que contener la subcadena ‘Houston, Texas’.

• Q25: SELECT FNAME, LNAMEFROM EMPLOYEE

WHERE ADDRESS LIKE ‘%Houston,TX%’;

• Query 26: Recuperar todos los empleados que nacieon durante los años 50’s. Aquí, ‘5’ tiene que ser el octavo carácter de la cadena (de acuerdo al formato para la fecha dd-mm-aaaa), de manera que el valor de BDATE es ‘________5_’, con cada guión bajo reservando un lugar para cada carácter arbitrario simple.

• Q26: SELECT FNAME, LNAMEFROM EMPLOYEE

WHERE BDATE LIKE ‘________5_ ’;• El operador LIKE nos permite considerar cada valor como atómico o indivisible

de la misma manera en que SQL trata a sus cadenas.

Page 24: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

24

FUNCIONES AGREGADAS Incluye COUNT, SUM, MAX, MIN Y AVG

• Query 15: Encontrar el salario máximo, mínimo y promedio entre todos los empleados.

• Q15: SELECT MAX(SALARY), MIN(SALARY), AVG(SALARY) FROM EMPLOYEE;

• Query 16: Encontrar el salario máximo, mínimo y promedio entre los empleados que trabajan en el Departamento de ‘Research’.

• Q16: SELECT MAX(SALARY), MIN(SALARY), AVG(SALARY) FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME=’Research’;

• Query 17 y 18: Recuperar el número total de empleados en la compañía (Q17), y el número de empleados en el departamento de ‘Research’ (Q18).

• Q17: SELECT COUNT(*) FROM EMPLOYEE;

• Q18: SELECT COUNT(*) FROM EMPLOYEE, DEPARTMENT WHERE DNO=DNUMBER AND DNAME=’Research’;

Page 25: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

25

OPERACIONES ARITMÉTICAS

• Los operadores aritméticos estándar ‘+’, ‘-‘, ‘*’, ‘/’ (para suma, resta, multiplicación y división respectivamente) pueden ser aplicados a valores numéricos en una consulta SQL.

• Query 27: Mostrar el efecto de dar un 10% de aumento de salario a todos los empleados que trabajan en el proyecto ‘ProductX’.

• Q27: SELECT FNAME, LNAME, 1.1*SALARY FROM EMPLOYEE, WORKS_ON, PROJECT WHERE SSN=ESSN AND PNO=PNUMBER AND PNAME=’ProductX’;

Page 26: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

26

AGRUPAMIENTO• En muchos casos, queremos aplicar funciones agregadas a subgrupos de tuplas en una

relación.• Cada subgrupo de tuplas consiste del conjunto de tuplas que tiene el mismo valor para el

atributo(s) de agrupamiento.• La función es aplicada a cada subgrupo independientemente.• SQL tiene una cláusula GROUP_BY para especificar el ó los atributos de agrupamiento, los

cuales tienen que aparecer en la cláusula SELECT.• Query 20: Por cada departamento, recuperar el número de departamento, el número de

empleados en el departamento, y su salario promedio.• Q20: SELECT DNO, COUNT(*), AVG(SALARY)

FROM EMPLOYEEGROUP BY DNO;

• En la Q20, las tuplas de EMPLOYEE están divididas en grupos. Cada grupo tiene el mismo valor para el atributo de grupo DNO.

• Las funciones COUNT y AVG a cada grupo de tuplas separadamente.• La cláusula SELECT incluye solo el atributo de agrupamiento y las funciones a ser aplicadas a

cada grupo de tuplas.• Query 21: Por cada proyecto, recuperar el número y el nombre de proyecto y el número de

empleados que trabajan en ese proyecto. • Q21: SELECT PNUMBER, PNAME, COUNT(*) FROM PROJECT, WORKS_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME;

Page 27: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

27

CLAÚSULA HAVING• Algunas veces nosotros queremos recuperar los valores de esas

funciones para solo aquellos grupos que satisfacen ciertas condiciones.

• La cláusula HAVING es usada para especificar una condición de selección sobre grupos antes que en tuplas individuales.

• Query 22: Por cada proyecto en el cual más de dos empleados trabajan, recuperar el número y el nombre de proyecto y el número de empleados que trabajan en ese proyecto.

• Q22: SELECT PNUMBER, PNAME, COUNT(*) FROM PROJECT, WORKS_ON WHERE PNUMBER=PNO GROUP BY PNUMBER, PNAME HAVING COUNT(*) > 2;

Page 28: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

28

ORDER_BY• La cláusula ORDER_BY es usada para ordenar las tuplas en el resultado

de una consulta basado en los valores de algún atributo(s).

• Query 28: Recuperar una lista de empleados y los proyectos en que cada uno trabaja ordenados por departamento y dentro de cada departamento ordenados alfabéticamente por apellidos de los empleados.

• Q28: SELECT DNAME, LNAME, FNAME, PNAME FROM DEPARTMENT, EMPLOYEE, WORKS_ON, PROJECT WHERE DNUMBER=DNO AND SSN=ESSN AND PNO=PNUMBER ORDER BY DNAME, LNAME LIMIT 0 , 3;• El orden por default es por valor ascendente del atributo(s).• Se puede especificar la palabra clave DESC si queremos un orden

descendente de los atributos. La palabra clave ASC puede ser usada para explícitamente especificar el orden ascendente.

Page 29: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

29

RESUMEN DE CONSULTAS SQL• Una consulta en SQL puede consistir de un grupo de hasta seis cláusulas, pero solo

las primeras dos SELECT y FROM son obligatorias. Las cláusulas son especificadas en el siguiente orden:

• SELECT <lista de atributos>• FROM <lista de tablas>• WHERE <condición>• GROUP BY <atributos de grupo>• HAVING <condición de tamaño del grupo>• ORDER BY <lista de atributos>• LIMIT < 0, N tuplas >

• La cláusula SELECT lista los atributos o funciones a ser recuperadas.• La cláusula FROM especifica todas las relaciones (ó alias) necesarias en la consulta

pero no aquellas necesarias en consultas anidadas.• La cláusula WHERE especifica las condiciones para selección y join de tuplas para las

relaciones especificadas en la cláusula FROM.• GROUP BY especifica los atributos de agrupamiento.• HAVING especifica una condición para la selección de los grupos.• ORDER BY especifica un orden para desplegar el resultado de una consulta.• Una consulta es evaluada primero aplicando la cláusula WHERE, entonces GROUP

BY y HAVING, y finalmente la cláusula SELECT.

Page 30: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

30

Page 31: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

31

Page 32: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

32

Page 33: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

33

Page 34: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

34

Page 35: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

35

Page 36: 1 SQL. 2 DEFINICIÓN DE DATOS EN SQL Usado para CREATE, DROP and ALTER las descripciones de las tablas (relaciones) de una base de datos. CREATE TABLE

36