Está en la página 1de 14

OEMM / SMBD / EJERCICIO 1

EJERCICIO PARA DISEÑAR, CONSTRUIR Y EXPLOTAR UNA BASE DE DATOS USANDO UN


SISTEMA MANEJADOR DE BASES DE DATOS

Desarrollar un caso real o hipotético que ilustre una necesidad de automatizar el manejo de información usando una base de datos y un Sistema
Manejador de Base de Datos (cualquiera) para que a partir de ahí se genere explicación y entendimiento de los conceptos generales de un SMBD y de
su administración.

A continuación, se presenta un Diagrama de Flujo de Datos que ilustra el flujo de los pasos necesarios para este ejercicio a partir de un requerimiento
como fuente teniendo como destino a los usuarios finales, así también se presenta un ejemplo de cada uno de esos pasos.

A. Planteamiento de necesidad. Es una descripción del caso planteado en donde se redacta de la manera mas explicita posible lo necesario para
construir las estructuras de datos (tablas), sus relaciones, los usuarios y las acciones que se deben ejecutar para manejar la información.

B. SMBD. Sistema Manejador de Bases de Datos. Es el Software necesario para crear y administrar BD’s, sirve también como intermediario entre
aplicaciones e información.

C. Usuarios finales. Personas que utilizan las estructuras de almacenamiento para insertar valores, actualizarlos, borrarlos y explotar la información
que se guarda en las bases de datos

1. Construir el Modelo Conceptual. En esta etapa se desarrollan algunos pasos para construir un diagrama que ilustra gráficamente el aspecto de
la información de lo presentado como planteamiento de la necesidad. No tiene ningún carácter técnico salvo la especificación de simbología y
forma de presentar los elementos al interior del diagrama.

2. Construir el Modelo Relacional. En esta etapa se consideran a través de varios pasos los elementos técnicos para implementar lo presentado en
el Modelo Conceptual en un Sistema Manejador de Bases de Datos.

3. Escribir diseño físico. En este paso se toman los detalles desarrollados en el Modelo Relacional codificando con las instrucciones CREATE y
ALTER del SQL para crear las estructuras que se especifican el diseño.

4. Controlar accesos. Aquí se definen usuarios y privilegios apoyándose en el requerimiento usando las instrucciones GRANT y REVOKE.

5. Explotar la BD´s. Se atienden las necesidades definidas en el requerimiento para que los usuarios tengan en pantalla o reportes impresos la
información solicitada, así como para desarrollar acciones de dar de baja, insertar y actualizar valores de elementos al interior de la BD´s.
usando las instrucciones INSERT, UPDATE, DELETE Y SELECT.

Este ejercicio deberá continuar posteriormente para justificar los conceptos generales de los Sistemas Manejadores de Bases de Datos y de su
administración

Desarrollar los pasos: A, 1, 2, 3, 4, 5 (3,4 y 5 usando instrucciones que se ilustren de manera practica según el caso planteado)
OEMM / SMBD / EJERCICIO 2
DFD PARA ILUSTRAR LA CONSTRUCCIÓN, CONTROL Y EXPLOTACIÓN DE UNA BASE DE DATOS

PLANTEAMIENTO DE
NECESIDAD
INCLUYENDO
DATOS, ACCIONES Y INFORMACION DE
USUARIOS A ACCIONES DE LOS
USUARIOS
INFORMACIÓN DE
INFORMACIÓN USUARIOS Y
ORDENADA PRIVILEGIOS
CONSTRUIR
EL MODELO
CONCEPTUAL
1
INFORMACION DE CONTROLAR
TABLAS, VISTAS ACCESOS
COLUMNAS, PK´S,
ENTIDADES FK´S , ETC. 4
RELACIONES
ATRIBUTOS
…..
INSTRUCCIONES
SQL LCD
(GRANT Y REVOKE)
CONSTRUIR ADMINISTRACION
EL MODELO DE ESTRUCTURAS Y
RELACIONAL EXPLOTACION DE LA
INSTRUCCIONES
INFORMACIÓN
2 SMBD SQL LMD
(INSERT, DELETE,
TABLAS B UPDATE YSELECT)
COLUMNAS
PK´S
FK’S ……..
BD’S RESPUESTA DE
ACCION REALIZADA

