ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Modelo sistemas de información. Bases de datos


Enviado por   •  24 de Septiembre de 2018  •  Tarea  •  1.716 Palabras (7 Páginas)  •  100 Visitas

Página 1 de 7

TRABAJO INDIVIDUAL

Una autoescuela desea crear una Base de Datos para almacenar información sobre todos sus profesores, sus alumnos, clases impartidas y resultados de exámenes realizados. Suponemos que tenemos las siguientes condiciones:

  • Cada alumno tendrá un único profesor pero un profesor tendrá asignado varios alumnos.
  • Un alumno puede recibir tantas clases como desee, pero en la base de datos cada clase estará asociada a un alumno.
  • Un alumno puede presentarse a varios exámenes y al mismo tiempo en un examen pueden participar varios alumnos de la escuela.
  • Todo profesor tiene asignado para sus clases un único vehículo, pero ese vehículo puede ser usado por otros profesores.

En primer lugar nos creamos la base de datos sobre la que vamos a trabajar en el programa SQL SERVER 2008,  la cual se denomina “trabajoindividual”.

create database trabajoindividual

En segundo lugar, vamos a crear el esquema físico de las tablas que componen nuestra base de datos, teniendo en cuenta las relaciones establecidas entre las mismas y asegurándonos de que en todo momento se cumple la integridad referencial entre registros de esas tablas.

Tabla alumnos

create table alumnos

(dnialumno varchar(9) not null,nombre char(50) not null, direccion char(50),fechanac datetime not null,telefono char(9) not null,dniprofesor varchar(9) not null

primary key (dnialumno))

Vemos que la tabla alumnos se compone de una serie de atributos en este caso, el dni del alumno, el nombre, su dirección, su fecha de nacimiento, su teléfono y el dni del profesor, todos ellos definidos a través del lenguaje SQL. A su vez el atributo dnialumno actúa como primary key o clave principal de dicha tabla.

Creamos un índice de valores duplicados para el campo fechnac para la tabla alumnos, de esta manera permitimos que al incluir registros en la tabla, varios alumnos pudieran tener la misma fecha de nacimiento.

create index idx_alumnos_fechanac on alumnos (fechanac)

A su vez creamos un índice de valor único para el campo teléfono en la tabla alumnos, el cual nos va a impedir anotar registros en los que distintos alumnos pudieran tener el mismo número de teléfono:

create unique index idx_alumnos_telefono on alumnos (telefono)

Tabla clases

create table clases

(codigoclase char(5) not null, fecha datetime not null, hora datetime not null,

dnialumno varchar (9) not null

primary key (codigoclase)

foreign key (dnialumno) references alumnos (dnialumno))

En este caso hemos incluido la restricción foreign key, la cual nos relaciona un atributo de la tabla clases (en este caso dnialumno), con la clave principal de la tabla alumnos previamente creada (dnialumno).

Tabla profesores

create table profesores

(dniprofesor varchar(9) not null, nombre char(50) not null, direccion char(50), telefono char(9) not null, edad REAL

primary key (dniprofesor))

Una vez creada la tabla profesores añadimos una restriccion foreign key en la tabla alumnos donde se relacione el atributo dniprofesor de dicha tabla con la clave principal de la tabla profesores  (dniprofesor).

alter table alumnos

add foreign key (dniprofesor) references profesores (dniprofesor)

Tabla alumexa

create table alumexa

(dnialumno varchar(9) not null, codexa char(5) not null, resultado varchar (12) not null,

unique (dnialumno, codexa),

foreign key (dnialumno) references alumnos (dnialumno))

...

Descargar como (para miembros actualizados) txt (14 Kb) pdf (218 Kb) docx (25 Kb)
Leer 6 páginas más »
Disponible sólo en Clubensayos.com