Beruflich Dokumente
Kultur Dokumente
mqwertyuiopasdfghjklzxcvb
nmqwertjonnyyuiopasdfghj
klzxcvbnsandymqwertyuiop
Prcticas de SQL Server
asdfghjklzxcvbnmqwertyuio
Fundamentos de Base de datos
pasdfghjklzxcvbnmqwertyui
opasdfghjklzxcvbnmqwerty
uiopasdfghjklzxcvbnmqwert
yuiopasdfghjklzxcvbnsandy
mqwertyuiosandypasdfghjs
andyklzxcvbnmqwertyuiopa
sdfghjklzxjonnycvbnmqjjon
nywertyuiopasdfghjklzxcvb
nmqwertyuiopasdfghjklzxcv
bnmqwertyuiopasdfghjklzxc
vbnmqwertyuiopasdfsandyg
02/12/2015
Contenido
Practica 1............................................................................................................ 2
Practica 2............................................................................................................ 3
Practica 3............................................................................................................ 5
Practica 4............................................................................................................ 8
Practica 5............................................................................................................ 9
Practica 6............................................................................................................ 9
Practica 7.......................................................................................................... 10
Practica 8.......................................................................................................... 11
Practica 9.......................................................................................................... 12
Practica 10........................................................................................................ 14
Practica 11........................................................................................................ 15
Practica 1
Realiza en pareja la siguiente investigacin y entregarla:
1- Configuracin de servicios en SQL Server
a) Administracin de la configuracin de servicios.
b) Administracin del estado del servicio y del modo de inicio.
c) Configurar el inicio del servicio.
2- Que son los archivos de base de datos y registros
Las bases de
muestra en la
Archivo
Primario
Las restricciones no son parte formal del modelo relacional, pero son incluidas
porque juegan el rol de organizar mejor los datos. Las restricciones son muy
discutidas junto con los conceptos relacionales.
2. Investigue las restricciones:
i.
Primary key
Una tabla slo puede tener una restriccin PRIMARY KEY y ninguna
columna a la que se aplique una restriccin PRIMARY KEY puede
aceptar valores NULL. Debido a que las restricciones PRIMARY KEY
garantizan datos nicos, con frecuencia se definen en una columna
de identidad.
Cuando especifica una restriccin PRIMARY KEY en una tabla, Motor
de base de datos exige la unicidad de los datos mediante la creacin
de un ndice nico para las columnas de clave principal.Este ndice
tambin permite un acceso rpido a los datos cuando se utiliza la
clave principal en las consultas. De esta forma, las claves principales
que se eligen deben seguir las reglas para crear ndices nicos.
ii.
Foreign key
Una clave externa (FK) es una columna o combinacin de columnas
que se utiliza para establecer y exigir un vnculo entre los datos de
dos tablas. Puede crear una clave externa mediante la definicin de
una restriccin FOREIGN KEY cuando cree o modifique una tabla.
En una referencia de clave externa, se crea un vnculo entre dos
tablas cuando las columnas de una de ellas hacen referencia a las
columnas de la otra que contienen el valor de clave principal. Esta
columna se convierte en una clave externa para la segunda tabla.
iii.
Default
Cada columna de un registro debe contener un valor, aunque sea un
valor NULL. Puede haber situaciones en las que deba cargar una fila
de datos en una tabla, pero no conozca el valor de una columna o el
valor ya no exista. Si la columna acepta valores NULL, puede cargar
la fila con un valor NULL. Pero, dado que puede no resultar
conveniente utilizar columnas que acepten valores NULL, una mejor
solucin podra ser establecer una definicin DEFAULT para la
columna siempre que sea necesario. Por ejemplo, es habitual
especificar el valor cero como valor predeterminado para las
columnas numricas, o N/D (no disponible) como valor
predeterminado para las columnas de cadenas cuando no se
especifica ningn valor.
Al cargar una fila en una tabla con una definicin DEFAULT para una
columna, se indica implcitamente a Motor de base de datos que
cargue un valor predeterminado en la columna en la que no se haya
especificado ningn valor.
iv.
Check
Las restricciones CHECK exigen la integridad del dominio mediante la
limitacin de los valores que puede aceptar una columna. Son
similares a las restricciones FOREIGN KEY porque controlan los
valores que se colocan en una columna. La diferencia reside en la
forma en que determinan qu valores son vlidos: las restricciones
FOREIGN KEY obtienen la lista de valores vlidos de otra tabla,
mientras que las restricciones CHECK determinan los valores vlidos
a partir de una expresin lgica que no se basa en datos de otra
columna. Por ejemplo, es posible limitar el intervalo de valores para
una columna salary creando una restriccin CHECK que slo permita
datos entre 15.000 y 100.000 dlares. De este modo se impide que
se escriban salarios superiores al intervalo de salario normal.
Puede crear una restriccin CHECK con cualquier expresin lgica
(booleana) que devuelva TRUE (verdadero) o FALSE (falso) basndose
en operadores lgicos. Para el ejemplo anterior, la expresin lgica
sera:
Puede aplicar varias restricciones CHECK a una sola columna.
Tambin puede aplicar una sola restriccin CHECK a varias columnas
si se crea en el nivel de la tabla. Por ejemplo, una restriccin CHECK
para varias columnas se puede utilizar para confirmar que cualquier
fila con un valor USA en la columna country/region tiene tambin un
valor de dos caracteres en la columna state. As se pueden
comprobar varias condiciones en un mismo sitio.
Varbinary(max):Igual que
1 bytes
La base de datos
Las tablas con sus correspondientes campos y propiedades
Las relaciones entre las tablas
Restricciones en todos los campos que crea conveniente
Crear el diagrama de la base de datos
Practica 5
Practica 6
Ejercicio complementario
Con la base de datos creada en el procedimiento realice las siguientes
consultas
a. Agregar otros dos registros a la tabla
b. Con la instruccin SELECT INTO, crear una tabla que tenga los datos de la
materia donde las unidades valorativas sean mayores o iguales a 4
c. Con la instruccin INSERT SELECT INTO, crear una tabla en donde se
almacenen aquellos alumnos en donde su nmero de carnet empiece con la
letra G
d. Crear dos consultas de actualizacin de datos
e. Crear dos consultas de eliminacin de datos
Guardar el Script con el nombre: EjercicioComplementario_Guia7.sql VI.
Anlisis de resultados
Anlisis de resultados
Tarea en parejas: Crear la siguiente base de datos en SQL Server:
Practica 7
Ejercicio complementario:
Con la Base de Datos creada en la gua 8, realice 10 consultas de
ocupando funciones de agregado.
Cree dos nuevas posible tablas en la base de datos la gua 8 e ingrese al
menos 3 registros.
Cree 3 consultas utilizando funciones de agregado.
1. Creacin de base de datos:
Nombre de la base de datos: Control_de_libros
2. Debe crear la base de datos, tomando en cuenta las relaciones entre las
tablas (llaves primarias y llaves forneas).
3. Deber implementar tambin las restricciones necesarias y colocar la
instruccin On delete cascade y On update cascade, en las tablas que
ud. Cree necesarias a implementar estas instrucciones.
4. El formato de las tablas son:
Practica 8
Ejercicio Complementario
Crear los siguientes ejercicios:
Ejercicio 1: Usando la base de datos Northwind, crear las siguientes consultas:
a) Haciendo uso del JOIN mostrar los campos OrderDate y ProductID de las
tablas Orders y Order Details donde el campo OrderDate sea igual 7 de
Julio de 1996
b) Haciendo uso de subconsultas mostrar OrderDate y OrderID de la tabla
Orders donde la fecha de pedido (OrderDate) sea la ms antigua
Ejercicio 2: Usando la base de datos Northwind Ingrese un nuevo empleado a la
tabla Employees, y crear consultas que implemente el uso de FULL, LEFT Y
RIGHT JOIN Campos a mostrar: LastName, EmployeeID de la tabla Employees
OrderDate de la tabla Orders
Investigacin complementaria
Ejercicio 1: Haciendo uso de la base de datos library.
1. Utilice las tablas member y adult para realizar una consulta que devuelva los
campos firstname, middleinitial, lastname, street, city, state y zip.
2. Concatene las columnas firstname, middleinitial y lastname en una cadena
de texto y asigne a la columna el alias name. 3. Ejecute la consulta para
comprobar que devuelve los resultados deseados, as como se muestra a
continuacin:
Ejercicio 2:
Haciendo uso de la base de datos library. Para este ejercicio va utilizar las
tablas title, item y copy, y va a generar una consulta que devuelva isbn,
copy_no, on_loan, title, translation y cover, y valores para las filas de la tabla
copy cuyo ISBN sea 1 (uno), 500 (quinientos) o 1000 (mil). Ordene los
resultados por la columna isbn. Para cada tabla debe utilizar un alias.
1. Escriba la lista de seleccin de la consulta.
2. Escriba una clusula FROM que cree una combinacin interna entre las
tablas title y copy sobre las columnas title_no. En la clusula FROM,
establezca los alias de las tablas que haya utilizado en la lista de
seleccin.
3. Agregue una segunda clusula INNER JOIN para crear la combinacin
entre las tablas tem y copy sobre las columnas isbn.
4. Coloque una clusula WHERE que limita las filas de la tabla copy
obtenidas de aqullas cuyo ISBN sea 1 (uno), 500 (quinientos) o 1000
(mil).
5. Escriba la clusula ORDER BY para ordenar el resultado por el ISBN.
6. Ejecute la secuencia de comandos, para obtener los resultados: Tomando
como ejemplo la base de datos Control_de_libros de la Gua 8, crear las
siguientes consultas:
Mostrar el primer nombre, primer apellido de los autores junto con
el ttulo de libro que estos han escrito
Mostrar el nombre de la editorial y el ttulo del libro
Mostrar los datos de los autores junto con los datos del libro
donde la fecha sea mayor del 1 de Julio de 2007
Mostrar los nombres de los autores y el ttulo del libro donde el
ao de edicin sea el ms actual
Mostrar los nombres de los autores y el ttulo del libro donde el
ao de edicin sea el menos actual
Practica 9
La base de datos a utilizar es: Northwind Crear las siguientes vistas:
a) Mostrar el cdigo del producto, el nombre del producto y el precio por
unidad de todos los productos de la empresa.
b) Mostrar todos los productos cuya categora sea Beverages.
c) Cuantos productos existen por cada categora d. Mostrar el promedio de
los precios unitarios de produce y confections Procedimiento
almacenado
CREATE DATABASE bodega
GO
USE bodega
GO
CREATE TABLE PRODUCTO (
idprod char(7) PRIMARY KEY,
descripcion varchar(25),
existencias int precio decimal(10,2) not null,
--precio costo preciov decimal(10,2) not null,
--precio venta )
CREATE TABLE PEDIDO (
idpedido char(7),
idprod char(7),
cantidad int FOREIGN KEY(idprod) REFERENCES PRODUCTO(idprod)
)
La tabla producto contiene informacin general de los productos y la tabla
pedido contiene la informacin del pedido que se realiza de un cierto producto,
llenar las tablas con informacin.
Ejercicios:
1. Crear un procedimiento almacenado que ingrese los valores en la tabla
PRODUCTOS, y deber verificar que el cdigo y nombre del producto no
exista para poder insertarlo, en caso que el cdigo y el nombre del
producto ya exista enviar un mensaje que diga ESTE PRODUCTO YA HA
SIDO INGRESADO.
2. Crear un procedimiento almacenado que permita realizar un pedido EN LA
TABLA PEDIDO, este procedimiento deber verificar si el cdigo del
producto ingresado existe en la tabla PRODUCTO en caso de que no se
encuentre deber mostrar un mensaje as como se muestra a
continuacin ESTE PRODUCTO NO EXISTE , adems si la cantidad a
pedir del producto es mayor a la existencia del producto deber enviar un
mensaje que diga EXISTENCIA DEL PRODUCTO INSUFICIENTE, en caso
Practica 10
Anlisis de resultados
Investigue cual es el trabajo de la tabla inserted y deleted al trabajar con los
Triggers utilizando la siguiente base de datos realizar lo siguiente.
create database bd_nombre
go
11
use bd_nombre
go
create table producto
( idproducto char(8) not null,
nombreproducto varchar(25),
existencia int not null,
precio decimal(10,2) not null, --precio costo
preciov decimal(10,2) not null, --precio venta
constraint pk_idproducto primary key (idproducto)
)
create table pedidos
(
idpedido int identity, idproducto char(8) not null, cantidad_pedido int,
constraint fk_idbod foreign key (idproducto)references producto(idproducto)
)
INSERT INTO producto values('prod001','Filtros pantalla',5,10,12.5)
INSERT INTO producto values('prod002','parlantes',7,10,11.5)
INSERT INTO producto values('prod003','mouse',8,4.5,6)
INSERT INTO producto values('prod004','monitor',10,60.2,80.0)
INSERT INTO producto values('prod005','lapiz',5,1.2,2.0)
Ejercicios:
1. Crear un desencadenador que se active cada vez que se inserte un registro
en la tabla pedidos y otro para la tabla producto.
2. Crear un desencadenador para la tabla producto, que se active cada vez que
se inserte un registro o se actualice la columna precio, la condicin para
aceptar al insercin o la actualizacin es que el precio costo no debe ser mayor
que el precio venta.
3. Crear un desencadenador para la tabla pedidos que cada vez que se realice
un pedido descuente la existencia de la tabla productos, en caso que la
cantidad del pedido supere a la existencia debe deshacer la transaccin.
Practica 11
Ejercicio Complementario
Con Transact SQL, resolver los siguientes ejercicios:
1. Crear un inicio de sesin
2. Crear un usuario para la base de datos AdventureWorks. El esquema
predeterminado es: Person
3. Asignar permiso en el cual se puede ver todos los objetos que estn bajo
este esquema
4. Asignar permiso en el cual se puede agregar y actualizar datos solo a las
siguientes tablas:
a. ContactType
b. CountryRegion
5. Asignar a este usuario que puede crear tablas y vistas en la base de datos
Investigue en este punto GRANT CREATE TABLE y GRANT CREATE VIEW
VI. Tarea de investigacin
1. Crear la siguiente base de datos: