Sie sind auf Seite 1von 19

qwertyuiopasdfghjklzxcvbn

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

Arenas Daz Jhonatan Izcoatl


Islas Lpez Sandy Paulina

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

datos de SQL Server tienen tres tipos de archivos, tal como se


tabla siguiente.
Descripcin
El archivo de datos principal incluye la informacin de inicio de
la base de datos y apunta a los dems archivos de la misma. Los
datos y objetos del usuario se pueden almacenar en este
archivo o en archivos de datos secundarios. Cada base de datos
tiene un archivo de datos principal. La extensin recomendada
para los nombres de archivos de datos principales es .mdf.
Secundario Los archivos de datos secundarios son opcionales, estn
definidos por el usuario y almacenan los datos del usuario. Se
pueden utilizar para distribuir datos en varios discos colocando
cada archivo en una unidad de disco distinta. Adems, si una
base de datos supera el tamao mximo establecido para un
archivo de Windows, puede utilizar los archivos de datos
secundarios para permitir el crecimiento de la base de datos.
La extensin de nombre de archivo recomendada para archivos
de datos secundarios es .ndf.
Registro de Los archivos del registro de transacciones contienen la
transaccion informacin de registro que se utiliza para recuperar la base de
es
datos. Cada base de datos debe tener al menos un archivo de
registro. La extensin recomendada para los nombres de
archivos de registro es .ldf.
Grupos de archivos
Cada base de datos tiene un grupo de archivos principal. Este grupo de
archivos contiene el archivo de datos principal y cualquier otro archivo
secundario que no se encuentre en otro grupo de archivos. Se pueden crear
grupos de archivos definidos por el usuario para agrupar archivos con fines
administrativos y de asignacin y ubicacin de datos.
Por ejemplo, tres archivos, Data1.ndf, Data2.ndf, y Data3.ndf, puede crearse en
tres unidades de disco, respectivamente, y asignarse al grupo de
archivos grArchivos1. A continuacin, se puede crear una tabla
especficamente para el grupo de archivos grArchivos1. Las consultas de
datos de la tabla se distribuirn por los tres discos, con lo que mejorar el

rendimiento. Puede obtenerse la misma mejora del rendimiento con un solo


archivo creado en un conjunto de bandas RAID (matriz redundante de discos
independientes). No obstante, los archivos y grupos de archivos permiten
agregar fcilmente nuevos archivos a discos nuevos.
Todos los archivos de datos se almacenan en los grupos de archivos que se
indican en la tabla siguiente.
Grupo
de Descripcin
archivos
Primario
Grupo de archivos que contiene el archivo principal. Todas las
tablas del sistema se asignan al grupo de archivos principal.
Definido por Cualquier grupo de archivos creado especficamente por el
el usuario
usuario al crear la base de datos o al modificarla.
Grupo de archivos predeterminado
Cuando se crean objetos en la base de datos sin especificar a qu grupo de
archivos pertenecen, se asignan al grupo de archivos predeterminado. Siempre
existe un grupo de archivos designado como predeterminado. Los archivos del
grupo de archivos predeterminado deben ser lo suficientemente grandes como
para dar cabida a todos los objetos nuevos no asignados a otros grupos de
archivos.
El grupo de archivos PRINCIPAL es el predeterminado, a menos que se cambie
mediante la instruccin ALTER DATABASE. Los objetos y las tablas del sistema
no se asignan al nuevo grupo de archivos predeterminado, sino que siguen
asignados al grupo de archivos PRIMARY.
3- Como visualizar informacin de las bases de datos en SQL Management
Studio
4- Mencione y explique cules son los objetos de la base de datos que se
pueden trabajar en SQL Management Studio
Practica 2
Realizar en parejas la siguiente investigacin:
1. Qu son las restricciones en una Base de datos?
Una restriccin es una condicin que obliga el cumplimiento de ciertas
condiciones en la base de datos. Algunas no son determinadas por los usuarios,
sino que son inherentemente definidas por el simple hecho de que la base de
datos sea relacional. Algunas otras restricciones las puede definir el usuario,
por ejemplo, usar un campo con valores enteros entre 1 y 10.
Las restricciones proveen un mtodo de implementar reglas en la base de
datos. Las restricciones restringen los datos que pueden ser almacenados en
las tablas. Usualmente se definen usando expresiones que dan como resultado
un valor booleano, indicando si los datos satisfacen la restriccin o no.

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.

3. Implementar en la base de datos que creo en el laboratorio las claves


