950 likes | 1.19k Views
D.D.L. (Lenguaje de Definición Datos). D.D.L. - Definición de Estructuras. D. D. L. Data Definition Language. D.D.L. - Definición de Estructuras. D. D. L. Data - Lenguaje Definition - de Definición Language - de Datos. D.D.L. - Definición de Estructuras. D. D. L.
E N D
D.D.L.(Lenguaje de Definición Datos) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • D. D. L. • Data • Definition • Language. A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • D. D. L. • Data - Lenguaje • Definition - de Definición • Language - de Datos A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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. A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • Los comandos para definir datos son: • CREATE, crear. • ALTER, modificar o alterar. • DROP, eliminar o descartar. A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
CREATE DATABASE A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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. A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • CREATE DATABASE • Crear una nueva Base de Datos. CREATE DATABASE nombre_BD IN nombre_espacio • Ejemplo: CREATE DATABASEBD_2INX_ape INdatosdbs A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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. A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
CREATE TABLE A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • CREATE TABLE • Tipos de restricciones: • de clave • de integridad de tablas • de integridad referencial A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • CREATE TABLE • Ejemplo: CREATE TABLENOM_TABLA( ATRIB1 TIPO_DATO, ATRIB2 TIPO_DATO, ATRIB3 TIPO_DATO, .....); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • Tipos de datos de tiempo • date • fecha • formato (mm/dd/yy) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Definición de Estructuras • Tipos de datos de tiempo • datetime • fecha y hora • formato (mm/dd/yy hh:mm:ss.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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio Teléfonos dirección Cajeras Nombre eMail CI-Caj A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * calle Teléfonos número dirección esquina Cajeras Nombre nombre eMail apellido CI-Caj A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli 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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son IVAs ID-IVA Porcentaje Cajeras Productos CI-Caj ID-Prod IVA Descripción Tipo-Producto Precio A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son IVAs T ID-IVA Porcentaje Cajeras Productos CI-Caj ID-Prod Descripción Tipo-Producto Precio A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli 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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son IVAs 1 T ID-IVA Porcentaje N N N Cajeras Facturan Productos CI-Caj ID-Prod Hora Cantidad Fecha Descripción Precio Tipo-Producto A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio * Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son 1 IVAs 1 T Compran ID-IVA Porcentaje N N N N Cajeras Facturan Productos CI-Caj ID-Prod Hora Cantidad Fecha Descripción Precio Tipo-Producto A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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) A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
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 A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. – Caso de Estudio • CREATE TABLE CREATE TABLEPERSONAS ( 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), PRIMARYKEY(CI)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLECLIENTES( CI_CLI INTEGER NOT NULL, NUMERO INTEGER NOT NULL, PRIMARY KEY(CI_CLI) ); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLECAJERAS( CI_CAJ INTEGERNOT NULL, PRIMARY KEY (CI_CAJ)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLEPRODUCTOS( ID_PROD INTEGERNOT NULL, DESCRIPCION VARCHAR(20) NOT NULL, PRECIO DECIMAL(7,2) NOT NULL, ID_IVA INTEGER, TIPO VARCHAR(17), PRIMARY KEY (ID_PROD)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLEIVAS( ID_IVA INTEGERNOT NULL, PORCENTAJE DECIMAL(4,4) NOT NULL, PRIMARY KEY (ID_IVA)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLEPER_TEL( CI INTEGERNOT NULL, TELEFONO CHAR(9) NOT NULL, PRIMARY KEY (CI,TELEFONO)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática
D.D.L. - Caso de Estudio • CREATE TABLE CREATE TABLEFACTURAN( CI_CAJ INTEGERNOT 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática