Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetivo
1
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
2
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
4
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
5
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
6
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
7
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
8
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
9
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
¿Qué es el Cliente?
Características:
• Manejo de pantallas.
• Procesamiento de ayudas.
• Recuperación de errores.
¿Qué es el Servidor?
10
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
• Servidor de Comunicaciones.
• Servidor de Impresión.
• Servidor de Terminal.
• Plataforma Operativa.
• Entorno de Desarrollo de Aplicaciones.
11
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
• Gestión de Sistemas.
• Funciones de componentes.
12
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
1.7.2 Funciones.
Componentes de procesamiento de consultas:
• Compilador de LMD: Traduce las instrucciones del
LMD en lenguaje de consultas a instrucciones a bajo
nivel que entiende el motor de evaluación de
consultas.
13
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Objetivo
14
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
2.2.2. Llaves.
15
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
tuplas. Una relación puede tener más de una llave candidata, entre
las cuales se debe distinguir:
16
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
2.2.6. Agregación.
17
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
18
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Ejemplo:
Intensión de una relación:
AUTOR (NOMBRE:Nombres, NACIONALIDAD:Nacionalidades,
INSTITUCION: Instituciones)
Extensión de una relación:
19
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Objetivo
20
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
• Repetición de información.
• Incapacidad para representar cierta información.
• Pérdida de información
3.2 Normalización.
21
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
22
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.2.2.1 1FN.
23
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
24
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.2.2.2 2FN.
25
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
26
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
27
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
28
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
29
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.3.1 Concepto.
30
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Restricción de aserción.
Restricciones de dominio.
31
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Restricción de clave.
32
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
33
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
34
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Regla (RULE).
Sintaxis
CREATE RULE regla
AS expresiónCondición
Argumentos
Regla
35
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Expresión Condición
Son las condiciones que definen la regla. Una regla puede ser
cualquier expresión que sea válida en una cláusula WHERE y
puede incluir elementos como operadores aritméticos, operadores
relacionales y predicados (por ejemplo, IN, LIKE, BETWEEN). Una
regla no puede hacer referencia a columnas u otros objetos de
base de datos. Se pueden incluir funciones integradas que no
hagan referencia a objetos de base de datos.
Expresión Condición
Incluye una variable. El signo (@) precede a cada variable local.
La expresión hace referencia al valor que se introduce con la
instrucción UPDATE o INSERT. Se puede utilizar cualquier
nombre o símbolo para representar el valor cuando se crea la
regla, pero el primer carácter debe ser @.
Observaciones
36
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Ejemplos
Regla con una lista. Este ejemplo crea una regla que restringe los
valores actuales que se escriben en las columnas a las que la
regla está enlazada, a sólo aquellos enumerados en la regla.
Regla con un modelo. Este ejemplo crea una regla que sigue un
modelo de dos caracteres cualquiera con un guión a continuación,
cualquier número de caracteres (o no caracteres) y un entero entre
0 y 9 al final.
Regla con un intervalo. Este ejemplo crea una regla que restringe
el intervalo de enteros que se insertan en las columnas a las que
la regla está enlazada.
37
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Desencadenadores (TRIGGERS)
38
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
39
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
40
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
41
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
CREATE TRIGGER
42
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Sintaxis
Argumentos
trigger_name
Table | view
WITH ENCRYPTION
AFTER
Especifica que el desencadenador sólo se activa cuando todas las
operaciones especificadas en la instrucción SQL
desencadenadora se han ejecutado correctamente. Además,
todas las acciones referenciales en cascada y las comprobaciones
de restricciones deben ser correctas para que este
desencadenador se ejecute.
AFTER es el valor predeterminado, si sólo se especifica la palabra
clave FOR.
Los desencadenadores AFTER no se pueden definir en las vistas.
INSTEAD OF
Especifica que se ejecuta el desencadenador en vez de la
instrucción SQL desencadenadora, por lo que se suplantan las
acciones de las instrucciones desencadenadoras.
Como máximo, se puede definir un desencadenador INSTEAD OF
por cada instrucción INSERT, UPDATE o DELETE en cada tabla o
43
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
AS
Son las acciones que va a llevar a cabo el desencadenador.
sql_statement
Son las condiciones y acciones del desencadenador. Las
condiciones del desencadenador especifican los criterios
adicionales que determinan si los intentos de las instrucciones
DELETE, INSERT o UPDATE hacen que se lleven a cabo las
acciones del desencadenador.
44
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SELECT *
FROM deleted
sp_helptrigger 'Factura'
45
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Según (Elmasri/Navathe).
Según (Elmasri/Navathe).
46
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
47
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
48
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
49
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.5.1 Transacciones.
Otra definición.
50
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
51
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
52
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.5.2 Bitácora.
2. [escribir_elemento,T,X, Valor_anterior,nuevo_valor]:
Asienta que la transacción T cambió el valor del
53
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
54
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.5.2.3 Respaldo.
55
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
• Errores de medios.
• Errores de usuarios.
• Pérdida permanente de un servidor.
• master
• msdb
56
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
[ [ , ] KEEP_REPLICATION ]
[ [ , ] { NORECOVERY | RECOVERY | STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] REPLACE]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
3.6.1 Concepto.
57
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
3.6.3 Tipos.
Según (Elmasi/Navathe).
58
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Objetivo
59
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Lenguajes Maquina
60
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Lenguajes compilados
61
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Lenguajes interpretados
62
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
1. Procedimentales
2. No procedimentales.
• Selección
• Proyección
• Unión
• Diferencia
63
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Tabla: Préstamo
Tabla: Deposito
17 1000 9000
10 500 1000
17 6000 3000
20 250 1000
Operación Selección.
64
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Operación Proyección.
NomCliente Cantidad
Horacio 150
Ramon 300
Operación unión.
65
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Relación Préstamo
17 1000 9000
10 500 1000
17 6000 3000
20 250 1000
Relación Depósito
66
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Select NomCliente
From Préstamo
Where NumCuenta Not in (Select NumCuenta From Deposito)
NomCliente
Ramon
{t/P(t)}
Consultas
67
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
• Estadísticas no actualizadas.
4.3. SQL.
Características generales
68
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
69
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
70
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
71
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
GO
72
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
usar una tabla para pasar de una de las dos tablas a la tercera y
no es necesario que se haga referencia a ninguna columna de la
tabla intermedia en la lista de selección.
73
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
74
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
75
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
NomCliente NomNegocio
----------------------------------------- ----------------------------------------
Ivan Cruz Guzmán Ferretera Abraham
NULL Ferretera la Nueva
Ios Cruz Ferretera Papalo
NomCliente NomNegocio
-------------------------------------------- -------------------------------------
Erick Guzmán NULL
Luis Eduardo Medina NULL
Ivan Cruz Guzmán Ferretera Abraham
NULL Ferretera la Nueva
Ios Cruz Ferretera Papalo
76
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
NomCliente NomNegocio
------------------------------------- ------------------------------------------
Luis Eduardo Medina Ferretera Abraham
Luis Eduardo Medina Ferretera Papalo
Luis Eduardo Medina Ferretera la Nueva
Ivan Cruz Guzmán Ferretera la Nueva
Ivan Cruz Guzmán Ferretera Papalo
Ivan Cruz Guzmán Ferretera Abraham
Ios Cruz Ferretera Abraham
Ios Cruz Ferretera Papalo
Ios Cruz Ferretera la Nueva
Erick Guzmán Ferretera la Nueva
Erick Guzmán Ferretera Papalo
Erick Guzmán Ferretera Abraham
77
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Consultas Avanzadas
78
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SELECT Producto.NomProducto
FROM Producto
WHERE Producto.ProductoPk = (SELECT Distinct A.ProductoPk
FROM DetalleFactura A
Where Producto.NegocioPk = A.NegocioPk and
Producto.ProductoPk = A.ProductoPk
)
Select NomProducto
From Producto A Inner Join DetalleFactura B On
A.NegocioPk = B.NegocioPk And A.ProductoPk = B.ProductoPk
79
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Subconsultas con IN
SELECT A.NomCliente
FROM Cliente A
WHERE ClientePk IN
(SELECT Distinct B.ClientePk
FROM Factura B
WHERE A.NegocioPk = B.NegocioPk)
NomCliente
80
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
------------------------------------------------------------
Ivan Cruz Guzmán
Erick Guzmán
SELECT A.NomCliente
FROM Cliente A
WHERE ClientePk NOT IN (SELECT Distinct B.ClientePk FROM
Factura B
WHERE A.NegocioPk = B.NegocioPk)
NomCliente
------------------------------------------------------------
Luis Eduardo Medina
Ios Cruz
UPDATE Producto
SET PrecioVenta = PrecioVenta * 2
WHERE ProductoPk IN
(SELECT ProductoPk
FROM Negocio
WHERE NomNegocio = 'Ferretera Papalo' AND
Negocio.NegocioPk =
Producto.NegocioPk)
81
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
DELETE DetalleFactura
WHERE ConsecPk IN
(SELECT ConsecPk
FROM Factura
WHERE FecFactura = '2001/04/05')
DELETE DetalleFactura
FROM DetalleFactura INNER JOIN Factura ON
DetalleFactura.ConsecPk = Factura.ConsecPk AND
Factura.FecFactura = '2001/02/02'
82
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SELECT NomCliente
FROM Cliente
WHERE EXISTS
(SELECT * FROM Factura WHERE Factura.ClientePk =
Cliente.ClientePk
AND Factura.NegocioPk = Cliente.NegocioPk AND
Factura.FolFactura <> 0)
NomCliente
------------------------------------------------------------
Ivan Cruz Guzmán
Erick Guzmán
83
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
NOT EXISTS funciona igual que EXISTS, salvo por que la cláusula
WHERE en la que se utiliza se cumple si la subconsulta no
devuelve ninguna fila.
SELECT NomCliente
FROM Cliente
WHERE NOT EXISTS
(SELECT * FROM Factura WHERE Factura.ClientePk =
Cliente.ClientePk
AND Factura.NegocioPk = Cliente.NegocioPk AND
Factura.FolFactura <> 0)
NomCliente
------------------------------------------------------------
Luis Eduardo Medina
Ios Cruz
Sumando Datos
-----------------------------------------------------
4071.0000
84
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SUM, AVG, COUNT, MAX y MIN pasan por alto los valores NULL;
COUNT(*) no lo hace.
85
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SELECT MIN(NomProducto)
FROM Producto
Éste es el conjunto de resultados:
--------------------
Cable No 12
86
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
1 Abc 5
1 Def 4
87
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
1 Ghi 9
2 Jkl 8
2 Mno 3
SELECT ColumnA,
MAX(ColumnB) AS MaxB,
SUM(ColumnC) AS SumC
FROM TableX
GROUP BY ColumnA
Esta selección devuelve dos filas, una por cada valor exclusivo de
ColumnA:
Puesto que GROUP BY sólo puede devolver una fila con el valor 1
en ColumnA, no hay forma de devolver los tres valores de
ColumnB (abc, def y ghi) asociados con el valor 1 de ColumnA.
88
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
-----------------------------------------------------
150.25
SELECT AVG(PrecioVenta)
FROM Producto
WHERE NegocioPk = 10
Utilizar COUNT(*)
SELECT COUNT(*)
89
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
FROM Producto
-----------
5
(1 row(s) affected)
----------- -----------------------------------------------
3 350.0
(1 row(s) affected)
ProductoPk Total
---------------- -----------------------------------------------------
2 300.0
(1 row(s) affected)
90
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
SELECT UnidadMedida
FROM Producto
GROUP BY UnidadMedida
HAVING UnidadMedida LIKE 'p%'
UnidadMedida
--------------------
Pieza
91
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
92
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Sintaxis
[ COMPUTE
{ { AVG | COUNT | MAX | MIN | STDEV | STDEVP
| VAR | VARP | SUM }
( expression ) } [ ,...n ]
[ BY expression [ ,...n ] ]
]
Argumentos
( expression )
Una expresión, por ejemplo, el nombre de una columna en la que
se realiza el cálculo. El argumento expression debe aparecer en la
lista de selección y se debe especificar exactamente igual que una
de las expresiones de la lista de selección. En expression no se
puede utilizar un alias de columna especificado en la lista de
selección.
BY expression
Genera interrupciones de control y subtotales en el conjunto de
resultados.
93
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
94
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
95
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Bibliografía.
96
I.S.C. Alejandro Guzmán Zazueta Materia:Fundamentos de Bases de Datos
a_zazuetag@hotmail.com
Referencias en Internet
http://www.itapizaco.edu.mx/paginas/base_de_datos/algebrarelacional.html
http://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n
http://es.wikipedia.org/wiki/Lenguaje_de_Manipulaci%C3%B3n_de_Datos
www.bivitec.org.mx
ww.javasun.com
www.microsoft .com
97