principales o llaves primarias en las tablas que ud. cree que son necesarias.
Practica 3
Investigar:
1. Sobre las instrucciones SQL, las cuales se clasifican segn su
propsito en tres grupos:
a. El DDL (Data Description Language) Lenguaje de Descripcin de
Datos.
EL DDL, es la parte del SQL dedicada a la definicin de la base de datos,
consta de sentencias para definir la estructura de la base de datos,
permiten crear la base de datos, crear, modificar o eliminar la estructura
de las tablas, crear ndices, definir reglas de validacin de datos,
relaciones entre tablas, entre otros. Permite definir gran parte del nivel
interno de la base de datos. Por este motivo estas sentencias sern
utilizadas normalmente por el administrador de la base de datos.
b. El DCL (Data Control Language) Lenguaje de Control de Datos.
- Ejercer un control sobre los datos tal como la asignacin de privilegios
de acceso a los datos (GRANT/REVOKE).

- La gestin de transacciones (COMMIT/ROLLBACK).


Una transaccin se puede definir como un conjunto de acciones que se
tienen que realizar todas o ninguna para preservar la integridad de la
base de datos.
c. El DML (Data Manipulation Language) Lenguaje de Manipulacin
de Datos.
Se compone de las instrucciones para el manejo de los datos, para
insertar nuevos datos, modificar datos existentes, para eliminar datos y
la ms utilizada, para recuperar datos de la base de datos. Una sola
instruccin de recuperacin de datos es tan potente que permite
recuperar datos de varias tablas a la vez, realizar clculos sobre estos
datos y obtener resmenes.
El DML interacta con el nivel externo de la base de datos por lo que sus
instrucciones son muy parecidas, por no decir casi idnticas, de un
sistema a otro, el usuario slo indica lo que quiere recuperar no cmo se
tiene que recuperar, no influye el cmo estn almacenados los datos.
Es el lenguaje que utilizan los programadores y los usuarios de la base
de datos.
2. Formato de los identificadores
3. Tipos de datos que se utilizan en SQL Server 2012
SQL Server proporciona un conjunto de tipos de datos del sistema que define
todos los tipos de datos que pueden utilizarse. Tambin podemos definir
nuestros propios tipos de datos en Transact-SQL.
Los tipos de datos ms utilizados son:
Numricos: int, decimal, money
Fecha y hora: datetime
Cadena de caracteres: varchar
Binarios
Tipos de datos numricos.
SQL Server dispone de varios tipos de datos numricos. Cuanto mayor sea el
nmero que puedan almacenar mayor ser en consecuencia el espacio
utilizado para almacenarlo. Como regla general se recomienda usar el tipo de
dato mnimo posible. Todos los dato numricos admiten el valor NULL.
Bit: Una columna o variable de tipo bit puede almacenar el rango de
valores de 1 a 0.
Tinyint: Una columna o variable de tipo tinyint puede almacenar el
rango de valores de 0 a 255.
SmallInt: Una columna o variable de tipo smallint puede almacenar el
rango de valores -32768 a 32767.
Int: Una columna o variable de tipo int puede almacenar el rango de
valores -231 a 231-1.
BigInt: Una columna o variable de tipo bigint puede almacenar el rango
de valores -263 a 263-1 .

Decimal (p,s): Una columna de tipo decimal puede almacenar datos


numricos decimales sin redondear. Donde p es la precisin (nmero
total del dgitos) y s la escala (nmero de valores decimales)
Float: Una columna de datos float puede almacenar el rango de valores
-1,79x-10308 a 1,79x-10308, , si la definimos con el valor mximo de
precisin. La precisin puede variar entre 1 y 53.
Real: Sinnimo de float (24). Puede almacenar el rango de valores -3,4x1038 a 3,4x-1038,
Money: Almacena valores numricos monetarios de -2 63 a 263-1, con
una precisin de hasta diez milsimas de la unidad monetaria.
SmallMoney: Almacena
valores
numricos
monetarios
de
-214.748,3647 a 214.748,3647, con una precisin de hasta diez
milsimas de la unidad monetaria.
Tipos de Datos Fecha y Hora.
Datetime: Almacena fechas con una precisin de milisegundo. Debe
usarse para fechas muy especficas.
SmallDatetime: Almacena fechas con una precisin de minuto, por lo
que ocupa la mitad de espacio de que el tipo datetime, para tablas que
puedan llegar a tener muchos datos es un factor a tener muy en cuenta.
TimeStamp: Se utiliza para marcar un registro con la fecha de insercin
actualizacin. El tipo timestamp se actualiza automticamente cada
vez que insertamos o modificamos los datos.
Tipos de datos Cadena de Caracteres.
Char(n): Almacena n caracteres en formato ASCII, un byte por cada
letra. Cuando almacenamos datos en el tipo char, siempre se utilizan los
n caracteres indicados, incluso si la entrada de datos es inferior. Por
ejemplo, si en un char (5), guardamos el valor A, se almacena A ,
ocupando los cinco bytes.
Varchar(n): Almacena n caracteres en formato ASCII, un byte por cada
letra. Cuando almacenamos datos en el tipo varchar, unicamente se
utilizan los caracteres necesarios, Por ejemplo, si en un varchar(255),
guardamos el valor A, se almacena A, ocupando solo un byte bytes.
Varchar(max): Igual que varchar, pero al declararse como max puede
almacenar 231-1 bytes.
Nchar(n): Almacena n caracteres en formato UNICODE, dos bytes por
cada letra. Es recomendable utilizar este tipo de datos cuando los
valores que vayamos a almacenar puedan pertenecer a diferentes
idiomas.
Nvarchar(n): Almacena n caracteres en formato UNICODE, dos bytes
por cada letra. Es recomendable utilizar este tipo de datos cuando los
valores que vayamos a almacenar puedan pertenecer a diferentes
idiomas.
Nvarchar(max): Igual que varchar, pero al declararse como max puede
almacenar 231-1 bytes.
Tipos de datos binarios.
Binary: Se utiliza para almacenar datos binarios de longitud fija, con
una longitud mxima de 8000 bytes.

