Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Prof. L. Carmbula
D. D. L. Definicin de Datos
D. D. L.
Prof. L. Carmbula
D. D. L. Definicin de Datos
D. D. L.
Prof. L. Carmbula
D. D. L. Definicin de Datos
D. D. L. Permite crear, modificar y eliminar las estructuras para almacenar los datos (Metadata). Permite definir el esquema de la B.D.
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Definicin de Datos
D. D. L.
Bases de Datos
Tablas (relaciones o entidades) Columnas (atributos) Claves: Primarias (atributo determinante) Forneas (claves externas, claves de otras tablas) nicas (claves candidatas) ndices, etc. Vistas (consultas almacenadas)
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE DATABASE
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
IN btdbs
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE TABLE
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Creacin de Tablas
CREATE TABLE
Crea una nueva tabla (relacin o entidad) Para cada atributo se puede especificar:
Nombre Obligatorio Tipo de dato Obligatorio Dominio Restricciones
Prof. L. Carmbula
D. D. L. Creacin de Tablas
CREATE TABLE Tipos de restricciones:
De clave Atributos de ingreso obligatorio De integridad:
De dominio Referencial
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Creacin de Tablas
CREATE TABLE
Sintaxis:
CREATE TABLE NOM_TABLA ( ATRIB1 TIPO_DATO, ATRIB2 TIPO_DATO, ATRIB3 TIPO_DATO, .....);
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Creacin de Tablas
Tipos de Datos
El gestor de base de datos soporta las siguientes categoras de tipos de datos: de caracteres de nmeros de tiempo para objetos grandes
Prof. L. Carmbula
D. D. L. Creacin de Tablas
Tipos de datos de caracteres
D. D. L. Creacin de Tablas
Tipos de datos numricos
Tipo de Datos Numricos 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 autonumrico
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
MONEY ( p , s )
smbolo monetario
Prof. L. Carmbula
FLOAT ( p )
p: de 1 a 32 dgitos significantes, 16 por defecto
SAMLLFLOAT
8 dgitos significantes
Prof. L. Carmbula
Prof. L. Carmbula
BYTE
almacena hasta 231 bytes
Prof. L. Carmbula
Cajeras
CI-Caj
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Cajeras
CI-Caj
Prof. L. Carmbula
Clientes
CI-Cli nmero
Telfonos direccin eMail Nombre
Cajeras
CI-Caj
Prof. L. Carmbula
Clientes
*
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
Cajeras
Clientes
Cajeras
*
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
*
Clientes CI-Cli nmero
Telfonos direccin eMail Nombre
CI Son
Cajeras
*
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
*
Clientes CI-Cli nmero IVAs ID-IVA Porcentaje
CI Son
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
*
Clientes CI-Cli nmero IVAs T ID-IVA Porcentaje
CI Son
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
*
Clientes 1 T N Productos ID-Prod CI-Cli nmero IVAs ID-IVA Porcentaje
CI Son
Descripcin Precio
Prof. L. Carmbula
*
Clientes 1 T N CI-Cli nmero IVAs ID-IVA Porcentaje
CI Son
Cajeras CI-Caj
Facturan
Productos ID-Prod
Descripcin Precio
Prof. L. Carmbula
Tipo-Producto
*
Clientes 1 1 T N N Productos ID-Prod
Prof. L. Carmbula
CI Son
Descripcin Tipo-Producto Precio Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010
Prof. L. Carmbula
Prof. L. Carmbula
Prof. L. Carmbula
Prof. L. Carmbula
);
Prof. L. Carmbula
);
Prof. L. Carmbula
Prof. L. Carmbula
CREATE TABLE
CREATE TABLE PER_TEL(
CI TELEFONO INTEGER CHAR(9) NOT NULL, NOT NULL,
Prof. L. Carmbula
CREATE TABLE
CREATE TABLE COMPRAN(
CI_CAJ INTEGER NOT NULL, ID_PROD INTEGER NOT NULL, FECHA DATETIME YEAR TO MINUTE NOT NULL, CI_CLI INTEGER NOT NULL, PRIMARY KEY (CI_CAJ, ID_PROD, FECHA));
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
ALTER TABLE
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Prof. L. Carmbula
Por ejemplo, si queremos aadir a la relacin PERSONAS un atributo para almacenar la FECHA de NACIMIENTO, podemos usar la orden:
ALTER TABLE PERSONAS ADD FECHA_NAC DATE;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Por ejemplo, si queremos MODIFICAR la entidad PERSONAS el TAMAO o LARGO del atributo APELLIDO, podemos usar la orden:
ALTER TABLE PERSONAS APELLIDO VARCHAR(15,10); MODIFY
Prof. L. Carmbula
Cuando se agrega una columna a una tabla, sta admite valores nulos (NULL). Se puede agregar una restriccin a las columnas para que no admitan valores nulos (NOT NULL), siempre y cuando la columna no contenga algn valor NULL.
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Por ejemplo, si queremos AGREGAR la restriccin de NOT NULL al atributo FECHA_NAC de la relacin PERSONAS podemos usar la orden:
ALTER TABLE PERSONAS MODIFY FECHA_NAC DATE NOT NULL; NULL
Prof. L. Carmbula
Prof. L. Carmbula
....);
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Verificar que los valores estn 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
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Carnes, Quesos y Fiambres, Lacteos, Limpieza, Kiosco, Bebidas, Bebidas Alcoholicas ));
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CONSTRAINTS
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Claves
ALTER TABLE
Para que el SGBD controle:
las claves primarias (PRIMARY KEY) las claves forneas (FOREIGN KEY) las claves candidatas (UNIQUE KEY)
travs de atributo(s)
Prof. L. Carmbula
D. D. L. Clave Primaria
ALTER TABLE
PRIMARY KEY
Controla que el valor de un atributo (o la combinacin de atributos) sea nico para todas las filas de una tabla.
ALTER TABLE PRODUCTOS ADD CONSTRAINT PRIMARY KEY (ID_PROD) CONSTRAINT
PK_PROD;
Prof. L. Carmbula
D. D. L. Clave Primaria
ALTER TABLE
PRIMARY KEY
Controla que el valor de un atributo (o la combinacin de atributos) sea nico para todas lasIndicar una nombre para filas de un tabla. ALTER TABLE PRODUCTOS ADD este CONSTRAINT. CONSTRAINT PRIMARY KEY (ID_PROD) Opcional.
CONSTRAINT
PK_PROD;
Prof. L. Carmbula
D. D. L. Clave Fornea
ALTER TABLE
FOREIGN KEY
Controla que el valor de un atributo (o la combinacin de atributos) exista en otra tabla (el valor). Este atributo (o la combinacin de atributos) debe ser clave primaria en la otra tabla (CLAVE EXTERNA).
Prof. L. Carmbula
D. D. L. Clave Fornea
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 CONSTRAINT IVAS (ID_IVA) FK_PROD;
Prof. L. Carmbula
D. D. L. Clave Fornea
ALTER TABLE
Atributo (lista En la tabla PRODUCTOS se hace referencia a ID_IVA que debe existir de atributos) de la (el valor) en la tabla IVAs. tabla que es clave ALTER TABLE PRODUCTOS en otra tabla. ADD CONSTRAINT FOREIGN KEY (ID_IVA) REFERENCES IVAS (ID_IVA) CONSTRAINT FK_PROD;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Clave Fornea
ALTER TABLE
En la tabla PRODUCTOS se hace referencia a ID_IVA que debe existir (el valor) en la tabla IVAs. Indicar en que tabla ALTER TABLE PRODUCTOS ADDo los y el nombre del CONSTRAINT FOatributos en esa tabla. REIGN KEY (ID_IVA) REFERENCES IVAS (ID_IVA) CONSTRAINT FK_PROD;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Clave Fornea
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 Indicar un nombre para CONSTRAINT FOREIGN KEY (ID_IVA) este CONSTRAINT. Opcional. (ID_IVA) REFERENCES IVAS CONSTRAINT FK_PROD;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Clave Fornea
ALTER TABLE
ALTER TABLE CAJERAS ADD CONSTRAINT
FOREIGN KEY (CI_CAJ) REFERENCES PERSONAS (CI) CONSTRAINT FK_CI_CAJ;
D. D. L. Clave Fornea
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;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
Prof. L. Carmbula
(CI_CAJ, ID_PROD, FECHA) REFERENCES FACTURAN (CI_CAJ, ID_PROD, FECHA) CONSTRAINT FK_FACT_COMP;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Clave nica
ALTER TABLE
En la tabla CLIENTES NMERO es nico. el atributo
UNIQUE KEY Controla que un atributo (o la combinacin de atributos) tenga un nico valor (CLAVE CANDIADATA). CANDIADATA ALTER TABLE CLIENTESADD CONSTRAINT UNIQUE (NUMERO) CONSTRAINT UK_CLI; UK_CLI
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Eliminar un Atributo
ALTER TABLE
ELIMINAR: DROP Agregamos un nuevo atributo edad ALTER TABLE PERSONAS ADD EDAD INTEGER; No era necesario... ALTER TABLE PERSONAS DROP EDAD;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
DROP TABLE
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Eliminar Tablas
DROP TABLE Si ya no se necesita una tabla, podemos eliminarla junto con su definicin con la orden:
DROP TABLE
DROP TABLE nombre_tabla
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Eliminar Tablas
DROP TABLE
Si la tabla a eliminar tiene la clave primaria o alguna clave secundaria referenciada por alguna clave externa de otra tabla, se debern eliminar tambin estos Constraints
DROP
CONSTRAINTS;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
D. D. L. Renombrar
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;
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE PERSONAS
CREATE TABLE PERSONAS ( CI INTEGER NOT NULL, NOMBRE VARCHAR(20,10) NOT NULL, APELLIDO VARCHAR(15,10) NOT NULL, CALLE VARCHAR(20,10), NUMERO INTEGER, ESQUINA VARCHAR(20,10), EMAIL VARCHAR(30,20), FECHA_NAC DATE NOT NULL, PRIMARY KEY(CI) CONSTRAINT PK_PERSONAS);
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE PER_TEL
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) CONSTRAINT PK_PER_TEL);
Prof. L. Carmbula
CREATE CLIENTES
CREATE TABLE CLIENTES( CI_CLI NUMERO INTEGER INTEGER NOT NULL, NOT NULL,
UNIQUE (NUMERO) CONSTRAINT UK_CLI, FOREIGN KEY (CI_CLI) REFERENCES PERSONAS (CI) CONSTRAINT FK_CI_CLI, PRIMARY KEY(CI_CLI) CONSTRAINT PK_CLIENTES);
Prof. L. Carmbula
CREATE CAJERAS
CREATE TABLE CAJERAS( CI_CAJ QUEBRANTO INTEGER NOT NULL, INTEGER CHECK (QUEBRANTO
BETWEEN 100 AND 9000 ), FOREIGN KEY (CI_CAJ) REFERENCES PERSONAS (CI) CONSTRAINT FK_CI_CAJ, PRIMARY KEY (CI_CAJ) CONSTRAINT PK_CAJERAS);
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE IVAS
CREATE TABLE IVAS( ID_IVA INTEGER NOT NULL, PORCENTAJE DECIMAL(4,4) NOT NULL, PRIMARY KEY (ID_IVA) CONSTRAINT PK_IVAS);
Prof. L. Carmbula
CREATE PRODUCTOS
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) CONSTRAINT PK_PRODUCTOS);
Sistemas de Bases de Datos II ITS / ITSB EMT CETP 2010 Prof. L. Carmbula
CREATE FACTURAN
CREATE TABLE FACTURAN(
CI_CAJ INTEGER NOT NULL, ID_PROD INTEGER NOT NULL, FECHA DATETIME YEAR TO MINUTE 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) CONSTRAINT PK_FACTURAN);
Prof. L. Carmbula
CREATE COMPRAN
CREATE TABLE COMPRAN(
CI_CAJ INTEGER NOT NULL, ID_PROD INTEGER NOT NULL, FECHA DATETIME YEAR TO MINUTE NOT NULL, CI_CLI INTEGER NOT NULL, FOREIGN KEY (CI_CAJ, ID_PROD, FECHA) REFERENCES FACTURAN (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) CONSTRAINT PK_COMPRAN);
Prof. L. Carmbula