Documente Academic
Documente Profesional
Documente Cultură
Objetivo
Este documento está destinado a fortalecer los conocimientos de Construcción de Bases de
Datos Relacionales, aplicando los procesos expuestos en las píldoras 6,7 y 8 de la semana 3 del
diplomado BI, tomando el Modelo de Datos Relacional asignado en la actividad 1 ( KARDEX
expediente de Control de estudio de los alumnos)
Tabla estudiante
USE [master]
GO
/****** Object: Database [ControlEstudio] Script Date: 20/6/2019 22:30:01
******/
CREATE DATABASE [ControlEstudio] ON PRIMARY
( NAME = N'ControlEstudio', FILENAME = N'D:\Microsoft SQL
Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\ControlEstudio.mdf' , SIZE = 3072KB ,
MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = N'ControlEstudio_log', FILENAME = N'D:\Microsoft SQL
Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\ControlEstudio_log.ldf' , SIZE = 1024KB ,
MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [ControlEstudio] SET COMPATIBILITY_LEVEL = 100
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [ControlEstudio].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [ControlEstudio] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [ControlEstudio] SET ANSI_NULLS OFF
GO
ALTER DATABASE [ControlEstudio] SET ANSI_PADDING OFF
GO
ALTER DATABASE [ControlEstudio] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [ControlEstudio] SET ARITHABORT OFF
GO
ALTER DATABASE [ControlEstudio] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [ControlEstudio] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [ControlEstudio] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [ControlEstudio] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [ControlEstudio] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [ControlEstudio] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [ControlEstudio] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [ControlEstudio] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [ControlEstudio] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [ControlEstudio] SET DISABLE_BROKER
GO
ALTER DATABASE [ControlEstudio] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [ControlEstudio] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [ControlEstudio] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [ControlEstudio] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [ControlEstudio] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [ControlEstudio] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [ControlEstudio] SET HONOR_BROKER_PRIORITY OFF
GO
ALTER DATABASE [ControlEstudio] SET RECOVERY SIMPLE
GO
ALTER DATABASE [ControlEstudio] SET MULTI_USER
GO
ALTER DATABASE [ControlEstudio] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [ControlEstudio] SET DB_CHAINING OFF
GO
USE [ControlEstudio]
GO
/****** Object: User [kardex] Script Date: 20/6/2019 22:30:01 ******/
CREATE USER [kardex] WITHOUT LOGIN WITH DEFAULT_SCHEMA=[dbo]
GO
ALTER ROLE [db_owner] ADD MEMBER [kardex]
GO
ALTER ROLE [db_accessadmin] ADD MEMBER [kardex]
GO
ALTER ROLE [db_datareader] ADD MEMBER [kardex]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [kardex]
GO
/****** Object: Table [dbo].[asignatura] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[asignatura](
[id_asignatura] [int] NOT NULL,
[id_carrera] [int] NOT NULL,
[descripcion] [nvarchar](50) NOT NULL,
[UnidadCredito] [int] NOT NULL,
CONSTRAINT [PK_asignatura_1] PRIMARY KEY CLUSTERED
(
[id_asignatura] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Calificacion] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Calificacion](
[id] [int] NOT NULL,
[id_estudiante] [int] NOT NULL,
[id_asignatura] [int] NOT NULL,
[PeriodoAcade] [nvarchar](6) NOT NULL,
[estatusAsignatura] [nvarchar](3) NOT NULL,
[seccion] [nvarchar](10) NOT NULL,
[calificacion] [int] NOT NULL,
[fechaReg] [datetime] NOT NULL,
CONSTRAINT [PK_Calificacion] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Carreras] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Carreras](
[id_carreras] [int] NOT NULL,
[id_facultad] [int] NOT NULL,
[descripcion] [nvarchar](50) NOT NULL,
[TotalCreditos] [int] NULL,
CONSTRAINT [PK_Carreras_1] PRIMARY KEY CLUSTERED
(
[id_carreras] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[compania] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[compania](
[id_cia] [int] NOT NULL,
[RazonSocial] [nvarchar](50) NOT NULL,
[Direcccion] [nvarchar](100) NOT NULL,
[telefonos] [nvarchar](50) NOT NULL,
[ViceRectorado] [nvarchar](100) NOT NULL,
[RIF] [nvarchar](20) NULL,
CONSTRAINT [PK_compania] PRIMARY KEY CLUSTERED
(
[id_cia] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Estudiante] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Estudiante](
[id_estudiante] [int] NOT NULL,
[id_facultad] [int] NOT NULL,
[id_carrera] [int] NOT NULL,
[nroIdentidad] [nvarchar](20) NOT NULL,
[nombre] [nvarchar](20) NOT NULL,
[apellido] [nvarchar](20) NOT NULL,
[fechaNac] [date] NOT NULL,
[PaisNac] [nvarchar](20) NOT NULL,
[Nacionalidad] [nvarchar](20) NOT NULL,
[direccion] [nvarchar](50) NOT NULL,
[telefonos] [nvarchar](20) NOT NULL,
[email] [nvarchar](20) NOT NULL,
[FechaIngreso] [date] NOT NULL,
[FechaGraduado] [date] NULL,
[NroIdRepresentante] [nvarchar](20) NOT NULL,
[NomRepresentante] [nvarchar](50) NOT NULL,
[emailRepresentante] [nvarchar](20) NULL,
[estatusStudent] [nvarchar](2) NOT NULL,
[Observaciones] [nvarchar](100) NULL,
[FechaReg] [datetime] NOT NULL,
CONSTRAINT [PK_Estudiante] PRIMARY KEY CLUSTERED
(
[id_estudiante] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[Facultad] Script Date: 20/6/2019 22:30:01
******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Facultad](
[id_cia] [int] NOT NULL,
[id_facultad] [int] NOT NULL,
[Descripcion] [nvarchar](50) NOT NULL,
CONSTRAINT [PK_Facultad_1] PRIMARY KEY CLUSTERED
(
[id_facultad] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
/****** Object: Table [dbo].[FichaConsolidada] Script Date: 20/6/2019
22:30:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[FichaConsolidada](
[id_estudiante] [int] NOT NULL,
[CantAsigRetirada] [int] NOT NULL,
[CantAsigEquiva] [int] NOT NULL,
[CantAsigAprobada] [int] NOT NULL,
[UnidadInscritas] [int] NOT NULL,
[UnidadAprobada] [int] NOT NULL,
[UnidadAprEquiv] [int] NOT NULL,
[NroAsigInscrita] [int] NOT NULL,
[NroAsigAprobada] [int] NOT NULL,
[NroAsigAprEquiv] [int] NOT NULL,
CONSTRAINT [PK_FichaConsolidada] PRIMARY KEY CLUSTERED
(
[id_estudiante] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Calificacion] ADD CONSTRAINT [DF_Calificacion_fechaReg]
DEFAULT (getdate()) FOR [fechaReg]
GO
ALTER TABLE [dbo].[Estudiante] ADD CONSTRAINT [DF_Estudiante_FechaReg] DEFAULT
(getdate()) FOR [FechaReg]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_CantAsigRetirada] DEFAULT ((0)) FOR [CantAsigRetirada]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_CantAsigEquiva] DEFAULT ((0)) FOR [CantAsigEquiva]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_CantAsigAprobada] DEFAULT ((0)) FOR [CantAsigAprobada]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_UnidadInscritas] DEFAULT ((0)) FOR [UnidadInscritas]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_UnidadAprobada] DEFAULT ((0)) FOR [UnidadAprobada]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_UnidadAprEquiv] DEFAULT ((0)) FOR [UnidadAprEquiv]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_NroAsigInscrita] DEFAULT ((0)) FOR [NroAsigInscrita]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_NroAsigAprobada] DEFAULT ((0)) FOR [NroAsigAprobada]
GO
ALTER TABLE [dbo].[FichaConsolidada] ADD CONSTRAINT
[DF_FichaConsolidada_NroAsigAprEquiv] DEFAULT ((0)) FOR [NroAsigAprEquiv]
GO
ALTER TABLE [dbo].[asignatura] WITH CHECK ADD CONSTRAINT
[FK_asignatura_Carreras] FOREIGN KEY([id_carrera])
REFERENCES [dbo].[Carreras] ([id_carreras])
GO
ALTER TABLE [dbo].[asignatura] CHECK CONSTRAINT [FK_asignatura_Carreras]
GO
ALTER TABLE [dbo].[Calificacion] WITH CHECK ADD CONSTRAINT
[FK_Calificacion_asignatura] FOREIGN KEY([id_asignatura])
REFERENCES [dbo].[asignatura] ([id_asignatura])
GO
ALTER TABLE [dbo].[Calificacion] CHECK CONSTRAINT [FK_Calificacion_asignatura]
GO
ALTER TABLE [dbo].[Calificacion] WITH CHECK ADD CONSTRAINT
[FK_Calificacion_Estudiante] FOREIGN KEY([id_estudiante])
REFERENCES [dbo].[Estudiante] ([id_estudiante])
GO
ALTER TABLE [dbo].[Calificacion] CHECK CONSTRAINT [FK_Calificacion_Estudiante]
GO
ALTER TABLE [dbo].[Carreras] WITH CHECK ADD CONSTRAINT [FK_Carreras_Facultad]
FOREIGN KEY([id_facultad])
REFERENCES [dbo].[Facultad] ([id_facultad])
GO
ALTER TABLE [dbo].[Carreras] CHECK CONSTRAINT [FK_Carreras_Facultad]
GO
ALTER TABLE [dbo].[Estudiante] WITH CHECK ADD CONSTRAINT
[FK_Estudiante_Carreras] FOREIGN KEY([id_carrera])
REFERENCES [dbo].[Carreras] ([id_carreras])
GO
ALTER TABLE [dbo].[Estudiante] CHECK CONSTRAINT [FK_Estudiante_Carreras]
GO
ALTER TABLE [dbo].[Estudiante] WITH CHECK ADD CONSTRAINT
[FK_Estudiante_Facultad] FOREIGN KEY([id_facultad])
REFERENCES [dbo].[Facultad] ([id_facultad])
GO
ALTER TABLE [dbo].[Estudiante] CHECK CONSTRAINT [FK_Estudiante_Facultad]
GO
ALTER TABLE [dbo].[Facultad] WITH CHECK ADD CONSTRAINT [FK_Facultad_compania]
FOREIGN KEY([id_cia])
REFERENCES [dbo].[compania] ([id_cia])
GO
ALTER TABLE [dbo].[Facultad] CHECK CONSTRAINT [FK_Facultad_compania]
GO
ALTER TABLE [dbo].[FichaConsolidada] WITH CHECK ADD CONSTRAINT
[FK_FichaConsolidada_Estudiante] FOREIGN KEY([id_estudiante])
REFERENCES [dbo].[Estudiante] ([id_estudiante])
GO
ALTER TABLE [dbo].[FichaConsolidada] CHECK CONSTRAINT
[FK_FichaConsolidada_Estudiante]
GO
ALTER TABLE [dbo].[Calificacion] WITH CHECK ADD CONSTRAINT [CK_Calificacion]
CHECK (([estatusAsignatura]='REP' OR [estatusAsignatura]='INS' OR
[estatusAsignatura]='APR' OR [estatusAsignatura]='EQV' OR
[estatusAsignatura]='RET'))
GO
ALTER TABLE [dbo].[Calificacion] CHECK CONSTRAINT [CK_Calificacion]
GO
ALTER TABLE [dbo].[Estudiante] WITH CHECK ADD CONSTRAINT [CK_EstatusStudent]
CHECK (([EstatusStudent]='GR' OR [EstatusStudent]='RE' OR [EstatusStudent]='IN'
OR [EstatusStudent]='AC'))
GO
ALTER TABLE [dbo].[Estudiante] CHECK CONSTRAINT [CK_EstatusStudent]
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'estatus de la
Asignatura Retirada, equivalencia, aprobada, inscrita o reparada' ,
@level0type=N'SCHEMA',@level0name=N'dbo',
@level1type=N'TABLE',@level1name=N'Calificacion',
@level2type=N'CONSTRAINT',@level2name=N'CK_Calificacion'
GO
USE [master]
GO
ALTER DATABASE [ControlEstudio] SET READ_WRITE
GO