Sie sind auf Seite 1von 23

Unidad 1: Fase1 Diseño de Bases de Datos

Actividad Individual.

Entregado por:

Emiliano de Jesús Gonzalez Rodriguez

Grupo: 301125_24

Presentado a:
Jaime Rubiano
Tutor

Universidad Nacional Abierta y a Distancia - UNAD


Escuela de Ciencias Básicas, Tecnología e Ingeniería
Programa de Ingeniería de Sistemas
Visual Basic Basico
Abril 2019
EJERCICIO A REALIZAR

Se debe diseñar un programa que maneje una Base de datos con Sql y
se conecte con visual Basic, o desde el mismo Visual tenga la base de
datos, o que maneje base de datos desde Access y se maneje desde
visual. (La base de datos es para estudiantes)
Los datos que ingresan al BD deben estar validados, que no acepte
números en el ingreso de nombre, apellido y en los demás campos para
ingresar texto. Y que no acepte letras en los campos de números como
edad teléfono etc.

La base datos debe registrar, modificar y borrar registros.

La base de datos se debe documentar con análisis, diseño y codificación.

Para ingresar a la base de datos se debe escribir usuario y clave de


acceso, una vez registrado el estudiante, ingresa.
ANÁLISIS, DISEÑO Y CODIFICACIÓN DE LA BASE DE DATOS EN MYSQL

Entidad o Tipo de Justificación, Ejemplo de Ejemplares Extensión Intención


Entidad explicación de (Instancias)
su existencia
en el Mundo
del Problema
Asignaturas Son la base de  Inteligencia Artificial 500 Almacenar las
la gestión de  Métodos numéricos asignaturas
los programas  Matemática Avanzada que cursarán
académicos en  Algebra y los estudiantes
la universidad. Trigonometría en la
Sin asignaturas  Algebra Lineal universidad.
no es posible
contar con un
programa.
Oferta_Academica Son la  Ingeniería de Sistemas 100 Agrupar las
estructura de  Ingeniería de Petróleos asignaturas y
lo ofertado  Ingeniería Agrícola establecer un
(carreras) por  Finanzas camino de
la universidad Internacionales estudios.
conformada  Matemática Aplicada
por
asignaturas.
Estudiantes Son quienes  Jhon Caballero 20000 Registrar a los
tomarán una  Anderson Rincon estudiantes
oferta  Briyith Aristizabal que quieran
académica y  Jeferson Marin matricularse
por tanto en el
Matricula Periodo  20181 10 Establecer
académico en  20182 periodos
el cual los  20191 académicos
estudiantes se  20192 organizados,
matricularán. de una
manera
organizada.
Notas Notas  5.0 50 Registrar y
obtenidas por  4.3 asignar un
cada  3.2 valor de nota a
asignatura.  2.8 cada
asignatura.
Asignaturas, incluyendo el número, título, programa y prerrequisitos.
Formato 2 - Descripción de atributos y sus restricciones naturales (Tipo de Dato) y restricciones adicionales Dominios (Lista de Valores,
Rangos de Valores y Restricciones generales) - VERSION 1

Nombre Entidad Atributos Identificador Nombre dominio Tipo de Tamaño Obligatoriedad Cardinalidad Restricciones adicionales
Único (UID) Dato (Si/No) (1 o
(Texto, Muchos) Lista de Rango de Valores Restricción
Número, Valores de Control
Fecha)
Asignaturas Asignatura_Id X Asignatura_Ids N 3 Si 1 -- 001-501 ---
Nombre Nombres T 20 Si 1 -- --- ---
Programa Programas T 20 Si 1 -- --- ---
Prerrequisitos Prerrequisitos T 20 No M --- ---
Creditos Creditos N 10 Si 1 1-10
Oferta Oferta_Id X Oferta_Ids N 3 Si 1 --- 001-101 ---
Num_Asignaturas Número de N 50 Si 1 --- --- ---
asignaturas
Año Años F 5 Si 1 --- --- ---
Num_Seccion Numero de secciones N 8 Si 1
Semestre Semestres N 8 Si 1 --- --- ---
Profesores Profesores T 100 Si M --- --- ---
Horarios Horarios T 50 Si M --- --- ---
Aulas Aulas T 70 Si M --- --- ---
Estudiante Estudiante_Id X Estudiante_Ids N 10 Si 1 --- aaaasrrrrr (año- ---
semestre - cinco
números
random)
Nombre Nombres T 20 Si 1 --- --- ---
Apellido Apellidos T 20 Si 1 --- --- ---
Departamento Departamentos T 15 Si 1 --- --- ---
Titulo Titulos T 20 Si 1 --- --- ---
Teléfono Teléfonos N 10 No M --- --- ---
Correo Correos T 20 Si M --- --- ---
Matricula Matricula_Id X Matricula_Ids N 5 Si 1 -- 00001-10000 ---
Fecha_Matricula Fecha_Matriculas F 8 Si 1 -- aaaammdd ---
Valor_Matricula Valor_Matriculas N 10 Si 1 --- --- ---
Asignatura_Id (FK) Asignatura_Ids N 3 Si M --- 001-501 ---
Nota Nota_Id X Nota_Ids N 3 Si 1 --- --- ---
Asignatura_Id (FK) Asignatura_Ids N 3 Si M --- 001-501 ---
Valor_Nota Valor_Notas N 50 Si 1 --- 0.0-5.0 ---
Formato 3 - Matriz de Relaciones
Asignatura Oferta Estudiante Matrícula Nota
Asignatura Pertenece Tiene Pertenece Tiene
1:n 1:n 1:n 1:1
Oferta Tiene x x x
1:n
Estudiante Tiene Pertenece Tiene Tiene
1:n 1:1 1:1 1:n
Matrícula Tiene x Pertenece
1:n 1:1
Nota Pertenece x Pertenece x
1:1 1:n
CREATE TABLE Oferta (
Oferta_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Num_Asignaturas INTEGER UNSIGNED NULL,
Año INTEGER UNSIGNED NULL,
Semestre INTEGER UNSIGNED NULL,
Num_Seccion INTEGER UNSIGNED NULL,
PRIMARY KEY(Oferta_ID)
);

