2. Tema: SQL - DDL
Presentación del tema
Material: edutech5.webnode.es
Practico: Practico 5 – Modelo de Datos Relacional
Docente: Téc. R/C Alvaro Loustau
Fuente: . Elmasri, R. and Navathe, S. (1989). Fundamentals of
database systems. 1st ed. Redwood City, Calif.:
Benjamin/Cummings.
. https://eva.fing.edu.uy/course/view.php?id=330
3. Structured Query Language SQL
•Es el lenguaje comercial de mayor influencia.
• Combina el AR y CRT
• Incluye capacidades para:
• Definir consultas sobre los datos.
• Modificar el contenido de los datos.
• Definir la estructura de datos.
• Especificar ligaduras de integridad. DDL
DML
4. Capacidades del Lenguaje
•DDL – Lenguaje de definición de datos
• Definición de relaciones y vistas.
• Instrucciones para autorización.
• Definición de reglas de integridad.
• DML – Lenguaje interactivo de manipulación de datos
• Consultar datos almacenados.
• Modificar el contenido de los datos almacenados.
5. Lenguaje de Definición de Datos
Estas operaciones sólo pueden realizadas por el DBA
(Administrador de la Base de Datos)
Para la definición de esquemas la sentencia es:
CREATE TABLE [Nombre_Tabla](
atrib1 TIPO [restricción1],
atrib2 TIPO [restricción2],
…
<restricción_integridad1>…);
6. Creación de Esquemas
•Definir el esquema de la tabla (atributos y sus tipos).
•Definir, si existen, restricciones sobre los atributos
(condición de no nulo, restricciones de valores,
subconjunto válido, etc).
•Definir restricciones de nivel de tabla (clave primaria,
clave foránea, índices, restricciones entre columnas).
7. Instrucción ALTER TABLE
• Permite modificar definiciones del esquema de una tabla.
• En líneas generales, la definicón de las tablas debe ser estática;
una vez creado todo el esquema para la base de datos, se espera
no tener que modificarlo.
ALTER TABLE [Nombre_Tabla]
DROP columna1
MODIFY columna2 <modificación>
ADD columna3 TIPO
ADD/DROP CONSTRAINT <restricción1>
8. Borrado de Esquemas – DROP TABLE
• La instrucción DROP TABLE permite borrar el contenido y el
esquema de una tabla.
• Para poder borrar una tabla, la misma no debe estar
referenciada en otra tabla.
DROP TABLE[Nombre_Tabla];
9. DDL - Ejemplo
•Se desea modelar la siguiente realidad, existen
jugadores que son seleccionados para jugar en
sus respectivas selecciones.
•Estas selecciones juegan con otras selecciones,
en partidos de ida y vuelta (Local y Visitante).
Nombre
12. DDL - Ejemplo
Juegan
N 1
Jugadores Selecciones
Altura
Edad
Peso
#Selección
Nombre
#Jugador
País
13. DDL - Ejemplo
Juegan
N 1
Partido
LocalVisita
Jugadores Selecciones
Altura
Edad
Peso
#Selección
Nombre
#Jugador
PaísN
N
14. DDL - Ejemplo
Juegan
N 1
Partido
LocalVisita
Jugadores Selecciones
Altura
Edad
Peso
#Selección
Nombre
#Jugador
PaísN
N
Fecha
Goles_Visita
Goles_Local
19. DDL – Definición de Estructuras
Modificación del Esquema
(ALTER TABLE)
20. DDL – Definición de Estructuras
•ALTER TABLE
•La definición de una tabla se puede modificar
mediante la opción ALTER TABLE (alterar o
modificar tabla)
21. DDL – Definición de Estructuras
•ALTER TABLE
•Las acciones posibles para modificar las definiciones de
una tabla incluyen:
• Agregar o eliminar una columna
• Modificar la definición de una columna.
• Agregar o eliminar restricciones de la tabla.
22. DDL – Definición de Estructuras
•ALTER TABLE
•La primera acciones que se describe es la de poder
agregar o eliminar una columna: (ADD)
• Por ejemplo, si queremos añadir a la relaciones Jugadores un
atributo para almacenar la posición en el que juega el jugador,
podemos usar la orden:
• ALTER TABLE Jugadores
ADD Posicion Varchar(10);
23. DDL – Definición de Estructuras
•ALTER TABLE
•La primera acciones que se describe es la de poder
agregar o eliminar una columna: (ADD)
•Cuando se agrega una columna a una tabla, ésta admite
valores nulos (NULL)
•Se puede agregar una restricción a las columnas para que
no admitan valores nulo (NOT NULL).
24. DDL – Definición de Estructuras
•ALTER TABLE
• También podemos verificar que los valores estén en determinado
dominio, por ejemplo que el campo Posición solo pueda asumir los
valores: {Arquero, Defensor, Medio_Camp, Atacante}
• ALTER TABLE Jugadores
ADD (Posicion Varchar(10)
CHECK (Posicion IN (‘Arquero’, ‘Defensor’,
‘Medio_Camp’, ‘Atacante’));
25. DDL – Definición de Estructuras
•ALTER TABLE
•La segunda acción que se describe es la de poder
modificar el atributo de alguna relación: (MODIFY)
• Por ejemplo, si queremos modificar de la relación Jugadores el
tamaño del atributo Posición, usamos la siguiente sentencia:
• ALTER TABLE Jugadores
MODIFY Posicion Varchar(15);
26. DDL – Definición de Estructuras
•ALTER TABLE
•La segunda acción que se describe es la de poder
modificar el atributo de alguna relación: (MODIFY)
• También podemos poner valores por defecto en un campo:
• ALTER TABLE Jugadores
MODIFY (Posicion Varchar(15)
DEFAULT ‘Atacante’);
27. DDL – Definición de Estructuras
•ALTER TABLE
•Como podemos agregar también podemos eliminar:
(DROP)
• Agregamos un nuevo atributo a la relación:
• ALTER TABLE Jugadores
ADD Edad Int;
• No era necesario….
DROP Edad;