Varbinary: Se utiliza para almacenar datos binarios de longitud


variable, con una longitud mxima de 8000 bytes..Es muy similar a
binary, salvo que varbinary utiliza menos espacio en disco.

Varbinary(max):Igual que
1 bytes

varbinary, pero puede almacenar 231-

Tomando el siguiente Modelo E-R

Y por medio del lenguaje SQL investigue:


1. Sintaxis para crear la base de datos
2. Sintaxis para crear las tablas
3. Sintaxis para crear llave primaria y llave forneas entre tablas, implemntelo
en las tablas del punto anterior
Practica 4
Tarea en parejas:
Crear la siguiente base de datos en SQL Server:

Nombre de la base de datos: Agencia_Carnet1_Carnet2


Haciendo uso de TRANSACT SQL crear:
1. La base de datos
2. Las tablas con sus correspondientes campos y propiedades
3. Las relaciones entre las tablas
4. Restricciones en todos los campos que crea conveniente

5. Crear el diagrama de la base de datos


Guarde el archivo de las consultas con el nombre Consultas_Agencia.sql, en
este archivo al inicio de las consultas digitar en comentario los nombres y
carnets de cada pareja.
Sistema de ventas. Le contratan para hacer una BD que permita apoyar la
gestin de un sistema de ventas. La empresa necesita llevar un control de
proveedores, clientes, productos y ventas. Un proveedor tiene un identificador,
nombre, direccin, telfono y pgina web. Un cliente tambin tiene
identificador, nombre, direccin, pero puede tener varios telfonos de contacto.
La direccin se entiende por calle, nmero, colonia y ciudad.
Un producto tiene un id nico, nombre, precio actual, stock y el identificador
del proveedor.
Adems se organizan en categoras, y cada producto va slo en una categora.
Una categora tiene id, nombre y descripcin. Por razones de contabilidad, se
debe registrar la informacin de cada venta con un id, fecha, cliente,
descuento y monto final. Adems se debe guardar el precio al momento de la
venta, la cantidad vendida y el monto total por el producto.
Para este ejercicio, deber crear el modelo E-R, luego deber realizar lo
siguiente:
Haciendo uso de TRANSACT SQL crear:
1.
2.
3.
4.
5.

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

Tomando la base de datos Nortwind crear 10 consultas de seleccin


tomando en cuenta todas las instrucciones vistas en la practica
Colocar
como
nombre
al
script:
ConsultasSelect_EjercicioComplementario.sql

1. Crear las siguientes consultas de seleccin: Base de datos:


AdventureWorks
a. Seleccionar
todos
los
datos
de
la
tabla
HumanResources.Department
b. Seleccionar los campos SalesOrderID, OrderQty de la tabla
Sales.SalesOrderDetail en donde los datos del campo OrderID se
encuentre entre 5 y 10 unidades11
c. Seleccionar los campos EmployeeID, NationalIDNumber y Title en
donde en el campo Title se encuentre la palabra Production

d. Seleccionar los datos de la tabla Sales.CustomerAddress en donde