CREATE TABLE Departamento (


Departamento_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Nombre VARCHAR (20) NULL,
PRIMARY KEY(Departamento_ID)
);
CREATE TABLE Horarios (
Id_Horario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Hora_Inicial TIME NOT NULL,
Hora_Final TIME NOT NULL,
Dia VARCHAR (20) NOT NULL,
PRIMARY KEY(Id_Horario)
);

CREATE TABLE Aula (


Aula_Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Nombre VARCHAR (20) NOT NULL,
PRIMARY KEY(Aula_Id)
);

CREATE TABLE Asignaturas (


Asignatura_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Aula_Id INTEGER UNSIGNED NOT NULL,
Nombre VARCHAR(20) NOT NULL,
Programa VARCHAR(20) NOT NULL,
Prerrequisitos VARCHAR(20) NOT NULL,
Creditos INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Asignatura_ID),
INDEX Asignaturas_FKIndex2(Aula_Id)
);

CREATE TABLE Profesor (


Profesor_ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Departamento_ID INTEGER UNSIGNED NOT NULL,
Nombre VARCHAR (20) NOT NULL,
Apellido VARCHAR (20) NOT NULL,
Departamento VARCHAR (20) NOT NULL,
Titulacion VARCHAR (20) NOT NULL,
PRIMARY KEY(Profesor_ID),
INDEX Profesor_FKIndex1(Departamento_ID)
);

CREATE TABLE Asignaturas_has_Profesor (


Asignatura_Asignatura_ID INTEGER UNSIGNED NOT NULL,
Profesor_ID INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Asignatura_Asignatura_ID, Profesor_ID),
INDEX Asignaturas_has_Profesor_FKIndex1(Asignatura_Asignatura_ID),
INDEX Asignaturas_has_Profesor_FKIndex2(Profesor_ID)
);

CREATE TABLE Aula_has_Horarios (


Aula_Id INTEGER UNSIGNED NOT NULL,
Horarios_Id_Horario INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Aula_Id, Horarios_Id_Horario),
INDEX Aula_has_Horarios_FKIndex1(Aula_Id),
INDEX Aula_has_Horarios_FKIndex2(Horarios_Id_Horario)
);
CREATE TABLE Estudiante (
Estudiante_Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Oferta_ID INTEGER UNSIGNED NOT NULL,
Departamento_ID INTEGER UNSIGNED NOT NULL,
Nombre VARCHAR (20) NOT NULL,
Apellido VARCHAR (20) NULL,
Telefono INTEGER UNSIGNED NULL,
Correo VARCHAR (20) NULL,
PRIMARY KEY(Estudiante_Id),
INDEX Estudiante_FKIndex1(Departamento_ID),
INDEX Estudiante_FKIndex2(Oferta_ID)
);

CREATE TABLE Matricula (


Matricula_Id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Estudiante_Id INTEGER UNSIGNED NOT NULL,
Fecha_Matricula DATE NULL,
Valor_Matricula DOUBLE NULL,
PRIMARY KEY(Matricula_Id),
INDEX Matricula_FKIndex1(Estudiante_Id)
);

CREATE TABLE Nota (


Id_Nota INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Estudiante_Id INTEGER UNSIGNED NOT NULL,
Asignaturas_Asignatura_ID INTEGER UNSIGNED NOT NULL,
Valor_Nota DOUBLE NOT NULL,
PRIMARY KEY(Id_Nota),
INDEX Nota_FKIndex1(Asignaturas_Asignatura_ID),
INDEX Nota_FKIndex2(Estudiante_Id)
);

CREATE TABLE Matricula_has_Asignaturas (


Matricula_Id INTEGER UNSIGNED NOT NULL,
Asignatura_Asignatura_ID INTEGER UNSIGNED NOT NULL,
PRIMARY KEY(Matricula_Id, Asignatura_Asignatura_ID),
INDEX Matricula_has_Asignaturas_FKIndex1(Matricula_Id),
INDEX Matricula_has_Asignaturas_FKIndex2(Asignatura_Asignatura_ID)
);
Consultas:
Conexión a la base de datos MySQL server:
Código para inserción de datos en la base de datos:

Interfaz para la inserción de los registros en la base de datos MySQL:


Se adjunta el script para la ejecución de la base de datos en MySQL y el código en Visual Basic.

Das könnte Ihnen auch gefallen