El documento describe el diseño de la base de datos para la red social Ciberfrends. Se detallan los diferentes formularios y procesos necesarios como la inscripción de usuarios, creación de grupos, solicitudes de amistad, álbumes, bolsa de trabajo, empresas y mensajes. El objetivo es almacenar la información requerida para que los usuarios puedan realizar diversas operaciones como miembros de la red social.
La importancia de las pruebas de producto para tu empresa
MODELO PROY BD.doc
1. INSTITUTO SUPERIOR TECNOLÓGICO CIBERTEC
CURSO DE BASE DE DATOS
TEMA:
DISEÑO Y CREACIÓN DE LA BASE DE DATOS DEL SISTEMA
CIBERFRENS
Integrantes:
Campos Muñoz, Pedro Ángel (Coordinador)
Dávalos Navarro, Esteban José
Ríos Vicente, Mario Andrés
Vivas Cárdenas, Julissa Mirella
Guerrero Granados, Shely
COMPUTACION E INFORMATICA
CIBERTEC
SAN ISIDRO, febrero de 2011
2. CIBERFRENS
CIBERFRENS, red social que brinda servicios de conexión e interrelación entre
diversas personas, desea implementar una base de datos que le permita a un
usuario realizar muchas operaciones como miembro de esta red. Con la finalidad
de construir un diseño apropiado para la base de datos, es indispensable conocer
los procesos que se realizan. A continuación, se presenta la descripción de éstos.
FORMULARIO DE INSCRIPCIÓN DEL USUARIO
Para integrarse a CIBERFRENS, el interesado deberá llenar el formulario de
inscripción de usuario. Dentro de éste se encuentran los datos básicos del usuario,
como son el nombre, apellido paterno, apellido materno, fecha de nacimiento,
sexo, teléfono de casa, teléfono celular, país de procedencia, provincia, distrito,
estado civil, religión, número de hijos y correo electrónico. Asimismo, indicará los
diferentes centros de estudios, de tal forma que un usuario puede tener un grupo
de centro de estudios y un grupo de centro de estudios puede contener a muchos
usuarios. En los centros de estudios se almacenarán el lugar de estudios
primarios, secundarios y superiores. También, se especificará la ocupación
laboral, donde un usuario posee una sola ocupación laboral y una ocupación
laboral puede contener a muchos usuarios. La ocupación laboral almacenará el
nombre de la ocupación, así como el lugar de trabajo y la dirección web del centro
laboral. El nuevo usuario; inclusive, podrá ingresar sus intereses, que podrán ser
comunes a los de otros usuarios, los cuales almacenarán hasta tres películas
favoritas, tres géneros musicales, tres programas de televisión y una opción
política.
El usuario puede activar o desactivar notificaciones dentro de su cuenta, las
cuales administran la forma de recibir alertas. Un conjunto de notificaciones
pertenece a un usuario y un usuario solo posee un conjunto de notificaciones, las
cuales están clasificadas en tipos. Dentro del tipo “DEL CIBERFRENS” se
encuentran: Envío de mensaje, agregar amigos, confirmar una solicitud de
amistad, publicación en el muro, dar toque, aviso de cumpleaños, agregar familia,
confirmar solicitud familiar, sugerir amistades, etiquetar, comentar la publicación
en la que se te etiquetó, agregar una solicitud sugerida y unir gracias a una
sugerencia tuya. Dentro del tipo “FOTOS” encontramos: Te etiqueté en una foto,
etiqueté una de tus fotos, comenté tus fotos, comenté una foto de ti, comenté una
foto después de ti, cargar foto por correo electrónico, comentar álbumes de fotos,
comentar un álbum de fotos después de ti. Dentro del tipo “GRUPO” hallamos: Te
agregué a un grupo, aprobar solicitud de grupo, cambiar la configuración de tus
3. grupos, hacer administrador de un grupo, pedir unirse a un grupo que administras,
cambiar la configuración de correo electrónico de los grupos. También, en el tipo
“PAGINAS” está: Te haga administrador de una página, te sugiera una página,
responda a tu publicación en un foro de debate, actualización semanal para
administradores. Luego, en el tipo “EVENTOS” encontramos: Te invité a un
evento, cambié la fecha u hora de un evento, cancelé un evento, te haga
administrador de un evento, publique en el muro de un evento que administras y
cambié el nombre de un evento al que se te ha invitado. Asimismo, el tipo
“NOTAS” posee: Te etiqueté en una nota, comenté tus notas y comenté una nota
después de ti.
Un usuario que registra su ocupación laboral, su centro de estudios, define sus
intereses y configura sus notificaciones constituye un formulario de inscripción de
nuevo usuario. De este se necesitara almacenar el código del formulario y la fecha
de inscripción.
CREACIÓN DE GRUPOS
Un usuario de CIBERFRENS puede crear grupos, con el fin de reunir a sus
amigos usuarios que compartan sus intereses y afinidades. Por ello, un usuario
puede pertenecer a distintos grupos y un grupo puede contener muchos usuarios.
Dentro de un grupo se deberá almacenar el número de grupo, el nombre de grupo,
el grado, la descripción del grupo, la URL de la imagen característica del grupo y
el nivel de acceso que puede ser público, privado o secreto. También, debe tener
solo un conjunto de opciones y a su vez, un conjunto de opciones le pertenecen a
un grupo. Estas opciones son: Publicar en historial, mostrar grupos relacionado,
habilitar el foro de debate, habilitar el muro, publicar el historial, y permitir que los
miembros o administradores carguen fotos y videos o habiliten enlaces.
Un grupo con un nivel de acceso determinado y con una configuración de
opciones componen una solicitud de creación de grupo. De este se necesitara
almacenar el código de la solicitud y la fecha en la que se solicito.
SOLICITUD DE AMISTAD
Un usuario empieza su estadía en CIBERFRENS sin amigos usuarios. Un usuario
envía una solicitud de amistad y una solicitud de amistad es enviada por un solo
usuario. Para relacionarse con otros usuarios deberá llenar ésta, que debe
contener el código, la fecha y la hora de la solicitud, el código del amigo y el
estado de la solicitud que puede se pendiente, aceptado, o rechazado. También,
deberá almacenar la fecha y hora de la respuesta.
4. CREACIÓN DE ÁLBUMES
En CIBERFRENS se pueden crear álbumes. Es importante saber que un usuario
puede crear muchos álbumes y un álbum le pertenece a un solo usuario. Además,
debe ingresarse el nombre del álbum que se va a crear, el nombre del creador, la
descripción y el URL de fotos.
FORMULARIO DE CREACIÓN DE LA BOLSA DE TRABAJO
Un usuario de CIBERFRENS puede tener varias bolsas de trabajo y una bolsa de
trabajo es de un solo usuario. Para ello, éste necesita asignarle un nombre,
registrar su código de usuario, un código a la bolsa, un código de empresa, la
descripción de la bolsa, su puesto y la cantidad de puestos ocupados.
FORMULARIO DE EMPRESAS
En CIBERFRENS, las empresas usan el servicio de la red social para promocionar
sus productos y servicios. Para ello, el usuario debe ser administrador y necesita
inscribir los datos de la empresa: el nombre comercial, RUC (obligatorio),
dirección, teléfono, fax, sitio web, correo electrónico (opcional), categoría,
descripción, privacidad, ciudad, distrito, país y razón social.
Asimismo, debe indicarse el tipo de empresa, tomando en cuenta que una
empresa puede tener varios tipos y un tipo puede ser válido para varias empresas.
Para ello, se presentan opciones como fabricante, agente/representante,
gobierno, servicios, distribuidor/mayorista, importador u otros; de acuerdo a la
actividad que realice la empresa.
Además, se necesita registrar la información del administrador de la cuenta de la
empresa, de tal manera que un administrador es responsable de una empresa y
una empresa es gestionada por un administrador. Para ello, se deben almacenar:
el nombre, los apellidos, teléfono, cargo que desempeña en dicha empresa, correo
electrónico y teléfono móvil.
FORMULARIO DE MENSAJES
La razón de ser de CIBERFRENS es que los usuarios inscritos puedan
comunicarse entre sí. Para este fin utilizan la mensajería del sistema. En primer
lugar, el usuario registrará el usuario al que desea enviarle el mensaje, las
empresas usan el servicio de la red social para promocionar sus productos y
servicios. Para ello, el usuario debe ser administrador y necesita inscribir los datos
de la empresa: el nombre comercial, RUC (obligatorio), dirección, teléfono, fax,
5. sitio web, correo electrónico (opcional), categoría, descripción, privacidad, ciudad,
distrito, país y razón social.
FORMULARIO DE MENSAJES
La razón de ser de CIBERFRENS es que los usuarios inscritos puedan
comunicarse entre sí. Para este fin utilizan la mensajería del sistema
En primer lugar el usuario registrará sus datos y los del usuario al que desea
enviarle el mensaje. Asimismo se asignará un código de mensaje, se registrará la
fecha, la hora, el motivo y el contenido del mensaje (descripción).
FORMULARIO DE NOTAS
Los usuarios de CIBERFRENS pueden escribir notas rápidas para poder
consultarlas después. Para ello se registrará su código de usuario, el título de la
nota, la fecha, la hora y el contenido del mensaje (descripción). También el usuario
podrá decidir si el mensaje puede ser público o privado.
FORMULARIO DE CREACION DE EVENTOS
Los usuarios de CIBERFRENS pueden publicar eventos que permitan invitar a sus
contactos a participar de alguna actividad social. Para ello el usuario deberá
inscribir el código del evento, el nombre del creador, la fecha y hora de inicio, la
fecha y hora de finalización del evento, la descripción de la actividad social, el
lugar de reunión, la dirección del sitio, así como la ciudad. El creador también
podrá registrar un texto que le brinde mayor información al usuario invitado.
El creador del evento registrará a los invitados al evento de tal forma que un
evento puede tener muchos invitados y un usuario invitado puede tener muchos
eventos a los cuales ha sido invitado.
Asimismo, a consideración del usuario, el evento puede ser público (cualquiera
puede ver y responder) y también podrá mostrar o no el listado de invitados al
evento.
7. Glosario de términos
Red social. Es una estructura social compuesta de grupos de personas, las cuales están conectadas
por uno o varios tipos de relaciones, tales como amistad, parentesco, intereses comunes o que
comparten conocimientos.
Notificaciones. Mensaje de alerta que informa al usuario sobre actividad en su cuenta.
Etiqueta. Es un elemento que se adhiere a una fotografía o publicación para relacionar a otros
usuarios.
Grupos. Conjunto de usuarios asociados por alguna característica en común.
Historial. Muestra toda la actividad del usuario.
Enlace. Vínculos a páginas web.
Ciberfrends. Red social que brinda servicios de conexión e interrelación entre diversas personas.
Base de datos. Una base de datos o banco de datos es un conjunto de datos pertenecientes a un
mismo contexto y almacenados sistemáticamente para su posterior uso.
URL. Son las siglas de Localizador de Recurso Uniforme, la dirección global de documentos y de
otros recursos en la web.
Página web. Fuente de información compatible con la WWW y que puede ser accedida a través
de un navegador en internet.
Muro. Lugar en el cual están las publicaciones o actividades recientes del usuario.
Dar toque: La función Dar un toque se puede utilizar para varias funciones en Ciberfrends. Por
ejemplo, puedes dar un toque a tus amigos para saludarlos.
Eventos. Actividad social determinada por un usuario.
Enlaces. Link de la página web.
Bolsa de trabajo. Manera que existe en la actualidad, para buscar trabajo.
Álbumes. Almacena a un grupo de fotos.
10. DIGITALIZACIÓN DE DOCUMENTOS
FORMULARIO DE INSCRIPCION DEL USUARIO
Datos Básicos
Código de usuario Nombres
Apellido paterno Apellido Materno
Fecha de Nacimiento Sexo
Teléfono Celular
País Provincia Distrito
Estado Civil Religión
Número de Hijos Correo Electrónico
Estudios
Lugar de Estudios Secundarios
Lugar de Estudios Superiores
Opciones Políticas
Laboral
Ocupación
Lugar de Trabajo Dirección web del trabajo
Intereses
Películas Favoritas Música Favorita
Programación de TV Favorita
Actividades:
13. CREACION DE GRUPOS
N° de Grupo Nombre del Grupo
Descripción:
Tipo de Grupo:
Noticias Recientes:
Nivel de Acceso Publico Privado Secreto
Habilitar el Foro de Debate Habilitar el Muro
Habilitar Fotos
Permitir que los miembros carguen fotos
Permitir que los administradores carguen fotos
Habilitar Videos
Permitir que los miembros carguen videos
Permitir que los administradores carguen videos
15. SOLICITUD DE AMISTAD
Código de solicitud
Fecha de solicitud
Hora de la solicitud
Nombre del amigo
Estado de la solicitud Pendiente Aceptado Rechazado
Fecha de respuesta
Hora de respuesta
TABLA SOLICITUD DE AMISTAD
*PRIMERA FORMA NORMAL:
SOLICITUD_AMISTAD (COD_AMIS, FECH_AMIS, HORA_AMIS,
COD_USUA_AMI, NOMBRE_AMI, ESTADO_AMIS, FEC_RPTA_AMIS,
HORA_RPTA_AMIS)
*SEGUNDA FORMA NORMAL:
SOLUCION_AMISTAD (COD_AMIS, FECH_AMIS, HORA_AMIS,
ESTADO_AMIS, FEC_RPTA_AMIS, HORA_RPTA_AMIS)
*TERCERA FORMA NORMAL:
SOLUCION_AMISTAD (COD_AMIS, FECH_AMIS, HORA_AMIS,
ESTADO_AMIS, FEC_RPTA_AMIS, HORA_RPTA_AMIS)
USUARIO (COD_USUA_AMI, NOMBRE_AMI)
16. BOLSA DE TRABAJO
Nombre de la Bolsa
Creador
Cuenta del Creador Contraseña
Lugar de Empleo
Fecha
Categoría
Tipo
Rubro
Empresa RUC
Departamento Distrito
Dirección
Teléfono FAX
Correo Electrónico Código Postal
Página Web
18. FORMULARIO CREACION DE EMPRESA
Datos de la empresa
Código de la empresa:
Nombre Comercial:
RUC:
Dirección:
Teléfono: Fax:
Sitio Web:
Correo electrónico:
Categoría:
Descripción:
Privacidad:
Provincia: Distrito:
País:
Razón Social:
Tipo de la empresa
Fabricante Agente/Representante Gobiernos
Importador Distribuidor/Mayorista Servicios
Otros:
Sector de actividad:
Fecha de constitución de la empresa:
Número de empleados:
Productos/Servicios que comercializa:
Volumen aproximado de ventas al mes:
Principales clientes y consumidores:
Información del administrador
Nombre:
Apellidos:
Teléfono: Teléfono móvil:
Correo electrónico:
Dirección:
Tiempo de servicio a la empresa:
Cargo que desempeña:
20. PRIV_EMPRESA, COD_PAIS, COD_PROV, COD_DIST,
RAZON_SOC_EMPRESA, COD_TIPO, DESCRIP_TIPO,
SECTOR_DCT_EMPRESA, FECHA_CREACION_EMPRESA,
NUM_EMP_EMPRESA, VOL_EVENTOS_EMPRESA, COD_ADMIN)
TIPO (COD_TIPO, DESC_TIPO)
PAIS (COD_PAIS NOM_PAIS)
PROVINCIA (COD_PAIS, COD_PROV, NOM_PROV)
DISTRITO (COD_PAIS, COD_PROV, COD_DIST, NOM_DIST)
ADMINISTRADOR (COD_ADMIN, NOM_ADMIN, APEPAT_ADMIN,
APEMAT_ADMIN, TEL_ADMIN, CEL_ADMIN, EMAIL_ADMIN, DIR_ADMIN,
TIME_EMP_ADMIN, CARGO_ADMIN)
21. CREAR UN EVENTO
NOMBRE DEL CREADOR:
FECHA DE INICIO : HORA DE INICIO:
DIA DE FINALIZACION: HORA DE FINALIZACION:
DESCRIPCION DEL EVENTO:
LUGAR: DIRECCION:
CUIDAD O POBLACION:
MAS INFORMACION:
INVITADOS :
ACCESIBILIDAD:
CUALQUIERA PUEDE VER Y RESPONDER (EVENTO PUBLICO)
MOSTRAR LA LISTA DE INVITADOS EN LA PAGINA DEL EVENTO
23. ENVIAR UN MENSAJE
FORMULARIO DE MENSAJES
USUARIO:
N° DE MENSAJE:
DESTINATARIO:
FECHA:
HORA:
MOTIVO:
DESCRIPCION:
TABLA MENSAJES
*PRIMERA FORMA NORMAL:
MENSAJE (COD_USUA, NRO_MENSAJE, COD_USUA_DEST,
NOM_USUA_DEST, FECH_MENSAJE, HORA_MENSAJE, MOTIVO_MENSAJE,
MOTIVO_MENSAJE, DESCRIP_MENSAJE)
*SEGUNDA FORMA NORMAL:
MENSAJE (COD_USUA, NRO_MENSAJE, COD_USUA_DEST,
NOM_USUA_DEST, FECH_MENSAJE, HORA_MENSAJE, MOTIVO_MENSAJE,
MOTIVO_MENSAJE, DESCRIP_MENSAJE)
*TERCERA FORMA NORMAL:
MENSAJE (COD_USUA, NRO_MENSAJE, COD_USUA_DEST,
NOM_USUA_DEST, FECH_MENSAJE, HORA_MENSAJE, MOTIVO_MENSAJE,
DESCRIP_MENSAJE)
USUARIO (COD_USUA_DEST, NOM_USUA_DEST)
24. CREAR UNA NOTA
FORMULARIO DE NOTAS
TITULO:
USUARIO:
ACCESIBILIDAD: PUBLICO PRIVADO
FECHA:
HORA:
DESCRIPCION:
TABLA NOTAS:
*PRIMERA FORMA NORMAL:
NOTAS (COD_USUA, NRO_NOTA, TITULO_NOTA, NOM_USUA,
OPCION, FECH_NOTA, HORA_NOTAS, DESC_NOTAS)
*SEGUNDA FORMA NORMAL:
NOTAS (COD_USUA, NRO_NOTA, TITULO_NOTA, NOM_USUA,
OPCION, FECH_NOTA, HORA_NOTAS, DESC_NOTAS)
*TERCERA FORMA NORMAL:
NOTAS (COD_USUA, NRO_NOTA TITULO_NOTA, OPCION_NOTA,
FECH_NOTA, HORA_NOTAS, DESC_NOTAS)
USUARIO (COD_USUA, NOM_USUA)
25. NOTIFICACIONES
DEL CIBERBOOK
Envío un mensaje Confirmar solicitud familiar
Agregar amigos Sugerir amistades
Confirmar una solicitud de amistad Etiquetar
Publicación en el Muro Comentar la publicación en la que se te etiquetó
Dar toque Agregar una solicitud sugerida
Aviso de cumpleaños Unir gracias a una sugerencia tuya
Agregar familia
FOTOS
Te etiqueté en una foto Comenté una foto después de ti
Etiqueté una de tus fotos Cargar foto por correo electrónico
Comenté tus fotos Comentar álbumes de fotos
Comenté una foto de ti Comentar un álbum de fotos después de ti
GRUPOS
Te agregué a un grupo Hacer administrador de un grupo
Aprobar solicitud de grupo Pedir unirse a un grupo que administras
Cambiar la configuración de tus grupos Cambiar la configuración de correo electrónico
de los grupos
PÁGINAS
Te haga administrador de una página Responda a tu publicación en un foro de debate
Te sugiera una página Actualización semanal para administradores
26. EVENTOS
Te invité a un evento Te haga administrador de un evento
Cambié la fecha u hora de un evento Publique en el muro de un evento que administras
Cancelé un evento Cambie el nombre de un evento al que se te ha invitado
NOTAS
Te etiqueté en una nota Comenté una nota después de ti
Comenté tus notas
ENLACES
Comenté tus enlaces Comparte algo que publicaste
Comenté un enlace después de ti
VIDEO
Te etiqueté en un video Comenté un video de ti
Etiqueté uno de tus videos Comenté un video después de ti
Comenté tus videos
SERVICIO DE AYUDA
Responder preguntas Marcar la mejor respuesta
COMENTARIOS EN EL MURO
Comenté una historia de tu muro Comenté una historia después de ti
LUGARES
27. Te etiqueté en un lugar Comenté tus visitas a lugares
OTRAS ACTUALIZACIONES DEL FACEBOOK
Actualizaciones sobre tus amigos Actualizaciones sobre noticias relacionadas
con los productos del FB
Invitaciones a participar en proyectos de
investigación sobre FB
CRÉDITOS
Créditos que has comprado El cierre de pedidos que estaban pendientes
OTRAS APLICACIONES
Best Friends Entrevista a tus amigos
Desear buena fiesta
29. ANUNCIATE EN CIBERFRENDS
1.DISEÑO DEL ANUNCIO:
NOMBRE DEL CREADOR:
TITULO : DESCRIPCION:
IMAGEN:
2.PUBLICO OBJETIVO :
UBICACIÓN:
EN TODAS LAS UBICACIONES
PAIS:
DATOS DEMOGRAFICOS:
EDAD: [?] SEXO :[?] TODOS HOMBRES MUJERES
GUSTOS E INTERESES :
CUMPLEAÑOS : MOSTRAR EN EL ANUNCIO EL DIA DEL CUMPLEAÑOS DEL USUARIO
INCLINACION SEXUAL: TODOS HOMBRES MUJERES
RELACION: TODOS SOLTERO(A) COMPROMETIDO (A) CASADO (A)
TIENE UNA RELACION
IDIOMAS:[?]
FORMACION ACADEMICA: TODOS LOS NIVELES CON ESTUDIOS UNIVERSITARIOS
EN LA UNIVERSIDAD EN LA ESCUELA SECUNDARIA
LUGARES DE TRABAJO: [?]
3.CAMPAÑAS Y PROGRAMACION:
30. CAMPAÑA Y PRESUPUESTO:
NOMBRE DE LA CAMPAÑA:
CALENDARIO:
FECHA: HORA:
PONER MI CAMPAÑA EN CIRCULACION INTERRUMPIDAMENTE A PARTIR DE HOY
TABLA ANUNCIOS:
*PRIMERA FORMA NORMAL:
ANUNCIO (COD_ANUN, TIT_ANUN, DESC_ANUN, COD_USUA_CREA,
NOM_USUA_CREA, EDAD_OBJ, SEXO_OBJ, INCLI_SEX_OBJ,
FEC_NAC_OBJ, HORA_INI_ANUN, HORA_FIN_ANUN)
ANUNCIO_UBICACION (COD_ANUN, COD_PAIS, NOM_PAIS)
ANUNCIO_GUSTOS (COD_ANUN, COD_GUSTOS, DESC_GUSTOS)
ANUNCIO_RELACION (COD_ANUN, COD_RELACION, DESC_RELACION)
ANUNCIO_FORMACADEMICA (COD_ANUN, COD_FORMA, DESC_FORMA)
ANUNCIO_IDIOMAS (COD_ANUN, COD_IDIOMAS, DESC_IDIOMAS)
ANUNCIO_LUGARTRA (COD_ANUN, COD_LUGARTRA, DESC_LUGARTRA)
*SEGUNDA FORMA NORMAL:
ANUNCIO (COD_ANUN, TIT_ANUN, DESC_ANUN, COD_USUA_CREA,
NOM_USUA_CREA, EDAD_OBJ, SEXO_OBJ, INCLI_SEX_OBJ,
FEC_NAC_OBJ, HORA_INI_ANUN, HORA_FIN_ANUN)
ANUNCIO_UBICACION (COD_ANUN, COD_PAIS )
UBICACIÓN (COD_PAIS, NOM_PAIS)
ANUNCIO_GUSTOS (COD_ANUN, NUM_GUSTOS, DESC_GUSTOS)
ANUNCIO_RELACION (COD_ANUN, COD_RELACION)
RELACION (COD_RELACION, DESC_RELACION)
36. TRANSACT
if db_id('CIBERFREND') is not null
begin
use master
drop database CIBERFREND
end
--CREACION DE LA BASE DE DATOS
CREATE DATABASE CIBERFREND
GO
USE CIBERFREND
GO
CREATE TABLE PAIS
(
COD_PAIS CHAR(5) NOT NULL ,
NOM_PAIS VARCHAR(60) NOT NULL UNIQUE
)
GO
CREATE TABLE PROVINCIA
(
COD_PAIS CHAR(5) NOT NULL,
COD_PROV CHAR(5) NOT NULL ,
NOM_PROV VARCHAR(60) NOT NULL
)
GO
CREATE TABLE DISTRITO
(
COD_DIST CHAR(5) NOT NULL,
COD_PAIS CHAR(5) NOT NULL,
COD_PROV CHAR(5) NOT NULL,
NOM_DIST VARCHAR(60) NOT NULL
)
GO
CREATE TABLE USUARIO(
COD_USUA CHAR(5) NOT NULL,
FEC_INSCRIP DATETIME NOT NULL,
NOM_USUA VARCHAR(60) NOT NULL,
APEPAT_USUA VARCHAR(60) NOT NULL,
APEMAT_USUA VARCHAR(60) NOT NULL,
SEXO_USUA CHAR(1) NOT NULL,
FEC_NAC_USUA DATETIME NOT NULL,
TELF_USUA INT NOT NULL,
CEL_USUA INT NOT NULL,
COD_PAIS CHAR(5) NOT NULL,
COD_PROV CHAR(5) NOT NULL,
COD_DIST CHAR(5) NOT NULL,
EST_CIV_USUA VARCHAR(60) NOT NULL,
RELIG_USUA VARCHAR(60) NOT NULL,
CANT_HIJOS_USUA INT NULL,
37. COD_EST_SEC CHAR(5) NOT NULL,
CORREO_USUA VARCHAR(70) NOT NULL,
COD_EST_SUP CHAR(5) NOT NULL,
OCUP_USUA VARCHAR(40) NULL,
COD_TRAB CHAR(5) NOT NULL,
DESCRIP_USUA VARCHAR(200) NOT NULL,
CUEN_USUA VARCHAR(60) NOT NULL UNIQUE,
FAX_USUA INTEGER NULL,
DIREC_USUA VARCHAR(50) NOT NULL
)
GO
CREATE TABLE USUARIO_PELI
(
COD_USUA CHAR(5) NOT NULL,
COD_PELI CHAR(5) NOT NULL ,
NOM_PELI VARCHAR(50) NOT NULL
)
GO
CREATE TABLE USUARIO_TV
(
COD_USUA CHAR(5) NOT NULL,
COD_TV CHAR(5) NOT
NULL,
NOM_TV VARCHAR(50) NOT NULL
)
GO
CREATE TABLE USUARIO_MUSICA
(
COD_USUA CHAR(5) NOT NULL,
COD_MUS CHAR(5) NOT
NULL,
NOM_MUS VARCHAR(50) NOT NULL
)
GO
CREATE TABLE USUARIO_ACT
(
COD_USUA CHAR(5) NOT NULL,
COD_ACT CHAR(5) NOT
NULL,
NOM_ACT VARCHAR(50) NOT NULL
)
GO
CREATE TABLE ESTUDIOS_SEC
(
COD_SEC CHAR(5) NOT
NULL,
NOM_SEC VARCHAR(100) NOT NULL
)
GO
CREATE TABLE ESTUDIOS_SUP
(
38. COD_SUP CHAR(5) NOT
NULL,
NOM_SUP VARCHAR(100) NOT NULL
)
GO
CREATE TABLE TRABAJO
(
COD_TRAB CHAR(5) NOT NULL,
NOM_TRAB VARCHAR(60) NOT NULL,
DIREC_WEB_TRAB VARCHAR(70) NOT NULL
)
GO
CREATE TABLE ADMINISTRADOR
(
COD_ADMIN char(5) NOT NULL,
NOM_ADMIN VARCHAR(60) NOT NULL,
APEPAT_ADMIN VARCHAR(60) NOT NULL,
APEMAT_ADMIN VARCHAR(60) NOT NULL,
TEL_ADMIN char(10) NOT NULL,
CEL_ADMIN char(10) NOT NULL,
EMAIL_ADMIN varchar(70) NOT NULL,
DIR_ADMIN varchar(50) NOT NULL,
TIEM_EMP_ADMIN datetime NOT NULL,
CARGO_ADMIN VARCHAR(60) NOT NULL
)
GO
CREATE TABLE EMPRESA(
COD_EMPRESA CHAR(5) NOT NULL,
NOM_COMER_EMPRESA VARCHAR(60) NOT NULL,
RUC_EMPRESA CHAR(10) NOT NULL,
FAX_EMPRESA CHAR(10) NOT NULL,
DIR_EMPRESA VARCHAR(70) NOT NULL,
TElF_EMPRESA VARCHAR(10) NULL,
WEB_EMPRESA VARCHAR(60) NOT NULL,
EMAIL_EMPRESA VARCHAR(70) NOT NULL,
CAT_EMPRESA VARCHAR(60) NOT NULL,
DESC_EMPRESA VARCHAR(200) NOT NULL,
PRIV_EMPRESA INT NOT NULL,
COD_PAIS CHAR(5) NOT NULL,
COD_PROV CHAR(5) NOT NULL,
COD_DIST CHAR(5) NOT NULL,
RAZON_SOC_EMPRESA VARCHAR(60) NOT NULL,
COD_TIPO CHAR(5) NOT NULL,
SECTOR_DCT_EMPRESA VARCHAR(60) NOT NULL,
FECHA_CREACION_EMPRESA DATETIME NOT NULL,
RUBRO_EMPRESA VARCHAR(60) NOT NULL,
NUM_EMP_EMPRESA INT NOT NULL,
VOL_EVENTOS_EMPRESA INT NOT NULL,
COD_ADMIN CHAR(5) NOT NULL
)
GO
CREATE TABLE TIPO
(
39. COD_TIPO CHAR(5) NOT NULL,
DESC_TIPO VARCHAR(60) NOT NULL Unique
)
GO
CREATE TABLE EMPRESA_PRODUCTO
(
COD_EMPRESA CHAR(5) NOT NULL,
COD_PROD CHAR(5) NOT NULL,
DESC_PROD VARCHAR(30) NOT NULL UNIQUE
)
GO
CREATE TABLE EMPRESA_CLIENTE
(
COD_EMPRESA CHAR(5) NOT NULL,
COD_CLIENTE CHAR(5) NOT NULL,
DESC_CLIENTE VARCHAR(30) NOT NULL
)
GO
CREATE TABLE GRUPOS
(
COD_GRUPO CHAR(5) NOT NULL,
NOM_GRUPO VARCHAR(30) NOT NULL,
DESCRIP_GRUPO VARCHAR(200) NOT NULL,
TIP_GRUPO VARCHAR(60) NOT NULL,
COD_USUA CHAR(5) NOT NULL,
NIV_ACC_GRUPO CHAR(1) NOT NULL,
FORO_GRUPO CHAR(1) NOT NULL,
MURO_GRUPO CHAR(1) NOT NULL,
FOTOS_GRUPO CHAR(1) NOT NULL,
VIDEO_GRUPO CHAR(1) NOT NULL
)
GO
CREATE TABLE GRUPOS_NOTICIAS
(
COD_GRUPO CHAR(5) NOT NULL,
NUM_NOTICIAS CHAR(5) NOT NULL,
DESC_NOTICIAS VARCHAR(60) NOT NULL
)
GO
CREATE TABLE BOLSA_TRA
(
COD_BOLSA CHAR(5) NOT NULL,
NUM_BOLSA CHAR(5) NOT NULL,
DESC_BOLSA VARCHAR(60) NOT NULL,
COD_USUA CHAR(5) NOT NULL,
COD_EMPRESA CHAR(5) NOT NULL
)
GO
CREATE TABLE PUESTO
(
COD_PUES CHAR(5) NOT NULL,
DESC_PUES VARCHAR(60) NOT NULL UNIQUE
)
GO
CREATE TABLE BOLSA_TRA_PUESTOS
(
COD_BOLSA CHAR(5) NOT NULL,
40. NUM_BOLSA CHAR(5) NOT NULL,
COD_PUES CHAR(5) NOT NULL,
CANT_PUES INT NOT NULL
)
GO
CREATE TABLE SOLICITUD_AMISTAD
(
COD_AMIS CHAR(5) NOT NULL,
FECH_AMIS DATETIME NOT NULL,
HORA_AMIS TIME NOT NULL,
ESTADO_AMIS CHAR(1) NOT NULL,
FEC_RPTA_AMIS DATETIME ,
HORA_RPTA_AMIS TIME
)
GO
CREATE TABLE EVENTO
(
COD_EVEN CHAR(5) NOT NULL,
FECH_INI_EVEN DATETIME NOT NULL,
HORA_INI_EVEN TIME NOT NULL,
FECH_FIN_EVEN DATETIME NOT NULL,
HORA_FIN_EVEN TIME NOT NULL,
COD_PAIS_EVE CHAR(5) NOT NULL,
DESC_EVEN VARCHAR(200) NOT NULL,
LUGAR_EVEN VARCHAR(50) NOT NULL,
DIREC_EVEN VARCHAR(50) NOT NULL,
MAS_INFO_EVEN VARCHAR(200) NOT NULL,
ACCESIBILIDAD_EVEN CHAR(1) NOT NULL,
COD_USUA_CREA CHAR(5) NOT NULL,
)
GO
CREATE TABLE EVENTO_USUARIO
(
COD_EVEN CHAR(5) NOT NULL,
COD_USUA_INVI CHAR(5) NOT NULL
)
GO
CREATE TABLE MENSAJE
(
NRO_MENSAJE CHAR(5) NOT NULL,
COD_USUA CHAR(5) NOT NULL,
COD_USUA_DEST CHAR(5) NOT NULL,
FECH_MENSAJE DATETIME NOT NULL,
HORA_MENSAJE TIME NOT NULL,
MOTIVO_MENSAJE VARCHAR(50) NOT NULL,
DESCRIP_MENSAJE VARCHAR(200) NOT NULL
)
GO
CREATE TABLE NOTAS
(
COD_USUA CHAR(5) NOT NULL,
NRO_NOTA CHAR(5) NOT NULL,
TITULO_NOTA VARCHAR(60) NOT NULL,
OPCION_NOTA CHAR(1) NOT NULL,
FECH_NOTA DATETIME NOT NULL,
HORA_NOTAS TIME NOT NULL,
41. DESC_NOTAS VARCHAR(200) NOT NULL
)
GO
CREATE TABLE TIPONOT
(
COD_TIPO_NOT CHAR(5) NOT NULL,
DESC_TIPO_NOT VARCHAR(60) NOT NULL UNIQUE
)
GO
CREATE TABLE NOTIFICACIONES
(
COD_USUA_NOT CHAR(5) NOT NULL,
COD_OPCION CHAR(5) NOT NULL,
ESTADO_NOT INT NOT NULL
)
GO
CREATE TABLE OPCIONES
(
COD_USUA_NOT CHAR(5) NOT NULL,
COD_OPCION CHAR(5) NOT NULL,
DESC_OPCION VARCHAR(60) NOT NULL ,
COD_TIP_NOT CHAR(5) NOT NULL
)
GO
CREATE TABLE ANUNCIO (
COD_ANUN CHAR(5) NOT NULL,
TIT_ANUN VARCHAR(20) NOT NULL,
DESC_ANUN VARCHAR(100) NOT NULL,
COD_USUA_CREA CHAR(5) NOT NULL,
HORA_INI_ANUN DATETIME NOT NULL,
HORA_FIN_ANUN DATETIME NOT NULL
)
GO
CREATE TABLE ANUNCIO_UBICACION (
COD_ANUN CHAR(5) NOT NULL,
COD_PAIS CHAR(5)
)
GO
CREATE TABLE ANUNCIO_GUSTOS (
COD_ANUN CHAR(5) NOT NULL,
NUM_GUSTOS CHAR(5) NOT NULL,
DESC_GUSTOS VARCHAR(60) NOT NULL
)
GO
CREATE TABLE ANUNCIO_RELACION (
COD_ANUN CHAR(5) NOT NULL,
COD_RELACION CHAR(5) NOT NULL
)
GO
CREATE TABLE RELACION (
COD_RELACION CHAR(5) NOT NULL,
DESC_RELACION VARCHAR(60) NOT NULL
42. )
GO
CREATE TABLE ANUNCIO_FORMACADEMICA (
COD_ANUN CHAR(5) NOT NULL,
COD_FORMA CHAR(5) NOT NULL
)
GO
CREATE TABLE FORMACADEMICA (
COD_FORMA CHAR(5) NOT NULL,
DESC_FORMA VARCHAR(60) NOT NULL
)
GO
CREATE TABLE ANUNCIO_IDIOMAS (
COD_ANUN CHAR(5) NOT NULL,
COD_IDIOMAS CHAR(5) NOT NULL
)
GO
CREATE TABLE IDIOMAS (
COD_IDIOMAS CHAR(5) NOT NULL,
DESC_IDIOMAS VARCHAR(60) NOT NULL
)
GO
CREATE TABLE ANUNCIO_LUGARTRA (
COD_ANUN CHAR(5) NOT NULL,
COD_LUGARTRA CHAR(5) NOT NULL
)
GO
CREATE TABLE LUGARTRA (
COD_LUGARTRA CHAR(5) NOT NULL,
DESC_LUGARTRA VARCHAR(60) NOT NULL
)
GO
--LLAVES PRIMARIAS
ALTER TABLE PAIS ADD PRIMARY KEY (COD_PAIS)
ALTER TABLE PROVINCIA ADD PRIMARY KEY (COD_PAIS,COD_PROV)
ALTER TABLE DISTRITO ADD PRIMARY KEY (COD_PAIS,COD_PROV,COD_DIST)
ALTER TABLE USUARIO ADD PRIMARY KEY (COD_USUA)
ALTER TABLE USUARIO_PELI ADD PRIMARY KEY (COD_USUA,COD_PELI)
ALTER TABLE USUARIO_TV ADD PRIMARY KEY (COD_USUA,COD_TV)
ALTER TABLE USUARIO_MUSICA ADD PRIMARY KEY (COD_USUA,COD_MUS)
ALTER TABLE USUARIO_ACT ADD PRIMARY KEY (COD_USUA,COD_ACT)
ALTER TABLE ESTUDIOS_SEC ADD PRIMARY KEY (COD_SEC)
ALTER TABLE ESTUDIOS_SUP ADD PRIMARY KEY (COD_SUP)
ALTER TABLE TRABAJO ADD PRIMARY KEY (COD_TRAB)
ALTER TABLE ADMINISTRADOR ADD PRIMARY KEY (COD_ADMIN)
ALTER TABLE EMPRESA ADD PRIMARY KEY (COD_EMPRESA)
ALTER TABLE TIPO ADD PRIMARY KEY (COD_TIPO)
ALTER TABLE EMPRESA_PRODUCTO ADD PRIMARY KEY (COD_EMPRESA,COD_PROD)
ALTER TABLE EMPRESA_CLIENTE ADD PRIMARY KEY (COD_EMPRESA,COD_CLIENTE)
ALTER TABLE GRUPOS ADD PRIMARY KEY (COD_GRUPO)
43. ALTER TABLE GRUPOS_NOTICIAS ADD PRIMARY KEY (COD_GRUPO,NUM_NOTICIAS)
ALTER TABLE BOLSA_TRA ADD PRIMARY KEY (COD_BOLSA,NUM_BOLSA)
ALTER TABLE PUESTO ADD PRIMARY KEY (COD_PUES)
ALTER TABLE BOLSA_TRA_PUESTOS ADD PRIMARY KEY (COD_BOLSA,COD_PUES)
ALTER TABLE SOLICITUD_AMISTAD ADD PRIMARY KEY (COD_AMIS)
ALTER TABLE EVENTO ADD PRIMARY KEY (COD_EVEN)
ALTER TABLE EVENTO_USUARIO ADD PRIMARY KEY (COD_EVEN,COD_USUA_INVI)
ALTER TABLE MENSAJE ADD PRIMARY KEY (NRO_MENSAJE,COD_USUA,COD_USUA_DEST)
ALTER TABLE NOTAS ADD PRIMARY KEY (COD_USUA,NRO_NOTA)
ALTER TABLE TIPONOT ADD PRIMARY KEY (COD_TIPO_NOT)
ALTER TABLE NOTIFICACIONES ADD PRIMARY KEY (COD_USUA_NOT,COD_OPCION)
ALTER TABLE OPCIONES ADD PRIMARY KEY (COD_OPCION)
ALTER TABLE ANUNCIO ADD PRIMARY KEY (COD_ANUN)
ALTER TABLE ANUNCIO_RELACION ADD PRIMARY KEY (COD_ANUN,COD_RELACION)
ALTER TABLE RELACION ADD PRIMARY KEY (COD_RELACION)
ALTER TABLE ANUNCIO_FORMACADEMICA ADD PRIMARY KEY (COD_ANUN,COD_FORMA)
ALTER TABLE FORMACADEMICA ADD PRIMARY KEY (COD_FORMA)
ALTER TABLE ANUNCIO_IDIOMAS ADD PRIMARY KEY (COD_ANUN,COD_IDIOMAS)
ALTER TABLE IDIOMAS ADD PRIMARY KEY (COD_IDIOMAS)
ALTER TABLE ANUNCIO_LUGARTRA ADD PRIMARY KEY (COD_ANUN,COD_LUGARTRA)
ALTER TABLE LUGARTRA ADD PRIMARY KEY (COD_LUGARTRA)
GO
--LLAVES FORANEAS
--ADD FOREIGN KEY – REFERENCES
ALTER TABLE PROVINCIA ADD FOREIGN KEY (COD_PAIS) REFERENCES PAIS
ALTER TABLE DISTRITO ADD FOREIGN KEY (COD_PAIS,COD_PROV) REFERENCES
PROVINCIA
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_PAIS) REFERENCES PAIS
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_PAIS,COD_PROV) REFERENCES
PROVINCIA
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_PAIS,COD_PROV,COD_DIST)
REFERENCES DISTRITO
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_EST_SEC) REFERENCES
ESTUDIOS_SEC
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_EST_SUP) REFERENCES
ESTUDIOS_SUP
ALTER TABLE USUARIO_PELI ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE USUARIO_TV ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE USUARIO_MUSICA ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE USUARIO_ACT ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE EMPRESA ADD FOREIGN KEY (COD_PAIS) REFERENCES PAIS
ALTER TABLE EMPRESA ADD FOREIGN KEY (COD_PAIS,COD_PROV) REFERENCES
PROVINCIA
ALTER TABLE EMPRESA ADD FOREIGN KEY (COD_PAIS,COD_PROV,COD_DIST)
REFERENCES DISTRITO
ALTER TABLE EMPRESA ADD FOREIGN KEY (COD_TIPO) REFERENCES TIPO
ALTER TABLE EMPRESA ADD FOREIGN KEY (COD_ADMIN) REFERENCES ADMINISTRADOR
ALTER TABLE EMPRESA_PRODUCTO ADD FOREIGN KEY (COD_EMPRESA) REFERENCES
EMPRESA
ALTER TABLE EMPRESA_CLIENTE ADD FOREIGN KEY (COD_EMPRESA) REFERENCES
EMPRESA
ALTER TABLE GRUPOS ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE GRUPOS_NOTICIAS ADD FOREIGN KEY (COD_GRUPO) REFERENCES
GRUPOS
ALTER TABLE BOLSA_TRA ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
44. ALTER TABLE BOLSA_TRA_PUESTOS ADD FOREIGN KEY (COD_BOLSA,NUM_BOLSA)
REFERENCES BOLSA_TRA
ALTER TABLE BOLSA_TRA_PUESTOS ADD FOREIGN KEY (COD_PUES) REFERENCES
PUESTO
ALTER TABLE EVENTO_USUARIO ADD FOREIGN KEY (COD_USUA_INVI) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE MENSAJE ADD FOREIGN KEY (COD_USUA) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE MENSAJE ADD FOREIGN KEY (COD_USUA_DEST) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE NOTAS ADD FOREIGN KEY (COD_USUA) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE NOTIFICACIONES ADD FOREIGN KEY (COD_USUA_NOT) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE NOTIFICACIONES ADD FOREIGN KEY (COD_OPCION) REFERENCES
OPCIONES
ALTER TABLE OPCIONES ADD FOREIGN KEY (COD_TIP_NOT) REFERENCES TIPONOT
ALTER TABLE MENSAJE ADD FOREIGN KEY (COD_USUA) REFERENCES USUARIO
ALTER TABLE USUARIO ADD FOREIGN KEY (COD_TRAB) REFERENCES TRABAJO
ALTER TABLE SOLICITUD_AMISTAD ADD FOREIGN KEY (COD_AMIS) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE EVENTO ADD FOREIGN KEY (COD_USUA_CREA) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE EVENTO ADD FOREIGN KEY (COD_PAIS_EVE) REFERENCES
PAIS(COD_PAIS)
ALTER TABLE ANUNCIO ADD FOREIGN KEY (COD_USUA_CREA) REFERENCES
USUARIO(COD_USUA)
ALTER TABLE ANUNCIO_UBICACION ADD FOREIGN KEY (COD_PAIS) REFERENCES
PAIS(COD_PAIS)
ALTER TABLE ANUNCIO_UBICACION ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_GUSTOS ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_RELACION ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_RELACION ADD FOREIGN KEY (COD_ANUN) REFERENCES
RELACION(COD_RELACION)
ALTER TABLE ANUNCIO_FORMACADEMICA ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_FORMACADEMICA ADD FOREIGN KEY (COD_FORMA) REFERENCES
FORMACADEMICA(COD_FORMA)
ALTER TABLE ANUNCIO_IDIOMAS ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_IDIOMAS ADD FOREIGN KEY (COD_ANUN) REFERENCES
IDIOMAS(COD_IDIOMAS)
ALTER TABLE ANUNCIO_LUGARTRA ADD FOREIGN KEY (COD_ANUN) REFERENCES
ANUNCIO(COD_ANUN)
ALTER TABLE ANUNCIO_LUGARTRA ADD FOREIGN KEY (COD_LUGARTRA) REFERENCES
LUGARTRA(COD_LUGARTRA)
GO
-- CREACION DE LOS PROCEDURES DE INSERCION
--Creacion de Stored Procedures
use CIBERFREND
go
45. --Creacion de Stored Procedures
Create Procedure sp_ADMINISTRADOR_Insert
@COD_ADMIN char(5),
@NOM_ADMIN varchar(60),
@APEPAT_ADMIN varchar(60),
@APEMAT_ADMIN varchar(60),
@TEL_ADMIN char(10),
@CEL_ADMIN char(10),
@EMAIL_ADMIN varchar(70),
@DIR_ADMIN varchar(50),
@TIEM_EMP_ADMIN datetime,
@CARGO_ADMIN varchar(60)
As
if exists (select * from ADMINISTRADOR where COD_ADMIN=@COD_ADMIN)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into ADMINISTRADOR
Values
(@COD_ADMIN,@NOM_ADMIN,@APEPAT_ADMIN,@APEMAT_ADMIN,@TEL_ADMIN,@CEL_
ADMIN,@EMAIL_ADMIN,@DIR_ADMIN,@TIEM_EMP_ADMIN,@CARGO_ADMIN)
End
GO
Create Procedure sp_BOLSA_TRA_Insert
@COD_BOLSA char(5),
@NUM_BOLSA char(5),
@DESC_BOLSA varchar(20),
@COD_USUA char(5),
@COD_EMPRESA char(5)
As
if exists (select * from BOLSA_TRA where COD_BOLSA=@COD_BOLSA and
NUM_BOLSA=@NUM_BOLSA)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into BOLSA_TRA
Values
(@COD_BOLSA,@NUM_BOLSA,@DESC_BOLSA,@COD_USUA,@COD_EMPRESA)
End
GO
Create Procedure sp_BOLSA_TRA_PUESTOS_Insert
@COD_BOLSA char(5),
@NUM_BOLSA char(5),
@COD_PUES char(5),
@CANT_PUES int
As
46. if exists (select * from BOLSA_TRA_PUESTOS where
COD_BOLSA=@COD_BOLSA and NUM_BOLSA=@NUM_BOLSA and COD_PUES=@COD_PUES)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into BOLSA_TRA_PUESTOS
Values
(@COD_BOLSA,@NUM_BOLSA,@COD_PUES,@CANT_PUES)
End
GO
Create Procedure sp_DISTRITO_Insert
@COD_DIST char(5),
@COD_PAIS char(5),
@COD_PROV char(5),
@NOM_DIST varchar(20)
As
if exists (select * from DISTRITO where COD_DIST=@COD_DIST and
COD_PAIS=@COD_PAIS and COD_PROV=@COD_PROV)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into DISTRITO
Values
(@COD_DIST,@COD_PAIS,@COD_PROV,@NOM_DIST)
End
GO
Create Procedure sp_EMPRESA_Insert
@COD_EMPRESA char(5),
@NOM_COMER_EMPRESA varchar(60),
@RUC_EMPRESA char(10),
@FAX_EMPRESA char(10),
@DIR_EMPRESA varchar(70),
@TElF_EMPRESA varchar(10),
@WEB_EMPRESA varchar(60),
@EMAIL_EMPRESA varchar(70),
@CAT_EMPRESA varchar(60),
@DESC_EMPRESA varchar(200),
@PRIV_EMPRESA int,
@COD_PAIS char(5),
@COD_PROV char(5),
@COD_DIST char(5),
@RAZON_SOC_EMPRESA varchar(60),
@COD_TIPO char(5),
@SECTOR_DCT_EMPRESA varchar(60),
@FECHA_CREACION_EMPRESA datetime,
@RUBRO_EMPRESA varchar(60),
@NUM_EMP_EMPRESA int,
@VOL_EVENTOS_EMPRESA int,
47. @COD_ADMIN char(5)
As
if exists (select * from EMPRESA where COD_EMPRESA=@COD_EMPRESA)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into EMPRESA
Values
(@COD_EMPRESA,@NOM_COMER_EMPRESA,@RUC_EMPRESA,@FAX_EMPRESA,@DIR_EMP
RESA,@TElF_EMPRESA,@WEB_EMPRESA,@EMAIL_EMPRESA,@CAT_EMPRESA,@DESC_EMPRESA
,@PRIV_EMPRESA,@COD_PAIS,@COD_PROV,@COD_DIST,@RAZON_SOC_EMPRESA,@COD_TIPO
,@SECTOR_DCT_EMPRESA,@FECHA_CREACION_EMPRESA,@RUBRO_EMPRESA,@NUM_EMP_EMPR
ESA,@VOL_EVENTOS_EMPRESA,@COD_ADMIN)
End
GO
Create Procedure sp_EMPRESA_CLIENTE_Insert
@COD_EMPRESA char(5),
@COD_CLIENTE char(5),
@DESC_CLIENTE varchar(30)
As
if exists (select * from EMPRESA_CLIENTE where
COD_EMPRESA=@COD_EMPRESA and COD_CLIENTE=@COD_CLIENTE)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into EMPRESA_CLIENTE
Values
(@COD_EMPRESA,@COD_CLIENTE,@DESC_CLIENTE)
End
GO
Create Procedure sp_EMPRESA_PRODUCTO_Insert
@COD_EMPRESA char(5),
@COD_PROD char(5),
@DESC_PROD varchar(30)
As
if exists (select * from EMPRESA_PRODUCTO where
COD_EMPRESA=@COD_EMPRESA and COD_PROD =@COD_PROD)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into EMPRESA_PRODUCTO
([COD_EMPRESA],[COD_PROD],[DESC_PROD])
Values
(@COD_EMPRESA,@COD_PROD,@DESC_PROD)
48. End
GO
Create Procedure sp_ESTUDIOS_SEC_Insert
@COD_SEC char(5),
@NOM_SEC varchar(20)
As
if exists (select * from ESTUDIOS_SEC where COD_SEC=@COD_SEC)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into ESTUDIOS_SEC
Values
(@COD_SEC,@NOM_SEC)
End
GO
Create Procedure sp_ESTUDIOS_SUP_Insert
@COD_SUP char(5),
@NOM_SUP varchar(20)
As
if exists (select * from ESTUDIOS_SUP where COD_SUP=@COD_SUP)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into ESTUDIOS_SUP
Values
(@COD_SUP,@NOM_SUP)
End
GO
Create Procedure sp_EVENTO_Insert
@COD_EVEN char(5),
@FECH_INI_EVEN datetime,
@HORA_INI_EVEN time,
@FECH_FIN_EVEN datetime,
@HORA_FIN_EVEN time,
@COD_PAIS_EVE char(5),
@DESC_EVEN varchar(200),
@LUGAR_EVEN varchar(50),
@DIREC_EVEN varchar(50),
@MAS_INFO_EVEN varchar(200),
@ACCESIBILIDAD_EVEN char(1),
@COD_USUA_CREA char(5)
As
if exists (select * from EVENTO where COD_EVEN=@COD_EVEN)
begin
Print 'Ya existe ese codigo'
return
49. end
Begin
Insert Into EVENTO
Values
(@COD_EVEN,@FECH_INI_EVEN,@HORA_INI_EVEN,@FECH_FIN_EVEN,@HORA_FIN_E
VEN,@COD_PAIS_EVE,@DESC_EVEN,@LUGAR_EVEN,@DIREC_EVEN,@MAS_INFO_EVEN,@ACCE
SIBILIDAD_EVEN,@COD_USUA_CREA)
End
GO
Create Procedure sp_EVENTO_USUARIO_Insert
@COD_EVEN char(5),
@COD_USUA_INVI char(5)
As
if exists (select * from EVENTO_USUARIO where
COD_EVEN=@COD_EVEN and COD_USUA_INVI=@COD_USUA_INVI)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into EVENTO_USUARIO
Values
(@COD_EVEN,@COD_USUA_INVI)
End
GO
Create Procedure sp_GRUPOS_Insert
@COD_GRUPO char(5),
@NOM_GRUPO varchar(30),
@DESCRIP_GRUPO varchar(200),
@TIP_GRUPO varchar(20),
@COD_USUA char(5),
@NIV_ACC_GRUPO char(1),
@FORO_GRUPO char(1),
@MURO_GRUPO char(1),
@FOTOS_GRUPO char(1),
@VIDEO_GRUPO char(1)
As
if exists (select * from GRUPOS where COD_GRUPO=@COD_GRUPO)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into GRUPOS
Values
(@COD_GRUPO,@NOM_GRUPO,@DESCRIP_GRUPO,@TIP_GRUPO,@COD_USUA,@NIV_ACC
_GRUPO,@FORO_GRUPO,@MURO_GRUPO,@FOTOS_GRUPO,@VIDEO_GRUPO)
End
GO
50. Create Procedure sp_GRUPOS_NOTICIAS_Insert
@COD_GRUPO char(5),
@NUM_NOTICIAS char(5),
@DESC_NOTICIAS varchar(20)
As
if exists (select * from GRUPOS_NOTICIAS where COD_GRUPO=@COD_GRUPO
and NUM_NOTICIAS=@NUM_NOTICIAS)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into GRUPOS_NOTICIAS
Values
(@COD_GRUPO,@NUM_NOTICIAS,@DESC_NOTICIAS)
End
GO
Create Procedure sp_MENSAJE_Insert
@NRO_MENSAJE char(5),
@COD_USUA char(5),
@COD_USUA_DEST char(5),
@FECH_MENSAJE datetime,
@HORA_MENSAJE time,
@MOTIVO_MENSAJE varchar(50),
@DESCRIP_MENSAJE varchar(200)
As
if exists (select * from MENSAJE where NRO_MENSAJE=@NRO_MENSAJE and
COD_USUA=@COD_USUA and COD_USUA_DEST=@COD_USUA_DEST)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into MENSAJE
Values
(@NRO_MENSAJE,@COD_USUA,@COD_USUA_DEST,@FECH_MENSAJE,@HORA_MENSAJE,
@MOTIVO_MENSAJE,@DESCRIP_MENSAJE)
End
GO
Create Procedure sp_NOTAS_Insert
@COD_USUA char(5),
@NRO_NOTA char(5),
@TITULO_NOTA varchar(20),
@OPCION_NOTA char(1),
@FECH_NOTA datetime,
@HORA_NOTAS datetime,
@DESC_NOTAS varchar(200)
As
if exists (select * from NOTAS where COD_USUA=@COD_USUA and
NRO_NOTA=@NRO_NOTA)
begin
Print 'Ya existe ese codigo'
51. return
end
Begin
Insert Into NOTAS
Values
(@COD_USUA,@NRO_NOTA,@TITULO_NOTA,@OPCION_NOTA,@FECH_NOTA,@HORA_NOT
AS,@DESC_NOTAS)
End
GO
Create Procedure sp_NOTIFICACIONES_Insert
@COD_USUA_NOT char(5),
@COD_OPCION char(5),
@ESTADO_NOT int
As
if exists (select * from NOTIFICACIONES where
COD_USUA_NOT=@COD_USUA_NOT and COD_OPCION=@COD_OPCION)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into NOTIFICACIONES
Values
(@COD_USUA_NOT,@COD_OPCION,@ESTADO_NOT)
End
GO
Create Procedure sp_OPCIONES_Insert
@COD CHAR(5),
@COD_OPCION char(5),
@DESC_OPCION varchar(60),
@COD_TIP_NOT char(5)
As
if exists (select * from OPCIONES where COD_OPCION=@COD_OPCION)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into OPCIONES
Values
(@COD,@COD_OPCION,@DESC_OPCION,@COD_TIP_NOT)
End
GO
Create Procedure sp_PAIS_Insert
@COD_PAIS char(5),
@NOM_PAIS varchar(20)
As
if exists (select * from PAIS where COD_PAIS=@COD_PAIS)
begin
Print 'Ya existe ese codigo'
52. return
end
Begin
Insert Into PAIS
Values
(@COD_PAIS,@NOM_PAIS)
End
GO
Create Procedure sp_PROVINCIA_Insert
@COD_PAIS char(5),
@COD_PROV char(5),
@NOM_PROV varchar(20)
As
if exists (select * from PROVINCIA where COD_PAIS=@COD_PAIS and
COD_PROV=@COD_PROV)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into PROVINCIA
Values
(@COD_PAIS,@COD_PROV,@NOM_PROV)
End
GO
Create Procedure sp_PUESTO_Insert
@COD_PUES char(5),
@DESC_PUES varchar(20)
As
if exists (select * from PUESTO where COD_PUES=@COD_PUES)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into PUESTO
Values
(@COD_PUES,@DESC_PUES)
End
GO
Create Procedure sp_SOLICITUD_AMISTAD_Insert
@COD_AMIS char(5),
@FECH_AMIS datetime,
@HORA_AMIS datetime,
@ESTADO_AMIS char(1),
@FEC_RPTA_AMIS datetime,
@HORA_RPTA_AMIS datetime
As
if exists (select * from SOLICITUD_AMISTAD where
COD_AMIS=@COD_AMIS)
53. begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into SOLICITUD_AMISTAD
Values
(@COD_AMIS,@FECH_AMIS,@HORA_AMIS,@ESTADO_AMIS,@FEC_RPTA_AMIS,@HORA_
RPTA_AMIS)
End
GO
Create Procedure sp_TIPO_Insert
@COD_TIPO char(5),
@DESC_TIPO varchar(20)
As
if exists (select * from TIPO where COD_TIPO=@COD_TIPO)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into TIPO
Values
(@COD_TIPO,@DESC_TIPO)
End
GO
Create Procedure sp_TIPONOT_Insert
@COD_TIPO_NOT char(5),
@DESC_TIPO_NOT varchar(60)
As
if exists (select * from TIPONOT where COD_TIPO_NOT=@COD_TIPO_NOT)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into TIPONOT
Values
(@COD_TIPO_NOT,@DESC_TIPO_NOT)
End
GO
Create Procedure sp_TRABAJO_Insert
@COD_TRAB char(5),
@NOM_TRAB varchar(20),
@DIREC_WEB_TRAB varchar(70)
As
if exists (select * from TRABAJO where COD_TRAB=@COD_TRAB)
begin
Print 'Ya existe ese codigo'
return
54. end
Begin
Insert Into TRABAJO
Values
(@COD_TRAB,@NOM_TRAB,@DIREC_WEB_TRAB)
End
GO
Create Procedure sp_USUARIO_Insert
@COD_USUA char(5),
@FEC_INSCRIP datetime,
@NOM_USUA varchar(60),
@APEPAT_USUA varchar(60),
@APEMAT_USUA varchar(60),
@SEXO_USUA char(1),
@FEC_NAC_USUA datetime,
@TELF_USUA int,
@CEL_USUA int,
@COD_PAIS char(5),
@COD_PROV char(5),
@COD_DIST char(5),
@EST_CIV_USUA varchar(60),
@RELIG_USUA varchar(60),
@CANT_HIJOS_USUA int,
@COD_EST_SEC char(5),
@CORREO_USUA varchar(70),
@COD_EST_SUP char(5),
@OCUP_USUA varchar(40),
@COD_TRAB char(5),
@DESCRIP_USUA varchar(200),
@CUEN_USUA varchar(60),
@FAX_USUA int,
@DIREC_USUA varchar(50)
As
if exists (select * from USUARIO where COD_USUA=@COD_USUA)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into USUARIO
Values
(@COD_USUA,@FEC_INSCRIP,@NOM_USUA,@APEPAT_USUA,@APEMAT_USUA,@SEXO_U
SUA,@FEC_NAC_USUA,@TELF_USUA,@CEL_USUA,@COD_PAIS,@COD_PROV,@COD_DIST,@EST
_CIV_USUA,@RELIG_USUA,@CANT_HIJOS_USUA,@COD_EST_SEC,@CORREO_USUA,@COD_EST
_SUP,@OCUP_USUA,@COD_TRAB,@DESCRIP_USUA,@CUEN_USUA,@FAX_USUA,@DIREC_USUA)
End
GO
Create Procedure sp_USUARIO_ACT_Insert
@COD_USUA char(5),
@COD_ACT char(5),
@NOM_ACT varchar(50)
55. As
if exists (select * from USUARIO_ACT where COD_USUA=@COD_USUA and
COD_ACT=@COD_ACT)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into USUARIO_ACT
Values
(@COD_USUA,@COD_ACT,@NOM_ACT)
End
GO
Create Procedure sp_USUARIO_MUSICA_Insert
@COD_USUA char(5),
@COD_MUS char(5),
@NOM_MUS varchar(50)
As
if exists (select * from USUARIO_MUSICA where COD_USUA=@COD_USUA
and COD_MUS=@COD_MUS)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into USUARIO_MUSICA
Values
(@COD_USUA,@COD_MUS,@NOM_MUS)
End
GO
Create Procedure sp_USUARIO_PELI_Insert
@COD_USUA char(5),
@COD_PELI char(5),
@NOM_PELI varchar(50)
As
if exists (select * from USUARIO_PELI where COD_USUA=@COD_USUA and
COD_PELI=@COD_PELI)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into USUARIO_PELI
Values
(@COD_USUA,@COD_PELI,@NOM_PELI)
End
GO
Create Procedure sp_USUARIO_TV_Insert
@COD_USUA char(5),
@COD_TV char(5),
@NOM_TV varchar(50)
56. As
if exists (select * from USUARIO_TV where COD_USUA=@COD_USUA and
COD_TV=@NOM_TV)
begin
Print 'Ya existe ese codigo'
return
end
Begin
Insert Into USUARIO_TV
Values
(@COD_USUA,@COD_TV,@NOM_TV)
End
GO
--VISTAS
--VISTA QUE FILTRA LAS EMPRESAS CON PRODUCTOS QUE EMPIECEN CON P O T
MOSTRANDO ADEMAS EL CLIENTE
CREATE VIEW V_PTEMPRESA AS
SELECT E.COD_EMPRESA AS 'CODIGO', E.DESC_EMPRESA AS
'DESCRIPCION',E.DIR_EMPRESA AS 'DIRECCION',E.FAX_EMPRESA AS
'FAX',EP.DESC_PROD AS 'PRODUCTO O SERVICIO'
FROM EMPRESA E INNER JOIN EMPRESA_PRODUCTO EP
ON E.COD_EMPRESA=EP.COD_EMPRESA
WHERE E.COD_EMPRESA IN (SELECT COD_EMPRESA
FROM EMPRESA_PRODUCTO
WHERE DESC_PROD LIKE '[P,T]%')
GO
select * from V_PTEMPRESA
go
--VISTA QUE MUESTRA ALGUNAS PREFERENCIAS O INTERESES DE LOS USUARIOS
CREATE VIEW PREFERENCIAS AS
SELECT U.COD_USUA,U.NOM_USUA+' '+U.APEPAT_USUA AS 'NOMBRE DE USUARIO',
UP.NOM_PELI AS 'PELICULA', UT.NOM_TV AS 'TELE'
FROM USUARIO U INNER JOIN USUARIO_PELI UP
ON U.COD_USUA=UP.COD_USUA INNER JOIN USUARIO_TV UT
ON U.COD_USUA=UT.COD_USUA
WHERE YEAR(FEC_NAC_USUA) BETWEEN 1989 AND 1990 AND SEXO_USUA='F'
GO
select * from PREFERENCIAS
go
--VISTA QUE MUESTRA LA CANTIDAD DE USUARIOS INSCRITOS POR MES EN CADA AÑO
CREATE VIEW INSCRITOS_MES AS
SELECT YEAR(U.FEC_INSCRIP) AS AÑO, DATENAME(MONTH,U.FEC_INSCRIP) AS MES,
COUNT(U.COD_USUA) 'CANTIDAD DE INSCRITOS', G.NOM_GRUPO AS GRUPO,
D.NOM_DIST AS DISTRITO
FROM USUARIO U INNER JOIN GRUPOS G
ON U.COD_USUA=G.COD_USUA
INNER JOIN DISTRITO D
ON U.COD_DIST = D.COD_DIST
GROUP BY YEAR(U.FEC_INSCRIP), DATENAME(MONTH,U.FEC_INSCRIP),G.NOM_GRUPO,
D.NOM_DIST
GO
select * from INSCRITOS_MES
go
57. --VISTA QUE MUESTRA LOS EVENTOS FUTUROS DE LOS USUARIO QUE LOS TENGAN (A
PARTIR DE MAÑANA), JUNTO CON SUS DATOS PERSONALES, LA FECHA Y HORA DEL
INICIO Y FIN,
--CON LA DESCRIPCION DEL EVENTO, EL LUGAR A REALIZARSE CON DIRECCIÓN, ASI
COMO LA CANTIDAD DE INVITADOS.
CREATE VIEW EVENTOS_USUARIO AS
SELECT E.COD_USUA_CREA AS 'CODIGO DEL USUARIO',U.NOM_USUA+'
'+U.APEPAT_USUA AS 'USUARIO CREADOR',
E.COD_EVEN AS 'CODIGO DEL EVENTO',E.DESC_EVEN AS 'DESCRIPCION DEL
EVENTO',E.FECH_INI_EVEN AS 'FECHA DE INICIO',
E.HORA_INI_EVEN AS 'HORA DE INICIO',E.FECH_FIN_EVEN AS 'FECHA DE
FINALIZACION',
E.HORA_FIN_EVEN AS 'HORA DE FINALIZACION',E.LUGAR_EVEN 'LUGAR A
REALIZARSE',E.DIREC_EVEN AS 'DIRECCION',
COUNT(EU.COD_USUA_INVI) AS 'CANTIDAD DE INVITADOS'
FROM EVENTO AS E INNER JOIN USUARIO AS U
ON E.COD_USUA_CREA=U.COD_USUA
INNER JOIN EVENTO_USUARIO AS EU
ON E.COD_EVEN=EU.COD_EVEN
WHERE E.COD_USUA_CREA IS NOT NULL AND E.FECH_INI_EVEN>GETDATE()
GROUP BY
E.COD_USUA_CREA,U.NOM_USUA,E.COD_EVEN,E.DESC_EVEN,E.FECH_INI_EVEN,E.HORA_
INI_EVEN,
E.FECH_FIN_EVEN,E.HORA_FIN_EVEN,E.LUGAR_EVEN,E.DIREC_EVEN,U.APEPAT_USUA
GO
select * from EVENTOS_USUARIO
go
--VISTA QUE MUESTRA LAS NOTIFICACIONES INACTIVAS DEL USUARIO CON DETALLE
CREATE VIEW NOTIFICACIONESINACTIVAS AS
SELECT U.COD_USUA AS 'CODIGO DEL
USUARIO',U.NOM_USUA+''+U.APEPAT_USUA+''+U.APEMAT_USUA AS 'NOMBRE DEL
USUARIO',
O.DESC_OPCION AS 'OPCION',N.ESTADO_NOT AS 'ESTADO'
FROM USUARIO U
INNER JOIN NOTIFICACIONES N
ON U.COD_USUA=N.COD_USUA_NOT
INNER JOIN OPCIONES AS O
ON N.COD_OPCION=O.COD_OPCION
WHERE N.ESTADO_NOT='0' AND U.COD_USUA IS NOT NULL
GO
--VISTA QUE MUESTRA LAS NOTIFICACIONES ACTIVAS DEL USUARIO CON DETALLE
CREATE VIEW NOTIFICACIONESACTIVAS AS
SELECT U.COD_USUA AS 'CODIGO DEL
USUARIO',U.NOM_USUA+''+U.APEPAT_USUA+''+U.APEMAT_USUA AS 'NOMBRE DEL
USUARIO',
O.DESC_OPCION AS 'OPCION',N.ESTADO_NOT AS 'ESTADO'
FROM USUARIO U
INNER JOIN NOTIFICACIONES N
ON U.COD_USUA=N.COD_USUA_NOT
INNER JOIN OPCIONES AS O
ON N.COD_OPCION=O.COD_OPCION
WHERE N.ESTADO_NOT='1' AND U.COD_USUA IS NOT NULL
GO
select * from NOTIFICACIONESINACTIVAS
order by 'codigo del usuario'
58. go
--FUNCIONES
--FUNCION QUE MUESTRA LA DESCRIPCION DEL PRODUCTO QUE SE MANDA POR
PARAMETRO
CREATE FUNCTION DBO.DATOSEMPPROD (@COD CHAR(5))
RETURNS VARCHAR (100)
AS
BEGIN
IF @COD IS NULL OR @COD=''
BEGIN
RETURN 'DEBE INGRESAR UN CODIGO DE PRODUCTO'
END
IF NOT EXISTS (SELECT*FROM EMPRESA_PRODUCTO WHERE COD_PROD=@COD)
BEGIN
RETURN 'NO EXISTEN REGISTROS QUE COINCIDAN CON EL CODIGO
INGRESADO'
END
DECLARE @RESULT VARCHAR (100)
SELECT @RESULT=COD_PROD+' '+DESC_PROD+' '
FROM DBO.EMPRESA_PRODUCTO WHERE COD_PROD=@COD
RETURN @RESULT
END
go
select dbo.DATOSEMPPROD('PR001') as 'Producto'
go
--FUNCION QUE OTORGA PUNTOS A LOS USUARIOS CON HIJOS
CREATE FUNCTION DBO.PUNTOS_USUARIO_HIJOS (@COD_USUA VARCHAR(5), @FACTOR
INT)
RETURNS VARCHAR(60)
AS
BEGIN
IF @COD_USUA IS NULL OR @COD_USUA=''
BEGIN
RETURN 'DEBE INGRESAR UN CODIGO DE USUARIO PARA PODER
CALCULAR LOS PUNTOS'
END
IF @FACTOR IS NULL OR @FACTOR=''
BEGIN
RETURN 'DEBE INGRESAR UN FACTOR PARA PODER CALCULAR LOS
PUNTOS'
END
IF (SELECT CANT_HIJOS_USUA FROM USUARIO WHERE COD_USUA=@COD_USUA) IS NULL
BEGIN
RETURN 'EL USUARIO INGRESADO NO TIENE HIJOS'
END
DECLARE @RESULT VARCHAR(60)
DECLARE @QRY INTEGER
SET @QRY=(SELECT CANT_HIJOS_USUA FROM USUARIO WHERE COD_USUA=@COD_USUA)
SELECT @RESULT='EL USUARIO HA GANADO:
'+CONVERT(VARCHAR(6),@QRY*@FACTOR)+' PUNTOS!!!'
RETURN @RESULT
END
go
59. select dbo.PUNTOS_USUARIO_HIJOS('US005','3')
GO
--FUNCION QUE NOS INFORMA SI UNA EMPRESA ES GRANDE O PEQUEÑA POR LA
CANTIDAD
--DE EMPLEADOS QUE TIENE
CREATE FUNCTION DBO.TAMANO_EMPRESA (@COD_EMPRESA VARCHAR(5))
RETURNS VARCHAR(60)
AS
BEGIN
IF @COD_EMPRESA IS NULL OR @COD_EMPRESA=''
BEGIN
RETURN 'DEBE INGRESAR UN CODIGO DE EMPRESA'
END
DECLARE @RESULT VARCHAR(60)
DECLARE @NOM VARCHAR(60)
DECLARE @QRY INT
DECLARE @TAMANO VARCHAR(60)
SET @QRY=(SELECT NUM_EMP_EMPRESA FROM EMPRESA WHERE
COD_EMPRESA=@COD_EMPRESA)
SET @TAMANO =
CASE
WHEN @QRY>=100 THEN ' ES UNA GRAN EMPRESA'
WHEN @QRY>=50 AND @QRY<100 THEN ' ES UNA MEDIANA EMPRESA'
WHEN @QRY<50 THEN ' ES UNA PEQUEÑA EMPRESA'
END
SET @NOM=(SELECT NOM_COMER_EMPRESA FROM EMPRESA WHERE
COD_EMPRESA=@COD_EMPRESA)
SELECT @RESULT=''+@NOM + @TAMANO
RETURN @RESULT
END
go
--TRIGGERS
--DESENCADENADOR QUE NO PERMITE EL REGISTRO DEL USUARIO JONATHAN ABANTO
POR
--ESTAR BLOQUEADO EN CIBERFREND
CREATE TRIGGER USUARIOBANEADO
ON USUARIO
FOR INSERT
AS
DECLARE @CHK CHAR(5)
SELECT @CHK=COD_USUA FROM INSERTED
DECLARE @NOM_USUA VARCHAR(60)
DECLARE @APEPAT_USUA VARCHAR(60)
DECLARE @APEMAT_USUA VARCHAR(60)
SELECT @NOM_USUA=NOM_USUA FROM USUARIO WHERE
COD_USUA=@CHK
SELECT @APEPAT_USUA=APEPAT_USUA FROM USUARIO WHERE
COD_USUA=@CHK
SELECT @APEMAT_USUA=APEMAT_USUA FROM USUARIO WHERE
60. COD_USUA=@CHK
IF @NOM_USUA='JONATHAN' AND @APEPAT_USUA='ABANTO'
BEGIN
ROLLBACK TRANSACTION
PRINT 'JONATHAN ABANTO HA SIDO BANEADO Y NO PUEDE SER REGISTRADO'
RETURN
END
ELSE
BEGIN
PRINT 'REGISTRO SE INSERTO CON EXITO'
END
GO
--DESENCADENADOR QUE NOS INFORMA QUE UTILIZA LA FUNCION DE TAMAÑO
--PARA INFORMARNOS CADA VEZ QUE CREAMOS UNA EMPRESA
CREATE TRIGGER LLAMA_TAMANO_EMPRESA
ON EMPRESA
FOR INSERT
AS
DECLARE @COD_EMPRESA CHAR(5)
SELECT @COD_EMPRESA=COD_EMPRESA FROM INSERTED
--LLAMAMOS A LA FUNCION QUE VERIFICA EL TAMAÑO DE LA EMPRESA
SELECT DBO.TAMANO_EMPRESA (@COD_EMPRESA) AS 'TAMAÑO DE LA EMPRESA'
GO
--TRIGGER QUE INFORMA CON EL MENSAJE "ME GUSTA!" SI EL MOTIVO DEL MENSAJE
--ES "TE EXTRAÑO"
CREATE TRIGGER MEGUSTA
ON MENSAJE
FOR INSERT
AS
DECLARE @COD_USUA CHAR(5)
DECLARE @MOTIVO VARCHAR(10)
SELECT @COD_USUA=COD_USUA FROM INSERTED
--SI EL MOTIVO DEL MENSAJE ES "TE EXTRAÑO", SE MUESTRA "ME GUSTA"
SELECT @MOTIVO=MOTIVO_MENSAJE FROM MENSAJE WHERE COD_USUA =
@COD_USUA
IF @MOTIVO= 'TE EXTRAÑO'
BEGIN
PRINT 'ME GUSTA!'
END
GO
--INSERCION DE LOS REGISTROS
--PAIS
execute sp_PAIS_Insert 'PA001','PERU'
execute sp_PAIS_Insert 'PA002','ARGENTINA'
execute sp_PAIS_Insert 'PA003','COLOMBIA'
execute sp_PAIS_Insert 'PA004','BRASIL'
execute sp_PAIS_Insert 'PA005','ECUADOR'
execute sp_PAIS_Insert 'PA006','BOLIVIA'
execute sp_PAIS_Insert 'PA007','EE.UU'
execute sp_PAIS_Insert 'PA008','CHILE'
execute sp_PAIS_Insert 'PA009','HONDURAS'
61. execute sp_PAIS_Insert 'PA010','MEXICO'
--PROVINCIA
execute sp_PROVINCIA_Insert 'PA001','PR001','LIMA'
execute sp_PROVINCIA_Insert 'PA001','PR002','CAÑETE'
execute sp_PROVINCIA_Insert 'PA001','PR003','CANTA'
execute sp_PROVINCIA_Insert 'PA001','PR004','HUARAZ'
execute sp_PROVINCIA_Insert 'PA002','PR005','BUENOS AIRES'
execute sp_PROVINCIA_Insert 'PA002','PR006','SANTA FE DE BOGOTA'
execute sp_PROVINCIA_Insert 'PA004','PR007','SAO PAULO'
execute sp_PROVINCIA_Insert 'PA007','PR008','NEW YORK'
execute sp_PROVINCIA_Insert 'PA008','PR009','SANTIAGO'
execute sp_PROVINCIA_Insert 'PA010','PR010','TABASCO'
--DISTRITO
execute sp_DISTRITO_Insert 'DI001','PA001','PR001','SAN ISIDRO'
execute sp_DISTRITO_Insert 'DI002','PA001','PR002','SAN VICENTE'
execute sp_DISTRITO_Insert 'DI003','PA001','PR003','SANTA ROSA DE QUIVES'
execute sp_DISTRITO_Insert 'DI004','PA001','PR004','INDEPENDENCIA'
execute sp_DISTRITO_Insert 'DI005','PA002','PR005','LA PLATA'
execute sp_DISTRITO_Insert 'DI006','PA002','PR006','ESPERANZA'
execute sp_DISTRITO_Insert 'DI007','PA004','PR007','SAN JUAN'
execute sp_DISTRITO_Insert 'DI008','PA007','PR008','BROCKLYN'
execute sp_DISTRITO_Insert 'DI009','PA008','PR009','TARAPACA'
execute sp_DISTRITO_Insert 'DI010','PA010','PR010','JONUTA'
--ESTUDIOS SECUNDARIOS
execute sp_ESTUDIOS_SEC_Insert 'ES001','BARTOLOME HERRERA'
execute sp_ESTUDIOS_SEC_Insert 'ES002','ANDRES BELLO'
execute sp_ESTUDIOS_SEC_Insert 'ES003','SAN FRANCISCO JAVIER'
execute sp_ESTUDIOS_SEC_Insert 'ES004','ROSARIO DE FATIMA'
execute sp_ESTUDIOS_SEC_Insert 'ES005','NUESTRA SEÑORA DE FATIMA'
execute sp_ESTUDIOS_SEC_Insert 'ES006','PATROCINIO DE SAN JOSE'
execute sp_ESTUDIOS_SEC_Insert 'ES007','SAN AGUSTIN'
execute sp_ESTUDIOS_SEC_Insert 'ES008','ROSA DE SANTA MARIA'
execute sp_ESTUDIOS_SEC_Insert 'ES009','SIMON BOLIVAR'
execute sp_ESTUDIOS_SEC_Insert 'ES010','HEROES DEL PACIFICO'
--ESTUDIOS SUPERIORES
execute sp_ESTUDIOS_SUP_Insert 'SU001','UNIVERSIDAD SAN MARTIN '
execute sp_ESTUDIOS_SUP_Insert 'SU002','INSTITUO CIBERTEC'
execute sp_ESTUDIOS_SUP_Insert 'SU003','UNIVERSIDAD PERUANA DE CIENCIAS
APLICADAS'
execute sp_ESTUDIOS_SUP_Insert 'SU004','UNIVERSIDAD MAYOR DE SAN MARCOS'
execute sp_ESTUDIOS_SUP_Insert 'SU005','INSTUTO ADEX'
execute sp_ESTUDIOS_SUP_Insert 'SU006','UNIVERSIDAD EL PACIFICO'
execute sp_ESTUDIOS_SUP_Insert 'SU007','PONTIFICIA UNIVERSIDAD CATOLICA
DEL PERU'
execute sp_ESTUDIOS_SUP_Insert 'SU008','INSTITUTO DE FORMACION BANCARIA'
execute sp_ESTUDIOS_SUP_Insert 'SU009','UNIVERSIDAD SAN IGNACIO DE OYOLA'
execute sp_ESTUDIOS_SUP_Insert 'SU010','INSTITUO DGALIA'
--TRABAJO
execute sp_TRABAJO_Insert 'TR001','CENTRO COMERCIAL
METRO','WWW.METRO.COM'
62. execute sp_TRABAJO_Insert 'TR002','CALL CENTER','WWW.CALLCENTER.COM'
execute sp_TRABAJO_Insert 'TR003',' BANCO INTERBANK','WWW.INTERBANK.COM'
execute sp_TRABAJO_Insert 'TR004','BRIANI','WWW.BRIANI.COM'
execute sp_TRABAJO_Insert 'TR005','GALERIA CHAVELA','WWW.CHAVELA.COM'
execute sp_TRABAJO_Insert 'TR006','CENTRO COMERCIAL PLAZA
VEA','WWW.PLAZAVEA.COM'
execute sp_TRABAJO_Insert 'TR007','MUNICIPALIDAD DE SAN
ISIDRO','WWW.SANISIDRO.COM'
execute sp_TRABAJO_Insert 'TR008','BANCO CENTRAL DEL PERU','WWW.BCP.COM'
execute sp_TRABAJO_Insert 'TR009','MERCANTEC','WWW.MERCANTEC.COM'
execute sp_TRABAJO_Insert 'TR010','SUPERINTENDENCIA DE BANCA ,SEGUROS Y
AFP','WWW.SBS.COM'
--TIPOS DE EMPRESA
execute sp_TIPO_Insert 'TI001','INDUSTRIAL DE PRODUCCION'
execute sp_TIPO_Insert 'TI002','COMERCIAL MAYORISTA'
execute sp_TIPO_Insert 'TI003','SERVICIO TURISTICO'
execute sp_TIPO_Insert 'TI004','COMERCIAL MINORISTA'
execute sp_TIPO_Insert 'TI005','INDUSTRIAL DE CONSUMO '
execute sp_TIPO_Insert 'TI006','SERVICIO DE TRANSPORTE '
execute sp_TIPO_Insert 'TI007','SERVICIO DE EDUCACION'
execute sp_TIPO_Insert 'TI008','SERVICIO DE TURISMO'
execute sp_TIPO_Insert 'TI009','SERVICIO PRIVADOS'
execute sp_TIPO_Insert 'TI010','INSTITUCIONES FINANCIERAS'
set dateformat dmy
go
--ADMINISTRADOR
execute sp_ADMINISTRADOR_Insert
'AD001','JULIO','CAVERO','MONTENEGRO','5963286','998744686','JULIO@ADMIN.
COM','LOS ALISOS #348','02/06/2000','DIRECTOR GENERAL'
execute sp_ADMINISTRADOR_Insert 'AD002','LUCIA','PEREZ','DE LA
CRUZ','4585269','951654892','LUCIA@ADMIN.COM','JR.UCAYALI
#152','15/10/2002','SUPERVISOR DE AREA'
execute sp_ADMINISTRADOR_Insert
'AD003','RENY','REYNOSO','GRANADOS','4785961','901230177','RENY@ADMIN.COM
','RESIDENCIAL LOS OLIVSO 2589','06/12/2004','AUXILIAR ADMINISTRATIVO'
execute sp_ADMINISTRADOR_Insert
'AD004','FRAN','MORENO','RUIZ','4785962','958632447','FRAN@ADMIN.COM','AV
.ARGENTINA 5896','01/10/2000','DIRECTOR GENERAL'
execute sp_ADMINISTRADOR_Insert 'AD005','MARIANA','RODRIGUEZ','DE LA
COLINA','7859966','925999963','MARIANA@ADMIN.COM','AV.PRIMAVERA
1475','11/09/2005','ASISTENTE DE AREA'
execute sp_ADMINISTRADOR_Insert
'AD006','ALBERTO','CIPRIANI','MARIN','4785233','999856625','ALBERTO@ADMIN
.COM','JR.LAS MAGNOLIAS 1452','23/10/2010','SUPERVISOR DE ADMINISTRATIVO'
execute sp_ADMINISTRADOR_Insert
'AD007','ROSSANA','ESTICA','MONTENEGRO','7785965','958963321','ROSSANA@AD
MIN.COM','AV.COLONIAL 965','25/11/2001','DIRECTOR GENERAL'
execute sp_ADMINISTRADOR_Insert
'AD008','ANDREA','CABREJOS','RODRIGUEZ','4785966','988889665','ANDREA@ADM
IN.COM','AV.ALFO0NSO UGARTE 1009','05/12/2006','ASISTENTE DE AREA'
execute sp_ADMINISTRADOR_Insert
'AD009','RODRIGO','CARDENAS','DIAS','3225633','978965223','RODRIGO@ADMIN.
COM','SANTA ROSA #485','16/03/2004','SUPERVISOR DE AREA'
63. execute sp_ADMINISTRADOR_Insert
'AD010','MONICA','FELIX','BALLON','4852215','901201203','MONICA@ADMIN.COM
','LIBERTADORES #123','14/04/2002','ASISTENTE DE AREA'
--EMPRESAS
execute sp_EMPRESA_Insert
'EM001','BACKUS','4785215691','4785963256','AV.INDUSTRIAL CDR
748','4785269','WWW.BACKUS.COM','BACKUS.@EMAIL.COM','COMERCIAL','PRODUCCI
ON DE BEBIDAS',1,'PA001','PR002','DI002','FUNDACION
BACKUS','TI002','SECUNDARIO','04/02/2000','COMERCIAL',100,10,'AD003'
execute sp_EMPRESA_Insert
'EM002','TOSHIBA','1478523695','5896478521','ALAMEDAS
4852','5896321','WWW.TOSHIBA.COM','TOSHIBA.@EMAIL.COM','COMERCIAL','FABRI
CACION DE
COMPUTADORAS',0,'PA002','PR006','DI006','TOSHIBA!','TI002','SERVICIO','12
/12/2003','COMERCIAL',41,5,'AD004'
execute sp_EMPRESA_Insert 'EM003','MOSQUITA
MUERTA','1478523123','859632147','AV.LOS ANGELES
478','5963281','WWW.MOSQUITA.COM','MOSQUITA.@EMAIL.COM','COMERCIAL','VENT
A DE PRENDAS DE VESTIR',1,'PA007','PR008','DI008','FUNDACION
MOSQUITA','TI004','SERVICIO','20/09/2005','COMERCIAL',21,26,'AD006'
execute sp_EMPRESA_Insert 'EM004','VIAJES
WORLD','1478523698','5896478596','AV.INDUSTRIAL CDR
748','4785269','WWW.BACKUS.COM','BACKUS.@EMAIL.COM','COMERCIAL','PRODUCCI
ON DE BEBIDAS',1,'PA001','PR002','DI002','FUNDACION
BACKUS','TI002','SECUNDARIO','04/02/2000','COMERCIAL',78,12,'AD008'
execute sp_EMPRESA_Insert
'EM005','USMP','4785469325','5896234785','AV.LAMOLINA
1452','3652336','WWW.SMP.COM','SMP.@EMAIL.COM','SERVICIOS','ESTUDIOS
SUPERIORES',1,'PA002','PR006','DI006','UNIVERSIDAD
SMP','TI002','SERVICIOS','08/11/2001','COMERCIAL',31,11,'AD002'
execute sp_EMPRESA_Insert 'EM006','BANCO DEL
PERU','9658963214','3256478596','LAS ALAMEDAS
145','8965263','WWW.BCP.COM','BCP.@EMAIL.COM','INSTITUCION
FINANCIERA','CREDITOS PERU',1,'PA001','PR003','DI003','BANCO DEL
PERU','TI010','SERVICIOS','12/02/2006','FINANCIERO',57,01,'AD001'
execute sp_EMPRESA_Insert
'EM007','CYZONE','9876542345','8546952112','AV.LAS FLORES
4852','5896256','WWW.CYZONE.COM','CYZONE.@EMAIL.COM','COMERCIAL','VENTA
DE COSMETICOS',0,'PA004','PR007','DI007','CATALOGO
CYZONE','TI004','SERVICIOS','17/01/2005','COMERCIAL',96,13,'AD002'
execute sp_EMPRESA_Insert
'EM008','BEMBOS','5555588869','2589632236','JR.SANTA ROSA
563','7895641','WWW.BEMBOS.COM','BEMBOS.@EMAIL.COM','COMERCIAL','VENTA DE
HAMBURGUESAS',1,'PA004','PR007','DI007','BEMBOS','TI005','SERVICIOS','19/
09/2002','INDUSTRIAL',103,09,'AD004'
execute sp_EMPRESA_Insert
'EM009','METRO','5896222365','4452632668','AV.ALISOS
456','3214569','WWW.METRO.COM','METRO.@EMAIL.COM','COMERCIAL','VENTA DE
PRODUCTOS ',1,'PA007','PR008','DI008','CENTRO COMERCIAL
METRO','TI005','SERVICIOS','25/03/2010','INDUSTRIAL',25,18,'AD010'
execute sp_EMPRESA_Insert
'EM010','TOTTUS','2145236541','7778542365','AV.PERU
123','7896321','WWW.TOTTUS.COM','TOTTUS.@EMAIL.COM','COMERCIAL','VENTA DE
69. EXECUTE sp_NOTAS_Insert 'US009','NO001','QUIERO
LLORAR',1,'19/12/2007','2:50','MOMENTOS'
EXECUTE sp_NOTAS_Insert 'US008','NO001',' EL LUNES TE
VEO',1,'17/11/2004','8:45','SOLO POR UN BESO'
EXECUTE sp_NOTAS_Insert 'US007','NO001','OTRA
COSA',1,'23/10/2005','9:00','SIN MIEDO A NADA'
EXECUTE sp_NOTAS_Insert
'US006','NO001','DEPRESION',1,'12/08/2009','10:00','SIN VOLUNTAD'
EXECUTE sp_NOTAS_Insert
'US010','NO001','MELANCOLIA',1,'02/09/2007','1:00','SIN CARIÑO'
--NOTIFICACIONES
EXECUTE sp_NOTIFICACIONES_Insert 'US001','OP001',1
EXECUTE sp_NOTIFICACIONES_Insert 'US002','OP002',1
EXECUTE sp_NOTIFICACIONES_Insert 'US003','OP003',1
EXECUTE sp_NOTIFICACIONES_Insert 'US004','OP004',1
EXECUTE sp_NOTIFICACIONES_Insert 'US005','OP005',1
EXECUTE sp_NOTIFICACIONES_Insert 'US006','OP006',1
EXECUTE sp_NOTIFICACIONES_Insert 'US007','OP007',1
EXECUTE sp_NOTIFICACIONES_Insert 'US008','OP008',1
EXECUTE sp_NOTIFICACIONES_Insert 'US009','OP009',1
EXECUTE sp_NOTIFICACIONES_Insert 'US010','OP001',1
--MENSAJE
EXECUTE sp_MENSAJE_Insert
'ME001','US001','US002','05/10/2010','5:00','SALUDOS','OLA AMIGA ESPERO
QUE ESTE BIEN :'
EXECUTE sp_MENSAJE_Insert
'ME001','US002','US003','15/09/2010','4:30','URGENTE','QUIERO HABLAR
CONTIGO URGENTE LLAMAME '
EXECUTE sp_MENSAJE_Insert 'ME001','US003','US004','22/05/2010','3:00','TE
EXTRAÑO',' EXTRAÑO TU COMPAÑIA:'
EXECUTE sp_MENSAJE_Insert
'ME001','US004','US005','14/04/2010','2:20','SALUDOS',' OLA ESPEOR QUE
ESTE BIEN'
EXECUTE sp_MENSAJE_Insert
'ME001','US005','US006','20/08/2010','5:45','URGENTE','SALUDA A JULIO DE
MI PARTE'
EXECUTE sp_MENSAJE_Insert
'ME001','US006','US007','07/11/2010','9:10','ESTUDIA','ESTUDIA!'
EXECUTE sp_MENSAJE_Insert
'ME001','US007','US008','19/12/2010','10:20','URGENTE','CONECTATE EN EL
MSN'
EXECUTE sp_MENSAJE_Insert
'ME001','US008','US009','13/06/2010','12:00','URGENTE','MAÑANA NO PODRE
IR'
EXECUTE sp_MENSAJE_Insert
'ME001','US009','US010','25/02/2010','1:00','AVISO','YA TERMINE EL
PROYECTO QUE ME PEDISTE'
EXECUTE sp_MENSAJE_Insert
'ME001','US010','US001','15/01/2010','8:30','SALUDOS','CUIDA A TU
FAMILIA'
--EVENTO
EXECUTE sp_EVENTO_Insert
'EV001','23/12/2010','4:00','05/01/2011','4:00','PA001','GRAN CAMPAMENTO
70. POR FIESTAS NAVIDEÑAS','CLUB ARRAYANES','AV.ARRAYANES 2548','LLEGAR
PUNTUAL',0,'US001'
EXECUTE sp_EVENTO_Insert
'EV002','12/10/2001','6:00','15/10/2001','2:00','PA001','ESTUDIAR PARA
FINALES','CASA DE MARIA','SMP 589','LLEGAR PUNTUAL',1,'US004'
EXECUTE sp_EVENTO_Insert
'EV003','20/09/2002','3:30','21/09/2002','7:00','PA001','PROYECTO DE
BASE','CASA DE MARTA','AV.NARANJAL152','LLEGAR PUNTUAL',0,'US010'
EXECUTE sp_EVENTO_Insert
'EV004','05/11/2009','2:20','05/11/2009','4:00','PA007','CAMPEONATO
RELAMPAGO','STK PALMERAS','AV.PALMERAS 589','LLEGAR PUNTUAL',0,'US007'
EXECUTE sp_EVENTO_Insert
'EV005','25/02/2011','9:00','26/02/2011','6:00','PA010','FIESTA FIN DE
CICLO','DISCOTECA DUBAL','MIRAFLORES 458','LLEGAR PUNTUAL',0,'US002'
EXECUTE sp_EVENTO_Insert
'EV006','07/09/2008','8:00','08/09/2008','4:00','PA007','RECUPERACION DE
CLASE','CIBERTEC','AV.SALAVERRY 2225','LLEGAR PUNTUAL',0,'US003'
EXECUTE sp_EVENTO_Insert
'EV007','23/12/2006','5:00','23/12/2006','8:00','PA001','TARDE
DEPORTIVA','IPD','AV.HUANDOY 1452','LLEGAR PUNTUAL',0,'US005'
EXECUTE sp_EVENTO_Insert
'EV008','18/06/2010','4:00','18/06/2010','8:00','PA001','REUNION DE PROMO
','MAGDONALS','MEGAPLAZA','LLEGAR PUNTUAL',0,'US006'
EXECUTE sp_EVENTO_Insert
'EV009','13/03/2010','1:00','14/03/2010','4:00','PA001','FIESTA DE
REENCUENTRO ','CLUB BABILONIA','AV.PALMERAS 1526','LLEGAR
PUNTUAL',0,'US008'
EXECUTE sp_EVENTO_Insert
'EV010','11/07/2010','3:00','12/08/2010','4:00','PA001','DESPEDIDA DE
CARLA','CASA DE ESTEBAN','AV.COLONIAL 4523','LLEGAR PUNTUAL',0,'US009'
----EVENTO USUARIO
EXECUTE sp_EVENTO_USUARIO_Insert 'EV001','US002'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV002','US005'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV003','US006'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV004','US008'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV005','US001'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV006','US004'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV007','US009'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV008','US010'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV009','US003'
EXECUTE sp_EVENTO_USUARIO_Insert 'EV010','US007'
SELECT * FROM dbo.ADMINISTRADOR
SELECT * FROM dbo.BOLSA_TRA
SELECT * FROM dbo.BOLSA_TRA_PUESTOS
SELECT * FROM dbo.DISTRITO
SELECT * FROM dbo.EMPRESA
SELECT * FROM dbo.EMPRESA_CLIENTE
SELECT * FROM dbo.EMPRESA_PRODUCTO
SELECT * FROM dbo.ESTUDIOS_SEC
SELECT * FROM dbo.ESTUDIOS_SUP
SELECT * FROM dbo.EVENTO
SELECT * FROM dbo.EVENTO_USUARIO
SELECT * FROM dbo.GRUPOS
SELECT * FROM dbo.GRUPOS_NOTICIAS
SELECT * FROM dbo.MENSAJE
71. SELECT * FROM dbo.NOTAS
SELECT * FROM dbo.NOTIFICACIONES
SELECT * FROM dbo.OPCIONES
SELECT * FROM dbo.PAIS
SELECT * FROM dbo.PROVINCIA
SELECT * FROM dbo.PUESTO
SELECT * FROM dbo.SOLICITUD_AMISTAD
SELECT * FROM dbo.TIPO
SELECT * FROM dbo.TIPONOT
SELECT * FROM dbo.TRABAJO
SELECT * FROM dbo.USUARIO
SELECT * FROM dbo.USUARIO_ACT
SELECT * FROM dbo.USUARIO_MUSICA
SELECT * FROM dbo.USUARIO_PELI
SELECT * FROM dbo.USUARIO_TV
SELECT DBO.PUNTOS_USUARIO_HIJOS ('US005',5) AS 'PUNTOS OBTENIDOS'
GO
SELECT * FROM MENSAJE
go
--////////////////
--MEJORA DEL PROYECTO
--FUNCION QUE VERIFICA SI HAY PREFERENCIAS DE UN DETERMINADO USUARIO
CREATE PROCEDURE DETALLE_USUARIO @cod char(5)
as
SELECT U.APEPAT_USUA AS 'APELLIDO PATERNO',U.APEMAT_USUA AS
'APELLIDO MATERNO', U.NOM_USUA AS 'NOMBRE',
D.COD_PAIS AS 'PAIS',D.COD_PROV AS 'PROVINCIA',D.COD_DIST AS
'DISTRITO',
U.SEXO_USUA AS 'SEXO',U.FEC_NAC_USUA AS 'FECHA DE
NACIMIENTO',U.TELF_USUA AS 'TELEFONO',U.FAX_USUA AS 'FAX',
U.CEL_USUA 'CELULAR',U.EST_CIV_USUA 'ESTADO CIVIL',U.RELIG_USUA AS
'RELIGION',U.CANT_HIJOS_USUA AS 'CANTIDAD DE HIJOS',
ES.COD_SEC AS 'ESTUDIOS SECUNDARIOS',EP.COD_SUP AS 'ESTUDIOS
SUPERIORES',U.CORREO_USUA AS 'CORREO',
U.OCUP_USUA AS 'OCUPACION',T.NOM_TRAB AS 'TRABAJO',U.DESCRIP_USUA
AS 'DESCRIPCION DEL USUARIO',
U.DIREC_USUA AS 'DIRECCION DEL USUARIO'
FROM USUARIO U INNER JOIN DISTRITO D
ON U.COD_DIST=D.COD_DIST AND U.COD_PROV=D.COD_PROV AND
U.COD_PAIS=D.COD_PAIS
INNER JOIN ESTUDIOS_SEC AS ES
ON U.COD_EST_SEC=ES.COD_SEC
INNER JOIN ESTUDIOS_SUP AS EP
ON U.COD_EST_SUP=EP.COD_SUP
INNER JOIN TRABAJO AS T
ON U.COD_TRAB=T.COD_TRAB
WHERE @COD=U.COD_USUA
GO
--Cree un procedimiento almacenado que muestre el código, nombre y
--apellidos del usuario así como el código, nombre, tipo y descripcion
del grupo
72. --Y EL DISTRITO DEL USUARIO
--El procedimiento recibirá como parámetro de entrada el
--código del usuario.
--Se debe considerar que el parámetro de entrada tendrá un valor por
--defecto igual a vacío.
Create procedure Usuario_Grupos
@COD_USUA char(6) = ''
AS
Select U.COD_USUA,
U.NOM_USUA as 'NOMBRE DEL USUARIO',
U.APEPAT_USUA AS 'APELLIDO PATERNO DEL USUARIO',
U.APEMAT_USUA AS 'APELLIDO MATERNO DEL USUARIO',
D.NOM_DIST AS 'DISTRITO',
G.COD_GRUPO AS 'CODIGO DE GRUPO',
G.NOM_GRUPO AS 'NOMBRE DEL GRUPO',
G.TIP_GRUPO AS 'TIPO DE GRUPO',
G.DESCRIP_GRUPO AS 'DESCRIPCION DEL GRUPO'
From USUARIO U inner join GRUPOS G
on U.COD_USUA = G.COD_USUA
INNER JOIN DISTRITO AS D
ON U.COD_PAIS=D.COD_PAIS AND U.COD_PROV=D.COD_PROV AND
U.COD_DIST=D.COD_DIST
Where U.COD_USUA = @COD_USUA
go
EXECUTE Usuario_Grupos 'US001'
go
--*Cree un procedimiento almacenado que permita modificar los datos de
--una empresa. El procedimiento tendrá los siguientes parámetros de
--entrada: código, nombre comercial, fax, numero de empleados,
--categoria y la razon social de la empresa.
--Así mismo, sólo se podrán modificar aquellas empresas cuyo numero de
empleados
--sea menor a 100.
CREATE PROCEDURE MODIFICA_EMPRESA
@COD_EMPRESA char(6),
@NOM_COMER_EMPRESA varchar(60),
@FAX_EMPRESA char(10),
@NUM_EMP_EMPRESA int,
@CAT_EMPRESA varchar(60),
@RAZON_SOC_EMPRESA varchar(60)
AS
Declare @NUM_EMP_EMPRESA_ACTUAL int
Select @NUM_EMP_EMPRESA_ACTUAL = NUM_EMP_EMPRESA
From EMPRESA
Where COD_EMPRESA = @COD_EMPRESA
If @NUM_EMP_EMPRESA_ACTUAL>100
Begin
Select 'El Numero de empleados debe ser menor a 100 personas'
Return
End
73. Update EMPRESA
Set COD_EMPRESA = @COD_EMPRESA,
NOM_COMER_EMPRESA = @NOM_COMER_EMPRESA,
FAX_EMPRESA = @FAX_EMPRESA ,
NUM_EMP_EMPRESA = @NUM_EMP_EMPRESA ,
CAT_EMPRESA = @CAT_EMPRESA,
RAZON_SOC_EMPRESA = @RAZON_SOC_EMPRESA
Where COD_EMPRESA = @COD_EMPRESA
go
CREATE FUNCTION DBO.CHK_PREFERENCIAS (@COD_USUA CHAR(5))
RETURNS INTEGER
AS
BEGIN
IF EXISTS(SELECT COD_USUA FROM USUARIO_ACT WHERE
COD_USUA=@COD_USUA) OR
EXISTS(SELECT COD_USUA FROM USUARIO_MUSICA WHERE
COD_USUA=@COD_USUA) OR
EXISTS(SELECT COD_USUA FROM USUARIO_PELI WHERE
COD_USUA=@COD_USUA) OR
EXISTS(SELECT COD_USUA FROM USUARIO_TV WHERE
COD_USUA=@COD_USUA)
BEGIN
RETURN 1
END
RETURN 0
END
GO
--PROCEDIMIENTO QUE ELIMINA UN USUARIO VERIFICANDO QUE NO TENGA REGISTROS
EN OTRAS TABLAS
CREATE PROCEDURE ELIMINARUSUARIO
@COD_USUA CHAR(5)
AS
IF @COD_USUA IS NULL OR @COD_USUA=''
BEGIN
PRINT 'EL USUARIO NO ES VALIDO'
RETURN
END
IF NOT EXISTS(SELECT * FROM USUARIO WHERE COD_USUA=@COD_USUA)
BEGIN
PRINT 'NO EXISTE EL USUARIO CON CODIGO ' + @COD_USUA
RETURN
END
/* REVISAMOS SI EL USUARIO NO TIENE PREFERENCIAS ASOCIADAS */
IF (SELECT DBO.CHK_PREFERENCIAS(@COD_USUA))=1
BEGIN
PRINT 'NO SE PUEDE ELIMINAR AL USUARIO, PUES TIENE
PREFERENCIAS ASOCIADAS'
RETURN
END
ELSE
/* PROCEDEMOS A ELIMINAR AL USUARIO */
BEGIN
DELETE USUARIO WHERE COD_USUA=@COD_USUA
74. END
GO
--FUNCION QUE VERIFICA SI HAY CLIENTES O PRODUCTOS DE UNA DETERMINADA
EMPRESA
CREATE FUNCTION DBO.CHK_CLIPRODS (@COD_EMPRESA CHAR(5))
RETURNS INTEGER
AS
BEGIN
IF EXISTS(SELECT COD_EMPRESA FROM EMPRESA_CLIENTE WHERE
COD_EMPRESA=@COD_EMPRESA) OR
EXISTS(SELECT COD_EMPRESA FROM EMPRESA_PRODUCTO WHERE
COD_EMPRESA=@COD_EMPRESA)
BEGIN
RETURN 1
END
RETURN 0
END
GO
--PROCEDIMIENTO QUE ELIMINA UNA EMPRESA VERIFICANDO QUE NO TENGA
REGISTROS EN OTRAS TABLAS
CREATE PROCEDURE ELIMINAREMPRESA
@COD_EMPRESA CHAR(5)
AS
IF @COD_EMPRESA IS NULL OR @COD_EMPRESA=''
BEGIN
PRINT 'LA EMPRESA NO ES VALIDA'
RETURN
END
IF NOT EXISTS(SELECT * FROM EMPRESA WHERE COD_EMPRESA=@COD_EMPRESA)
BEGIN
PRINT 'NO EXISTE LA EMPRESA CON CODIGO ' + @COD_EMPRESA
RETURN
END
/* REVISAMOS SI LA EMPRESA NO TIENE CLIENTES O PRODUCTOS ASOCIADOS
*/
IF (SELECT DBO.CHK_CLIPRODS(@COD_EMPRESA))=1
BEGIN
PRINT 'NO SE PUEDE ELIMINAR LA EMPRESA, PUES TIENE
CLIENTES O PRODUCTOS ASOCIADOS'
RETURN
END
ELSE
/* PROCEDEMOS A ELIMINAR LA EMPRESA */
BEGIN
DELETE EMPRESA WHERE COD_EMPRESA=@COD_EMPRESA
END
GO
CREATE PROC MODIFICADESCRIPCIONANUNCIO
@COD_ANUN CHAR(5)
AS
75. IF EXISTS(SELECT Anu.TIT_ANUN, Anu.DESC_ANUN, USU.NOM_USUA,
AGU.DESC_GUSTOS
FROM ANUNCIO AS Anu INNER JOIN
ANUNCIO_GUSTOS AS AGU ON
Anu.COD_ANUN = AGU.COD_ANUN INNER JOIN
USUARIO AS USU ON Anu.COD_USUA_CREA
= USU.COD_USUA
where ANU.COD_ANUN=@COD_ANUN)
BEGIN
UPDATE ANUNCIO SET DESC_ANUN ='GRAN POLLADA' WHERE
COD_ANUN IN (@COD_ANUN)
END
ELSE
PRINT 'NO EXISTE NINGUN REGISTRO CON EL CODIGO INGRESADO'
GO