EXPLOTAR
ESCRIBIR BD´S
EL DISEÑO
FISICO 5
INFORMACIÓN
3 INSTRUCCIONES
EN PANTALLA
USUARIOS O IMPRESA
SQL LDD FINALES
CREATE Y ALTER)
C
OEMM / SMBD / EJERCICIO 3

A. REQUERIMIENTO DEL AREA DE INFORMÁTICA.

EL AREA DE INFORMATICA DESEA DISEÑAR UNA BASE DE DATOS PARA EL CONTROL SOBRE EL INVENTARIO DEL EQUIPO DE
COMPUTO (dispositivos) DE ESTA UNIDAD.

UNO DE LOS PROBLEMAS QUE SE TIENEN ES QUE LOS USUARIOS CAMBIAN TECLADOS, MONITORES, ETC. SIN AVISAR AL ÁREA
DE INFORMÁTICA Y PROVOCAN QUE SE PIERDA EL RASTRO DE UNO U OTRO DISPOSITIVO. ADEMAS CONSTANTEMENTE SE
ACTUALIZAN LAS UCP´S Y POR LO MISMO SE GENERA CONFUSION DE A QUIEN CORRESPONDE CADA EQUIPO. POR ESAS Y OTRAS
RAZONES MAS ES NECESARIO ESTABLECER UN CONTROL DEL HARDWARE.

ES IMPORTANTE SEÑALAR QUE PARA ESTE CONTROL A LA UCP SE LE CONSIDERA COMO TODO LO QUE ESTE CONTENIDO
DENTRO DEL GABINETE (TARJETA MADRE, PROCESADOR, RAM, DISCO DURO, FLOPPY, ETC.)

LA MANERA COMO SE IDENTIFICA DE UN DISPOSITIVO A OTRO ES A TRAVES DE SU NUMERO DE SERIE , SEA UNA UCP, SCANNER,
IMPRESORA LO DE LO QUE SE TRATE.

PARA CADA DISPOSITIVO SE REQUIERE REGISTRAR LA DESCRIPCION, LA MARCA, EL MODELO, EL NUMERO DE INVENTARIO, EL
RESPONSABLE DEL EQUIPO (AQUI ES IMPORTANTE DECIR QUE UN DISPOSITIVO HISTORICAMENTE PUEDE HABER SIDO
ASIGNADO A VARIAS PERSONAS), PARA LAS PERSONAS ES NECESARIO REGISTRAR SU NO DE EMPLEADO, NOMBRE, CARGO Y EL
DEPARTAMENTO DONDE ESTA ASIGNADO.

SI SE TRATA DE UNA UCP SERIA NECESARIO TAMBIEN REGISTRAR SUS CARACTERISTICAS, COMO MODELO DEL PROCESADOR,
VELOCIDAD, MEMORIA RAM, Y CAPACIDAD DEL DISCO DURO. POR OTRA PARTE, TAMBIEN ES NECESARIO GUARDAR LAS
CARACTERISTICAS DEL SOFTWARE CON EL QUE CUENTA LA UCP. POR EJEMPLO, EL SISTEMA OPETATIVO, LICENCIA (QUE ES EL
ELEMENTO CORRECTO PARA HACER DISTINCION DE UN PRODUCTO A OTRO DE SOFTWARE, NO IMPORTANDO QUE TENGAN EL
MISMO NOMBRE), FECHA DE INSTALACION O ACTUALIZACION, PERSONA QUE INSTALO, ETC.ETC.ETC. Y CLARO EL SISTEMA
OPERATIVO NO ES LO UNICO QUE SE TIENE COMO SOFTWARE.

