D.D.L. (Lenguaje de Definición Datos)

Slides:



Advertisements
Presentaciones similares
SQL Sigla del nombre “Structured Query Language”.
Advertisements

integridad referencial
Rocio Contreras Aguila Primer Semestre Para poder ejecutar esto SQL Server nos permite definir datos y nos entrega herramientas para poder exigir.
LENGUAJE ESTRUCTURADO DE CONSULTA “SQL”
Implementación de la integridad de datos
Creación de tipos de datos y tablas
Por: Ronald Toscano Pretelt
¿QUÉ SON LAS BASES DE DATOS?
Maestría en Bioinformática Bases de Datos y Sistemas de Información SQL: DDL Ing. Alfonso Vicente, PMP
Sistema de gestión de las bases de datos (SGBD).
Unidad 3 Lenguaje SQL Contenidos Que es SQL ? Estructura de SQL
Contenido de la sesión 1 Bases de Datos Relacionales Lenguaje SQL
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Definición de Datos Conceptos básicos.
SESIÓN 2. Completados por el tipo de objeto sobre el que actúan y el objeto concreto: CREATE DATABASE mibase ; Permite crear una base de datos llamada.
MySQL M.C. Pedro Bello López.
MODELO RELACIONAL El elemento central del modelo relacional es la RELACION. Una relación tiene un nombre, un conjunto de atributos que representan sus.
Restricciones de Integridad en ORACLE
SQL Lenguaje de consulta estructurado
Tema 4. DISEÑO LÓGICO Objetivos
D ISEÑO DE UNA B ASE DE D ATOS. F ASES DEL DISEÑO.
John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación del esquema de Una Base de Datos. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
Dr. Mario Rossainz López Aplicaciones WEB Primavera 2015.
CAPITULO 10 Manejando Restricciones
Ing. JUAN CARLOS GARCIA DUARTE
SQL: DDL Francisco Moreno & Carlos Mario Zapata. SQL:DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la Base de Datos Tipos de Objetos:
Relacionando tablas. Restricción FOREIGN KEY.. Constraint Foreign key Genera una restricción a partir de la relación de dos tablas. En la figura siguiente.
ESCUELA TECNOLÓGICA INSTITUTO TÉCNICO CENTRAL Ing. Johanna Vargas Esp. Gerencia de proyectos.
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Tema 2: Base de datos relacionales
DDL Unidad 2. Lenguaje estándar SQL El SQL es un lenguaje estándar de definición y manipulación (y consulta) de bases de datos relacionales. El SQL estándar.
Structured Query Language (Lenguaje Estructurado de Consultas)
BASES DE DATOS MySQL.
SQL: DDL Francisco Moreno. SQL: DDL DDL: Lenguaje de Definición de Datos Permite crear objetos en la BD Tipos de objetos: - Tablas: corresponden a las.
Restricciones de Integridad
Creación y población de Base de datos. Creación de Base de datos Instrucciones. CREATE SCHEMA CREATE DATABASE nombre_base de datos.
Instrucciones para crear tablas My SQL. A nivel teórico, existen dos lenguajes para el manejo de bases de datos: DDL (Data Definition Language) Lenguaje.
SQL Sigla del nombre “Structured Query Language”.
BASES DE DATOS MySQL. BASE DE DATOS Estructuras o contenedores donde se almacena información siguiendo determinadas pautas de disposición y ordenación.
SISTEMA DE BASE DE DATOS
INSTRUCCIONES Elaboración de la Presentación:
Base de Datos I. SQL es el lenguaje estándar para trabaja con base de datos relacionales. MySQL, el sistema de gestión de bases de datos SQL Open Source.
Ing. Eddye Sánchez Castillo FACULTAD DE INGENIERIA Escuela Profesional de Computación y Sistemas BASE DE DATOS I.
Ing. Esp. Ricardo Cujar Otros Postgres. ALTER TABLE Permite alterar la definición de una tabla. Alter table rename to Permite cambiar el nombre de una.
SQL Lenguaje Estructurado de Consulta MATERIA: diseñar sistemas de información ALUMNO: sarmiento flores Liliana Guadalupe GRUPO: 4° “A” TURNO: matutino.
Mínimo equipo necesario Un equipo 586 con 128MB de RAM como mínimo es recomendado para un servidor de Firebird 2.0. Windows demanda mas CPU y memoria que.
El SQL es el lenguaje “estándar” para las bases de datos. El termino esta entre comillas porque entre cada sistema gestor de base de datos (SGBD) pueden.
integridad referencial
Bases de Datos Modelo Relacional.
Aplicaciones para la Administración de Negocios
Comandos DDL Los comandos DDL son las siglas de Data Definition Language, y se corresponde con el conjunto de órdenes que permiten definir las estructuras.
Creación de Bases de Datos
(Lenguaje de consulta estructurado)
Base de Datos Conjunto de tablas organizadas y posiblemente relacionados entre si. Las tablas son las que almacenan la información.
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
Modificando la estructura de tablas
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Diseño de base de datos Tema 4 : LDD.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Departamento de Lenguajes y Sistemas Informáticos escuela técnica superior de ingeniería informática Diseño de Bases de Datos Tema 4: Integridad.
Sentencias DDL y DML PostgreSQL. Base de Datos I – Fundamentos Básicos PostgreSQL PostgreSQL es un servidor de base de datos relacional libre bajo la.
SQL: DDL.
Base de Datos SQL - Introductorio - DDL. DEFINICIÓN SQL Volver a los Objetivos.
Administrador de Bases de Datos.  Características:  Libre.- puede descargarse de forma gratuita  Facilidad de uso.- gracias a aplicaciones como phpMyAdmin.
ALTER TABLE MODIFICAR LA ESTRUCTURA DE LOS OBJETOS DE UNA BASE DE DATOS.
Base de Datos I – Ing. Mary Carlota Bernal J. BASE DE DATOS I Conversión del Modelo Entidad – Relación a Relacional.
6 Triggers ORACLE Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Lenguaje MySQL, DDL (Lenguaje de definición de datos) Ing. Linda Masias Morales.
Fundamentos de Bases de Datos
Copyright  Oracle Corporation, All rights reserved. 10 Constraints (Restricciones)
Unidad V :- Integridad de datos.
Transcripción de la presentación:

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 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 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 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 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 DATABASE BD_2INX_ape IN datosdbs 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 TABLE NOM_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) 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 Cajeras CI-Caj Teléfonos dirección 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 * Cajeras CI-Caj calle Teléfonos número dirección Cajeras esquina 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 Cajeras esquina 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 Cajeras Productos 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 * * * Personas CI-Cli CI Clientes número Son 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 * Personas CI-Cli CI Clientes número Son IVAs 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 * Personas CI-Cli CI Clientes número Son IVAs 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 * Personas CI-Cli CI Clientes número Son 1 Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son 1 IVAs T Todos los productos tienen un IVA asociado. ID-IVA 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 * Personas CI-Cli CI Clientes número Son 1 Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son 1 IVAs 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 * Personas CI-Cli CI Clientes número Son 1 1 Teléfonos Personas dirección eMail Nombre CI-Cli CI Clientes número Son 1 1 IVAs 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

