D.D.L. (Lenguaje de Definici - PowerPoint PPT Presentation

About This Presentation
Title:

D.D.L. (Lenguaje de Definici

Description:

Title: Sistemas Operativos II Author: Leonardo Car mbula Last modified by: Docente Created Date: 4/17/2003 1:32:48 AM Document presentation format – PowerPoint PPT presentation

Number of Views:28
Avg rating:3.0/5.0
Slides: 91
Provided by: Leonar87
Category:

less

Transcript and Presenter's Notes

Title: D.D.L. (Lenguaje de Definici


1
D.D.L. (Lenguaje de Definición Datos)
2
D.D.L. - Definición de Estructuras
  • D. D. L.
  • Data
  • Definition
  • Language.

3
D.D.L. - Definición de Estructuras
  • D. D. L.
  • Data - Lenguaje
  • Definition - de Definición
  • Language - de Datos

4
D.D.L. - Definición de Estructuras
  • D. D. L.
  • Permite crear, modificar y eliminar las
    estructuras de los datos (Metadata).
  • Permite definir como será la B.D.

5
D.D.L. - Definición de Estructuras
  • D. D. L.
  • Estructuras
  • Bases de Datos
  • Tablas (relaciones o entidades)
  • Columnas (atributos)
  • Claves
  • Primarias (atributo determinante)
  • Foráneas (claves externas, claves de otras
    tablas)
  • Únicas (claves candidatas)
  • Índices, etc.
  • Vistas (consultas almacenadas)

6
D.D.L. - Definición de Estructuras
  • Los comandos para definir datos son
  • CREATE, crear.
  • ALTER, modificar o alterar.
  • DROP, eliminar o descartar.

7
CREATE DATABASE
8
D.D.L. - Definición de Estructuras
  • CREATE DATABASE
  • Crea una nueva Base de Datos.
  • En informix existen varios espacios para
    almacenar las B.D.
  • Hay que especificar en cual, sino se crea en el
    espacio del root (rootdbs), de capacidad muy
    limitada.

9
D.D.L. - Definición de Estructuras
  • CREATE DATABASE
  • Crear una nueva Base de Datos.
  • CREATE DATABASE nombre_BD
  • IN nombre_espacio
  • Ejemplo
  • CREATE DATABASE BD_2INX_ape
  • IN datosdbs

10
D.D.L. - Definición de Estructuras
  • CREATE DATABASE
  • Al crear un base de datos el usuario que ejecute
    la instrucción CREATE... se le asigna permisos
    como DBA (Administrador de la BD)
  • Ningún usuario (exepto root de informix) pude
    utilizar la BD, hasta que se asignen permisos.

11
CREATE TABLE
12
D.D.L. - Definición de Estructuras
  • CREATE TABLE
  • Crea una nueva relación o entidad.
  • Para cada atributo se puede especificar
  • Nombre
  • Tipo de dato
  • Dominio
  • Restricciones

13
D.D.L. - Definición de Estructuras
  • CREATE TABLE
  • Tipos de restricciones
  • de clave
  • de integridad de tablas
  • de integridad referencial

14
D.D.L. - Definición de Estructuras
  • CREATE TABLE
  • Ejemplo
  • CREATE TABLE NOM_TABLA(
  • ATRIB1 TIPO_DATO,
  • ATRIB2 TIPO_DATO,
  • ATRIB3 TIPO_DATO,
  • .....)

15
D.D.L. - Definición de Estructuras
  • Tipos de Datos
  • El gestor de base de datos soporta las siguientes
    categorias de tipos de datos
  • tipos de datos de caracteres
  • tipos de datos de números
  • tipos de datos de tiempo
  • tipos de datos para objetos grandes

16
D.D.L. - Definición de Estructuras
  • Tipos de datos de caracteres
  • char (largo)
  • nchar (largo)
  • solo mayúsculas
  • largo entre 1 y 32767
  • varchar (máximo, reserva)
  • nvarchar (máximo, reserva)
  • solo mayúsculas
  • máximo entre 1 y 255. Tamaño máximo de la cadena
  • reserva entre 0 y 255. Tamaño reservado para la
    cadena

17
D.D.L. - Definición de Estructuras
  • Tipos de datos numéricos
  • Tipo de Datos Númericos Exactos
  • integer
  • -2.147.483.647 a 2.147.483.647
  • smallint
  • -32.767 a 32.767
  • serial(n)
  • n comienzo de la serie
  • integer autonumérico

18
D.D.L. - Definición de Estructuras
  • Tipos de datos numéricos
  • Tipo de Datos Númericos Exactos
  • decimal (p,s)
  • p cantidad de digitos
  • s cantidad de decimales
  • money(p,s)
  • símbolo monetario

19
D.D.L. - Definición de Estructuras
  • Tipos de datos numéricos
  • Tipo de Datos Númericos Aproximados
  • decimal(p)
  • p precisión del número real, un integer positivo
  • float(p)
  • p de 1 a 32 digitos significantes, 16 por
    defecto
  • smallfloat
  • 8 digitos significantes

20
D.D.L. - Definición de Estructuras
  • Tipos de datos de tiempo
  • date
  • fecha
  • formato (mm/dd/yy)

21
D.D.L. - Definición de Estructuras
  • Tipos de datos de tiempo
  • datetime
  • fecha y hora
  • formato (mm/dd/yy hhmmss.fff)
  • datetime Year To Year (1 a 9999)
  • Month To Month (1 a 12)
  • Day To Day (1 a 31,30 o29)
  • Hour To Hour (0 a 23)
  • Minute To Minute (0 a 59)
  • Second To Second (0 a 59)
  • Fraction To Fraction (1 a 5)
  • 3 - 1 milesima de segundo

22
D.D.L. - Definición de Estructuras
  • Tipos de datos de tiempo
  • interval
  • almacena una unidad de tiempo
  • interval Year(p) To Year (1 a 9999)
  • Month(p) To Month (1 a 12)
  • Day(p) To Day (1 a 31,30 o29)
  • Hour(p) To Hour (0 a 23) Minute(p) To Minute (0
    a 59) Second(p) To Second (0 a
    59) Fraction(p) To Fraction (1-5)
  • p cantidad máxima de dígitos para almacenar
    años, meses, dias... máximo 9

23
D.D.L. - Definición de Estructuras
  • Tipos de datos de objetos grandes
  • text
  • almacena caracteres hasta 2 31 bytes
  • byte
  • almacena hasta 231 bytes

24
D.D.L. - Definición de Estructuras
  • Caso de Estudio
  • En un supermercado las cajeras realizan la
    facturación de los productos a los clientes.
  • Los productos pertenecen a disitintos tipos
    (Alimentos, Carnes, etc.) y tienen distintos de
    I.V.A. (básico, mínimo, eximidos)

25
D.D.L. Caso de Estudio
Teléfonos
dirección
Cajeras
Nombre
eMail
CI-Caj
26
D.D.L. Caso de Estudio

calle
Teléfonos
número
dirección
esquina
Cajeras
Nombre
nombre
eMail
apellido
CI-Caj
27
D.D.L. Caso de Estudio
Dirección y nombre son atributos
estructurados tambien en Clientes, pero por
razones de espacio y claridad los dejaremos
como atributos simples en el MER
CI-Cli
Clientes
número

Teléfonos
dirección
eMail
Nombre

calle
Teléfonos
número
dirección
esquina
Cajeras
Nombre
nombre
eMail
apellido
CI-Caj
28
D.D.L. Caso de Estudio
CI-Cli
Clientes
número

Teléfonos
dirección
eMail
Nombre

Teléfonos
dirección
Cajeras
Productos
Nombre
eMail
CI-Caj
ID-Prod
IVA
Descripción
Tipo-Producto
Precio
29
D.D.L. Caso de Estudio
CI-Cli
Mismos Atributos Generalizamos
Clientes
número

Teléfonos
dirección
eMail
Nombre

Teléfonos
dirección
Cajeras
Productos
Nombre
eMail
CI-Caj
ID-Prod
IVA
Descripción
Tipo-Producto
Precio
30
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son

Teléfonos
dirección
eMail
Nombre

Teléfonos
dirección
Cajeras
Productos
Nombre
eMail
CI-Caj
ID-Prod
IVA
Descripción
Tipo-Producto
Precio
31
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son
IVAs
ID-IVA
Porcentaje
Cajeras
Productos
CI-Caj
ID-Prod
IVA
Descripción
Tipo-Producto
Precio
32
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son
IVAs
T
ID-IVA
Porcentaje
Cajeras
Productos
CI-Caj
ID-Prod
Descripción
Tipo-Producto
Precio
33
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son
IVAs
1
T
ID-IVA
Todos los productos tienen un IVA asociado.
Porcentaje
N
Cajeras
Productos
CI-Caj
ID-Prod
Descripción
Tipo-Producto
Precio
34
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son
IVAs
1
T
ID-IVA
Porcentaje
N
N
N
Cajeras
Facturan
Productos
CI-Caj
ID-Prod
Cantidad
Hora
Fecha
Descripción
Precio
Tipo-Producto
35
D.D.L. Caso de Estudio

Teléfonos
Personas
dirección
eMail
CI-Cli
Nombre
CI
Clientes
número
Son
1
IVAs
1
T
Compran
ID-IVA
Porcentaje
N
N
N
N
Cajeras
Facturan
Productos
CI-Caj
ID-Prod
Cantidad
Hora
Fecha
Descripción
Precio
Tipo-Producto
36
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Personas (CI, nombre, apellido, calle, número,
    esquina, email, teléfonos)
  • Cajeras (CI-Caj)
  • Clientes (CI-Cli, número)
  • Productos (ID-Prod, descripcion, precio, tipo)
  • IVAs (ID-IVA, porcentaje)

37
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Personas (CI, nombre, apellido, calle, número,
    esquina, email, teléfonos)
  • Cajeras (CI-Caj)
  • Clientes (CI-Cli, número)
  • Productos (ID-Prod, descripcion, precio, tipo)
  • IVAs (ID-IVA, porcentaje)

Per-Tel(CI, teléfono)
38
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Personas (CI, nombre, apellido, calle, número,
    esquina, email, teléfonos)
  • Cajeras (CI-Caj)
  • Clientes (CI-Cli, número)
  • Productos (ID-Prod, descripcion, precio, tipo)
  • IVAs (ID-IVA, porcentaje)

Per-Tel(CI, teléfono)
39
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Personas (CI, nombre, apellido, calle, número,
    esquina, email)
  • Cajeras (CI-Caj)
  • Clientes (CI-Cli, número)
  • Productos (ID-Prod, descripcion, precio, tipo)
  • IVAs (ID-IVA, porcentaje)

Per-Tel(CI, teléfono)
40
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Per-Tel (CI, teléfono)
  • Facturan (CI-Caj, ID-Prod, fecha, hora,
    cantidad)
  • Compran (CI-Caj, ID-Prod, fecha, hora, CI-Cli)
  • Tienen (ID-Prod, ID-IVA)

41
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Per-Tel (CI, teléfono)
  • Facturan (CI-Caj, ID-Prod, fecha, hora,
    cantidad)
  • Compran (CI-Caj, ID-Prod, fecha, hora, CI-Cli)
  • Tienen (ID-Prod, ID-IVA)

N a 1 con totalidad
42
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Per-Tel (CI, teléfono)
  • Facturan (CI-Caj, ID-Prod, fecha, hora,
    cantidad)
  • Compran (CI-Caj, ID-Prod, fecha, hora, CI-Cli)
  • Tienen (ID-Prod, ID-IVA)

N a 1 con totalidad
43
D.D.L. Caso de Estudio
  • Esquema Relacional
  • Pasaje a Tablas
  • Productos (ID-Prod, descripcion, precio, ID-IVA)
  • Tienen (ID-Prod, ID-IVA)

N a 1 con totalidad
44
D.D.L. Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE PERSONAS (
  • CI INTEGER NOT NULL,
  • NOMBRE VARCHAR(20) NOT NULL,
  • APELLIDO VARCHAR(20) NOT NULL,
  • CALLE VARCHAR(20),
  • NUMERO INTEGER,
  • ESQUINA VARCHAR(20),
  • EMAIL VARCHAR(30),
  • PRIMARY KEY(CI) )

45
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE CLIENTES(
  • CI_CLI INTEGER NOT NULL,
  • NUMERO INTEGER NOT NULL,
  • PRIMARY KEY(CI_CLI) )

46
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE CAJERAS(
  • CI_CAJ INTEGER NOT NULL,
  • PRIMARY KEY (CI_CAJ) )

47
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE PRODUCTOS(
  • ID_PROD INTEGER NOT NULL,
  • DESCRIPCION VARCHAR(20) NOT NULL,
  • PRECIO DECIMAL(7,2) NOT NULL,
  • ID_IVA INTEGER,
  • TIPO VARCHAR(17),
  • PRIMARY KEY (ID_PROD) )

48
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE IVAS(
  • ID_IVA INTEGER NOT NULL,
  • PORCENTAJE DECIMAL(4,4) NOT NULL,
  • PRIMARY KEY (ID_IVA) )

49
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE PER_TEL(
  • CI INTEGER NOT NULL,
  • TELEFONO CHAR(9) NOT NULL,
  • PRIMARY KEY (CI,TELEFONO))

50
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE FACTURAN(
  • CI_CAJ INTEGER NOT NULL,
  • ID_PROD INTEGER NOT NULL,
  • FECHA DATETIME YEAR TO MINUTES NOT NULL,
  • CANTIDAD DECIMAL (6,3) NOT NULL
  • PRIMARY KEY (CI_CAJ, ID_PROD, FECHA))

51
D.D.L. - Caso de Estudio
  • CREATE TABLE
  • CREATE TABLE COMPRAN(
  • CI_CAJ INTEGER NOT NULL,
  • ID_PROD INTEGER NOT NULL,
  • FECHA DATETIME YEAR TO MINUTES NOT NULL,
  • CI_CLI INTEGER NOT NULL
  • PRIMARY KEY (CI_CAJ, ID_PROD, FECHA))

52
ALTER TABLE
53
D.D.L. - 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).

54
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • Las acciones posibles para modifcar 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.

55
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • AGREGAR ADD
  • Por ejemplo, si queremos añadir a la relación
    PERSONAS un atributo para almacenar la FECHA de
    NACIMIENTO, podemos usar la orden
  • ALTER TABLE PERSONAS
  • ADD FECHA_NAC DATE

56
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • Por ejemplo, si queremos MODIFICAR la entidadad
    PERSONAS el TAMAÑO del atributo APELLIDO, podemos
    usar la orden
  • ALTER TABLE PERSONAS MODIFY APELLIDO VARCHAR(15)

57
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • 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 nulos (NOT NULL),
    siempre y cuando la columna no contenga algún
    valor NULL.

58
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • Por ejemplo, si queremos AGREGAR la restricción
    de NOT NULL al atributo FECHA_NAC de la relación
    PERSONAS podemos usar la orden
  • ALTER TABLE PERSONAS MODIFY (FECHA_NAC DATE NOT
    NULL)

59
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • Poner un valor por defecto, cuando no se asigna
    uno
  • ALTER TABLE PRODUCTOS MODIFY
  • (TIPO VARCHAR(17) DEFAULT Alimentos)

60
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • También se pueden agregar a la hora de crear la
    tabla
  • CREATE TABLE PRODUCTOS(
  • .....
  • TIPO VARCHAR(17) DEFAULT Alimentos,
  • ....)

61
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • Verificar que los valores estén en determinado
    dominio.
  • Por ejemplo, asegurarse que los valores posibles
    del atributo TIPO de la tabla PRODUCTO sean
  • Alimentos, Carnes, Quesos y Fiambres, Lacteos,
    Limpieza, Kiosco, Bebidas, Bebidas Alcoholicas

62
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • MODIFICAR MODIFY
  • ALTER TABLE PRODUCTO MODIFY TIPO CHAR(20) CHECK
    (TIPO IN (Alimentos, Carnes, Quesos y
    Fiambres, Lacteos, Limpieza, Kiosco,
    Bebidas, Bebidas Alcoholicas ))

63
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • También se pueden agregar a la hora de crear la
    tabla
  • CREATE TABLE CAJERAS (
  • CI_CAJ INTEGER NOT NULL,
  • QUEBRANTO INTEGER CHECK
  • (QUEBRANTO BETWEEN 100 AND 9000 ),
  • PRIMARY KEY (CI_CAJ))

64
CONSTRAINTS
65
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • Para que el SGBD controle
  • las claves primarias (PRIMARY KEY)
  • las claves foráneas (FOREIGN KEY)
  • las claves candidatas (UNIQUE KEY)
  • hay que indicar através de CONSTRAINTS que
    atributo(s) pertenecen a cada uno.

66
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • FOREIGN KEY
  • Controla que el valor de un atributo (o la
    combinación de atributos) exista en otra tabla
    (el valor).
  • Este atributo (o la combinación de atributos)
    debe ser clave primaria en la otra tabla (CLAVE
    EXTERNA).

67
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • En la tabla PRODUCTOS se hace referencia a ID_IVA
    que debe existir (el valor) en la tabla IVAs.
  • ALTER TABLE PRODUCTOS
  • ADD CONSTRAINT
  • FOREIGN KEY (ID_IVA)
  • REFERENCES IVAS (ID_IVA)
  • CONSTRAINT FK_PROD

68
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • En la tabla PRODUCTOS se hace referencia a ID_IVA
    que debe existir (el valor) en la tabla IVAs.
  • ALTER TABLE PRODUCTOS
  • ADD CONSTRAINT
  • FOREIGN KEY (ID_IVA)
  • REFERENCES IVAS (ID_IVA)
  • CONSTRAINT FK_PROD

Atributo (lista de atributos) de la tabla que es
clave en otra tabla.
69
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • En la tabla PRODUCTOS se hace referencia a ID_IVA
    que debe existir (el valor) en la tabla IVAs.
  • ALTER TABLE PRODUCTOS
  • ADD CONSTRAINT
  • FOREIGN KEY (ID_IVA)
  • REFERENCES IVAS (ID_IVA)
  • CONSTRAINT FK_PROD

Indicar en que tabla y el nombre del o
los atributos en esa tabla.
70
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • En la tabla PRODUCTOS se hace referencia a ID_IVA
    que debe existir (el valor) en la tabla IVAs.
  • ALTER TABLE PRODUCTOS
  • ADD CONSTRAINT
  • FOREIGN KEY (ID_IVA)
  • REFERENCES IVAS (ID_IVA)
  • CONSTRAINT FK_PROD

Indicar un nombre para este CONSTRIANT. Opcional.
71
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • También en la tablas CAJERAS y CLIENTES se hacen
    referencia a un mismo atributo (CI) de la tabla
    PERSONAS como, CI_CAJ y CI_CLI, ambos deben
    existir (los valores) en la tabla PERSONAS.

72
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • ALTER TABLE CAJERAS
  • ADD CONSTRAINT (FOREIGN KEY (CI_CAJ)
  • REFERENCES PERSONAS (CI)
  • CONSTRAINT FK_CI_CAJ)
  • ALTER TABLE CLIENTES
  • ADD CONSTRAINT (FOREIGN KEY (CI_CLI)
  • REFERENCES PERSONAS (CI)
  • CONSTRAINT FK_CI_CLI)

73
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • También en la relaciones FACTURAN y COMPRAN se
    hacen referencia a las claves de las entidades
    que estan vinculadas.
  • Se debe agregar una constraint para cada entidad
    vinculada en la relación.

74
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • ALTER TABLE FACTURAN
  • ADD CONSTRAINT(FOREIGN KEY (CI_CAJ)
  • REFERENCES CAJERAS (CI_CAJ)
  • CONSTRAINT FK_CI_CAJ_FACT)
  • ALTER TABLE FACTURAN
  • ADD CONSTRAINT (FOREIGN KEY (ID_PROD)
  • REFERENCES PRODUCTOS (ID_PROD)
  • CONSTRAINT FK_ID_PROD_FACT)

75
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • ALTER TABLE COMPRAN ADD CONSTRAINT (FOREIGN KEY
    (CI_CLI)
  • REFERENCES CLIENTES (CI_CLI)
  • CONSTRAINT FK_CI_CLI_COMP)
  • ALTER TABLE COMPRAN ADD CONSTRAINT (FOREIGN KEY
    (CI_CAJ, ID_PROD, FECHA)
  • REFERENCES FACTURAN (CI_CAJ, ID_PROD, FECHA)
  • CONSTRAINT FK_FACT_COMP)

76
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • En la tabla CLIENTES el atributo NÚMERO es único.
  • UNIQUE KEY
  • Controla que un atributo (o la combinación de
    atributos) tenga un único valor (CLAVE
    CANDIADATA).
  • ALTER TABLE CLIENTES ADD
  • CONSTRAINT UNIQUE (NUMERO)
  • CONSTRAINT UK_CLI

77
D.D.L. - Definición de Estructuras
  • ALTER TABLE
  • ELIMINAR DROP
  • Agregamos un nuevo atributo
  • edad
  • ALTER TABLE PERSONAS
  • ADD EDAD INTEGER
  • No era necesario...
  • ALTER TABLE PERSONAS
  • DROP EDAD

78
DROP TABLE
79
D.D.L. - Definición de Estructuras
  • DROP TABLE
  • Si ya no se necesita una relación base, podemos
    eliminarla junto con su definición con la orden
  • DROP TABLE
  • DROP TABLE nombre_tabla

80
D.D.L. - Definición de Estructuras
  • DROP TABLE
  • Si la tabla a eliminar tiene la clave primaria o
    alguna clave secundaria referenciada por alguna
    clave externa de otra tabla, se deberán eliminar
    también estos Constraints
  • DROP TABLE PRODUCTOS CASCADE CONSTRAINTS

81
D.D.L. - Definición de Estructuras
  • Para habilitar Constraints
  • ALTER TABLE PRODUCTOS ENABLE CONSTRAINT FK_PROD
  • Para deshabilitar Constraints
  • ALTER TABLE PRODUCTOS DISABLE CONSTRAINT FK_PROD

82
D.D.L. - Definición de Estructuras
  • Renombrar RENAME
  • Para cambiar el nombre de un atributo
  • RENAME COLUMN
  • TABLA ATRIB TO NOM_NUEVO
  • Para cambiar el nombre de una tabla
  • RENAME TABLE nombre_tabla_vieja
  • TO nombre_tabla_nueva

83
CASO DE ESTUDIOCREATE TABLE
84
  • CREATE TABLE PERSONAS (
  • CI INTEGER NOT NULL,
  • NOMBRE VARCHAR(20) NOT NULL,
  • APELLIDO VARCHAR(15) NOT NULL,
  • CALLE VARCHAR(20),
  • NUMERO INTEGER,
  • ESQUINA VARCHAR(20),
  • EMAIL VARCHAR(30),
  • FECHA_NAC DATE NOT NULL,
  • PRIMARY KEY(CI))

85
  • CREATE TABLE CLIENTES(
  • CI_CLI INTEGER NOT NULL,
  • NUMERO INTEGER NOT NULL,
  • UNIQUE (NUMERO) CONSTRAINT UK_CLI,
  • FOREIGN KEY (CI_CLI) REFERENCES PERSONAS (CI)
    CONSTRAINT FK_CI_CLI,
  • PRIMARY KEY(CI_CLI))

86
  • CREATE TABLE CAJERAS(
  • CI_CAJ INTEGER NOT NULL,
  • QUEBRANTO INTEGER CHECK (QUEBRANTO BETWEEN 100
    AND 9000 ),
  • FOREIGN KEY (CI_CAJ) REFERENCES PERSONAS (CI)
    CONSTRAINT FK_CI_CAJ,
  • PRIMARY KEY (CI_CAJ))

87
  • CREATE TABLE PRODUCTOS(
  • ID_PROD INTEGER NOT NULL,
  • DESCRIPCION VARCHAR(20) NOT NULL,
  • PRECIO DECIMAL(7,2) NOT NULL,
  • ID_IVA INTEGER DEFAULT 3,
  • TIPO VARCHAR(17) CHECK (TIPO IN (Alimentos,
    Carnes, Quesos y Fiambres, Lacteos,
    Limpieza, Kiosco, Bebidas, Bebidas
    Alcoholicas)),
  • FOREIGN KEY (ID_IVA) REFERENCES IVAS (ID_IVA)
    CONSTRAINT FK_PROD,
  • PRIMARY KEY (ID_PROD))

88
  • CREATE TABLE IVAS(
  • ID_IVA INTEGER NOT NULL,
  • PORCENTAJE DECIMAL(4,4) NOT NULL,
  • PRIMARY KEY (ID_IVA))
  • CREATE TABLE PER_TEL(
  • CI INTEGER NOT NULL,
  • TELEFONO CHAR(9) NOT NULL,
  • FOREIGN KEY (CI) REFERENCES PERSONAS (CI)
    CONSTRAINT FK_CI,
  • PRIMARY KEY (CI,TELEFONO))

89
  • CREATE TABLE FACTURAN(
  • CI_CAJ INTEGER NOT NULL,
  • ID_PROD INTEGER NOT NULL,
  • FECHA DATETIME YEAR TO MINUTES NOT NULL,
  • CANTIDAD DECIMAL (6,3) NOT NULL
  • FOREIGN KEY (CI_CAJ) REFERENCES CAJERAS (CI_CAJ)
    CONSTRAINT FK_CI_CAJ_FACT,
  • FOREIGN KEY (ID_PROD) REFERENCES PRODUCTOS
    (ID_PROD) CONSTRAINT FK_ID_PROD,
  • PRIMARY KEY (CI_CAJ, ID_PROD, FECHA))

90
  • CREATE TABLE COMPRAN(
  • CI_CAJ INTEGER NOT NULL,
  • ID_PROD INTEGER NOT NULL,
  • FECHA DATETIME YEAR TO MINUTES NOT NULL,
  • CI_CLI INTEGER NOT NULL
  • FOREIGN KEY (CI_CAJ, ID_PROD, FECHA) REFERENCES
    CAJERAS (CI_CAJ, ID_PROD, FECHA) CONSTRAINT
    FK_FACT_COMP,
  • FOREIGN KEY (CI_CLI) REFERENCES CLIENTES (CI_CLI)
    CONSTRAINT FK_CI_CLI_COMP,
  • PRIMARY KEY (CI_CAJ, ID_PROD, FECHA))
Write a Comment
User Comments (0)
About PowerShow.com