Control Escolar

November 21, 2017 | Author: VM Saint-Exupéry | Category: Sql, Databases, Software Design, Computer File, Information Technology
Share Embed Donate


Short Description

Download Control Escolar...

Description

INSTITUTO TECNOLOGICO DE LAZARO CARDENAS

ALUMNO (S): VICTOR MANUEL ALANIS VELAZQUEZ HOMAR SANCHEZ BAUTISTA LUIS FELIPE FIGUEROA INFANTE

PROFESOR (A): ARACELI VELAZQUEZ GUTIÉRREZ

ASIGNATURA: FUNDAMENTOS DE BASE DE DATOS

CARRERA: INGENIERIA EN SISTEMAS COMPUTACIONALES

PROYECTO: DISEÑO DE UN SISTEMA DE BASE DE DATOS PARA EL CONTROL ESCOLAR.

OBJETIVO. Desarrollar un sistema de base de datos en el cual nos permita llevar el control escolar de una institución de nivel medio superior para un mejor manejo de de la información desarrollando los conocimientos adquiridos en el aula.

INTRODUCCIÓN. Un sistema de bases de datos es básicamente un sistema computarizado para llevar registros.

Es posible considerar a la propia base de datos como una especie de armario electrónico para archivar; es decir, es un depósito o contenedor de una colección de archivos de datos computarizados. Los usuarios del sistema pueden realizar una variedad de operaciones sobre dichos archivos, por ejemplo: 

Agregar nuevos archivos vacíos a la base de datos;



Insertar datos dentro de los archivos existentes;



Recuperar datos de los archivos existentes;



Modificar datos en archivos existentes;



Eliminar datos de los archivos existentes;



Eliminar archivos existentes de la base de datos.



Consultar los datos existentes

Las

instrucciones

SELECT,

INSERT, UPDATE,

DELETE

están

expresadas en un lenguaje denominado SQL. SQL es el lenguaje estándar para interactuar con bases de datos relaciónales y es soportado por práctica mente todos los productos de base de datos actuales.

JUSTIFICACIÓN.

Este proyecto, busca fundamentalmente responder a las necesidades y aspiraciones tanto de alumnos como de los trabajadores encargados para el manejo de este sistema de control escolar, de los principales problemas que padece y de las demandas específicas que formuló la comunidad estudiantil.

MARCO TEÓRICO.

Una base de datos es un conjunto de datos persistentes que es utilizado por los sistemas de aplicación de alguna empresa dada. Aquí, el término "empresa" es simplemente un término genérico conveniente para identificar a cualquier organización independiente de tipo comercial, técnico, científico u otro. Una empresa podría ser un solo individuo (con una pequeña base de datos personal), toda una corporación o un gran consorcio similar (con una gran base de datos compartida) o todo lo que se ubique entre estas dos opciones. Aquí tenemos algunos ejemplos:

1. Una compañía manufacturera 2. Un banco 3. Un hospital 4. Una universidad 5. Un departamento gubernamental

Toda empresa necesariamente debe mantener una gran cantidad de datos acerca de su operación. La implementación de determinado modelo de datos es una realización física, en una máquina real, de los componentes de la máquina abstracta que en conjunto constituyen ese modelo.

DESCRIPCIÓN DEL PROBLEMA. Tener acceso de manera más eficiente a la información para un mejor manejo de resultados específicos, como promedios, índice de reprobación y/o aprobación, exámenes especiales, etc.

PROCESO DE CONTROL ESCOLAR.

1.-El alumno tiene un registro contenido en la tabla inscripciones, cuyos datos personales están registrados en la tabla alumno, además de poder consultar sus calificaciones en la tabla calificaciones por unidad, ellos mismos cada semestre se podrán reinscribir cada semestre en un horario según su promedio general que podrán corroborar en la tabla calificaciones por semestre.

2.-El maestro tiene un registro en la tabla profesores, dicha tabla almacena sus datos personales, en la tabla grupos lleva un control sobre los grupos a los que da clases,

3.-En las tablas horarios_alumno y horario_prof tanto maestros como alumnos podrán identificar las horas y las aulas en las que impartirán y recibirán sus materias.