en el campo CustomerID se encuentren los siguientes datos: 2,4,
7 y 10
e. Seleccionar los campos DepartmenID, Name de la tabla
HumanResources.Department
en
donde
los
datos
del
DepartmenID se encuentre entre los valores 5 y 12
f. Seleccionar los campos AddressID, City y StateProvinceID en
donde en el campo City comienza con la letra B
g. Seleccionar los datos de la tabla Production.Culture, en donde en
el campo Name se encuentre entre los valores: English o Spanish
h. Seleccionar el 30% de los datos de la tabla Sales.Individual
i. Mostrar las 10 mejores ventas (LineTotal) de la tabla
Sales.SalesOrderDetail j. Seleccionar todos los datos de la tabla
Sales.SalesPerson
2. Crear cinco consultas de seleccin tomando en cuenta la base de datos:
Library
3. Crear cinco consultas de seleccin tomando en cuenta la base de datos:
Pubs

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:

Crear la base de datos

Crear las tablas


Crear las restricciones

Crear las relaciones entre las tablas e implementar las sentencias ON


DELETE CASCADE y ON UPDATE CASCADE

Agregar 5 registro a cada tabla

Crear 5 consultas de actualizacin de datos

Crear 5 consultas de eliminacin de datos

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

que la cantidad a pedir sea menor o igual deber modificar el valor de la


existencia
Anlisis de resultados
Se desea tener una base de datos con la siguiente informacin acerca de los
alumnos de una academia de idiomas donde se imparten varios cursos:
Informacin acerca de los alumnos, que constar de su nombre y
apellidos, un cdigo nico para cada alumno, su direccin, fecha de
nacimiento y sexo (H o M).
Estos alumnos estarn matriculados en un slo curso cada uno. Cada
curso tendr un nombre, un cdigo nico que lo identifica, el nmero
mximo de alumnos recomendado, la fecha de inicio y de finalizacin del
curso y el nmero de horas del curso.
Los profesores tendrn una ficha en la academia donde se especifican sus
datos personales, es decir, nombre, apellidos (apellido1 y apellido2), DUI,
direccin, titulacin, sueldo.
Tambin deber llevar la informacin de los horarios de cada curso,
tomando en cuenta que cada curso tiene una hora de inicio y una hora de
finalizacin.
Tomar en cuenta que cada curso y grupo tiene su propio horario y
profesor, un curso puede tener muchos grupos y horarios. Agregar como
mnimo 5 registros a cada tabla.
Aadir el campo edad de tipo numrico a la tabla PROFESORES.
Aadir las siguientes restricciones:
I.
La edad de los profesores est entre 18 y 65 aos.
II.
El nmero de horas de los cursos debe ser mayor que 50
III.
El nombre de cada curso es nico
IV.
La fecha de inicio de cada curso no debe ser mayor a la fecha de
finalizacin v. El sueldo debe tener por defecto el dato 0 (cero)
2. Crear los siguientes procedimientos almacenados:
a) Crear un procedimiento almacenado que verifique la cantidad de
alumnos inscritos en cada grupo, no se debe ingresar un alumno nuevo
al curso si este ya llego a su capacidad mxima, si se da el caso mostrar
un mensaje y sino agregar el alumno al curso
b) Crear un procedimiento almacenado en el cual debe controlar la hora de
cada grupo que pertenecen a un curso especfico, ya que debe tomar las
siguientes restricciones:
Cada curso tiene nicamente 4 grupos, los grupo 1 y 2 solo pueden
estar en horarios matutinos (7:00 12:00) y los grupo 3 y 4 solo
pueden estar en la tarde (2:00 7:00).
Verificar que el profesor no podr tener 2 grupos en el mismo horario
y en la misma fecha. c. Crear un procedimiento almacenado, el cual
permita actualizar el campo sueldo de la tabla profesores, el
procedimiento recibe como parmetros el precio por hora, la cual vale
$7.55 (es igual para todos los cursos), tambin recibe como parmetro
el DUI del profesor. Para calcular el nuevo sueldo debe contar primero
la cantidad de horas por todos los cursos asignados al profesor.

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:

2. Crear los siguientes esquemas y colocar en ellos las siguientes tablas:


a. Esquema: Datos
i. Tablas: Clientes y ciudades
b. Esquema: Pedidos
i. Tablas: Pedido y Transporte
Investigue en este punto la instruccin ALTER SCHEMA y como transferir tablas
a un esquema
3. Para los usuarios de la Base de Datos se crearn los siguientes tipos de
usuarios:

a. Crear un usuario el cual se encarga de ingresar nuevos clientes y ciudades,


tambin a este usuario se le concede el permiso de actualizar y eliminar
informacin de los clientes y ciudades y solo podr ver esas tablas nada ms.
b. Luego una persona encargada de seleccionar los pedidos que se han
realizado y este no podr seleccionar las otras tablas o informacin.
c. Un usuario administrativo el cual se encarga de seleccionar, agregar,
modificar y eliminar datos de las tablas Pedido y transporte, y solamente vera
estas 2 tablas.

Das könnte Ihnen auch gefallen