Академический Документы
Профессиональный Документы
Культура Документы
Capter 7
Objetivos
Crear y administrar estructuras de tabla utilizando las instrucciones SQL. Comprender la integridad referencial y cmo se implementan acciones en las sentencias de SQL. Crear y utilizar las restricciones SQL. Comprender varios usos para las vistas SQL. Utilizar las instrucciones SQL para crear y manipular vistas. Comprender cmo se utiliza SQL en un programa de aplicacin. Entender cmo crear y utilizar desencadenadores trigger. Entender cmo crear y utilizar procedimientos almacenados.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-2
Requisitos de la aplicacin
View Ridge requisitos de la aplicacin: Realizar un seguimiento de los clientes y de los artista. Grabar las compras de la Galera Grabar las compras de arte de los clientes. Lista de los artistas y obras que han aparecido en la Galera. Informar qu tan rpido han vendido obras de un artista y en qu margen. Mostrar el inventario actual en una pgina Web.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-4
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-5
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-6
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-7
CREACIN DE LA TABLA
CREATE TABLE instruccin utilizada para la creacin de relaciones. Cada columna se describe con tres partes: column name, data type, y optional constraints. Ejemplo:
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-8
Tipos de datos:
SQL Server 2008
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-9
Tipos de datos :
Oracle Database 11g
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-10
Tipos de datos :
MySQL 5.1 Tipos de datos I
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-11
Tipos de datos :
MySQL 5.1 Tipos de datos II
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-12
Restricciones Constraints
Las restricciones Constraints se pueden definir dentro de las instrucciones de la creacin de las trablas CREATE TABLE, o se pueden aadir a la tabla despus que la tabla es creada utilizando la instruccin ALTER. Cinco tipos de restricciones:
PRIMARY KEY UNIQUE
no puede tener valores nulos null values puede tener valores nulos null values
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-13
Creacin de Relaciones
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-14
Implementacin de Cardinalidades
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-15
Valores por defecto y restricciones de datos Default Values and Data Constraints
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-16
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-17
Instruccin de ALTER
ALTER instruccin que permite cambiar la estructura de la tabla, propiedades, o las restricciones despus de haber creado la tabla. Ejemplo:
ALTER TABLE ASSIGNMENT ADD CONSTRAINT EmployeeFK FOREIGN KEY (EmployeeNumber) REFERENCES EMPLOYEE (EmployeeNumber) ON UPDATE CASCADE ON DELETE NO ACTION;
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-18
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-19
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-20
Eliminacin de Tablas
SQL eliminacin de tabla:
DROP TABLE TRANS;
Si no hay restriccin:
ALTER TABLE CUSTOMER_ARTIST_INT DROP CONSTRAINT Customer_Artist_Int_CustomerFK; ALTER TABLE [TRANSACTION] DROP CONSTRAINT TransactionCustomerFK; DROP TABLE CUSTOMER;
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-21
SQL DMLINSERT
Comando de INSERT:
INSERT INTO ARTIST ([Name], Nationality, DateOfBirth, DateDeceased) VALUES ('Tamayo', 'Mexican', 1927, 1998);
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-22
SQL DMLUPDATE
Comando de UPDATE:
UPDATE SET WHERE CUSTOMER City = 'New York City' CustomerID = 1000;
Bulk UPDATE:
UPDATE SET WHERE CUSTOMER AreaCode = '333' City = 'Denver';
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-23
SQL DMLDELETE
Comando de DELETE:
DELETE WHERE FROM CUSTOMER CustomerID = 1000;
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-24
JOIN ON Syntax
JOIN ON syntax:
SELECT CUSTOMER.Name, ARTIST.Name FROM CUSTOMER JOIN CUSTOMER_ARTIST_INT ON CUSTOMER.CustomerID = CUSTOMER_ARTIST_INT.CustomerID JOIN ARTIST ON CUSTOMER_ARTIST_INT.ArtistID = ARTIST.ArtistID;
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-25
Utilizacin Aliases
Utilizacin de aliases:
SELECT FROM C.Name, A.Name CUSTOMER AS C JOIN CUSTOMER_ARTIST_INT AS CI C.CustomerID = CI.CustomerID JOIN ARTIST AS A ON CI.ArtistID = A.ArtistID;
ON
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-26
VRG DataCUSTOMER I
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-27
VRG DataCUSTOMER II
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-28
VRG DataARTIST
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-29
VRG Data
CUSTOMER_ARTIST_INT
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-30
VRG DataWORK I
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-31
VRG DataWORK II
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-32
VRG DataTRANS I
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-33
VRG DataTRANS II
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-34
Outer Joins
Left Outer Join:
SELECT
FROM
ON
C.LastName, C.FirstName, A.LastName AS ArtistName CUSTOMER C LEFT JOIN CUSTOMER_ARTIST_INT CI C.CustomerID = CI.CustomerID LEFT JOIN ARTIST A ON CI.ArtistID = A.ArtistID;
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-35
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-36
Vistas de SQL
SQL view es una tabla virtual que est hecha de otras tablas o vistas. No tiene ningn dato propio, pero obtiene los datos de las tablas de otras vistas. SELECT las declaraciones se utilizan para definir los puntos de vista :
Una definicin de vista no puede incluir una clusula ORDER BY.
SQL Views
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-38
Resultados:
SELECT FROM ORDER BY * CustomerNameView CustomerLastName, CustomerFirstName;
7-39
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-40
Triggers I
Un trigger es un programa almacenado que es ejecutado por el DBMS cada vez que se produce un evento especificado en una tabla especificada o una vista. Tres tipos de trigger: BEFORE, INSTEAD OF, and AFTER:
Cada tipo puede ser declaradas para Insert, Update y elimine. Lo que resulta en un total de nueve tipos de desencadenador.
Oracle acepta todos los tipos de nueve desencadenador. SQL Server acepta sies de los tipos de trigger
(only for INSTEAD OF and AFTER triggers).
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 7-42
Triggers II
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-43
Firing Triggers
Cuando un desencadenador se activa, el DBMS proporciona:
Valores antiguos y nuevos para la actualizacin Nuevos valores para las inserciones Antiguos valores para eliminaciones
La forma en que se suministran los valores depende del producto DBMS. Las aplicaciones de Trigger incluyen:
Proporcionar valores predeterminados. Hacer cumplir las restricciones de datos. Actualizacin de puntos de vista.
Realizacin de acciones de integridad referencial, referential integrity
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 7-44
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-45
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-46
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-47
Procedimiento de almacenamiento
Un procedimiento de almacenamiento es stored procedure es un programa que se almacena en la base de datos y se compila cuando se utiliza:
En Oracle, se puede escribir en PL/SQL o Java. En SQL Server, se puede escribir en TRANSACT-SQL.
Los procedimientos almacenados pueden recibir parmetros de entrada y pueden devolver resultados. Pueden llamar a procedimientos almacenados desde:
Programas escritos en lenguajes estndar , e.g., Java, C#. Lenguajes Scripting, e.g., JavaScript, VBScript. SQL command prompt, e.g., SQL Plus, Query Analyzer.
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall 7-48
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-50
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-51
KROENKE AND AUER - DATABASE PROCESSING, 11th Edition 2010 Pearson Prentice Hall
7-52