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, 28 de abril de 2013

BUENOS DIAS

BUSCAR EN SUS CUENTAS DE CORREO ELECTRONICO DOS PRACTICAS QUE LES ENVIE.

FAVOR ENVIAR PRACTICA A SUS COMPANEROS EN CASO DE QUE NO LES LLEGASE, A SUS DESTINOS

SALUDOS

sábado, 20 de abril de 2013

USO ALTER TABLE

Cuadro de texto: LIBROS

     CODIGO        Alfanumérico de 8 posiciones
     TITULO     Alfanumérico de 30 posiciones  
     AUTOR    Alfanumérico de 30 posiciones 
     TOTAL_EJEMPLARES   Numérico de 2 posiciones
     TOTAL_PRESTAMO     Numérico de 2 posiciones      

--agregar columna
alter table estudiante_t
add correo varchar(10)
--modificar una columna
alter table estudiante_t
alter column correo varchar(100)

--renombrar una columna
exec sp_rename 'estudiante_t.correo','correo_elect'
, 'column'

--sp_helpindex estudiante_t
--quitar constraint
alter table estudiante_t
drop constraint PK_ESTUDIANTE_MATRICULA

--habilitar
alter table estudiante_t
add constraint PK_ESTUDIANTE_MATRICULA
   primary key(matricula)

--BORRAR FORANEA
alter table estudiante_t
drop constraint FK__ESTUDIANT__IDCUR__1B0907CE

--HABILITAR FORANEA
alter table estudiante_t
add constraint FK_ESTUDIANTE_CURSO
   FOREIGN key(IDCURSO)
      REFERENCES CURSITO_T (IDCURSO)
     


  
--renombrar una tabla
sp_rename 'curso_t', 'cursito_t'

PRACTICA AULA MEGACENTRO GRUPO MANANA


Cuadro de texto: LIBROS

     CODIGO        Alfanumérico de 8 posiciones
     TITULO     Alfanumérico de 30 posiciones  
     AUTOR    Alfanumérico de 30 posiciones 
     TOTAL_EJEMPLARES   Numérico de 2 posiciones
     TOTAL_PRESTAMO     Numérico de 2 posiciones
Cuadro de texto: LIBROS

     CODIGO        Alfanumérico de 8 posiciones
     TITULO     Alfanumérico de 30 posiciones  
     AUTOR    Alfanumérico de 30 posiciones 
     TOTAL_EJEMPLARES   Numérico de 2 posiciones
     TOTAL_PRESTAMO     Numérico de 2 posiciones

UNIVERSIDAD DOMINICANA O&M
Modulo Gestión y Consulta de Datos
Practica Aula Megacentro
Profesor: Lic. Elvin German

Una biblioteca quiere diseñar una BD de la información que maneja. Para ello decide crear una base de datos BDBIBLIOTECA. En esta base de datos se decide crear una tabla LIBROS con la información relativa a cada uno de los libros de que se dispone y otra tabla PRESTAMOS donde quedará registrada la información relativa a cada  uno de los préstamos que se realice.

La descripción de las tablas es la siguiente:











TOTAL_EJEMPLARES indica el número de ejemplares de que se dispone de ese libro y TOTAL_PRESTAMO indica el número de ejemplares que está en préstamo es ese momento.



Cuadro de texto: PRESTAMOS

    NUMERO         Numérico de 2 posiciones    
    ID_LIBRO            Alfanumérico de 8 posiciones   
    NIF     Alfanumérico de 10           
    FECHA_PRESTAMO      DATETIME        
    FECHA_DEVOLUCION    DATETIME
 









FECHA_DEVOLUCION  indica la fecha en la que se ha devuelto el libro. Los libros que tienen el valor NULL en la columna Fecha_devoluación son aquellos que en este momento están en préstamo


Se pide realizar las sentencias Sql  que correspondan a los siguientes Enunciados:

1 – Comprobar la versión de SQL con la que está trabajando.


2 – a) Crear una base de datos  BDBIBLIOTECA

3 – a) Crear las tablas con las siguientes restricciones:

LIBROS
·         CODIGO                                Clave primaria
·         TITULO                                  No nulo
·         AUTOR                                  No nulo
·         TITULO y AUTOR                    Único
PRESTAMOS
·         NUMERO                   Clave primaria
·         ID_LIBRO                   Clave ajena referenciando a CODIGO de la tabla LIBROS con el
nombre FK_LIBROS. No nulo
·         NIF                            No nulo
·         FECHA_PRETAMO   No nulo

4 – a) Insertar las filas para que el contenido de las tablas sea:

TABLA LIBROS


Codigo      Título            Autor           Total_ejemplares  Total_prestamo

