Bienvenidos

Objetivos Generales: Con este Material de Microsoft SQL Server Gota a Gota en las Bases de Datos Relacionales pretendo dejar claro los conceptos de su funcionamiento y estructura, consiguiendo los siguientes objetivos:
 Aclarar el funcionamiento en todos los aspectos de las Bases de datos relacionales y la Gestión de las mismas
 Comprender los lenguajes que conforman las Bases de Datos (DDL, DML, DCL)
Objetivos Específicos: Especificando un poco más los objetivos de este material, podemos declarar que el alumno conseguirá entender el funcionamiento y estructura para saber como aprovechar todas las capacidades de este tipo de bases de datos en la creación de programas informáticos de cualquier nivel aprender la utilización de las bases de datos de SQL SERVER de cara a la programación.
Estudiar el funcionamiento de las mismas, para una mejor base de cara a la utilización de sentencias SQL y de bases de datos de mayor complejidad.

domingo, 19 de agosto de 2012

PRACTICA DE ENVIO FINAL GRUPOS SPUERTO PLATA 2014

EJECUTAR EL SIGUIENTE QUERY EN SQL, EL MISMO CREARA UNA BASE DE DATOS LLAMADA CONSTRUCTORA, LA CUAL A SU VEZ INSERTARA TODOS LOS REGISTROS; CON LA CUAL PODRAN CREAR LAS CONSULTAS QUE SE MOSTRARAN EN EL ANEXO:

LAS TABLAS QUE LA CONFORMAN SON:

TRABAJADOR
ASIGNACION
EDIFICIO


--QUERY A EJECUTAR (COPIAR ESTE CODIGO Y EJECUTARLO EN SQL)

create database Constructora
GO
USE Constructora
GO
/****** Object:  Table [dbo].[Trabajador]    Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[Trabajador](
 [ID_TRABAJADOR] [varchar](5) NOT NULL,
 [NOMB_TRABAJADOR] [varchar](12) NULL,
 [TARIFA_HR] [float] NULL,
 [OFICIO] [varchar](15) NULL,
 [ID_SUPLY] [int] NULL,
 CONSTRAINT [PK_TRABAJADOR_ID_TRABAJADOR] PRIMARY KEY CLUSTERED
(
 [ID_TRABAJADOR] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1235', N'M Faraday', 12.5, N'Electricista', 1311)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1311', N'C Coulomb', 15.5, N'Electricista', 1311)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1412', N'C Nemo', 13.75, N'Fontanero', 1520)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'1520', N'H Rickover', 11.75, N'Fontanero', 1520)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'2920', N'R Garret', 10, N'Albanil', 2920)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'3001', N'J Barrister', 8.2, N'Carpintero', 3231)
INSERT [dbo].[Trabajador] ([ID_TRABAJADOR], [NOMB_TRABAJADOR], [TARIFA_HR], [OFICIO], [ID_SUPLY]) VALUES (N'3231', N'P Mason', 17.4, N'Carpintero', 3231)
go
/****** Object:  Table [dbo].[edificio]    Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[edificio](
 [ID_EDIFICIO] [varchar](5) NOT NULL,
 [DIR_EDIFICIO] [varchar](12) NULL,
 [TIPO] [varchar](11) NULL,
 [NIVEL_CALIDAD] [int] NULL,
 [CATEGORIA] [int] NULL,
 CONSTRAINT [PK_EDIFICIO] PRIMARY KEY CLUSTERED
(
 [ID_EDIFICIO] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'111', N'1213 Aspen', N'Oficina', 4, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'210', N'1011Birch', N'Oficina', 3, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'312', N'123 Elm', N'Oficina', 2, 2)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'435', N'456 Maple', N'Comercio', 1, 1)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'460', N'1415 Beech', N'Almacen', 3, 3)
INSERT [dbo].[edificio] ([ID_EDIFICIO], [DIR_EDIFICIO], [TIPO], [NIVEL_CALIDAD], [CATEGORIA]) VALUES (N'515', N'789 Oak', N'Residencia', 3, 1)
GO
/****** Object:  Table [dbo].[ASIGNACION]    Script Date: 08/19/2012 19:20:23 ******/
CREATE TABLE [dbo].[ASIGNACION](
 [ID_TRABAJADOR] [varchar](5) NULL,
 [ID_EDIFICIO] [varchar](5) NULL,
 [FECHA_INICIO] [datetime] NULL,
 [NUM_DIAS] [int] NULL
) ON [PRIMARY]
GO
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1235', N'312', CAST(0x0000979F00000000 AS DateTime), 5)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'312', CAST(0x0000979600000000 AS DateTime), 10)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1235', N'515', CAST(0x000097A600000000 AS DateTime), 22)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'460', CAST(0x0000979A00000000 AS DateTime), 18)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'460', CAST(0x0000989100000000 AS DateTime), 18)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'435', CAST(0x000097B100000000 AS DateTime), 10)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'2920', N'210', CAST(0x000097BD00000000 AS DateTime), 15)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3231', N'111', CAST(0x0000979F00000000 AS DateTime), 8)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'435', CAST(0x000097A400000000 AS DateTime), 15)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'515', CAST(0x000097B800000000 AS DateTime), 8)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3231', N'312', CAST(0x000097AD00000000 AS DateTime), 20)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1520', N'515', CAST(0x0000979E00000000 AS DateTime), 14)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1311', N'435', CAST(0x0000979D00000000 AS DateTime), 12)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'210', CAST(0x000097C200000000 AS DateTime), 12)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1412', N'111', CAST(0x000097D300000000 AS DateTime), 4)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3001', N'111', CAST(0x0000979D00000000 AS DateTime), 14)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1311', N'460', CAST(0x000097AC00000000 AS DateTime), 24)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'1520', N'312', CAST(0x000097B300000000 AS DateTime), 17)
INSERT [dbo].[ASIGNACION] ([ID_TRABAJADOR], [ID_EDIFICIO], [FECHA_INICIO], [NUM_DIAS]) VALUES (N'3001', N'210', CAST(0x000097B000000000 AS DateTime), 14)
/****** Object:  Default [DF__edificio__TIPO__7F60ED59]    Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio] ADD  DEFAULT ('OFICINA') FOR [TIPO]
GO
/****** Object:  Default [DF__edificio__CATEGO__00551192]    Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio] ADD  DEFAULT ((1)) FOR [CATEGORIA]
GO
/****** Object:  Check [CK_CATEGORIA]    Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[edificio]  WITH CHECK ADD  CONSTRAINT [CK_CATEGORIA] CHECK  (([CATEGORIA]>=(0) AND [CATEGORIA]<=(4)))
GO
ALTER TABLE [dbo].[edificio] CHECK CONSTRAINT [CK_CATEGORIA]
GO
/****** Object:  ForeignKey [FK_ID_EDIFICIO]    Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[ASIGNACION]  WITH CHECK ADD  CONSTRAINT [FK_ID_EDIFICIO] FOREIGN KEY([ID_EDIFICIO])
REFERENCES [dbo].[edificio] ([ID_EDIFICIO])
GO
ALTER TABLE [dbo].[ASIGNACION] CHECK CONSTRAINT [FK_ID_EDIFICIO]
GO
/****** Object:  ForeignKey [FK_ID_TRABAJADOR]    Script Date: 08/19/2012 19:20:23 ******/
ALTER TABLE [dbo].[ASIGNACION]  WITH CHECK ADD  CONSTRAINT [FK_ID_TRABAJADOR] FOREIGN KEY([ID_TRABAJADOR])
REFERENCES [dbo].[Trabajador] ([ID_TRABAJADOR])
GO
ALTER TABLE [dbo].[ASIGNACION] CHECK CONSTRAINT [FK_ID_TRABAJADOR]
GO



ANEXO:

Realizar las siguientes consultas:

1.    Cual es el número total de días asignados a fontanería en el edificio 312

2.    Cuales son los oficios de los trabajadores asignados al edificio 435

3.    Quienes tienen una tarifa por hora entre $10 y $12

4.    Indicar los trabajadores que están asignados a todos los edificios

5.    Cual es el promedio de días que los trabajadores están asignados al edificio 435

6.    Para cada tipo de edificio, Cual es el nivel de calidad medio de los edificios con categoría 1.  Considere solo aquellos tipos de edificios que tienen un nivel de calidad máximo no mayor de 3

7.    Cuantos tipos de oficio diferentes hay en la tabla trabajador

 

lunes, 13 de agosto de 2012

PRACTICA ADICIONAL GRUPO SABADO Y DOMINGO OCOA 2012

VERIFICAR SUS CUENTAS DE CORREO, LES ENVIE UN ARCHIVO, EN EL CUAL TENDRAN QUE DESARROLLAR UNA PRACTICA CONCERNIENTE A LAS CREACIONES DE TABLAS.

FAVOR HACERLES SABER A SUS COMPANEROS, SOBRE SU ENVIO, YA QUE SIEMPRE SUCEDE QUE ALGUNOS NO RECIBEN SUS CORREOS.

POR OTRO LADO RECUERDEN QUE FUERA DE ESTA PRACTICA TIENEN QUE DESARROLLAR LOS PUNTOS DEL MANUAL DE TRABAJO, ELABOREN LAS PRACTICAS, HASTA LOS TEMAS QUE FUERON IMPARTIDOS EN EL AULA.

POSTDATA:  EL ARCHIVO WORD QUE LES ADJUNTE ESTA ELABORADO EL OFFICE 2007, POR SI TIENEN UNA VERSION NO MUY RECIENTE

miércoles, 8 de agosto de 2012

PRACTICA SUPLEMENTARIA GRUPO SABADO OCOA 2012

FECHA DE ENVIÓ: SABADO 11 DE AGOSTO, 2012
SI DESEAN ENVIARLO ANTES, PUEDEN HACERLO
ENTREGAR TAL CUAL ESTÁN FORMADOS LOS GRUPOS


SE CUENTA CON UNA BASE DE DATOS PARA LA TIENDA DE LIBROS LA LA CULTURA CON LAS SIGUIENTES TABLAS:

EDITORIAL(#codeditorial, nomeditorial, paiseditorial, direditorial, teleditorial)

AUTOR(#codautor, nomautor, paisautor, codgenero, premnobelautor)

GENERO(#codgenero, descgenero)

LIBRO(#codlibro, nomlibro, isbn, codeditorial, codautor, codgenero, fechaedilibro, numpaglibro)

Realizar las siguientes consultas en SQL (Asumimoa que todos los datos necesarios se encuentran almacenados en las tablas):

1. Consultar todos los datos de la tabla GENERO

2. Consultar la dirección de la editorial McGraw Hill en Taiwan

3. Quién es el autor del libro “Análisis y Diseño de Sistemas”

4. Encontrar los autores   con más de 2 premios nóbel en género: literatura    

5. Encontrar los nombres de las editoriales cuyo nombre comience con la letra 'a' o que al menos tenga una  letra 'e' en cualquier lugar del nombre

6. Consultar los nombres de los autores cuyo pais sea panama

domingo, 29 de julio de 2012

LINK SQL DE INTERES (MONOGRAFICO OCOA 2012)

ESTE LINK TIENE PARTE DE LOS TEMAS EXPUESTOS EN EL AULA, ENTREN DENTRO DE ESTA DIRECCION, PARA QUE PUEDAN LEER Y COMPRENDER CIERTOS PUNTOS EXPLICADOS.

ENCONTRARAN ALGUNAS COSAS QUE NO LES HE DADO, PERO AL MENOS TRATEN DE IR VERIFICANDO, PARA QUE PUEDAN TOMAR  MAS CONOCIMIENTO.


http://www.slideshare.net/fsilvasys/aprenda-sql-server


NOTA:

      DEBEN ELABORAR LOS EJERCICIOS DEL MANUAL DE TRABAJO DE LOS TEMAS 1 Y 2 DEL MANUAL DE TRABAJO

lunes, 23 de julio de 2012

MONOGRAFICO OCOA 2012

HOLA A TODOS, ESPERO QUE SE ENCUENTREN BIEN

LES HAGO SABER QUE EN ESTA SEMANA NO TENDREMOS CLASE, DEBIDO A LA CELEBRACION DEL DIA DE LOS PADRES.

DE IGUAL FORMA LES INFORMO, QUE EN EL DIA DE MANANA TENDRAN DISPONIBLE, LAS ACTIVIDADES QUE DESARROLLARAN, DURANTE ESTE ASUETO QUE LES ESTOY BRINDANDO

CUALQUIER INQUIETUD, PUEDEN CONTACTARME AL CELULAR, O VIA EMAIL, ENVIARME UN MENSAJE; CON MUCHO GUSTO LES DEVOLVERE SUS RESPUESTAS

SALUDOS

lunes, 16 de julio de 2012

CLASE PROXIMO SABADO -ESTUDIANTES OCOA 2012-

BUENAS TARDES LES ESCRIBO PARA INFORMARLES QUE EL PROXIMO SABADO 21 DE JULIO, 2012 EL GRUPO QUE QUEDO PARA LOS SABADOS TENDRAN  CLASE DE MONOGRAFICO A PARTIR DE LAS 3 DE LA TARDE FAVOR COMUNICAR MENSAJE A LOS DEMAS ESTUDIANTES QUE NO CUENTEN CON MEDIOS COMO EL INTERNET
esta noche les subire la practica

Saludos

miércoles, 7 de marzo de 2012

PRACTICA SUPLEMENTARIA GESTION Y CONSULTA DE DATOS

---------------------
TIENDA DE INFORMATICA
---------------------

TABLA FABRICANTES
-----------------
PK CODIGO INT IDENTITY
NOMBRE NVARCHAR(100)

TABLA ARTICULOS
---------------
PK CODIGO INT IDENTITY
NOMBRE NVARCHAR(100)
PRECIO FLOAT
FK1 FABRICANTE INT

1. OBTENER EL PRECIO MEDIO DE LOS PRODUCTOS DE CADA FABRICANTE, MOSTRANDO SOLAMENTE EL NOMBRE DEL FABRICANTE
2. OBTENER LOS NOMBRE DE LOS FABRICANTES QUE OFREZCAN PRODUCTOS CUYO PRECIO MEDIO SEA MAYOR O IGUAL A 150
3. OBTENER UNA LISTA CON EL NOMBRE Y EL PRECIO DE LOS ARTICULOS MAS CAROS DE CADA PROVEEDOR (INCLUYENDO EL NOMBRE DEL PROVEEDOR)
4. ANADIR UN NUEVO PRODUCTO:
5. CAMBIAR EL NOMBRE DEL PRODUCTO 8 A 'IMPRESORA LASER'
6. APLICAR UN DESCUENTO DEL 10% (MULTIPLICAR EL PRECIO POR 0.9) A TODOS LOS PRODUCTOS
7. APLICAR UN DESCUENTO DE UN 10% A TODOS LOS PRODCUTOS CUYO PRECIO SEA MAYOR O IGUAL A 120
8. OBTENER LOS NOMBRES DE LOS PRODUCTOS DE LA TIENDA
9. OBTENER LOS NOMBRES Y LOS PRECIOS DE LOS PRODUCTOS
10. OBTENER EL NOMBRE DE LOS PRODUCTOS CUYO PRECIO SEA MENOR O IGUAL A 200
11. OBTENER TODOS LOS DATOS DE LOS ARTICULOS CUYO PRECIO ESTE ENTRE 60 Y LOS 120 PESOS
12. SELECCIONAR EL PRECIO MEDIO DE TODOS LOS PRODUCTOS
13. OBTENER EL PRECIO MEDIO DE TODOS LOS ARTICULOS CUYO FABRIUCANTE SEA 2
14. OBTENER EL NOMBRE Y EL PRECIO DE LOS ARTICULOS CUYO PRECIO SEA MAYOR O IGUAL A 180 PESOS Y OORDENARLOS DESCENDENTEMENTE POR PRECIO, Y LUEGO ASCDENTENTEMENTE PPOR NOMBRE
15. MOSTRAR UN LISTADO COMPLETO DE ARTICULOS, INCLUYENDO POR CADA ARTICULO LOS DATOS DEL ARTICULO Y DE SU FABRICANTE.
16. OBTENER EL PRECIO MEDIO DE LOS PRODUCTOS DE CADA FABRICANTE, MOSTRANDO SOLAMENTE LOS CODIGOS DE FABRICANTE

RECUERDEN QUE DEBEN DESARROLLAR DEL MANUAL DE TRABAJO EL TEMA 3 DE CREACION DE TABLAS Y EL TEMA 4 DE ACTUALIZACION DE TABLAS Y DARLE SEGUIMIENTO A LOS TEMAS QUE SE EXPUSIERON

CON RELACION A LOS TEMAS QUE QUEDE DE ENVIARLES, SE LAS ENTREGARE ESTE PROXIMO SABADO 10 DE MARZO, 2012. YA QUE SON MUCHOS TEMAS, Y HE TENIDO QUE DESARROLLAR LAS SEPARACION Y DISTRIBUCION DE LOS MISMOS.

domingo, 19 de febrero de 2012

Ejercicios a desarrollar del manual de trabajo del Modulo Gestion y Consulta de Datos con SQL

PARTE I, TEMA 1
EL LENGUAJE DE GESTIÓN DE BASE DE DATOS
OBLIGATORIO

FECHA DE ENVIÓ: SÁBADO 03 DE MARZO, 2012
SI DESEAN ENVIARLO ANTES, PUEDEN HACERLO
ENTREGAR TAL CUAL ESTÁN FORMADOS LOS GRUPOS

NOTA: el objetivo es familiarizarse con una base de datos relacional
observando la estructura de las tablas y las relaciones entre ellas.
Estos ejercicios deben realizarse estudiando el contenido de las
tablas y la forma de relacionarse entre ellas

DEBEN CREAR LAS SENTENCIAS SELECT, PARA PODER DARSE CUENTA DE CUAL ES LA RESPUESTA CORRECTA, EN CASO DE QUE LAS NECESITE.
EN CASO DE QUE SEA DETERMINAR SI ES FALSO O VERDADERO UNA PREGUNTA, NO ES NECESARIO LA SENTENCIA, PARA QUE NO SE CONFUNDAN

1.- El empleado número 7499 pertenece al departamento número:
a. 30
b. 20
c. 40

2.- El DIRECTOR del empleado 7844 es el empleado número:
a. 7698
b. 7839
c. 7782

3.- El empleado REY es el director de:
a. MARTINEZ
b. GARRIDO
c. MARTINEZ Y GARRIDO

4.- Al departamento de INVESTIGACION pertenecen los empleados:
a. ALONSO Y LOPEZ
b. GIL Y JIMENEZ
c. GARRIDO Y MARTINEZ

5.- El cliente DISTRIBUCIONES GOMEZ pidió cuatro unidades del producto
SILLA DIRECTOR MOD. BUFALO el 7 de enero de 2000:
a. Verdadero
b. Falso, los datos son incorrectos
c. Los datos facilitados son insuficientes para verificar laafirmación

6.- El cliente INDUSTRIAS LACTEAS S.A. ha realizado:
a. Un pedido
b. Dos pedidos
c. Tres pedidos

7.- Sql es un Sistema Gestor de Bases de Datos:
a. Jerárquico
b. En red
c. Relacional

8.- Según el modelo relacional:
a. Cada fila de una tabla representa un atributo o característica
b. Cada columna de una tabla representa un atributo o característica
c. Cada entidad representa un atributo o característica

9.- SQL es:
a. Un lenguaje estructurado de consulta
b. Un lenguaje procedimental de tercera generación
c. Ambas son correctas

10.- El lenguaje SQL permite:
a. Manipular datos (consultar, actualizar, etcétera)
b. Definir objetos de la base de datos (Crear, modificar y eliminar objetos de la basede datos)
c. Ambas son correctas


PARTE I, TEMA 2 ELEMENTOS DEL LENGUAJE
OBLIGATORIO

Elegir la respuesta correcta de las siguientes cuestiones:
1.- Cuál de los siguientes identificadores no es correcto:
a. xx
b. 2x
c. x2

2.- VARCHAR es:
a. Un comando
b. Un operador
c. Un tipo de dato

3.- Para comparar un dato alfanumérico con un patrón de comparación que
contiene caracteres comodines utilizaremos el operador:
a. IN
b. LIKE
c. =

4.- Siendo el valor de A verdadero (true) y el de B falso (false), el
resultado de la expresión A AND B será:
a. Verdadero (true)
b. Falso (false)
c. Nulo (null)

5.-Siendo el valor de A verdadero (true) y el de B nulo (null), el
resultado de la expresión A AND B será:
a. Verdadero (true)
b. Falso (false)
c. Nulo (null)

6.- Para redondear a dos decimales un número (num) utilizaremos la función:
a. POWER(num,2)
b. TRUNC(num,2)
c. ROUND(num,2)

7.- Para obtener la longitud de una cadena (cad) utilizaremos la función:
a. LPAD(cad)
b. LOWER(cad)
c. LEN(cad)

8.- Para calcular en número de días entre dos fechas (fecha1 y fecha2)
utilizaremos la función:
a. DATESUBB(fecha1, fecha2)
b. DATEDIFF( fecha1,fecha2)
c. DUBDATE( fecha1,fecha2)

9.- Para sumar las columnas salario (no puede contener nulos) y comision
(si puede contener nulos) necesitaremos la expresión:
a. salario + comision
b. ISNULL (salario,0) + comision
c. salario + ISNULL(comision,0)

10.- Una condición es:
a. Una variable
b. Un conjunto de datos, operadores y funciones)
c. Un conjunto de datos, operadores y funciones cuyo resultado esverdadero
o falso

BLOQUE I (TEMAS 1, 2)
GESTION DE DATOS CON SQL
"EVALUACIÓN I"

Marca la casilla con la respuesta correcta
1. El lenguaje SQL permite:
Controlar el acceso a la información
Crear objetos en una base de datos
Recuperar la información almacenada en la base de datos
Todas las anteriores
2. En el modelo relacional la restricción que se utiliza para relacionar
dos tablas es:
PRIMARY KEY
FOREIGN KEY
UNIQUE
CHECK
3. Siendo el valor de A true (verdadero) y el de B null, el resultado de la
expresión A AND B será:
true
false
null
ninguna de los anteriores
4. Indicar cuál de los siguientes identificadores es incorrecto:
b2-ax
ax_b2
axb2
xa2b
5. Indicar cuál de las siguientes expresiones es la correcta para comprobar
si el valor de COMISION es nulo (carece de valor):
COMISION IS NULL
COMISION = 0
COMISION = NULL
Cualquiera de los anteriores
6. Para comprobar si un nombre empieza por 'A', ¿qué expresión sería la
correcta?:

nombre='A%'
Nombre LIKE 'A%'
Nombre LIKE 'A_'
Nombre LIKE '%A'
7. Para mostrar los empleados del departamento 10 y del 30 qué clausula
WHERE sería la adecuada:

Dep_no=10 AND dep_no=30
Dep_no=10 OR dep_no=30
Dep_no BETWEEN 10 AND 30
Dep_no IN (10,20,30)
8. Para buscar un salario entre 1500 y 3500, ambos inclusives:
Salario=1500 OR salario=3500
Salario>1500 AND salario<3500 Salario>1500 OR salario<3500
Salario BETWEEN 1500 AND 3500
9. Para crear una tabla se necesita:
Un nombre de tabla
Las definiciones de las columnas
El nombre de la tabla y las definiciones de las columnas
El nombre de la tabla y sus restricciones
10. Para indicar que una columna va a ser clave principal:
NOT NULL
FOREIGN KEY
CHECK
PRIMARY KEY
11. Para indicar que una columna va a ser clave ajena se necesitan las
cláusulas:
FOREIGN KEY
FOREIGN KEY con REFERENCES
FOREIGN KEY con REFERENCES y ON DELETE CASCADE
FOREIGN KEY y PRIMARY KEY

12. La cláusula WHERE:
Selecciona las filas seleccionadas que cumplan una condición
Establece un criterio de ordenación
Indica sobre qué tabla se está realizando la consulta
Modifica las filas de una tabla
13. Para ordenar de mayor a menor por salario y, a igual salario,
alfabéticamente por apellido:
ORDER BY salario,apellido
ORDER BY apellido,salario DESC
ORDER BY salario DESC,apellido
ORDER BY salario DESC,apellido DESC
14. Para visualizar los tres empleados que más salario ganan:
SELECT TOP 3 * FROM empleados ORDER BY salario;
SELECT TOP 3 * FROM empleados ORDER BY salario DESC;
SELECT TOP 3 * FROM empleados ORDER BY salario;
15. Una composición o combinación (JOIN) consiste en:
Obtener filas de más de una tabla
Obtener todas las filas resultantes de multiplicar tablas
Aplicar una condición de selección a las filas resultantes de multiplicar
tablas
Obtener el producto cartesiano de tablas
16. Para obtener los pedidos con nombres de cliente y de producto:
SELECT pedido_no,nombre,descripción,unidades FROM
pedidos,productos,clientes;

SELECT pedido_no,nombre,descripción,unidades FROM
pedidos,productos,clientes WHERE cliente_no=cliente_no AND
producto_no=producto_no;

SELECT pedido_no,nombre,descripción,unidades FROM pedidos p,productos
pr,clientes c WHERE p.cliente_no=c.cliente_no AND
p.producto_no=pr.producto_no;

SELECT pedido_no,nombre,descripción,unidades FROM pedidos p,productos
pr,clientes c WHERE p.cliente_no=c.cliente_no AND
p.producto_no=pr.producto_no AND p.pedido=pr.pedido_no;

17. Para listar los clientes con sus pedidos, incluyendo aquellos que no tengan ningún pedido:
SELECT c.cliente_no,nombre,pedido_no FROM clientes c RIGHT JOIN pedidos p
ON c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c LEFT JOIN pedidos p
ON c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c JOIN pedidos p ON
c.cliente_no=p.cliente_no;

SELECT c.cliente_no,nombre,pedido_no FROM clientes c,pedidos p WHERE
c.cliente_no=p.cliente_no;

18. Para crear una tabla a partir de otra ya creada:
No se puede
Hay que crearla idéntica
Se puede crear a partir de una consulta sobre la tabla ya creada
Se puede hacer usando dos sentencias CREATE concatenadas