CUALQUIER DISPOSITIVO PUEDE SER OBJETO DE UNA O MUCHAS REPARACIONES DE LOS CUALES SE QUISIERA DEJAR HUELLA,
PARA ELLO TENDRIAMOS QUE REGISTRAR EL NUMERO DE SERIE DEL DISPOSITIVO, LA FECHA EN LA QUE SE LLEVA A CABO
DICHA REPARACION O COMENTARIO ASI COMO EL NOMBRE DE LA PERSONA QUE LA REALIZA.
OEMM / SMBD / EJERCICIO 4

1. MODELO CONCEPTUAL

UCP PRODUCTO_SW
NO_SERIE TIENE NO_LICENCIA

MODELO_PROC NOMBRE_PROD
VELOCIDAD_PROC FECHA_INS_ACT
RAM PERSONA_Q_INSTALO
CAPACIDAD_HDD NO_SERIE

ES INSTALADO

CORRESPONDE CORRESPONDE
REPARACION

DISPOSITIVO NO_SERIE
TIENE
NO_SERIE
FECHA
COMENTARIO
DESCRIPCION PERSONA_Q_REPARO
MARCA
MODELO
NO_INVENTARIO
ES REALIZADA

EMPLEADO

TIENE NO_EMPLEADO

NOMBRE
CARGO
DEPARTAMENTO

ES ASIGNADO
OEMM / SMBD / EJERCICIO 5
2. MODELO RELACIONAL
I: N/A I:DEFAULT
D: R C SN D:N/A PRODUCTO_SW
I:DEFAULT U: R C SN U:DEFAULT
UCP
D:N/A NO_LICENCIA PK ALF(20) NOT NULL
U:DEFAULT
NO_SERIE PK ALF(5) NOT NULL
NOMBRE_PROD ALF(30) NOT NULL
MODELO_PROC ALF(20) NOT NULL FECHA_INS_ACT FECHA NOT NULL
VELOCIDAD_PROC ALF(20) NOT NULL PERSONA_Q_INSTALO ALF(30) NOT NULL
RAM ALF(10) NOT NULL NO_SERIE FK ALF(5) NOT NULL
I: N/A
D: R C SN
CAPACIDAD_HDD ALF(10) NOT NULL
U: R C SN

DISPOSITIVO REPARACION
I: N/A I:DEFAULT
D: R C SN D:N/A
NO_SERIE PK ALF(5) NOT NULL U: R C SN U:DEFAULT NO_SERIE PK,FK ALF(5) NOT NULL

FECHA PK FECHA NOT NULL


DESCRIPCION ALF(30) NOT NULL

MARCA ALF(20) NOT NULL COMENTARIO ALF(80) NOT NULL

MODELO ALF(20) NOT NULL PERSONA_Q_REPARO ALF(30) NOT NULL

NO_INVENTARIO ALF(20) NOT NULL

I: N/A
D: R C SN
U: R C SN EMPLEADO
I:DEFAULT I: N/A
D:N/A D: R C SN
NO_EMPLEADO PK ALF(5) NOT NULL
HISTORIAL_RESGUARDO U:DEFAULT U: R C SN

NOMBRE ALF(30) NOT NULL


I:DEFAULT NO_SERIE PK,FK ALF(5) NOT NULL
D:N/A NO_EMPLEADO PK,FK ALF(5) NOT NULL
U:DEFAULT CARGO ALF(30) NULL

DEPARTAMENTO ALF(30) NOT NULL


OEMM / SMBD / EJERCICIO 6

PARA DESARROLLAR LOS PUNTOS 3, 4 Y 5 SERAN NECESARIAS LAS SIGUIENES INSTRUCCIONES

SQL STRUCTURED QUERY LANGUAGE

LENGUAJE DE DEFINICION DE DATOS (MANEJO OBJETOS)