ABS/1234    LA COLMENA        CAMILO JOSE CELA                5              2
BBC/3456    NIEBLA            MIGUEL DE UNAMUNO               7              1
BCD/1111    EL QUIJOTE        MIGUEL DE CERVANTES           10              1
BDF/2255    LA VIDA ES SUEÑO  CALDERON DE LA BARCA            5              0

Total_ejemplares indica el número de ejemplares del mismo libro que hay en la biblioteca y Total_prestamo el número de ejemplares que en este momento están prestados

    

TABLA PRÉSTAMOS


Numero      Id_libro          NIF         Fecha_Prestamo    Fecha_devolucion



1           ABS/1234          123456-L        12/10/2011          12/11/2011
2           BBC/3456          444444-M        12/10/2011          12/11/2011 
3           BCD/1111          123123-Y        15/02/2010          10/03/2011 
4           ABS/1234          334455-B        10/03/2011                NULL
5           BCD/1111          555555-N        20/03/2011                NULL
6           BBC/3456          212121-A        20/04/2011                NULL
7           ABS/1234          870000-N        29/03/2011                NULL

-       b) Comprobar que se han insertado las filas


5 –  Realizar una consulta que muestre los títulos de los libros que tienen más de una palabra (el título tiene el carácter blanco)


6 -  Realizar una consulta que muestre el titulo y el autor de aquellos libros en los que el préstamo está vencido (los libros pueden estar en préstamo como máximo 30 días);


7 - Realizar una consulta que muestre el número de préstamos que se ha realizado de cada libro, incluyendo los que están ahora mismo en préstamo. Mostrará los datos:
                                        
 CODIGO          TITULO AUTOR NUM_PRESTAMOS

                                        
8 - Crear una vista PEDIR _ PRÉSTAMO que muestre todos los libros de los que hay algún ejemplar para prestar en este momento. Se visualizará la información: titulo, autor y número de ejemplares para prestar.



9 - Realizar la inserción de nuevo préstamo

a)         insertar los datos:  

              Numero                 Id_libro                   NIF               Fecha_Prestamo         Fecha_devolucion



                  
                      8                              BBC/3456               123499-L      La fecha de hoy           NULL
           
b)    modificar la tabla libros incrementando en uno el número de ejemplares prestados.


10 – Se decide que a partir del próximo año solo se podrá prestar libros a aquellas personas que sean socios de la biblioteca. Para ello se decide añadir un campo CODIGO_SOCIO (numérico de 5 posiciones)  a la tabla PRESTAMOS.

Añadir ese campo a la tabla PRESTAMOS con el valor 0 para las filas que ya existen.


11 -  Se decide que no se quiere guardar información anterior a este año.
Borrar todos los préstamos que se hayan realizado en años anteriores y estén devueltos.

sábado, 13 de abril de 2013

EJEMPLO DE COMPOSICION DE TABLAS

select p.pedido_no as 'No Fact',c.nombre as 'nombre del cliente'
      ,pr.descripcion
      ,p.unidades
      ,p.FECHA_PEDIDO
      ,e.APELLIDO
      ,d.DNOMBRE
from PEDIDOS p
inner join CLIENTES c
   on p.CLIENTE_NO = c.CLIENTE_NO
inner join PRODUCTOS pr
   on p.PRODUCTO_NO = pr.PRODUCTO_NO
inner join empleados e
   on e.EMP_NO = c.VENDEDOR_NO             
inner join departamentos d
   on e.DEP_NO = d.DEP_NO


select p.pedido_no as 'No Fact',c.nombre as 'nombre del cliente'
      ,pr.descripcion
      ,p.unidades
      ,p.FECHA_PEDIDO
      ,e.APELLIDO
      ,d.DNOMBRE
from PEDIDOS p,CLIENTES c,PRODUCTOS pr,empleados e,departamentos d
where p.CLIENTE_NO = c.CLIENTE_NO
      and p.PRODUCTO_NO = pr.PRODUCTO_NO
      and e.EMP_NO = c.VENDEDOR_NO             
      and e.DEP_NO = d.DEP_NO

LLAVES PRIMARIAS Y FORANEAS BASE DE DATOS CURSO

departamentos   dep_no  pk
empleados  emp_no pk
empleados  director fk refere empleados emp_no
empleados  dep_no fk refe departamentos dep_no

productos  producto_no pk
clientes   cliente_no  pk
cliente    vendedor_no refere empleados emp_no
pedidos    pedido_no  pk
pedidos    cliente_no fk referen clientes cliente_no
pedidos    producto_no refere productos producto_no

MONOGRAFICO SANTIAGO EVALUACION PRIMER MODULO

EL PROXIMO DOMINGO 21 DE ABRIL, 2013 SE REALIZARA LA EVALUACION DEL MODULO DE GESTION Y CONSULTA DE DATOS

A PARTIR DE LAS 10:00 A.M.