4.-En las tablas aulas y aulas_aux se podrá encontrar información del nombre de las aulas, edificio en el que se encuentran y numero de aula, además del equipo con la que cuenta el aula.

5.-En las tablas exámenes_especiales y traslados se

manejan datos en

casos de algunos alumnos, no en su totalidad como las otras tablas solo los que requieran un último examen para acreditar la materia y los que soliciten un cambio de institución respectivamente.

IDENTIFICACIÓN DE ENTIDADES. Las entidades fuertes en nuestra base de datos se identifican con

los

nombres: 

Alumnos



Profesores



Grupos



Exámenes_especiales



Inscripciones



Reinscripciones



Traslados



Aulas



Materias

Las entidades débiles en nuestra base de datos se identifican con los nombres: o Aulas_aux o Horario_alumno o Horario_prof o Calificación_semestre o Calificación_unidad o Grupos

ALCANCES DEL PROYECTO.

El sistema podrá llevar el control sobre la información personal del alumnado así

como de profesores, sus calificaciones, materias y grupos asignados,

respectivamente.

PROCESO DE NORMALIZACIÓN.

En este proceso lo primero que hicimos fue identificar los datos atómicos y los no atómicos de cada tabla para así poder pasarlos a 1FN. Las tablas que no tenían atributos con valores atómicos se decía que la cumplían con 1FN y las que no tuvimos que separar dichos valores (atributos) a una tabla auxiliar tomando en cuenta las llaves primarias.

Después proseguimos con cada tabla para ahora pasarlas a 2FN, primero que nada las tablas deben estar en 1FN para poder pasarlas a 2FN ya cumpliendo esto, se pueden pasar a 2FN, que nos dice que todo atributo que nos sea clave primaria debe depender únicamente de dicha llave, de no ser así debe separarse o eliminarse así que sabiendo esto proseguimos a dicho proceso hasta terminar la 2FN en cada tabla.

Continuando con nuestro proceso de normalización ya habiendo cumplido con la 1FN Y 2FN, ahora se tenía que aplicar 3FN, la que nos dice que todo atributo no primario (que no pertenece a la clave primaria) debe depender de la clave primaria y no de otro atributo no primario, si este depende más de otro atributo ajeno a la llave primaria entonces debe separare o en dado caso ser eliminado, sabiendo esto proseguimos a la aplicación de la 3FN en cada una de nuestras tablas.

Ya teniendo nuestras tablas en 1FN, 2FN Y 3FN, proseguimos con la FNBC que va de la mano con la 3FN ya que trata igualmente de dependencias funcionales, pero lo que caracteriza a esta forma normal, es que es más rigurosa que la 3FN ya que aun siendo llaves primarias los atributos, estos no deben depender de unos atributos más que otros, si no solo deben depender de la llave primaria en sí, sabiendo esto continuamos a aplicar la FNBC.

Continuando con la 4FN, nos dice que si hay datos independientes estos deben ser separados, esto se refiere a las dependencias multivaluadas, los atributos

aun siendo llave primaria deben depender de los demás, de no ser así deben separarse de tal manera que tengan congruencia a la hora de introducir datos, sabiendo esto proseguimos a aplicar la 4FN.

Ya la 5FN trata de evitar la redundancia en los datos, si se encuentra dicha redundancia en los datos se tienen que separa los atributos que propicien la misma, sabiendo esto proseguimos a aplicar la 5FN.

Ya habiendo aplicado la 1FN, 2FN, 3FN, FNBC, 4FN Y 5FN dimos por terminado nuestro proceso de normalización. Existe otra forma normal (FN) llamada DKNF la cual omitimos por ser difícil de alcanzar en la práctica.

Ya con esto podemos decir que nuestras tablas o mejor dicho nuestra base de datos (BD) está normalizada.

En la siguiente imagen se muestra nuestra base de datos (BD) ya normalizada:

DIAGRAMA FINAL.

alumnos carrera

aula

calificaciones_unidad calificación

horario_prof aula FK hora_materia

aluas_aux

profesores

exámenes_especiales prof_sinodal prof_sinodal2 calificación profesor_titular

reinscripciones pago_reinscripción horario_reinscripción periodo_escolar

calificación_semestre prom_general prom_semestre