CREATE Crear objetos


ALTER Modificar Objetos
DROP Eliminar objetos

LENGUAJE DE CONTROL DE DATOS (CONTROLA PRIVILEGIOS)

GRANT Ofrece privilegios


REVOKE Quita privilegios

LENGUAJE DE MANIPULACION DE DATOS (MANEJO DE INFORMACION)

INSERT Agrega renglones


UPDATE Actualiza valores en renglones
DELETE Elimina renglones
SELECT Consulta
OEMM / SMBD / EJERCICIO 7

EJEMPLOS DEL LENGUAJE DE DEFINICION DE DATOS (MANEJO DE OBJETOS)

Crear objetos Modificar Objetos

CREATE TABLE nombre_de _tabla ( ALTER tipo_objeto nombre_objeto


Nombre_columna_1 tipo_dato NULL O NOT NULL, clausula(s)
Nombre_columna_1 tipo_dato NULL O NOT NULL,
Nombre_columna_n tipo_dato NULL O NOT NULL
)

CREATE TABLE DISPOSITIVO ( ALTER TABLE DISPOSITIVO


NO_SERIE varchar(5) NOT NULL, ADD PRIMARY KEY (NO_SERIE)
DESCRIPCION varchar(30) NOT NULL,
MARCA varchar(20) NOT NULL,
MODELO varchar(20) NOT NULL,
NO_INVENTARIO varchar(20) NOT NULL, ALTER TABLE REPARACION
PRECIO int NULL ADD PRIMARY KEY (NO_SERIE, FECHA)
) ALTER TABLE REPARACION
CREATE TABLE REPARACION ( ADD FOREIGN KEY (NO_SERIE)
NO_SERIE varchar(5) NOT NULL, REFERENCES DISPOSITIVO
FECHA datetime NOT NULL,
COMENTARIO varchar(80) NOT NULL,
PERSONA_Q_REPARO varchar(30) NOT NULL
)

Eliminar objetos DROP tipo_objeto nombre_objeto DROP TABLE DISPOSTIVO

DROP TABLE REPARACION

Otros CREATE DATABASE, CREATE VIEW, CREATE INDEX, ALTER TABLE DROP TABLE, DROP INDEX, ETC.
ALTER DATABASE, ALTER PROCEDURE, ALTER VIEW, ALTER TRIGGER, ETC.
DROP DATABASE, DROP INDEX, DROP PROCEDURE, DROP RULE, DROP VIEW, ETC.
OEMM / SMBD / EJERCICIO 8
3. DISEÑO FISICO

CREATE TABLE DISPOSITIVO ( CREATE TABLE REPARACION (


NO_SERIE varchar(5) NOT NULL, FECHA datetime NOT NULL,
NO_INVENTARIO varchar(20) NOT NULL, NO_SERIE varchar(5) NOT NULL,
MODELO varchar(20) NOT NULL, PERSONA_Q_REPARA char(30) NOT NULL,
MARCA varchar(20) NOT NULL, COMENTARIO varchar(80) NOT NULL
DESCRIPCION varchar(30) NOT NULL )
)
ALTER TABLE REPARACION
ALTER TABLE DISPOSITIVO ADD PRIMARY KEY NONCLUSTERED (NO_SERIE, FECHA)
ADD PRIMARY KEY NONCLUSTERED (NO_SERIE)
CREATE TABLE UCP (
CREATE TABLE EMPLEADO ( NO_SERIE varchar(5) NOT NULL,
NO_EMPLEADO varchar(5) NOT NULL, CAPACIDAD_HDD varchar(10) NOT NULL,
DEPARTAMENTO varchar(20) NULL, RAM varchar(10) NOT NULL,
CARGO varchar(20) NULL, VELOCIDAD_PROC varchar(20) NOT NULL,
NOMBRE_EMPLEADO varchar(20) NOT NULL MODELO_PROC varchar(20) NOT NULL
) )

