











Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
311 base de datos modelo respuesta
Tipo: Exámenes
1 / 19
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Una base de datos relacional es una base de datos basada en un modelo relacional. Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo es usado como sinónimo del software usado para gestionar esa colección de datos. Ese software se conoce como sistema gestor de base de datos relacional o RDBMS (Relational Database Management System).
El proceso de diseño de una base de datos se descompone en cuatro etapas: obtención y análisis de requisitos, diseño conceptual, lógico y físico. La etapa del diseño lógico es independiente de los detalles de implementación y dependiente del tipo de SGBD que se vaya a utilizar. La salida de esta etapa es el esquema lógico global y la documentación que lo describe. Todo ello es la entrada para la etapa que viene a continuación, el diseño físico.
Mientras que en el diseño lógico se especifica qué se guarda, en el diseño físico se especifica cómo se guarda. Para ello, el diseñador debe conocer muy bien toda la funcionalidad del SGBD concreto que se vaya a utilizar y también el sistema informático sobre el que éste va a trabajar. El diseño físico no es una etapa aislada, ya que algunas decisiones que se tomen durante su desarrollo, por ejemplo para mejorar las prestaciones, pueden provocar una reestructuración del esquema lógico.
En general, el objetivo del diseño de una base de datos relacional es generar un conjunto de esquemas de relaciones que permitan almacenar la información con un mínimo de redundancia, pero que a la vez faciliten la recuperación de la información. Una de las técnicas para lograrlo consiste en diseñar esquemas que tengan una forma normal adecuada. Para determinar si un esquema de relaciones tiene una de las formas normales se requiere mayor información sobre la empresa del "mundo real" que se intenta modelar con la base de datos. La información adicional la proporciona una serie de limitantes que se denominan dependencias de los datos.
El DCAS requiere llevar el control de sus servicios en el menú de opciones de la siguiente manera:
Registrar un nuevo analista que entrará a formar parte del personal del DCAS. Incluir un nuevo empleado a la base de datos del sistema, donde se registrarán los datos personales y los datos originados por la empresa. Ingresar una falla de un equipo, descripción de la misma falla, posible solución de ésta y el nombre del analista que verificó la falla Ubicar un nuevo usuario o reubicarlo dentro de la empresa INGEGER o el DCAS. Incluir la ubicación actualizada de los equipos con sus características, asignados a los nuevos usuarios. Actualizar: a) La ubicación de los analista dentro del sistema. b) Los datos de la ubicación del usuario dentro de la empresa o el DCAS. c) La reubicación de un usuario a otro departamento o en la empresa. d) El registro de la ubicación y característica del equipo asignado a un usuario dentro de la empresa. Consultar los datos de los empleados con relación a la ubicación actual dentro de la empresa. Verificar cuales son los equipos asignados y los equipos que han sido desincorporados a los distintos usuarios y la ubicación actualizada de estos equipos. Verificar por parte de los analistas de sistemas de control de falla, el tipo de falla y la solución dada al problema planteado. Generar un reporte con la información diaria sobre las actividades que desempeñan los analistas de sistemas dentro de la empresa. Generar reporte donde se muestre la ocurrencia de un usuario ante la presencia de un problema con su equipo.
En esta fase se trata de conocer las expectativas del usuario sobre la base de datos. Para ello, se identifican los grupos de usuarios reales y posibles y las áreas de aplicación, se revisa la documentación existente, se analiza el entorno operativo y los requerimientos de procesado, y se realizan entrevistas y cuestionarios con los usuarios. Para todo ello existen técnicas formalizadas de especificación de requerimientos.
Los diseñadores entrevistan a los futuros usuarios de la base de datos para recoger y documentar sus necesidades de información. En paralelo, conviene definir los requerimientos funcionales que consisten en operaciones (transacciones) que se aplicarán a la base de datos, e incluyen la obtención de datos y la actualización.
Después de varias reuniones de trabajo en grupos se determino lo siguiente:
REQUISITOS DE USUARIOS:
Los usuarios finales indicaron que se requería la facilidad de notificar los equipos con fallas y el conocer el status del equipo en cualquier momento.
Los usuarios expertos (Analistas del DCAS) requieren de la seguridad de que solo ellos pueden incorporar, desincorporar, y registrar soluciones de fallas.
La GERENCIA requiere de la posibilidad de evaluar el rendimiento de los analistas del DCAS, así como conocer el inventario de equipos para su control contable.
Los usuarios finales ingresan notificación de equipos con fallas y consultan datos de equipos.
Los usuarios expertos ingresan, consultan, modifican y eliminan datos de equipos, usuarios, y empleados.
Las gerencia solo puede emitir consultas de datos.
DICCIONARIO DE DATOS
ENTIDADES
ATRIBUTOS
TIPO
DOMINIO
RELACIONADO A
CARDINALIDAD
CLAVES
USUARIOS
CI_USUARIO
NUMERICO
0
EMPLEADOS
1:
CI_USUARIO
CLAVE_USUARIO
CARÁCTER
6 DIGITOS
FALLAS_CONTROL
1:M
CLAVE_USUARIO
ANAL_DCAS_USUARIO
CARÁCTER
SI O NO
EMPLEADOS
CEDULA_EMPL
NUMERICO
0
USUARIOS
1:
CEDULA_EMPL
APELLIDO_EMPL
CARÁCTER
NO VACIO
FALLAS_CONTROL
1:M
NOMBRE_EMPL
CARÁCTER
NO VACIO
DEPTO_UBICACIÓN
1:M
FECHA_INGR_EMPL
FECHA
NO VACIO
CARGO_EMPL
CARÁCTER
NO VACIO
DEPTO_EMPL
CARÁCTER
NO VACIO
EQUIPOS
CODIGO_EQUIPO
CARÁCTER
NO VACIO
EQUIPO_INVENT
1:M
CODIGO_EQUIPO
DESCRIPCION_EQUIPO
CARÁCTER
NO VACIO
FALLAS_CONTROL
M:M
STATUS_EQUIPO
CARÁCTER
A,D,L
DEPTO_EQUIPO
CARÁCTER
NO VACIO
CI_USUARIO_EQUIPO
NUMERICO
0
DEPTO_UBICACION
CODIGO_DEPTO
CARÁCTER
NO VACIO
EMPLEADOS
M:
CODIGO_DEPTO
DESCRIPCION_DEPTO
CARÁCTER
NO VACIO
EMP_INT_DEPTO
CARÁCTER
E,I
EQUIPO_INVENT
COD_EQUIPO_EQUINV
CARÁCTER
NO VACIO
EQUIPOS
M:M
COD_EQUIPO_EQUINV
COD_INVHS_EQUINV
CARÁCTER
NO VACIO
COD_INVHS_EQUINV
CANTIDAD_EQUINV
NUMERICO
= 0
SERIAL_EQUINV
CARÁCTER
NO VACIO
INVENTARIO_HARD_SOFT
CODIGO_INVENTHS
CARÁCTER
NO VACIO
EQUIPO_INVENT
M:M
CODIGO_INVENTHS
DESCRIPCION_INVENTHS
CARÁCTER
NO VACIO
PROVEEDOR_INVENTHS
CARÁCTER
NO VACIO
INDICADOR_INVENTHS
CARÁCTER
H,S
FALLAS
CODIGO_FALLA
CARÁCTER
NO VACIO
FALLAS_CONTROL
1:M
CODIGO_FALLA
DESCRIPCION_FALLA
CARÁCTER
NO VACIO
SOLUCION_FALLA
CARÁCTER
NO VACIO
FALLAS_CONTROL
CI_USUAR_FALLACTRL
NUMERICO
0
USUARIOS
M:
CI_USUAR_FALLACTRL
COD_FALLA_FALLACTRL
CARÁCTER
NO VACIO
EMPLEADOS
M:
COD_FALLA_FALLACTRL
FECHA_NOTIF_FALLACTRL
CARÁCTER
NO VACIO
EQUIPOS
M:
CI_ANAL_FALLACTRL
NUMERICO
0
FALLAS
M:
FECHA_VERIF_FALLACTRL
CARÁCTER
PERMITE VACIO
STATUS_FALLACTRL
CARÁCTER
N,R,I
Se selecciono el SGBDR: Microsoft SQLServer 2000.
Para efectuar la elección del SGBDR se consideraron los siguientes costos:
- Costo de adquisición de software: La empresa ya cuenta con una licencia de Microsoft SQLServer 2000 por lo tanto no es necesario una nueva adquisición.
También se evaluaron otros factores, tales como :
- Familiaridad del personal con el sistema: El sistema operativo que esta instalado en todos los equipos de la empresa es Windows, asiendo que sea muy sencillo operar un producto de la misma familia. - Disponibilidad de servicios del proveedor: Se constato que el proveedor tiene varios representantes autorizados en la zona y los cuales están certificados en el SGBDR.
Este SGBDR cuenta con herramientas de diseño graficas, capacidades para ser empleado en aplicaciones Web, herramientas de monitoreo de transacciones, adicionalmente también cuenta con utilidades para respaldo y recuperación de la base de datos.
El resultado de esta fase debe consistir en sentencias DDL escritas en el lenguaje del SGBDR elegido que especifiquen los esquemas en el nivel conceptual externo del sistema de base de datos.
SENTENCIAS DDL:
CREATE TABLE [DEPTO_UBICACION] ( [CODI _DEPTO] [char] (10) , [DESCRIPCION_DEPTO] [char] (10) , [EMP_INT_DEPTO] [char] (1) )
CREATE TABLE [EMPLEADOS] ( [CEDULA_EMPL] [int] , [APELLIDO_EMPL] [char] (30) , [NOMBRE_EMPL] [char] (30) , [FECHA_EMPL] [char] (10) , [CAR _EMPL] [char] (30) , [DEPTO_EMPL] [char] (6) )
[COD_EQUIPO_INVHS] [char] (10) , [COD_INVENT_INVHS] [char] (10) , [CANTIDAD_INVHS] [int] , [SERIAL_INVHS] [char] (10) )
[CODI _EQUIPO] [char] (10) , [DESCRIPCION_EQUIPO] [char] (40) , [STATUS_EQUIPO] [char] (1) , [DEPTO_EQUIPO] [char] (6) , [CI_USUARIO_EQUIPO] [int] )
[CODI _FALLA] [char] (10) , [DESCRIPCION_FALLA] [char] (50) , [SOLUCION_FALLA] [char] (50) )
[CI_USUAR_FALLACTRL] [int] , [COD_FALLA_FALLACTRL] [char] (10) ,
Para el diseño físico de la base datos se siguió la siguiente metodología:
Al aplicar esta metodología se creo el Esquema implementado en MS- SQLSERVER2000 siguiente:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EMPLEADOS_DEPTO_UBICACION]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[EMPLEADOS] DROP CONSTRAINT FK_EMPLEADOS_DEPTO_UBICACION GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_FALLAS_CONTROL_EMPLEADOS]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[FALLAS_CONTROL] DROP CONSTRAINT FK_FALLAS_CONTROL_EMPLEADOS GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EQUIPO_INVENT_EQUIPOS]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[EQUIPO_INVENT] DROP CONSTRAINT FK_EQUIPO_INVENT_EQUIPOS GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_FALLAS_CONTROL_EQUIPOS]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[FALLAS_CONTROL] DROP CONSTRAINT FK_FALLAS_CONTROL_EQUIPOS GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_FALLAS_CONTROL_FALLAS]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[FALLAS_CONTROL] DROP CONSTRAINT FK_FALLAS_CONTROL_FALLAS GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EQUIPO_INVENT_INVENTARIO_HARD_SOFT]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1) ALTER TABLE [dbo].[EQUIPO_INVENT] DROP CONSTRAINT FK_EQUIPO_INVENT_INVENTARIO_HARD_SOFT GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_EMPLEADOS_USUARIOS]') and OBJECTPROPERTY(id,
object_id(N'[dbo].[INVENTARIO_HARD_SOFT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[INVENTARIO_HARD_SOFT] GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[USUARIOS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1) drop table [dbo].[USUARIOS] GO
CREATE TABLE [dbo].[DEPTO_UBICACION] ( [CODIGO_DEPTO] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [DESCRIPCION_DEPTO] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [EMP_INT_DEPTO] [char] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[EMPLEADOS] ( [CEDULA_EMPL] [int] NOT NULL , [APELLIDO_EMPL] [char] (30) COLLATE Modern_Spanish_CI_AS NOT NULL , [NOMBRE_EMPL] [char] (30) COLLATE Modern_Spanish_CI_AS NOT NULL , [FECHA_EMPL] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [CARGO_EMPL] [char] (30) COLLATE Modern_Spanish_CI_AS NOT NULL , [DEPTO_EMPL] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[EQUIPOS] ( [CODIGO_EQUIPO] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [DESCRIPCION_EQUIPO] [char] (40) COLLATE Modern_Spanish_CI_AS NOT NULL , [STATUS_EQUIPO] [char] (1) COLLATE Modern_Spanish_CI_AS NOT NULL , [DEPTO_EQUIPO] [char] (6) COLLATE Modern_Spanish_CI_AS NOT NULL , [CI_USUARIO_EQUIPO] [int] NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[EQUIPO_INVENT] ( [COD_EQUIPO_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [COD_INVENT_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [CANTIDAD_INVHS] [int] NOT NULL , [SERIAL_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[FALLAS] ( [CODIGO_FALLA] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [DESCRIPCION_FALLA] [char] (50) COLLATE Modern_Spanish_CI_AS NOT NULL , [SOLUCION_FALLA] [char] (50) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[FALLAS_CONTROL] ( [CI_USUAR_FALLACTRL] [int] NOT NULL , [COD_EQUIP_FALLACTRL] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [COD_FALLA_FALLACTRL] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [FECHA_NOTIF_FALLACTRL] [datetime] NOT NULL , [CI_ANAL_FALLACTRL] [int] NOT NULL , [FECHA_VERIF_FALLACTRL] [datetime] NULL , [STATUS_FALLACTRL] [char] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY] GO
CREATE TABLE [dbo].[INVENTARIO_HARD_SOFT] ( [CODIGO_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [DESCRIPCION_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [PROVVEDOR_INVHS] [char] (10) COLLATE Modern_Spanish_CI_AS NOT NULL , [INDICADOR_INHS] [char] (1) COLLATE Modern_Spanish_CI_AS NOT NULL ) ON [PRIMARY]
dbo.USUARIOS.CI_USUARIO = dbo.EMPLEADOS.CEDULA_EMPL INNER JOIN dbo.FALLAS ON dbo.FALLAS_CONTROL.COD_FALLA_FALLACTRL = dbo.FALLAS.CODIGO_FALLA
GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[RENDIMIENTO]') and OBJECTPROPERTY(id, N'IsView') = 1) drop view [dbo].[RENDIMIENTO] GO
SET QUOTED_IDENTIFIER ON GO SET ANSI_NULLS ON GO
CREATE VIEW dbo.RENDIMIENTO AS SELECT dbo.USUARIOS.CI_USUARIO, dbo.USUARIOS.ANAL_DCAS_USUARIO, dbo.EMPLEADOS.APELLIDO_EMPL, dbo.EMPLEADOS.NOMBRE_EMPL, dbo.FALLAS_CONTROL.CI_USUAR_FALLACTRL, dbo.FALLAS_CONTROL.COD_EQUIP_FALLACTRL, dbo.FALLAS_CONTROL.COD_FALLA_FALLACTRL, dbo.FALLAS_CONTROL.FECHA_NOTIF_FALLACTRL, dbo.FALLAS_CONTROL.FECHA_VERIF_FALLACTRL, dbo.FALLAS_CONTROL.STATUS_FALLACTRL FROM dbo.FALLAS_CONTROL INNER JOIN dbo.USUARIOS ON dbo.FALLAS_CONTROL.CI_USUAR_FALLACTRL = dbo.USUARIOS.CI_USUARIO LEFT OUTER JOIN dbo.EMPLEADOS ON dbo.USUARIOS.CI_USUARIO = dbo.EMPLEADOS.CEDULA_EMPL
GO SET QUOTED_IDENTIFIER OFF GO SET ANSI_NULLS ON GO