Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INFORME FINAL
AUTOR
ASESOR
TRUJILLO – PERÚ
2021
1. INDICE
2. INTRODUCCIÓN.....................................................................................................................3
2.1. Breve historia de la empresa..............................................................................................3
2.2. Problemática actual de la empresa...................................................................................3
3. DESCRIPCION Y ANALISIS DEL ESTUDIO......................................................................3
a. Objetivos de la investigación..................................................................................................3
b. Acerca del proceso del negocio (diagrama: BIZAGI)..........................................................4
c. Modelo de Datos (E – R)........................................................................................................5
d. Implementacion de requerimientos.......................................................................................6
e. Implementar 1 Funcion...........................................................................................................9
f. Implementar 3 Vistas...............................................................................................................9
g. Implementar 2 disparadores.................................................................................................10
h. Implementar Indices..............................................................................................................12
i. Implementar Cursores...........................................................................................................12
j. Implementar 4 interfaces con Visual NET..........................................................................15
4. CONCLUSIONES..................................................................................................................16
5. RECOMENDACIONES.........................................................................................................16
2. INTRODUCCIÓN
2.1. Breve historia de la empresa
El Instituto de Educación Superior Tecnológico Publico “PARCONA", se encuentra
ubicado en la Avenida Jhon F. Kennedy N° 500 en el distrito de PARCONA,
provincia de ICA , oferta a los egresados de Educación Secundaria las
herramientas cognoscitivas y las competencias necesarias para responder a las
demandas del mercado laboral, manteniéndose siempre un paso adelante en
cuanto a otorgar mayores oportunidades profesionales y ventajas competitivas a
nuestros egresados, otorga un Título Profesional Técnico a nombre de la Nación
mediante la formación profesional técnica a través de tres (03) años de estudios.
En este contexto les oferta los Programas de Estudio: Computación e Informática
y Enfermería Técnica, en las que a través de una formación eficiente adquirirá las
habilidades necesarias para ser un profesional de calidad, que se desenvolverá a
entera satisfacción de sus empleadores, sean estos de la actividad pública o
privada.
DIAGRAMA DE ESTADO
Es atendido
Requerimiento de Espera de
Matricula requirimiento
Espera de
requirimiento
DIAGRAMA DE SECUENCIA
Requerimiento de Matricula
Consultar Vacante
Respuesta de Consulta
Informa Respuesta
DIAGRAMA DE ACTIVIDADES
Estudiante Secretaria
Ingresa datos
c. Modelo de Datos (E – R)
d. Implementacion de requerimientos
- Listado de todos los estudiantes de las dos carreras técnicas, ordenado por
especialidad y turnos.
- Listado por estudiante, identificado por su DNI y sus cursos que llevara por
semestre.
- Listado del importe total recaudado por concepto de matriculas por semestre.
- Listado del importe total que deben por matricula, incluido mora.
- Listado de cuantos estudiantes se matricularon y cuantos faltan por matricularse
por carrera y turno.
use Instituto
SELECT a.apellidopaterno, a.apellidomaterno, a.nombres,
a.semestre_estudios, (e.especialidad) as especialidad, (t.turno) as
turno
FROM matriculas.estudiantes a
INNER JOIN matriculas.especialidades e ON a.especialidad =
e.codespecialidad
INNER JOIN matriculas.turnos t ON a.turnoestudios = t.idturno
LEFT JOIN matriculas.semestres_lectivos s ON a.codigosl=s.autocodigo
ORDER BY especialidad, turno, semestre_estudios
2. Listado por estudiante, identificado por su DNI y sus cursos que llevara por
semestre
4. Listado cantidad de estudiantes que deben, monto total que deben por
matricula, incluido mora el ultimo semestre.
RETURN @interes
END
2)
3)
Total importe Monto_Total
154 80.00 12320.00
e. Implementar 1 Funcion
Total, de estudiantes que deben de matricula incluida mora por semestre
RETURN @interes
END
RESULTADOS
f. Implementar 3 Vistas
1) Vista de todos los estudiantes de las dos carreras técnicas, ordenado por especialidad y
turnos.
CREATE VIEW v_todosestudiantes
AS
SELECT a.apellidopaterno, a.apellidomaterno, a.nombres, a.semestre_estudios,
(e.especialidad) as especialidad, (t.turno) as turno
FROM matriculas.estudiantes a
INNER JOIN matriculas.especialidades e ON a.especialidad = e.codespecialidad
INNER JOIN matriculas.turnos t ON a.turnoestudios = t.idturno
LEFT JOIN matriculas.semestres_lectivos s ON a.codigosl=s.autocodigo
2) Vista del total de estudiantes y monto total que pagaron ultima matricula.
CREATE VIEW v_resumenMatriculas
AS
SELECT count(m.idmovmat) AS 'Total', dbo.montomatricula(0) as importe,
count(m.idmovmat)* dbo.montomatricula(0) as Monto_Total
FROM matriculas.semestres_lectivos s
INNER JOIN matriculas.matriculasmovi m ON m.codigosl = s.autocodigo
3) Vista del total de estudiantes y monto total incluido mora, que no pagaron de la ultima
matricula.
CREATE VIEW v_resumenMatriculas_deben
AS
SELECT count(*) AS 'Total_Deben', count(*)* dbo.montomatricula(0) as
Monto_Sin_Mora,
Total_Mora = [dbo].[Mora](getdate())*count(*), Total_Inc_Mora = (count(*)*
dbo.montomatricula(0))+([dbo].[Mora](getdate())*count(*))
FROM matriculas.matriculasmovi m
RIGHT JOIN matriculas.estudiantes e ON m.codigosl = e.codigosl
RIGHT JOIN matriculas.semestres_lectivos sl ON sl.autocodigo = e.codigosl
WHERE m.codigosl IS NULL
g. Implementar 2 disparadores
1) Preparar un disparador para que cada vez que se registre el pago de la matricula
(matriculasmovi), se actualice: estudiantes.importepagos
A. Creando un disparador
La operación es del tipo INSERT en matriculasmovi
h. Implementar Indices
I. Tablas movimientos
CREATE INDEX idx_dni ON matriculas.matriculasmovi (dni)
CREATE INDEX idx_idalumno ON matriculas.matriculasmovi (idalumno)
CREATE INDEX idx_semestre_lectivo ON matriculas.matriculasmovi
(semestre_lectivo )
CREATE INDEX idx_codigosl ON matriculas.matriculasdetalle (codigosl)
CREATE INDEX idx_idunidad ON matriculas.matriculasdetalle (idunidad)
CREATE INDEX idx_idalumno ON matriculas.matriculasdetalle (idalumno)
CREATE INDEX idx_dni ON matriculas.matriculasdetalle (dni)
II. Tablas FK
CREATE INDEX idx_especialidad ON matriculas.estudiantes (especialidad)
i. Implementar Cursores
1) Pagos que ha realizado un estudiante desde que empezo su carrera tecnica x semestre
académico. (6 en total)
Tablas:
- estudiante
- matriculas_movi
- tipodoc
CODIGO SQL
END
CLOSE c_cuenta_pagos
DEALLOCATE c_cuenta_pagos
GO
a. Mantenimiento de Estudiantes
Imports System.Data.SqlClient
Me.Llenadatos()
End Sub
FROM matriculas.estudiantes e
daEstudiante.Fill(dtEstudiante)
dgDatos.DataSource = dtEstudiante
daEspecialidad.Fill(dtEspecialidad)
CboCarrera.DataSource = dtEspecialidad
CboCarrera.DisplayMember = "especialidad"
CboCarrera.ValueMember = "codespecialidad"
daTurno.Fill(dtTurno)
CboTurno.DataSource = dtTurno
CboTurno.DisplayMember = "turno"
CboTurno.ValueMember = "idturno"
Panel2.Visible = False
End Sub
Me.Consultar()
End Sub
daEstudiante.Fill(dtEstudiante)
dgDatos.DataSource = dtEstudiante
Try
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
End Sub
Panel1.Visible = False
Panel2.Visible = True
TxtDNI.Text = ""
TxtAP.Text = ""
TxtAM.Text = ""
TxtNombres.Text = ""
TxtDireccion.Text = ""
End Sub
Panel1.Visible = True
Panel2.Visible = False
End Sub
est_Turno1 = CboTurno.SelectedValue
vsql = " EXEC _RegistrarEstudiante @apellidopaterno ='" & TxtAP.Text.Trim & "',
@especialidad ='" & est_Carrera1 & "', @dni ='"
vsql = vsql + TxtDNI.Text & "', @apellidomaterno ='" & TxtAM.Text & "', @nombres ='" &
TxtNombres.Text & "', @Direccion ='"
vsql = vsql + TxtDireccion.Text & " ', @turno ='" & est_Turno1 & "', @semestre ='" &
semestre_Tipo1 & "', @estatus ='" & est_Activo1 & "', @tipo = 1"
Try
MessageBox.Show("Registro ingresado....")
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
Else
est_Carrera1 = CboCarrera.SelectedValue
est_Turno1 = CboTurno.SelectedValue
vsql = " EXEC _RegistrarEstudiante @apellidopaterno ='" & TxtAP.Text.Trim & "',
@especialidad ='" & est_Carrera1 & "', @dni ='"
vsql = vsql + TxtDNI.Text & "', @apellidomaterno ='" & TxtAM.Text & "', @nombres ='" &
TxtNombres.Text & "', @Direccion ='"
vsql = vsql + TxtDireccion.Text & " ', @turno ='" & est_Turno1 & "', @semestre ='" &
semestre_Tipo1 & "', @estatus ='" & est_Activo1 & "', @tipo = 5"
cn.Open() 'abriendo conexión
Try
MessageBox.Show("Registro modificado....")
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
End If
Panel1.Visible = True
Panel2.Visible = False
Me.Consultar()
End Sub
Dim i As Integer
i = dgDatos.CurrentRow.Index
End Sub
If reader.Read() Then
TxtAP.Text = reader("apellidopaterno")
TxtAM.Text = reader("apellidomaterno")
TxtNombres.Text = reader("nombres")
TxtDireccion.Text = reader("domicilio")
Dim A As String
A = Trim(reader("semestre_estudios"))
CodE = reader("especialidad")
CodT = reader("turnoestudios")
Select Case A
Case "I"
rb_s01.Checked = 1
Case "II"
rb_s02.Checked = 1
Case "III"
rb_s03.Checked = 1
Case "IV"
rb_s04.Checked = 1
Case "V"
rb_s05.Checked = 1
Case Else
rb_s06.Checked = 1
End Select
CboCarrera.SelectedValue = CodE
CboTurno.SelectedValue = CodT
End If
Try
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
Panel1.Visible = False
Panel2.Visible = True
End Sub
Else
Dim elimina As String = "delete from matriculas.estudiantes where dni='" & TxtDNI.Text.Trim
& "'"
Try
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
If (i > 0) Then
MessageBox.Show("Eliminado correctamente")
Else
MessageBox.Show("No eliminado...")
End If
Panel1.Visible = True
Panel2.Visible = False
Me.Consultar()
End If
End If
End Sub
End Class
b. Mantenimiento de Unidades Didacticas
Imports System.Data.SqlClient
Public Class Form2
Dim cn As New SqlConnection("Server=localhost;Database=Instituto;Integrated
Security=True")
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Llenadatos()
End Sub
Private Sub Llenadatos()
Dim sql As String
sql = "SELECT ud.codigoud, ud.descripcion, e.especialidad, r.referencia, m.modulo,
s.semestre_academico, ud.horasxsemestre, ud.creditos, IIF(ud.estatus=1,'ACTIVO','INACTIVO')
AS estado
FROM matriculas.unidades_didacticas ud
INNER JOIN matriculas.especialidades e ON ud.especialidad=e.codespecialidad
INNER JOIN matriculas.referencia_sistema_educativo r ON ud.referencia=r.idreferencia
INNER JOIN matriculas.modulo_tecnico_profesional m ON ud.modulo=m.idmtc
INNER JOIN matriculas.semestres s ON ud.semestre_academico=s.idsemestre
ORDER BY ud.descripcion, e.especialidad, r.referencia, m.modulo, s.semestre_academico"
Dim dtUnidades As New DataTable
Dim daUnidades As New SqlDataAdapter(sql, cn)
daUnidades.Fill(dtUnidades)
dgDatos.DataSource = dtUnidades
Dim sql1 As String
sql1 = "SELECT codespecialidad, especialidad FROM matriculas.especialidades ORDER BY
2"
Dim dtEspecialidad As New DataTable
Dim daEspecialidad As New SqlDataAdapter(sql1, cn)
daEspecialidad.Fill(dtEspecialidad)
CboCarrera.DataSource = dtEspecialidad
CboCarrera.DisplayMember = "especialidad"
CboCarrera.ValueMember = "codespecialidad"
Dim sql2 As String
sql2 = "SELECT idreferencia, referencia FROM matriculas.referencia_sistema_educativo
ORDER BY 2"
Dim dtReferencia As New DataTable
Dim daReferencia As New SqlDataAdapter(sql2, cn)
daReferencia.Fill(dtReferencia)
CboReferencia.DataSource = dtReferencia
CboReferencia.DisplayMember = "referencia"
CboReferencia.ValueMember = "idreferencia"
Dim sql3 As String
sql3 = "SELECT idmtc, modulo FROM matriculas.modulo_tecnico_profesional ORDER BY 1"
Dim dtModulo As New DataTable
Dim daModulo As New SqlDataAdapter(sql3, cn)
daModulo.Fill(dtModulo)
CboModulo.DataSource = dtModulo
CboModulo.DisplayMember = "modulo"
CboModulo.ValueMember = "idmtc"
Dim sql4 As String
sql4 = "SELECT idsemestre, semestre_academico FROM matriculas.semestres ORDER BY
1"
Dim dtSemestres As New DataTable
Dim daSemestres As New SqlDataAdapter(sql4, cn)
daSemestres.Fill(dtSemestres)
CboSemestreA.DataSource = dtSemestres
CboSemestreA.DisplayMember = "semestre_academico"
CboSemestreA.ValueMember = "idsemestre"
Panel2.Visible = False
End Sub
Private Sub CmdVer_Click_1(sender As Object, e As EventArgs) Handles CmdVer.Click
Me.Consultar()
End Sub
Private Sub Consultar()
Dim vsql As String
vsql = "exec _ConsultarUnidades @nombres='" & TxtBuscar1.Text.Trim & "'"
Dim dtUnidades As New DataTable
cn.Open() 'abriendo conexión
Dim daUnidades As New SqlDataAdapter(vsql, cn)
daUnidades.Fill(dtUnidades)
dgDatos.DataSource = dtUnidades
Try
cn.Close() 'cerrando conexión
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
End Sub
Private Sub CmdNuevo_Click_1(sender As Object, e As EventArgs) Handles CmdNuevo.Click
Panel1.Visible = False
Panel2.Visible = True
Label8.Text = "NUEVO - DATOS DE LA UNIDAD DIDACTICA"
TxtCA.Text = ""
TxtDescripcion.Text = ""
TxtHorasxsemestre.Text = ""
TxtCreditos.Text = ""
End Sub
Private Sub dgDatos_CellClick(sender As Object, e As DataGridViewCellEventArgs) Handles
dgDatos.CellClick
Dim i As Integer
i = dgDatos.CurrentRow.Index
TxtCA.Text = dgDatos.Item(0, i).Value()
End Sub
Private Sub CmdEditar_Click(sender As Object, e As EventArgs) Handles CmdEditar.Click
'If TxtCA.Text = "" Then
'Else
cn.Open() 'abriendo conexión
Dim sql1 As String
sql1 = "SELECT descripcion, especialidad, referencia, modulo, semestre_academico,
horasxsemestre, creditos, estatus FROM matriculas.unidades_didacticas WHERE codigoud='"
& TxtCA.Text.Trim & "'"
Dim cmd As New SqlCommand(sql1, cn)
Dim reader As SqlDataReader = cmd.ExecuteReader()
If reader.Read() Then
Label8.Text = "EDITAR - DATOS DE LA UNIDAD DIDACTICA"
TxtDescripcion.Text = reader("descripcion")
TxtHorasxsemestre.Text = CStr(reader("horasxsemestre"))
TxtCreditos.Text = CStr(reader("creditos"))
ChkActivo1.Checked = If(reader("estatus"), "1", "0")
Dim CodE, CodR, CodM, CodSA As Integer
CodE = reader("especialidad")
CodR = reader("referencia")
CodM = reader("modulo")
CodSA = reader("semestre_academico")
CboCarrera.SelectedValue = CodE
CboReferencia.SelectedValue = CodR
CboModulo.SelectedValue = CodM
CboSemestreA.SelectedValue = CodSA
End If
Try
cn.Close() 'cerrando conexión
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
Panel1.Visible = False
Panel2.Visible = True
'End If
End Sub
Private Sub CmdEliminar_Click(sender As Object, e As EventArgs) Handles CmdEliminar.Click
If TxtCA.Text <= 0 Then
Else
If MsgBox("¿Estas seguro de querer borrar el registro?", MsgBoxStyle.Question +
MsgBoxStyle.YesNo, "Confirmación") = MsgBoxResult.Yes Then
cn.Open() 'abriendo conexión
Dim elimina As String = "delete from matriculas.[unidades_didacticas] where
codigoud='" & TxtCA.Text.Trim & "'"
Dim comando As New SqlCommand(elimina, cn)
Dim i As String = comando.ExecuteNonQuery()
Try
cn.Close() 'cerrando conexión
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
If (i > 0) Then
MessageBox.Show("Eliminado correctamente")
Else
MessageBox.Show("No eliminado...")
End If
Panel1.Visible = True
Panel2.Visible = False
Me.Consultar()
End If
End If
End Sub
Private Sub CmdGrabar_Click(sender As Object, e As EventArgs) Handles CmdGrabar.Click
If Label8.Text = "NUEVO - DATOS DE LA UNIDAD DIDACTICA" Then
Dim est_Carrera As Integer, est_Activo As String
Dim est_Referencia As Integer, est_Modulo As Integer, est_SemestreA As Integer
est_Activo = If(ChkActivo1.Checked, "1", "0")
est_Carrera = CboCarrera.SelectedValue
est_Referencia = CboReferencia.SelectedValue
est_Modulo = CboModulo.SelectedValue
est_SemestreA = CboSemestreA.SelectedValue
Dim vsql As String
vsql = " EXEC _RegistrarUnidadDidactica @descripcion ='" & TxtDescripcion.Text.Trim &
"', @especialidad ='" & est_Carrera & "', @referencia ='"
vsql = vsql & est_Referencia & "', @modulo ='" & est_Modulo & "',
@semestre_academico ='" & est_SemestreA & "', @horasxsemestre ='"
vsql = vsql + TxtHorasxsemestre.Text & " ', @creditos ='" & TxtCreditos.Text & "',
@codigoud ='0', @estatus ='" & est_Activo & "', @tipo = 1"
cn.Open() 'abriendo conexión
Dim cmUD As New SqlCommand(vsql, cn)
Try
cmUD.ExecuteNonQuery() 'Ejecutando orden SQL en el servidor de BD
cn.Close() 'cerrando conexión
MessageBox.Show("Registro ingresado....")
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
Else
Dim est_Carrera As Integer, est_Activo As String
Dim est_Referencia As Integer, est_Modulo As Integer, est_SemestreA As Integer
est_Activo = If(ChkActivo1.Checked, "1", "0")
est_Carrera = CboCarrera.SelectedValue
est_Referencia = CboReferencia.SelectedValue
est_Modulo = CboModulo.SelectedValue
est_SemestreA = CboSemestreA.SelectedValue
Dim vsql As String
vsql = " EXEC _RegistrarUnidadDidactica @descripcion ='" & TxtDescripcion.Text.Trim &
"', @especialidad ='" & est_Carrera & "', @referencia ='"
vsql = vsql & est_Referencia & "', @modulo ='" & est_Modulo & "',
@semestre_academico ='" & est_SemestreA & "', @horasxsemestre ='"
vsql = vsql + TxtHorasxsemestre.Text & " ', @creditos ='" & TxtCreditos.Text & "',
@codigoud ='" & TxtCA.Text & "', @estatus ='" & est_Activo & "', @tipo = 5"
cn.Open() 'abriendo conexión
Dim cmUD As New SqlCommand(vsql, cn)
Try
cmUD.ExecuteNonQuery() 'Ejecutando orden SQL en el servidor de BD
cn.Close() 'cerrando conexión
MessageBox.Show("Registro modificado....")
Catch ex As Exception
MessageBox.Show("Error...", Err.Description)
End Try
End If
Panel1.Visible = True
Panel2.Visible = False
Me.Consultar()
End Sub
Private Sub CmdCancelar_Click(sender As Object, e As EventArgs) Handles
CmdCancelar.Click
Panel1.Visible = True
Panel2.Visible = False
End Sub
End Class
o 2 Reporteadores
a. Reporte: Movimientos – Pagos de matriculas según estudiante
Imports System.Data.SqlClient
Public Class Form3
Dim cn As New SqlConnection("Server=localhost;Database=Instituto;Integrated
Security=True")
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Me.LlenaDatos()
End Sub
Private Sub LlenaDatos()
Dim sql1 As String
sql1 = "SELECT dni, apellidopaterno+' '+apellidomaterno+' '+nombres AS
apellidos_nombres FROM matriculas.estudiantes ORDER BY apellidopaterno,
apellidomaterno, nombres"
Dim dtAlumnos As New DataTable
Dim daAlumnos As New SqlDataAdapter(sql1, cn)
daAlumnos.Fill(dtAlumnos)
CboAlumno.DataSource = dtAlumnos
CboAlumno.DisplayMember = "apellidos_nombres"
CboAlumno.ValueMember = "dni"
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
Me.Consultar()
End Sub
Private Sub Consultar()
Dim sql As String
Dim idDNI As String = CboAlumno.SelectedValue.ToString
Dim dfecha1 As Date = dt1.Value.ToString
Dim dfecha2 As Date = dt2.Value.ToString
'dfecha1 = Format(dt1.Value, "dd/MM/yyyy")
'dfecha2 = Format(dt2.Value, "dd/MM/yyyy")
dfecha1 = Format(dt1.Value, "yyyy-MM-dd")
dfecha2 = Format(dt2.Value, "yyyy-MM-dd")
Imports System.Data.SqlClient
End Sub
daSemestreA.Fill(dtSemestreA)
CboSemestreA.DataSource = dtSemestreA
CboSemestreA.DisplayMember = "semestre_academico"
CboSemestreA.ValueMember = "semestre_academico"
End Sub
Me.Consultar()
End Sub
sql = "SET DATEFORMAT dmy EXEC _Movimientos_PagosxSemestre @fecha1 ='" & dfecha1 & "',
@fecha2 ='" & dfecha2 & "',@semestre ='" & idsemestre & "'"
Dim dtAlumno As New DataTable
daAlumno.Fill(dtAlumno)
dgrData.DataSource = dtAlumno
End Sub
End Class
as
INTO #Movimientospagos0
FROM matriculas.estudiantes e
-- abrir cursor
OPEN c_pagos
-- leer el cursor
WHILE @@FETCH_STATUS =0
BEGIN
--- Proceso
END
DEALLOCATE c_pagos
4. CONCLUSIONES
Tomando en cuenta los resultados obtenidos de esta investigación, se concluye
en lo siguiente:
Al utilizar el software Sql Server, es una potente herramienta que permite
implementar funciones, vistas, triggers, cursores, que facilitan el análisis de
la información.
La herramienta Sql Server, es una de las mejores del mercado mundial, que
permite utilizar comandos que hacen mas fácil el análisis de la información.
La herramienta Sql Server comparado con otros Administradores de base de
datos, se puede decir que esta herramienta tiene muchos recursos que
ofrecer y que falta explotar.
5. RECOMENDACIONES
Tomando en cuenta los resultados obtenidos de la aplicación de este software
como es Sql Server, se recomienda:
Utilizar esta poderosa herramienta de base de datos para el análisis de la
información.
Personalmente he utilizado MYSQL SERVER y comparado con SQL
SERVER, este ultimo permite realizar análisis de datos, por lo que se
recomienda su uso.
Usar SQL SERVER, ya que no se necesita programar mucho, la mayor
parte de las operaciones o procesos se hace en el mismo gestor.