ALTER TABLE EMPLEADO ALTER TABLE UCP


ADD PRIMARY KEY NONCLUSTERED (NO_EMPLEADO) ADD PRIMARY KEY NONCLUSTERED (NO_SERIE)

CREATE TABLE HISTORIAL_RESGUARDO ( ALTER TABLE HISTORIAL_RESGUARDO


NO_SERIE varchar(5) NOT NULL, ADD FOREIGN KEY (NO_EMPLEADO)
NO_EMPLEADO varchar(5) NOT NULL REFERENCES EMPLEADO
)
ALTER TABLE HISTORIAL_RESGUARDO
ALTER TABLE HISTORIAL_RESGUARDO ADD FOREIGN KEY (NO_SERIE)
ADD PRIMARY KEY NONCLUSTERED (NO_SERIE, NO_EMPLEADO) REFERENCES DISPOSITIVO

CREATE TABLE PRODUCTO_SW ( ALTER TABLE PRODUCTO_SW


NO_LICENCIA varchar(20) NOT NULL, ADD FOREIGN KEY (NO_SERIE)
NO_SERIE varchar(5) NOT NULL, REFERENCES UCP
NOMBRE_PROD varchar(30) NOT NULL,
FECHA_INS_ACT datetime NOT NULL, ALTER TABLE REPARACION
NOMBRE_Q_INS_ACT varchar(30) NOT NULL ADD FOREIGN KEY (NO_SERIE)
) REFERENCES DISPOSITIVO

ALTER TABLE PRODUCTO_SW ALTER TABLE UCP


ADD PRIMARY KEY NONCLUSTERED (NO_LICENCIA) ADD FOREIGN KEY (NO_SERIE)
REFERENCES DISPOSITIVO
OEMM / SMBD / EJERCICIO 9

4. CONTROLAR ACCESOS.

EJEMPLOS DE CONTROL DE DATOS (MANEJO DE PRIVILEGIOS)

GRANT privilegio(s) REVOKE privilegio(s)


ON nombre objeto(s) ON nombre objeto(s)
TO usuario(s) TO usuario(s)
WITH GRAN OPTION

GRANT SELECT, INSERT ON DISPOSITIVO TO JEFE REVOKE SELECT ON DISPOSITIVO FROM JEFE

GRANT DELETE, UPDATE ON DISPOSITIVO TO JEFE REVOKE ALL ON DISPOSITIVO FROM JEFE

GRANT UPDATE
ON DISPOSITIVO
TO JEFE WITH GRANT OPTION

GRANT ALL ON DISPOSITIVO TO JEFE


OEMM / SMBD / EJERCICIO 10
5. EXPLOTAR LA INFORMACION

EJEMPLOS DE LENGUAJE DE MANIPULACION DE DATOS (MANEJO DE INFORMACION)

INSERT SIMPLE PARA OTRAS TABLAS


INSERT INTO tabla o vista
INSERT INTO UCP
[(col1, col2, ..., coln) (NO_SERIE, MODELO_PROC, VELOCIDAD_PROC, RAM, CAPACIDAD_HDD)
(VALUES (valor1, valor2, ..., valorn) o subselect)] VALUES ('1005', 'DUAL CORE', '2.4 GB ', '2 GB', '220 GB')

INSERT INTO DISPOSITIVO INSERT INTO UCP


(NO_SERIE, DESCRIPCION, MARCA, MODELO, NO_INVENTARIO, PRECIO) (NO_SERIE, MODELO_PROC, VELOCIDAD_PROC, RAM, CAPACIDAD_HDD)
VALUES ('1001', 'IMPRESORA LASER', 'LEXMARC', '2010', '20081001', 2000) VALUES ('1006', 'CELERON', '2 GB ', '512 MB', '40 GB')

INSERT INTO DISPOSITIVO INSERT INTO PRODUCTO_SW