Esquema Relacional: D.D.L. – Caso de Estudio 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

CREATE TABLE D.D.L. – Caso de Estudio 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) ); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CREATE TABLE D.D.L. - Caso de Estudio CREATE TABLE CLIENTES( 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

CREATE TABLE D.D.L. - Caso de Estudio CREATE TABLE CAJERAS( CI_CAJ INTEGER NOT NULL, PRIMARY KEY (CI_CAJ) ); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CREATE TABLE D.D.L. - Caso de Estudio 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) ); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CREATE TABLE D.D.L. - Caso de Estudio CREATE TABLE IVAS( ID_IVA INTEGER NOT 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

CREATE TABLE D.D.L. - Caso de Estudio CREATE TABLE PER_TEL( CI INTEGER NOT 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

CREATE TABLE D.D.L. - Caso de Estudio 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CREATE TABLE D.D.L. - Caso de Estudio 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

ALTER 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 ALTER TABLE La definición de una tabla se puede modificar mediante la opción ALTER TABLE (alterar o modificar tabla). 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 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. 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 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; 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 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); 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 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. 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 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); 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 ALTER TABLE MODIFICAR: MODIFY Poner un valor por defecto, cuando no se asigna uno: ALTER TABLE PRODUCTOS MODIFY (TIPO VARCHAR(17) DEFAULT ‘Alimentos’) 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 ALTER TABLE MODIFICAR: MODIFY También se pueden agregar a la hora de crear la tabla: CREATE TABLE PRODUCTOS( ..... TIPO VARCHAR(17) DEFAULT ‘Alimentos’, ....); 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 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 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 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’ )); 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 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CONSTRAINTS 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 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. 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 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). 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 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; 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 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. 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 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. 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 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. 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 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. 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 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) CONSTRAINT FK_CI_CLI); 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 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. 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 ALTER TABLE ALTER TABLE FACTURAN ADD CONSTRAINT(FOREIGN KEY (CI_CAJ) REFERENCES CAJERAS (CI_CAJ) CONSTRAINT FK_CI_CAJ_FACT); ADD CONSTRAINT (FOREIGN KEY (ID_PROD) REFERENCES PRODUCTOS (ID_PROD) CONSTRAINT FK_ID_PROD_FACT); 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 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); 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 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; 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 ALTER TABLE ELIMINAR: DROP Agregamos un nuevo atributo edad ALTER TABLE PERSONAS ADD EDAD INTEGER; No era necesario... DROP EDAD; A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

DROP 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 DROP TABLE Si ya no se necesita una relación base, podemos eliminarla junto con su definición con la orden: DROP TABLE nombre_tabla 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 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; 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 Para habilitar Constraints: ALTER TABLE PRODUCTOS ENABLE CONSTRAINT FK_PROD; Para deshabilitar Constraints: ALTER TABLE PRODUCTOS DISABLE CONSTRAINT FK_PROD; 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 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; A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

CASO DE ESTUDIO CREATE TABLE A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

PRIMARY KEY (CI_CAJ)); 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

PRIMARY KEY (ID_IVA)); CREATE TABLE PER_TEL( 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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática

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)); A/S Leonardo Carámbula – Sistemas de Base de Datos II – E.M.T. – I.T.S. – Informática