grupos horas_totales periodo_escolar num_empleado FK cve_materia FK

traslados lugar_traslado fecha_traslado

inscripciones fecha_inscripción fecha_limite_inscripción

horario_alumno

materias horas_materia nombre_materia carrera créditos plan

datos_personales nombre edad curp dirección teléfono correo

CODIGO SQL.

-- Sección de la creación de las tablas -------------------------------------------------- Creación de la tabla datos_personales CREATE TABLE "datos_personales"( "nombre" Character varying(30), "edad" Bigint, "curp" Character varying(20), "direccion" Character varying(30), "telefono" Character varying(20), "correo" Character varying(30) ) INHERITS ("datos_personales") WITH (OIDS=FALSE) ;

-- Creación de la tabla alumnos

CREATE TABLE "alumnos"( "num_control" Bigint NOT NULL, "carrera" Character varying(20) ) INHERITS ("datos_personales") WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla alumnos

ALTER TABLE "alumnos" ADD CONSTRAINT "Key2" PRIMARY KEY ("num_control") ;

-- Creación de la tabla profesores

CREATE TABLE "profesores"( "num_empleado" Bigint NOT NULL ) INHERITS ("datos_personales") WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla profesores

ALTER TABLE "profesores" ADD CONSTRAINT "Key3" PRIMARY KEY ("num_empleado") ;

-- Creación de la tabla grupos