VALUES ('1002', '20081003', '3200LASER', 'HP', 'IMPRESORA LASER', 3000) (NO_LICENCIA, NOMBRE_PROD, FECHA_INS_ACT, NOMBRE_Q_INS_ACT,
NO_SERIE)
INSERT INTO DISPOSITIVO VALUES ('34234234324', 'WIN XP', '02/02/2008', 'LUIS PEREZ', '1005')
VALUES ('1003', '20081020', '8200', 'VISION', 'CAÑON RETROPROYECTOR', 15000)
INSERT INTO PRODUCTO_SW
INSERT INTO DISPOSITIVO (NO_LICENCIA, NOMBRE_PROD, FECHA_INS_ACT, NOMBRE_Q_INS_ACT,
VALUES ('1004', '20081021', 'LLL1010', 'LG', 'PANTALLA LCD', 1500) NO_SERIE)
VALUES ('OFF78789789', 'OFF XP', '02/02/2008', 'LUIS PEREZ', '1005')
INSERT INTO DISPOSITIVO
VALUES ('1005', '20081029', 'S/M', 'S/M', 'UCP', 5000) INSERT INTO EMPLEADO
(NO_EMPLEADO, NOMBRE_EMPLEADO, CARGO, DEPARTAMENTO)
INSERT INTO DISPOSITIVO VALUES ('211', 'ROBERTO RUIZ ', 'DIR VENTAS NTE', 'VENTAS')
VALUES ('1006', '20081029', 'S/M', 'S/M', 'UCP', 5500)
INSERT INTO EMPLEADO
INSERT INTO REPARACION (NO_EMPLEADO, NOMBRE_EMPLEADO, CARGO, DEPARTAMENTO)
(FECHA, NO_SERIE, COMENTARIO, PERSONA_Q_REPARA) VALUES ('212', 'ERIKA REBELES ', NULL, 'VENTAS')
VALUES( '10/10/2008', '1002', 'FALLA DE BANDEJA FRONTAL', 'JUAN PEREZ')
INSERT INTO EMPLEADO
(NO_EMPLEADO, NOMBRE_EMPLEADO, DEPARTAMENTO)
INSERT INTO REPARACION VALUES ('213', 'JAIME TINAJERO ', 'VENTAS')
(FECHA, NO_SERIE, COMENTARIO, PERSONA_Q_REPARA)
VALUES( '10/11/2008', '1002', 'SE SUSTITUYE CARTUCHO DE TONER', 'JUAN PEREZ') INSERT INTO HISTORIAL_RESGUARDO
(NO_SERIE, NO_EMPLEADO)
INSERT INTO REPARACION VALUES ('1001', '211')
(FECHA, NO_SERIE, COMENTARIO, PERSONA_Q_REPARA)
VALUES( '10/11/2008', '1005', 'SE FORMATEO Y REINSTALO SW ', 'JUAN PEREZ')
OEMM / SMBD / EJERCICIO 11

INSERT MASIVO UPDATE PRODUCTO_SW


SET NOMBRE_PROD= 'WINDOWS XP'
CREATE TABLE DISPOSITIVO_PASO ( WHERE (NOMBRE_PROD='WIN XP' OR
NO_SERIE_PASO varchar(5) NOT NULL, NOMBRE_PROD='win xp') AND
DESCRIPCION_PASO varchar(30) NOT NULL, FECHA_INS_ACT='02/02/2008'
MARCA_PASO varchar(20) NOT NULL,
MODELO_PASO varchar(20) NOT NULL,
UPDATE MASIVO
NO_INVENTARIO_PASO varchar(20) NOT NULL,
PRECIO_PASO int NULL
) UPDATE DISPOSITIVO
SET MODELO = 'S/M'
INSERT INTO DISPOSITIVO_PASO
(NO_SERIE_PASO, DESCRIPCION_PASO, MARCA_PASO, DELETE (borrado)
MODELO_PASO, NO_INVENTARIO_PASO, PRECIO_PASO)
DELETE FROM nombre de tabla o vista
SELECT NO_SERIE, DESCRIPCION, MARCA, MODELO, WHERE (condición)
NO_INVENTARIO, PRECIO
FROM DISPOSITIVO
DELETE FROM PRODUCTO_SW
UPDATE (actualización) WHERE NO_LICENCIA='34234234324 ''

UPDATE vista o tabla DELETE FROM HISTORIAL_RESGUARDO


SET nombre_columna = expresión o NULL WHERE NO_EMPLEADO='211' AND
(nombre_columna n=expresión n o NULL) NO_SERIE='1001'
(WHERE Condición)
DELETE MASIVO
UPDATE EMPLEADO
SET CARGO = 'GTE VENTAS SUR' DELETE FROM EMPLEADO
WHERE NOMBRE_EMPLEADO='JAIME TINAJERO' DELETE FROM REPARACION
DELETE FROM PRODUCTO_SW
UPDATE REPARACION DELETE FROM UCP
SET PERSONA_Q_REPARA = 'JUAN PEREZ GONZALEZ' DELETE FROM DISPOSITIVO
WHERE DELETE FROM HISTORIAL_RESGUARDO
PERSONA_Q_REPARA='JUAN PEREZ' OR
PERSONA_Q_REPARA='juan perez'
OEMM / SMBD / EJERCICIO 12

SELECT (consultas con clausulas comunes) SELECT *


FROM PRODUCTO_SW
SELECT columnas <REQUERIDO> WHERE NOMBRE_PROD LIKE 'WIN%'
FROM tabla <REQUERIDO>
WHERE condición <OPCIONAL> SELECT *
GROUP BY agrupación <OPCIONAL> FROM DISPOSITIVO
WHERE MARCA IN ('HP', 'LEXMARC', 'TECH')
ORDER BY columnas <OPCIONAL>
SELECT NO_SERIE, DESCRIPCION, PRECIO
SELECT NO_SERIE, NO_INVENTARIO, DESCRIPCION
FROM DISPOSITIVO
FROM DISPOSITIVO
WHERE PRECIO >= 6000 AND PRECIO <= 15000
SELECT *
SELECT NO_SERIE, DESCRIPCION, PRECIO
FROM EMPLEADO
FROM DISPOSITIVO
WHERE CARGO IS NULL
WHERE PRECIO BETWEEN 6000 AND 15000
SELECT *
SELECT *
FROM EMPLEADO
FROM DISPOSITIVO
WHERE CARGO IS NOT NULL
WHERE MARCA = 'HP' OR MARCA = 'LEXMARC' OR
MARCA = 'TECH'
SELECT NO_SERIE, NO_INVENTARIO, DESCRIPCION
ORDER BY MARCA
FROM DISPOSITIVO
WHERE MARCA = 'LEXMARC'
SELECT *
FROM DISPOSITIVO
SELECT DISTINCT(FECHA), NO_SERIE
WHERE MARCA = 'HP' OR MARCA = 'LEXMARC' OR
FROM REPARACION
MARCA = 'TECH'
ORDER BY MARCA DESC
SELECT MAX(PRECIO)
FROM DISPOSITIVO
SELECT COUNT (*) 'TOTAL DISPOSITVOS'
FROM DISPOSITIVO
SELECT AVG( PRECIO)
FROM DISPOSITIVO
SELECT COUNT (*)
FROM DISPOSITIVO
SELECT *
WHERE DESCRIPCION LIKE 'IMP%'
FROM REPARACION
SELECT NO_SERIE, DATEPART(MM,FECHA) 'MES',
SELECT DISTINCT FECHA, NO_SERIE
DATEPART(DD,FECHA) 'DIA', DATEPART(YY,FECHA) 'AÑO',
FROM REPARACION
COMENTARIO
ORDER BY FECHA
FROM REPARACION
OEMM / SMBD / EJERCICIO 13

SELECT (INNER JOIN Y OUTER JOIN)


SELECT DISPOSITIVO.NO_SERIE, NO_INVENTARIO,
DESCRIPCION, MARCA, FECHA, COMENTARIO,
PERSONA_Q_REPARA
SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA,
MODELO_PROC, VELOCIDAD_PROC, RAM, FROM DISPOSITIVO, REPARACION
CAPACIDAD_HDD, NOMBRE_PROD, NO_LICENCIA

FROM DISPOSITIVO, UCP, PRODUCTO_SW WHERE DISPOSITIVO. NO_SERIE = REPARACION. NO_SERIE

WHERE DISPOSITIVO. NO_SERIE = UCP. NO_SERIE AND


UCP.NO_SERIE = PRODUCTO_SW.NO_SERIE SELECT COUNT (DISTINCT NO_SERIE)

FROM REPARACION
O
O
SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA, SELECT COUNT (DISTINCT REPARACION.NO_SERIE)
MODELO_PROC, VELOCIDAD_PROC, RAM,
CAPACIDAD_HDD, NOMBRE_PROD, NO_LICENCIA FROM DISPOSITIVO, REPARACION
FROM DISPOSITIVO INNER JOIN UCP WHERE DISPOSITIVO. NO_SERIE = REPARACION. NO_SERIE
ON DISPOSITIVO. NO_SERIE = UCP. NO_SERIE O
INNER JOIN PRODUCTO_SW
SELECT COUNT (DISTINCT REPARACION.NO_SERIE)
ON UCP.NO_SERIE = PRODUCTO_SW.NO_SERIE FROM DISPOSITIVO INNER JOIN REPARACION

ON DISPOSITIVO. NO_SERIE = REPARACION. NO_SERIE


OEMM / SMBD / EJERCICIO 14

SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA, SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA,


MODELO_PROC, VELOCIDAD_PROC, RAM, MODELO_PROC, VELOCIDAD_PROC, RAM,
CAPACIDAD_HDD, CAPACIDAD_HDD,
FECHA 'FECHA DE REPARACION ', COMENTARIO FECHA 'FECHA DE REPARACION ', COMENTARIO

FROM DISPOSITIVO, UCP, REPARACION


FROM DISPOSITIVO RIGHT OUTER JOIN UCP

WHERE DISPOSITIVO. NO_SERIE = UCP. NO_SERIE AND ON DISPOSITIVO. NO_SERIE = UCP. NO_SERIE
DISPOSITIVO.NO_SERIE = REPARACION.NO_SERIE
RIGHT OUTER JOIN REPARACION

ON DISPOSITIVO.NO_SERIE = REPARACION.NO_SERIE

SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA,


MODELO_PROC, VELOCIDAD_PROC, RAM,
CAPACIDAD_HDD, SELECT DISPOSITIVO.NO_SERIE, DESCRIPCION, MARCA,
FECHA 'FECHA DE REPARACION ', COMENTARIO MODELO_PROC, VELOCIDAD_PROC, RAM,
CAPACIDAD_HDD,
FECHA 'FECHA DE REPARACION ', COMENTARIO
FROM DISPOSITIVO INNER JOIN UCP

ON DISPOSITIVO. NO_SERIE = UCP. NO_SERIE FROM DISPOSITIVO LEFT OUTER JOIN UCP

INNER JOIN REPARACION ON DISPOSITIVO. NO_SERIE = UCP. NO_SERIE

RIGHT OUTER JOIN REPARACION


ON DISPOSITIVO.NO_SERIE = REPARACION.NO_SERIE

ON DISPOSITIVO.NO_SERIE = REPARACION.NO_SERIE
WHERE FECHA = '10/11/2008'

ORDER BY DISPOSITIVO.NO_SERIE

También podría gustarte