PRACTICA DE LABORATORIO MEGACENTRO GRUPO DE LA TARDE



UNIVERSIDAD DOMINICANA OYM

GESTION Y CONSULTA DE DATOS CON SQL
PRÁCTICA DE LABORATORIO Nº 2

Instructor: Lic. Elvin German

1. Se tiene una base de datos de películas reflejada por las siguientes tablas

Película (#tıtulo, #ano, duración, nombre_estudio)
Estrella (#nombre, dirección, sexo, fecha_nacimiento)
Estudio (#nombre, dirección)
Protagoniza (#tıtulo_pelıcula, #ano_pelıcula, #nombre_estrella)

Se pide realizar las siguientes consultas en SQL (Se supone que todos los datos necesarios se encuentran almacenados en las tablas):

1.     Encontrar la dirección de los estudios MGM.

2.     Encontrar todas las estrellas que participaron en películas realizadas en 2006 o en alguna película que contenga la palabra “Amor” en el título.

3.     ¿Quién fue la estrella masculina del “Hombre Araña 3”?

4.      ¿Qué películas tienen mayor duración que “Lo que el viento se llevo”?

5.      Encontrar el título y la duración de todas las películas producidas por los estudios Disney en el año 1990, ordenando la salida por su duración?

6.      Encontrar todas las estrellas que son hombres o viven en Malibú (tienen Malibú como parte de su dirección).

7.      ¿Qué estrellas distintas aparecen en las películas producidas por la MGM en 2005? (Si una aparece varias veces mostrarla solo una vez).

8.      Encontrar la suma de la duración de todas las películas de cada estudio.


2. Dada una base de datos de ordenadores e impresoras con las siguientes tablas

Producto (#fabricante, #modelo, tipo)
PC (#modelo, velocidad, ram, hd, cd, precio)
Impresora (#modelo, color, tipo, precio)


Realizar en SQL las siguientes consultas:

1. Encontrar el modelo, velocidad y tamaño de disco duro (hd) de todos los PC’s  cuyo precio sea inferior a $1600.

2. Repetir la consulta de (a), pero cambiando el nombre a las columnas velocidad como Megaherzios y hd como Gigabytes.

3. Encontrar todas las filas de la tabla de Impresoras que son en color. El valor de la columna color es booleano con los valores ’V’ y ’F’.

4. Encontrar la velocidad media de los PC’s.

5. Decir los fabricantes y la velocidad de los PC’s con disco duro de tamaño mayor o igual a 1 Gigabyte.

6. Encontrar los fabricantes de los PC’s con velocidad superior a 160 MHz.



3. Dadas las siguientes tablas, dar una expresión SQL para cada una de las siguientes consultas:

Vive (#nombre, calle, ciudad)
Trabaja (#nombre, #compania,  salario)
Situada (#compania, ciudad)
Dirige (#nombre, #nombre_director)


1.     Encontrar el nombre y la ciudad de todos los empleados que trabajan en Plaza Lama

2.     Encontrar todos los empleados que viven en la misma ciudad que la compañía en la que trabajan.

3.     Encontrar el salario y la compañía de todos los directores.

4.     Encontrar a todos los empleados que viven en la misma ciudad y en la misma calle que su director.

4. Dadas las siguientes tablas relacionales:

Cigarrillo (#marca, #filtro, nombre_fabricante, precio)
Estanco (#CI, nombre, direccion)
Fabricante (#nombre, pais)
Compras (#CI, #marca, #filtro, ano, cantidad, precio)
Ventas (#CI, #marca, #filtro, ano, cantidad, precio)

Plantear las siguientes preguntas utilizando SQL:

1.     Obtener todas las marcas de cigarrillos extranjeros.

2.     Obtener el total de compras de cigarrillos con filtro (filtro = ’S’) realizadas por marca.

3.     Obtener una relación completa de todas las compras y ventas realizadas.


5. Dadas las siguientes tablas relacionales:

Persona (#Cedula, nombre, apellidos,  calle, numero,
Cod_sector, planta, puerta, metros)
Piso (#calle, #numero, #Sector, #planta)
Sector (#codigo, nombre)

Plantear las siguientes preguntas utilizando SQL:

1.     Obtener Cedula  de todos los propietarios de una casa en la zona Colonial con el numero 222.

2.     Obtener cedula, nombre y apellidos de los propietarios de un piso en la calle Independencia, numero 2021.

3.     Obtener todos los pisos de más de 50m2 cuyo propietario tiene la cedula  001-0000142-1

4.     Obtener el número de personas que viven en la “Av. Bolívar”.

5.     Obtener el número de personas que viven en el Sector “La feria”.


Nota: Analizar las estructuras de cada tabla y seleccionar los tipos datos más recomendados para cada campo o atributo, si necesitas introducir datos lo pueden realizar.