Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Operaciones Relacionales
Seleccin, Proyeccin, Reunin y Divisin
Seleccin
Permite seleccionar un subconjunto de tuplas que
satisface una condicin dada del total de tuplas de la
tabla
!<condicin> (<relacin>)
Ejemplos:
!DNO=4 (EMPLOYEE)
!SALARY > 300.000 (EMPLOYEE)
!DNO=4 (!SALARY > 300.000(EMPLOYEE))
!SALARY > 300.000(!DNO=4(EMPLOYEE))
!SALARY > 300.000 and DNO=4 (EMPLOYEE)
Proyeccin
Permite seleccionar slo algunas de las columnas de
la tabla original
Normalmente la eliminacin de columnas produce
tuplas duplicadas por lo cual la relacin resultante
puede tener tambin menos tupla
"<lista de atributos>(<relacin>)
Ejemplo:
"LNAME, FNAME, SALARY(EMPLOYEE)
Operadores de Conjuntos
UNION
R ! S contiene todas las tuplas que estn en R o en S (se eliminan los
duplicados)
INTERSECCION
R " S contiene todas las tuplas que estn tanto en R como en S
DIFERENCIA
R - S contiene las tuplas que estn en R pero no en S
PRODUCTO CARTESIANO
R(A1, ..., An) x S(B1, ..., Bm) = Q(A1, ..., An,B1, ..., Bm)
(una tupla por cada combinacin de tuplas de R y S)
Unin, Interseccin y Diferencia son operadores binarios
relaciones deben ser compatibles (mismo nmero de atributos y dominios
comunes)
Operadores de unin en interseccin son conmutativos y asociativos
Reunin (Join)
union de tuplas relacionadas de dos tablas Q y R
Q = R trS
<condicin>
Ejemplo
R
Nombre
Perez
Fuentes
Lopez
Edad
25
36
45
S
Nombre
Perez
Lopez
Fuentes
Sueldo
120.000
230.000
150.000
Depto
Ventas
Finanzas
Produccin
R trS
R.Nombre=S.Nombre
R.Nombre
Perez
Fuentes
Lopez
Edad
25
36
45
Sueldo
120.000
230.000
150.000
S.Nombre
Perez
Fuentes
Lopez
Depto
Ventas
Produccin
Finanzas
R tr S
Nombre
Perez
Fuentes
Lopez
Edad
25
36
45
Sueldo
120.000
230.000
150.000
Depto
Ventas
Produccin
Finanzas
Ejemplo
Las siguientes dos relaciones son usadas para representar rdenes de compra:
INCLUDES(#O, INAME, QUANTITY)
ORDERS(#O, DATE, CUSTOMER)
1. Nombre de los clientes que han ordenado clavos
Ejemplo: BD de bebedores
Una base de datos con tres tablas mantiene
informacin sobre bebedores, los bares que
frecuentan, y las cervezas que gustan tomar
FRECUENTA(BEBEDOR, BAR)
(Luis, Kopete) f Luis frecuenta el bar Kopete
SIRVE(BAR, CERVEZA)
(Kopete, Royal) f En Kopete se ofrece la cerveza Royal
GUSTA(BEBEDOR, CERVEZA)
(Luis, Royal) f A Luis le gusta la Royal
Consultas
Quienes frecuentan el Bar X
"BEBEDOR (! BAR = X(FRECUENTA))
FRECUENTA(BEBEDOR, BAR)
SIRVE(BAR, CERVEZA)
GUSTA(BEBEDOR, CERVEZA)
Ms que Consultas
Definicin de Datos
Create (Schema, Table, Domain)
Alter (Table)
Drop (Schema, Table)
Consultas
Select From Where
Actualizacin
Insert
Delete
Update
Tipos de Dato
SQL92 SQL 99
SQL Server
MySQL
binary
binary
char(n) binary
Oracle
character
char(n)
char(n)
char(n)
character varying
varchar(n)
varchar(n)
varchar2
decimal
decimal(p,s)
decimal
decimal
float
float
float
float(n)
integer
int
int
integer(n)
national character
nchar(n)
nchar(n)
nchar(n)
nvarchar(n)
nvarchar(n)
nvarchar2(n)
smallint
smallint
smallint
smallint
datetime
datetime
date
real
real(p,s)
real
longblob
blob
table
image
Ejemplos 1
create table TROUBLE (
City VARCHAR2(13) NOT NULL,
define clave candidata
SampleDate DATE NOT NULL,
Noon NUMBER(4,1),
Midnight NUMBER(4,1),
Precipitation NUMBER,
constraint TROUBLE_UQ UNIQUE (City, SampleDate)
);
table constraint
create table TROUBLE (
City VARCHAR2(13),
SampleDate DATE,
Noon NUMBER(4,1),
Midnight NUMBER(4,1),
Precipitation NUMBER,
constraint TROUBLE_PK PRIMARY KEY (City, SampleDate)
);
Ejemplos 2
column constraint
define clave primaria
column constraint
Mantencin de Integridad
DROP y TRUNCATE
DROP SCHEMA
El esquema completo es descartado
DROP TABLE
Se elimina la tabla (relacin) especificada
TRUNCATE TABLE
se eliminan las tuplas pero no la definicin de la tabla
Ejemplos
DROP TABLE DEPENDENT CASCADE
Elimina DEPENDENT junto a todas las restricciones y vistas que hacen referencia a ella
ALTER
permite cambiar la definicin de una tabla.
agregar o eliminar una columna (atributo)
agregar o eliminar una restriccin
cambiar la definicin de un atributo
Ejemplos:
ALTER TABLE EMPLOYEE ADD JOB VARCHAR(12)
ALTER TABLE EMPLOYEE DROP ADRESS CASCADE
ALTER TABLE DEPARTMENT ALTER MGRSSN DROP DEFAULT
ALTER TABLE DEPARTMENT ALTER MGRSSN SET DEFAULT 1
ALTER TABLE EMPLOYEE DROP CONSTRAINT EMPSUPERFK
CASCADE;
Ejemplo de Alter
create table TROUBLE (
City VARCHAR2(13),
SampleDate DATE,
Noon NUMBER(4,1),
Midnight NUMBER(4,1),
Precipitation NUMBER);
insert
insert
insert
insert
into
into
into
into
TROUBLE
TROUBLE
TROUBLE
TROUBLE
values
values
values
values
('PLEASANT
('PLEASANT
('PLEASANT
('PLEASANT
LAKE','21-MAR-01',
LAKE','22-JUN-01',
LAKE','23-SEP-01',
LAKE','22-DEC-01',
Null?
Type
-------- -----------NOT NULL VARCHAR2(17)
NOT NULL DATE
NUMBER(4,1)
NUMBER(4,1)
NUMBER
NOT NULL VARCHAR2(9)
NUMBER(3)