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.

Slides:



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

VISTAS (VIEWS) DEFINICIÓN Y OBJETIVO DE LAS VISTAS.
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”
Introducción a Transact-SQL
Implementación de la integridad de datos
Teórico: Modelo Relacional
Unidad 3 Lenguaje de manipulación de datos(DML).
Maestría en Bioinformática Bases de Datos y Sistemas de Información Otros objetos de Base de Datos Ing. Alfonso Vicente, PMP
Características Objeto Relacionales en Oracle
Características Objeto Relacionales en Oracle
4.3. Privilegios de usuarios
PL/SQL Francisco Moreno Universidad Nacional.
Características Objeto Relacionales en Oracle Francisco Moreno Universidad Nacional.
MySQL M.C. Pedro Bello López.
Restricciones de Integridad en ORACLE
Lenguaje SQL (Structured Query Language)
SQL Lenguaje de consulta estructurado
1 BD Activas: Motivación zLos SGBD convencionales son “pasivos”. Sólo ejecutan preguntas o transacciones realizadas por los usuarios o por los programas.
PL/SQL Francisco Moreno Universidad Nacional. Introducción al PL/SQL ¿Por qué PL/SQL? A pesar de que SQL tiene mecanismos de control condicional (cláusula.
Bases de Datos Relacionales
16/04/ Sesión 11 Funciones y procedimientos Ing. Ricardo Inquilla.
PL/SQL Francisco Moreno Universidad Nacional.
1 John Freddy Duitama U.de.A. Facultad de Ingeniería Optimización Algebraica. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor:
Subconsultas Avanzadas
Procedimientos Almacenados Funciones Agregadas
Componentes sintácticos
Integridad Referencial 1. Integridad referencial 2.
UNITA - IBARRA TRIGGERS
Lenguaje Estructurado de Consultas
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.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 11 Creando Vistas.
TRIGGERS EN ORACLE 8 J. Iriarte S. España
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:
1 Fundamentos de Bases de Datos. U.de.A. Facultad de Ingeniería Características Generales de un Sistema de Bases de Datos. Profesor: John Freddy Duitama.
Triggers(Disparadores)
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
SQL: Lenguaje de Interrogación Estructurado. Vistas Declaración de vista CREATE VIEW ( ) AS SELECT... Semántica Tabla virtual cuyo contenido es el resultado.
Características Objeto-Relacionales en Oracle Francisco Moreno Universidad Nacional.
Fundamentos de bases de datos
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
Expresiones algebraicas equivalentes
Características Generales de un Sistema de Bases de Datos.
Creación y población de Base de datos. Creación de Base de datos Instrucciones. CREATE SCHEMA CREATE DATABASE nombre_base de datos.
SQL Sigla del nombre “Structured Query Language”.
Vista Externa de Una Base de Datos John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.
John Freddy Duitama M. Universidad de Antioquia. El Cálculo Relacional. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. John Freddy Duitama.
Para crear una vista debemos utilizar la sentencia CREATE VIEW, debiendo proporcionar un nombre a la vista y una sentencia SQL SELECT válida. CREATE.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
PUESTO-TRABAJO (Código-Puesto, Empresa, Sueldo, DNI- Contratado) TITULADO (DNI-Titulado, Nombre, Apellidos, Dirección) TITULACION (Iden-Titulación, Nombre,
Comandos de SQL Prog. Orientada a Eventos. Inserción de datos (INSERT) INSERT….VALUES INSERT INTO Tabla1 (Columna1, Columna2…) VALUES (‘ValorAlfa’, ValorNum…);
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.
Marzo de 2010Dos Ideas - La visión de Sistemas desde el Desarrollo SQL en PL/SQL Conceptos básicos.
SQL Lenguaje Estructurado de Consultas. Structured Query Lenguaje (SQL). Lenguaje de acceso a bases de datos. Proyecto de Investigación de IBM. La mayoria.
Bases de Datos SQL.
1 John Freddy Duitama M. U.de.A. Facultad de Ingeniería Structured Query Language S.Q.L. John Freddy Duitama Muñoz Facultad de Ingeniería U.de.A. S.Q.L.
Características Generales de un Sistema de Bases de Datos. Profesor: John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A. Profesor: John Freddy Duitama.
Lenguaje Estructurado de Consultas
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.
SQL: DDL.
6 Triggers ORACLE - II Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
Apuntes PL-SQL Triggers I.
Administración de Base de Datos Integridad Prof Mercy Ospina Torres Prof Renny A. Hernandez
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
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.
6 Triggers ORACLE - III Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega Bases de datos II I-2014 Universidad del Cauca Ing. Wilson Ortega.
BASE DE DATOS IUPSM CLASE PRACTICA. PROF. ING. JOSE L GUZMAN H.
UN DISPARADOR O TRIGGER es un procedimiento que se ejecuta cuando se cumple una condición establecida al realizar una operación. Es una rutina autónoma.
Transcripción de la presentación:

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. John Freddy Duitama Muñoz. Facultad de Ingeniería. U.de.A.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Restricciones de Integridad en una B. de D. Relacional. Aseguran que los cambios realizados a una B. de D. no provoque pérdida de consistencia en la información. 1. Restricciones de dominio: Conjunto de valores y de operaciones permitidas sobre ellos. Dominios base para S.Q.L : CHAR(p) : cadena de caracteres de longitud fija p. VARCHAR2(p) : cadena de caracteres de longitud variable. Máxima longitud p. NUMBER(p,s) : valor numérico de precisión p y escala s. DATE : fecha válidas. Etc. Nota: Es posible para el programador definir sus propios tipos de datos.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. 2. Valores nulos : Un atributo puede o no admitir valores nulos. Cláusula NOT NULL en S.Q.L 3. Integridad Referencial: Garantiza la existencia de las claves ajenas. Cláusula REFERENCES en S.Q.L. 4. Clave primaria : Garantiza la unicidad y obligatoriedad del o los atributos definidos como clave primaria. Cláusula PRIMARY KEY en S.Q.L. 5. Clave candidata : Debe ser única y obligatoria. Cláusula UNIQUE en S.Q.L. Restricciones de Integridad en una B. de D. Relacional.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE TABLE departamento ( código NUMBER(6) PRIMARY KEY, nombre VARCHAR2(6) NOT NULL UNIQUE, ciudad VARCHAR2(12) CHECK (ciudad IN (‘Medellín’,’Bogotá’,’Cali’), ); CREATE TABLE empleado ( cédula NUMBER(10) PRIMARY KEY, nombre VARCHAR2(30) NOT NULL, jefe NUMBER(10) REFERENCES empleado, salario NUMBER(10,2) NOT NULL, comisión NUMBER(2), cargo VARCHAR2(20) NOT NULL, depto NUMBER(6) NOT NULL REFERENCES departamento ); CREACIÓN DE UNA TABLA EN S.Q.L.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE TABLE departamento ( código NUMBER(6), nombreVARCHAR2(6) NOT NULL UNIQUE, ciudad VARCHAR2(12) CHECK (ciudad IN (‘Medellín’,’Bogotá’,’Cali’), PRIMARY KEY(código) ); CREATE TABLE empleado ( cédulaNUMBER(10) PRIMARY KEY, nombre VARCHAR2(30) NOT NULL, jefe NUMBER(10), salario NUMBER(10,2) NOT NULL, cargo VARCHAR2(20) NOT NULL, depto NUMBER(6) REFERENCES departamento ON UPDATE SET NULL ON DELETE CASCADE, FOREIGN KEY jefe REFERENCES empleado(cédula)); CREACIÓN DE UNA TABLA EN S.Q.L.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Involucra expresiones como las que aparecen en el WHERE. Si involucra otros atributos u otra relación debe ser mediante sub- consultas. Sintaxis : CHECK ( condición) Se valida si el atributo cambia. (Insert o Update). CREATE TABLE empleado ( cédulaNUMBER(10) PRIMARY KEY, nombre VARCHAR2(30) NOT NULL, jefe NUMBER(10) REFERENCES empleado(cédula), salario NUMBER(10,2) NOT NULL CHECK ( salario > 0 ), sexo CHAR(1) CHECK ( sexo IN (‘F’,’M’)), comisión NUMBER(3)CHECK ( comision between 0 and 100 ), cargo VARCHAR2(20) NOT NULL, depto NUMBER(6) NOT NULLREFERENCES departamento ); Las reglas CHECK para atributos:

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE TABLE empleado ( cédula NUMBER(10) PRIMARY KEY, nombre VARCHAR2(30) NOT NULL, depto NUMBER(6) NOT NULLREFERENCES departamento); Traducción del modelo E/R Departamento #código nombre Empleado #cédula Nombre

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE TABLE grupo ( cursoVARCHAR2(3) REFERENCES curso, numero NUMBER(2), cupo NUMBER(6), PRIMARY KEY(curso, numero) Traducción del modelo E/R Curso #código Nombre créditos Grupo #numero cupo

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE TABLE Inventario ( bodegaVARCHAR2(3) REFERENCES bodega, producto VARCHAR2(3)REFERENCES producto, cantidad NUMBER(6) NOT NULL, PRIMARY KEY(bodega, producto) ) Traducción del modelo E/R Producto #codigo nombre Bodega #código Nombre Inventario cantidad

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. 1. Definir Transacciones. 2. Otorgar los permisos a una transacción. (GRANT y vistas SQL) 3. Definir cargos en la empresa. 4. Asignar funciones (transacciones) a los cargos. 5. Crear usuarios de la base de datos. 6. Asignar cada usuario a su cargo(s). Nivel externo de la Base de Datos.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Creación de vistas S.Q.L. No es una copia de los datos. Es una manera de mirar las tablas de base. No siempre son actualizables. CREATE VIEW emp AS SELECT cedula, nombre,jefe, salario, cargo, d.nombre AS departamento FROM empleado, departamento d WHERE empleado.depto = departamento.codigo; SELECT cedula, nombre,salario, depto, jefe FROM empleados WHERE depto = 20 WITH CHECK OPTION;

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREAR LAS TRANSACCIONES. CREATE ROLE TX1; CREATE ROLE TX2; CREATE ROLE TX3; Luego otorgo los permisos que cada transacción requiere sobre tablas o vistas sql de la base de datos.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Otorgar los permisos a las transacciones. Otorgar permisos sobre una relación: GRANT SELECT, DELETE ON pedro.empleado TO TX1; GRANT INSERT(cedula,nombre,salario,depto) ON empleado TO TX1; GRANT UPDATE(salario,comision) ON pedro.empleado TO TX2; GRANT DELETE ON empleado TO TX2; GRANT ALL ON juan.empleado to TX2; Suprimir permisos sobre una relación: REVOKE update,select ON empleado FROM TX2; REVOKE ALL ON empleado FROM TX2;

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Crear Cargos y asignar Transacciones.. CREATE ROLE VENDEDOR; CREATE ROLE CAJERO; GRANT TX1 TO VENDEDOR; GRANT TX2 TO CAJERO;

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Crear Usuarios y asignar CREATE USER PEPE IDENTIFIED BY clave; CREATE USER JUAN IDENTIFIED BY clave; GRANT VENDEDOR TO PEPE; GRANT CAJERO TO JUAN;

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Reglas de la forma : evento-condición -acción. Usos: Permiten adicionar reglas a la Base de Datos. Para auditoria de las operaciones. Para adicionar mecanismos de seguridad. Complemento de las reglas definidas en el esquema. Para garantizar réplicas de información en ambientes distribuidos Para cálculo de valores derivados. Problemas: Se hace complejo su seguimiento. Pueden generar ciclos infinitos. Disparadores.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. De fila: Se ejecuta una vez por cada fila modificada por la instrucción SQL que active el disparador Se define con La clausula FOR EACH ROW De declaración: Se activa una vez por cada instrucción SQL sin importar las tuplas que modifique. En los disparadores de fila puedo referirme a los valores anteriores (old) y nuevos en la tupla (new) Tipos de disparadores.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Eventos : INSERT - UPDATE - DELETE. Puede activarse: BEFORE - AFTER - INSTEAD OF de la instrucción S.Q.L. Usos: BEFORE: para validaciones, controles. AFTER: auditoria. INSTEAD OF: Operaciones sobre vistas. Condición: Después de presentado el evento la condición determina cuando o no se ejecuta la acción del disparador. (usada solo para disparadores de fila) Acción : Programa que se ejecuta al ocurrir el evento y ser cierta la condición. Partes de un Disparador.

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. CREATE OR REPLACE TRIGGER verifica_salario BEFORE INSERT OR UPDATE(salario, jefe) ON empleados FOR EACH ROW WHEN ( :new.jefe is not null ) DECLARE v_salarioNUMBER(8); BEGIN Select salario INTO v_salario FROM empleados WHERE cedula = :new.jefe; IF :new.salario > v_salario THEN RAISE_APPLICATION_ERROR(-20400,’El empleado no puede ganar más que su jefe’); END IF; END; Ejemplo disparador. Evento Condición Acción

John Freddy Duitama M.U.de.A. Facultad de Ingeniería. Bibiografía. Jeffrey D. Ullman. and Jennifer Widom. A First Course in Database Systems. Prentice Hall Henry F. Korth, Abraham Silberschatz. Fundamentos de Bases de Datos. Cuarta edición. 200.