CREATE TABLE "grupos"( "id_grupo" Bigint NOT NULL, "horas_totales" Bigint, "periodo_escolar" Character varying(20), "num_empleado" Bigint, "cve_materia" Bigint ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla grupos

ALTER

TABLE

"grupos"

ADD

("id_grupo") ;

-- Creación de la tabla horario_prof

CREATE TABLE "horario_prof"(

CONSTRAINT

"Key4"

PRIMARY

KEY

"dia" Bigint NOT NULL, "id_grupo" Bigint NOT NULL, "aula" Character varying(20) NOT NULL, "hora_materia" Character varying(20) ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla horario_prof

ALTER TABLE "horario_prof" ADD CONSTRAINT "Key5" PRIMARY KEY ("aula","id_grupo","dia") ;

-- Creación de la tabla aula

CREATE TABLE "aula"( "aula" Character varying(20) NOT NULL ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla aula

ALTER TABLE "aula" ADD CONSTRAINT "Key6" PRIMARY KEY ("aula") ;

-- Creación de la tabla horario_alumno

CREATE TABLE "horario_alumno"( "prom_materia" Bigint NOT NULL, "id_grupo" Bigint NOT NULL, "num_control" Bigint NOT NULL )

WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla horario_alumno

ALTER TABLE "horario_alumno" ADD CONSTRAINT "Key7" PRIMARY KEY ("prom_materia","id_grupo","num_control") ;

-- Creación de la tabla materias

CREATE TABLE "materias"( "cve_materia" Bigint NOT NULL, "horas_materia" Bigint, "nombre_materia" Character varying(20), "carrera" Character varying(20), "creditos" Bigint, "plan" Bigint ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla materias

ALTER TABLE "materias" ADD CONSTRAINT "Key8" PRIMARY KEY ("cve_materia") ;

-- Creación de la tabla calificacion_semestre

CREATE TABLE "calificacion_semestre"( "periodo_escolar" Character varying(20) NOT NULL, "prom_semestre" Bigint, "prom_general" Bigint,

"num_control" Bigint NOT NULL ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla calificacion_semestre

ALTER TABLE "calificacion_semestre" ADD CONSTRAINT "Key9" PRIMARY KEY ("periodo_escolar","num_control") ;

-- Creación de la tabla calificaciones_unidad

CREATE TABLE "calificaciones_unidad"( "unidad" Bigint NOT NULL, "num_control" Bigint NOT NULL, "id_grupo" Bigint NOT NULL, "calificacion" Bigint NOT NULL ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla calificaciones_unidad

ALTER TABLE "calificaciones_unidad" ADD CONSTRAINT "Key10" PRIMARY KEY ("unidad","num_control","id_grupo") ;

-- Creación de la tabla reinscripciones

CREATE TABLE "reinscripciones"( "fecha_reinscripcion" Character varying(20) NOT NULL, "periodo_escolar" Character varying(20), "pago_reinscripcion" Bigint,

"horario_reinscripcion" Character varying(20), "num_control" Bigint NOT NULL ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla reinscripciones

ALTER TABLE "reinscripciones" ADD CONSTRAINT "Key11" PRIMARY KEY ("num_control","fecha_reinscripcion") ;

-- Creación de la tabla inscripciones

CREATE TABLE "inscripciones"( "carrera" Character varying(20) NOT NULL, "num_ficha" Bigint NOT NULL, "fecha_inscripcion" Character varying(20), "fecha_limite_inscripcion" Bigint ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla inscripciones

ALTER TABLE "inscripciones" ADD CONSTRAINT "Key12" PRIMARY KEY ("carrera","num_ficha") ;

-- Creación de la tabla examenes_especiales

CREATE TABLE "examenes_especiales"( "fecha_aplicacion" Character varying(20) NOT NULL, "calificacion" Bigint,

"profesor_titular" Character varying(30), "prof_sinodal" Character varying(30), "prof_sinodal2" Character varying(30) ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla examenes_especiales

ALTER TABLE "examenes_especiales" ADD CONSTRAINT "Key13" PRIMARY KEY ("fecha_aplicacion") ;

-- Creación de la tabla aulas_aux

CREATE TABLE "aulas_aux"( "cantidad" Bigint NOT NULL, "equipo_aula" Bigint NOT NULL, "aula" Character varying(20) NOT NULL ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla aulas_aux

ALTER TABLE "aulas_aux" ADD CONSTRAINT "Key14" PRIMARY KEY ("cantidad","equipo_aula","aula") ;

-- Creación de la tabla traslados

CREATE TABLE "traslados"( "num_solicitud" Bigint NOT NULL, "lugar_traslado" Character varying(30),

"fecha_traslado" Character varying(20) ) WITH (OIDS=FALSE) ;

-- Se agregan las llaves primarias para la tabla traslados

ALTER TABLE "traslados" ADD CONSTRAINT "Key15" PRIMARY KEY ("num_solicitud") ;

-- Sección de la creación de las relaciones (o llaves foráneas) ------------------------------------------------

ALTER TABLE "horario_prof" ADD CONSTRAINT "Relationship1" FOREIGN KEY ("aula") REFERENCES "aula" ("aula") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "horario_prof" ADD CONSTRAINT "Relationship2" FOREIGN KEY ("id_grupo") REFERENCES "grupos" ("id_grupo") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "grupos" ADD CONSTRAINT "Relationship5" FOREIGN KEY ("num_empleado")

REFERENCES

"profesores"

("num_empleado")

ON

DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER

TABLE

"horario_alumno"

ADD

CONSTRAINT

"Relationship6"

FOREIGN KEY ("id_grupo") REFERENCES "grupos" ("id_grupo") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER

TABLE

"horario_alumno"

ADD

CONSTRAINT

"Relationship7"

FOREIGN KEY ("num_control") REFERENCES "alumnos" ("num_control") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "grupos" ADD CONSTRAINT "Relationship9" FOREIGN KEY ("cve_materia") REFERENCES "materias" ("cve_materia") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "calificacion_semestre" ADD CONSTRAINT "Relationship10" FOREIGN KEY ("num_control") REFERENCES "alumnos" ("num_control") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "calificaciones_unidad" ADD CONSTRAINT "Relationship11" FOREIGN KEY ("num_control") REFERENCES "alumnos" ("num_control") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "calificaciones_unidad" ADD CONSTRAINT "Relationship12" FOREIGN KEY ("id_grupo") REFERENCES "grupos" ("id_grupo") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER

TABLE

"reinscripciones"

ADD

CONSTRAINT

"Relationship13"

FOREIGN KEY ("num_control") REFERENCES "alumnos" ("num_control") ON DELETE NO ACTION ON UPDATE NO ACTION ;

ALTER TABLE "aulas_aux" ADD CONSTRAINT "Relationship14" FOREIGN KEY ("aula") REFERENCES "aula" ("aula") ON DELETE NO ACTION ON UPDATE NO ACTION ;

Aplicación de Herencia (Diagrama y código SQL).

Tabla Padre

Código generado

datos_personales nombre edad curp dirección teléfono correo

-- Sección de la creación de las tablas ------------------------------------------------- Creación de la tabla datos_personales CREATE TABLE "datos_personales"( "nombre" Character varying(30), "edad" Bigint, "curp" Character varying(20), "direccion" Character varying(30), "telefono" Character varying(20), "correo" Character varying(30) ) INHERITS ("datos_personales")

Tablas Hijo (o heredadas)

WITH (OIDS=FALSE) ;

alumnos carrera

-- Creación de la tabla alumnos CREATE TABLE "alumnos"( "num_control" Bigint NOT NULL, "carrera" Character varying(20) ) INHERITS ("datos_personales") WITH (OIDS=FALSE) ; -- Se agregan las llaves primarias para la tabla alumnos ALTER TABLE "alumnos" ADD CONSTRAINT "Key2" PRIMARY KEY ("num_control") ;

profesores

-- Creación de la tabla profesores CREATE TABLE "profesores"(

Nota. Nótese que las tablas alumnos y profesores (tablas

"num_empleado" Bigint NOT NULL )

hijo) carecen de atributos, esto es porque al utilizar herencia la tabla datos_personales (tabla padre) les

INHERITS ("datos_personales")

heredara dichos atributos pertenecientes a la misma a las

WITH (OIDS=FALSE) ;

tablas alumnos y profesores (tablas hijo), la herencia se

-- Se agregan las llaves primarias para la tabla profesores

efectuará mediante el siguiente código:

generado

por

el

modelador

utilizado, en este caso Toad Data Modeler (el código SQL completo generado por el modelador, se puede apreciar en la parte izquierda para cada tabla respectivamente). La herencia se verá reflejada ya en la base de datos (BD) a utilizar, en este caso PostgreSQL.

ALTER TABLE "profesores" ADD CONSTRAINT "Key3" PRIMARY KEY ("num_empleado") ;

INSTRUCCIONES SQL. Inserción de datos nuevos: INSERT INTO alumnos VALUES ('maria ramirez',24,'mara4509hmnllc02c','aguas11','987632','mara4509hmnllc02c',9560010,'ie'), ('mario suarez',24,'mas4509hmnllc02c','aguas1','454536','[email protected]',9560011,'isc'), ('julio agosto',20,'ve910120hmnllc02c','los perros 1','321415','[email protected]',9560012,'iq'), ('salomon solorio',19,'jaret98093hmnllc02c','torreon 67','456734','[email protected]',9560013,'iq'), ('rafaela soas',20,'sosa0420hmnllc02c','las cotorras 26','879034','[email protected]',9560014,'isc'), ('emmanuel alanis',20,'ve910120hmnllc02','torreon 17','894532','[email protected]',9560015,'ii'), ('juan mendez',21,'jlm901009hmnllc0','pera 45','907634','[email protected]',9560016,'isc'), ('vixtor alanis',20,'aavv910120hmnll','torreon 17','231425','vmav_2091@hotmail',9560017,'isc'), ('mario rivas',22,'mar0131321hmnllc0','manzanas 34','645328','[email protected]',9560018,'iel'), ('rafael marquez',20,'rm0420hmnllc02c','las cotorras 56','243516','[email protected]',9560019,'isc'), ('jorge perez',19,'j90320hmnllc02c','rio verde','231648','[email protected]',9560020,'ie'); INSERT INTO calificacion_semestre VALUES ('ene-jun 2011',90,93,9560010), ('ene-jun 2011',80,90,9560011), ('ene-jun 2011',80,100,9560012), ('ene-jun 2011',70,70,9560013), ('ene-jun 2011',80,85,9560014), ('ene-jun 2011',75,80,9560015), ('ene-jun 2011',85,87,9560016), ('ene-jun 2011',77,79,9560017), ('ene-jun 2011',79,80,9560018), ('ene-jun 2011',80;85,9560019), ('ene-jun 2011',80;85,9560020); INSERT INTO calificaciones_unidad

INSERT INTO reinscripciones

VALUES

VALUES

(1,9560010,110,70),

('23/08/11','ago-dic',800,'12:00-13:00',9560010),

(2,9560010,110,85),

(‘24/08/11','ago-dic',900,'11:00-14:00',9560011),

(2,9560011,111,80),

('24/09/11','ago-dic',900,'12:00-14:00',9560012),

(3,9560010,110,90),

('25/08/11','ago-dic',700,'10:00-14:00',9560013),

(3,9560011,111,95),

('24/08/11','ago-dic',1000,'13:00-

(3,9560012,112,90),

15:00',9560014),

(4,9560010,110,100),

('15/08/11','ago-dic',800,'12:00-14:00',9560015),

(4,9560011,111,87),

('16/08/11','ago-dic',900,'11:00-14:00',9560016),

(4,9560013,113,100),

('24/08/11','ago-dic',900,'09:00-12:00',9560016),

(5,9560011,111,78);

('22/08/11','ago-dic',800,'10:00-13:00',9560018), ('14/08/11','ago-dic',700,'10:00-12:00',9560019);

Modificación de datos existentes: UPDATE grupos SET periodo_escolar = 'ago - dic 2011' WHERE periodo_escolar like '%e%'; UPDATE grupos SET horas_totales = horas_totales + 1 WHERE num_empleado > 13; UPDATE aulas_aux SET cantidad = cantidad + 2 WHERE cantidad < 2;

Eliminación de datos existentes: DELETE FROM calificacion_semestre WHERE prom_semestre >= 70; DELETE FROM calificaciones_unidad WHERE calificacion > 69; DELETE FROM reinscripciones WHERE periodo_escolar LIKE '%a%';

Consulta de datos existentes  Nombre de las materias que se imparten el miércoles en el aula e5. SELECT nombre_materia, dia_materia, num_aula FROM horario_alumno_aux1 where num_aula = 'e5' and dia_materia = 'miercoles';

 Nombre de las materias que lleva el estudiante con el num_control 09560634. SELECT nombre_materia, num_control FROM horario_alumno_aux1 where num_control = 9560634;

 Cantidad de alumnos que llevan la materia fundamentos bd. SELECT nombre_materia, count(*) FROM horario_alumno_aux1 where nombre_materia = 'fundamentos bd' group by nombre_materia;

 Nombre de los alumnos que harán exámenes especiales. SELECT calificacion, alumnos.nombre_alumno FROM examenes_especiales,alumnos WHERE alumnos.num_control = examenes_especiales.num_control and calificación = 0;

 Nombre de los alumnos que ya presentaron exámenes especiales y su calificación. SELECT calificacion,alumnos.nombre_alumno FROM examenes_especiales,alumnos WHERE alumnos.num_control = examenes_especiales.num_control and calificacion>=70;

Recomendaciones a considerar al momento de usar INSERT, DELETE, UPDATE: En el momento llenar las tablas con datos, lo primero que deben hacer es llenar aquellas tablas que contengan las llaves primarias ya que si llenan antes las que están relacionadas, este marcara error por la restricción de la lleve foránea, en otras palabras, primero se deben de llenar las columnas que sean llaves primarias antes que las columnas que sean llaves foráneas de la otra tabla o de las otras donde allá relación. También al momento de querer eliminar filas, deben de tomar en cuenta que si las tablas ya están llenas con datos y se quiere eliminar una fila donde una columna es llave primaria no se les permitirá por la restricción ya que hay una llave foránea en otra tabla, esto es porque hay relación entre esas tablas, la relaciones pueden existir entre dos o mas tablas, así que, lo primero que deben hacer es, eliminar los datos de aquellas tablas con las que esté relacionada dicha tabla. Estas consideraciones se aplican de igual manera al momento de modificar (o actualizar) un dato.

CONCLUSION. El uso correcto de esta base de datos nos permite un mejor manejo de la información almacenada tanto para alumnos como maestros, además de haber aprendido herramientas importantes para el desarrollo de una base de datos que hasta el momento no nos habían explicado tan correcto como en este curso.

BIBLIOGRAFÍA. FUNDAMENTOS DE BASES DE DATOS Cuarta edición Abraham Silberschatz Introducción a los Sistemas de bases de datos SÉPTIMA EDICIÓN C. J. Date

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF