La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SQL Base de Datos - 2002. LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten.

Presentaciones similares


Presentación del tema: "SQL Base de Datos - 2002. LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten."— Transcripción de la presentación:

1 SQL Base de Datos - 2002

2 LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten realizar ciertas consultas (Promedio de notas, cuantos alumnos hay...) No preven actualizaciones

3 LENGUAJES DE CONSULTA No preven ciertas tareas administrativas oCreación de esquemas de datos oDefinición de restricciones de integridad oCreación de vistas oManejo de seguridad oControl de transacciones

4 LENGUAJES DE CONSULTA SEQUEL surge en 1970 para COMO PARTE DEL PROYECTO Sistema R de IBM. Hoy es un standard.

5 DEFINICION DE DATOS -

6 CREATE TABLE CREATE TABLE nombre-tabla (definicion-de-columna [, definicion...] [,definicion-clave-primaria] [, definicion-clave-foranea] [, definicion- clave-foranea....])

7 CREATE TABLE definicion-de-columna: columna tipo-de-dato [NOT NULL] [DEFAULT valor] [CHECK condición] [UNIQUE] definicion-clave-primaria PRIMARY KEY (campo)

8 CREATE TABLE definicion-clave-foranea FOREING KEY (campo) REFERENCES tabla [ON DELETE CASCADE]

9 ALTER TABLE ALTER TABLE nombre-tabla – ADD CONSTRAINT nombre PRIMARY KEY campo – ADD CONSTRAINT nombre FOREIGN KEY campo REFERENCES tabla – ADD DEFAULT valor OFF campo – ADD CONSTRAINT nombre CHECK condicion. – DROP CONSTRAINT nombre – ADD definicion-de-columna – MODIFY definicion-de-columna – DROP campo

10 DROP TABLE DROP TABLE nombre-tabla

11 INDICES CREATE [UNIQUE} INDEX nombre- indice ON nombre-tabla (columna [orden] [, columna...] [CLUSTER] DROP INDEX nombre-indice

12 INTEGRIDAD REFERENCIAL: cíclica, Autoreferida, múltiple (Fkey) DE ENTIDAD (Pkey, UNIQUE, Identity) DE DOMINIO (tipo de datos, default, not null...) DE USUARIO (triggers, store procedures)

13 TIPOS DE DATOS CHAR NUMERIC SERIAL DATE: fechas calendario MONEY DATETIME: punto en el tiempo INTERVAL: VARIABLE LENGTH BLOB

14 TIPOS DE DATOS CHAR (n): hasta 32767 bytes NUMERIC –INTEGER: de –2.147.483.647 a + –2.147.483.647 (4 bytes) –SMALLINT: de –32.767 a + 32767 ( 2 bytes) –FLOAT (doble precisión ) con 16 dígitos (8 bytes); trunca –SMALLFLOAT (simple precisión) con 8 dígitos (4 bytes) –DECIMAL(p, s) de 10 –130 a 10 124, con 32 dígitos como máximo; redondea; precisión default=16 escala default=0

15 TIPOS DE DATOS SERIAL (4 bytes) DATE (4 bytes) mm/dd/yyyy 1-1-1900= 1 Ejemplos válidos 03/04/1996 3/4/1996 03 04 1996 03-04-96 03.04.1996 96/03/04 1996-3-4 MONEY (p, s) de 10 –130 a 10 124, con 32 dígitos como máximo; redondea; default=16,2 tamaño default= 9 bytes

16 TIPOS DE DATOS DATETIME desde año hasta fracción de segundo con 5 dígitos (total de digitos /2 + 1) DATETIME YEAR TO DAY (1996-4-24) DATE TIME DAY TO FRACTION (24 12:23:45.00000) Year-month INTERVAL (total de digitos /2 + 1) Day-time INTREVAL(total de digitos /2 + 1) VARCHAR(x,y) de 0 a 255 bytes

17 TIPOS DE DATOS BLOB –TEXT texto ASCII + control i + control j + control l –BYTE datos binarios

18 CONSULTA DE DATOS -

19 SELECT SELECT [DISTINCT] Elemento(s) FROM tabla(s) [WHERE condicion] [GROUP BY lista-campo(s)] [HAVING condicion-grupo] [ORDER BY lista-campo(s)] [UNION ALL sentencia-select] [INTO TEMP tabla-temporaria]

20 SELECT elemento(s) campo[,campo..] * valores calculados[rotulo] funciones-de-tiempo(campo) funciones-agregadas

21 SELECT tabla(s) –tabla [alias] [,tabla...] –join consigo misma –outer join –inner join –vista [, vista..]

22 SELECT condicion campo operador elemento-de-relacion operador existencial senetncia-select condicion AND condicion condicion OR condicion operador =, ¡=, <>, >, > =, <, <=, [NOT] LIKE, [NOT]MATCHES, [NOT]IN, [NOT]BETWEEN

23 SELECT elemento-de-relacion expresion(es), sentencia_select operador-existencial [NOT] EXISTS condicion-grupo elemento-grupo operador expresión elemento-grupo operador sentencia-select

24 SELECT Funciones-agregadas –COUNT([DISTINCT] campo/*) –SUM([DISTINCT]campo/expresion) –MAX(campo/expresion) –MIN(campo/expresion) –AVG(campo/expresion)

25 SELECT funciones-de-tiempo –DATE (campo-no-fecha) DATE (`7/11/2000`) –DAY(fecha) –MONTH(fecha) –YEAR(fecha) –WEEKDAY(fecha) –MDY(mes, dia, año) –CURRENT –TODAY –EXTEND(campo,..TO...)

26 SELECT Otras-funciones –LENGHT(campo alfanumerico ) –USER() –DBSERVERNAME() –TRIM ([leading/TRAILING] [carácter FROM]campo) –TAN(campo/expresion) –MOD(dividendo,divisor) HEX( campo/expresion) ABS(campo/expresion ) TRUNC(campo/expresion) ROUD(campo/expresion ) –RANGE(campo) VARIANCE(campo) STDEV (campo)

27 ACTUALIZACION DE DATOS -

28 INSERT INSERT INTO nombre_tabla [(campo [,campo..])] VALUES (literal[,literal..]) INSERT INTO nombre_tabla [(campo [,campo..])] Sentencia-select

29 DELETE - UPDATE DELETE FROM nombre-tabla [WHERE condición] UPDATE nombre_tabla SET campo= expresión[, campo=expresión...] [WHERE condición

30 VARIOS -

31 VISTAS VENTAJAS: – (seguridad; –facilidad de uso; – independencia lógica) Creación de vistas sobre – una tabla (vista de subconjuntos de filas o de columnas) Posibilidad de renombrar o no los campos –más de una tabla (vistas de reunión) –Vistas con funciones sum

32 VISTAS CREATE VIEW nombre-vista (lista-campos) AS sentencia-select Dificultad de actualización aún en casos de una única tabla (el insert puede resultar duplicado con respecto a la tabla base, el update puede hacer que la fila desaparezca de la vista)

33 SEGURIDAD GRANT permiso(s) [campo(s)] ON TABLE nombre_tabla TO usuario(s) [WITH GRANT OPTION] Permiso(s) Permiso[, permiso...]

34 SEGURIDAD Permiso SELECT UPDATE INSERT DELETE ALL ALTER (solo tabla base) INDEX (solo tabla base)

35 SEGURIDAD Usuario(s) Usuario[, usuario....] PUBLIC REVOKE lista-permisos ON TABLE nombre-tabla TO lista-usuarios

36 SQL EMBEBIDO ESTATICO EXEC SQL DECLARE nombre_cursor CURSOR [SCROLL] FOR Sentencia_select; EXEC SQL OPEN nombre_cursor ; EXEC SQL FETCH [[orientacion]FROM] nombre_cursor INTO lista_variables; EXEC SQL CLOSE nombre_cursor

37 SQL EMBEBIDO ESTATICO Orientación NEXT PRIOR FIRST LAST ABSOLUTE n RELATIVE n

38 SQL EMBEBIDO DINAMICO No se precompila hasta la ejecución EXEC SQL EXECUTE INMEDIATE sentencia_select / :var1 :var1= ´sentencia_select´

39 SQL EMBEBIDO DINAMICO EXEC SQL PREPARE nombre_sentencia FROM sentencia_select / :var1 y EXEC SQL EXECUTE nombre_sentencia [using :variable]

40 ESQUEMA PARA SQL Cliente(cnum, apellido, nombre, compania, direccion, ciudad, provincia, cpostal, tel) Orden(onum, fechaorden, cnum, instrucciones, fechaentrega, peso, fechapago) Item(onun, inum, stocknum, pnum, qty, preciototal) Stock(stocknum, pnum, sdescri, precio, unidad, descriUnidad) Catalogo(catnum, stocknum, pnum, descriprovedor, advertencia) Proveedor(pnum, prazonsocial, tiempoentrega) Provincia(prov, pdescri)

41 STOCK 1HROPelota tenis 10Tubo4/tubo 1SMITHPelota tenis 14Tubo4/tubo 1ANZPelota tenis 12Tubo3/tubo 2SMITHraqueta150Unidad 2ANZraqueta169Unidadunidad

42 CATALOGO 1001HROPelota tenisEspecial para principìantes 1011SMITHAmarilla clara Alta Visibilidad 1021ANZReforzadaAlta calidad 2012SMITHDe grafitoReplica del modelo clásico 2022ANZDe aluminioIdeal para niños


Descargar ppt "SQL Base de Datos - 2002. LENGUAJES DE CONSULTA AR y CR no pueden ser tomados como base para implementar porque: Poseen sintaxis compleja No permiten."

Presentaciones similares


Anuncios Google