Вы находитесь на странице: 1из 6

En este trabajo se realizar el diseo e implementacin de una pequea base de datos que guarde

informacin de pacientes que ingresan en un hospital. En este hospital, los pacientes que llegan al
servicio de urgencias del hospital son examinados y, dependiendo de su estado de salud, son
ingresados en la planta correspondiente (traumatologa, cuidados intensivos, ...) bajo la
supervisin de un mdico responsable.
Para este ejemplo se llevarn a cabo las tres etapas de diseo de bases de datos (diseos
conceptual, lgico y fsico) teniendo en cuenta la especificacin anterior. La implementacin se
realizar en el SGBDR SQL SERVER. Adems de la especificacin del esquema, se impondrn
restricciones de integridad sobre l.
Diseo conceptual
En este apartado se muestran las dos primeras etapas (diseo conceptual y diseo lgico) del
diseo de bases de datos relacionales.
Identificacin de entidades
La entidad que surge inmediatamente es Pacientes. Otras entidades posibles son Mdicos e
Ingresos. La primera se refiere a los mdicos que son responsables de los pacientes y la segunda al
ingreso en el hospital.
Las entidades modelan en general tanto objetos y personas (pacientes y mdicos) como acciones
(ingresos).
Podran surgir las siguientes preguntas
Por qu no eliminar Mdicos y hacer que forme parte como atributos de Pacientes?
Como un mdico ser responsable en general de varios pacientes, repetir la informacin
del mdico para cada paciente no es buena idea.
Por qu no eliminar Ingresos y hacer que forme parte como atributos de Pacientes? Un
paciente puede ingresar varias veces en el hospital y tener asignado en cada ocasin
diferentes mdicos, con lo que nos encontraramos con atributos multivalorados.
Identificacin de atributos
A cada tipo de entidad se le debe asignar tantos atributos como sea necesario en la especificacin
del problema.
Entidad Pacientes:
Nmero de Seguridad Social.
Nombre del paciente.
Apellidos del paciente.
Domicilio.
Poblacin.
Provincia
Cdigo postal.
Nmero de telfono.
Nmero de historial clnico.
Observaciones
Entidad Ingresos:
Procedencia.
Fecha de ingreso.
Nmero de planta.
Nmero de cama.
Observaciones
Entidad Mdicos:
Cdigo de identificacin del mdico.
Nombre.
Apellidos.
Especialidad.
Nmero de colegiado.
Cargo.
Observaciones
Por qu no poner un atributo Nombre del hospital? Es una informacin implcita.
Identificacin de relaciones
Por una parte tenemos pacientes que realizan ingresos y, por otra, mdicos que atienden a
pacientes. Segn esto aparecen dos relaciones: Realiza: Pacientes Ingresos y Atiende: Ingresos
Mdicos. Ninguna de ellas tiene atributos asociados.
Identificacin de restricciones
Restricciones de clave primaria para las entidades
En las entidades Pacientes y mdicos parece claro:
Entidad Pacientes: Nmero de historial clnico.
Entidad Mdicos: Cdigo de identificacin del mdico.
Sin embargo, en la entidad ingresos hay varios atributos que, aisladamente, no parecen formar
clave. El ingreso depende de un paciente en concreto, por lo que esta entidad debera guardar
informacin de a qu paciente corresponde. De hecho, se trata de un tipo de entidad conocida
como dbil, que debera tomar prestado el atributo clave de Pacientes para formar clave. Pero no
es suficiente, es necesario aadir al menos la fecha en que ingres el paciente. Pero, qu ocurre
si el paciente ingresa dos veces en el mismo da? Habra que aadir otro atributo, como la hora,
para indicarlo.
En la prctica, se elige muchas veces usar un nuevo atributo sin significado que sirva nicamente
para identificar unvocamente a las entidades. En este caso usaremos un atributo denominado ID
(de identificador).
Entidad Ingresos: ID
Restricciones de cardinalidad
Relacin Realiza:
Pacientes -1- Realiza - Ingresos: Un ingreso slo corresponde a un paciente.
Pacientes - Realiza -N- Ingresos: Un paciente puede sufrir varios ingresos.
Relacin Atiende:
Mdicos -1- Atiende - Ingresos: Un ingreso slo es atendido por un mdico.
Mdicos - Atiende -N- Ingresos: Un mdico puede atender varios ingresos.
Diagrama E-R
Con la informacin identificada anteriormente se puede llegar al siguiente diagrama entidad-
relacin, en el que no se muestran los atributos que no sean clave para simplificar el dibujo.

Diseo lgico
Traduccin de tipos de entidades y relaciones
Tablas procedentes de los tipos de entidades del esquema E-R:
Pacientes (Nmero de Seguridad Social, Nombre del paciente, Apellidos del paciente, Domicilio,
Poblacin, Provincia, Cdigo postal, Nmero de telfono, Nmero de historial clnico,
Observaciones)
Ingresos (ID, Procedencia, Fecha de ingreso, Nmero de planta, Nmero de cama,
Observaciones)
Mdicos (Cdigo de identificacin del mdico, Nombre, Apellidos, Especialidad, Nmero de
colegiado, Cargo, Observaciones)
Tablas procedentes de los tipos de relaciones del esquema E-R:
Realiza (Nmero de historial clnico, ID). En esta tabla, la clave es ID porque se trata de una
relacin una a varias (la parte una corresponde a Pacientes y la parte varias a Ingresos).
Atiende (Cdigo de identificacin del mdico, ID). En esta tabla, la clave es ID porque se trata de
una relacin una a varias (la parte una corresponde a Mdicos y la parte varias a Ingresos).
Simplificacin del esquema
Observando cmo queda el diseo, se puede simplificar gracias a que las relaciones que aparecen
son de una a varias, e incluir esta informacin en la tabla Ingresos. Para la relacin Realiza,
incluimos el atributo Nmero de historial clnico en Ingresos, de forma que a cada ingreso le va a
corresponder un paciente en concreto y slo uno. De igual forma, para la relacin Atiende,
incluimos el atributo Cdigo de identificacin del mdico en Ingresos, de forma que a cada ingreso
le va a corresponder un mdico en concreto y slo uno. Esta tcnica es habitual cuando nos
encontramos relaciones una a varias.
Por lo tanto, el esquema simplificado es:
Pacientes (Nmero de Seguridad Social, Nombre del paciente, Apellidos del paciente, Domicilio,
Poblacin, Provincia, Cdigo postal, Nmero de telfono, Nmero de historial clnico,
Observaciones)
Ingresos (ID, Procedencia, Fecha de ingreso, Nmero de planta, Nmero de cama,
Observaciones, Nmero de historial clnico, Cdigo de identificacin del mdico)
Mdicos (Cdigo de identificacin del mdico, Nombre, Apellidos, Especialidad, Nmero de
colegiado, Cargo, Observaciones)
Restricciones de integridad
En este ejemplo se retrasa la definicin de las restricciones de dominio hasta la realizacin de la
prctica.
Segn el enunciado del problema no parece que se puedan definir dependencias funcionales en
ninguna de las tablas, por lo que se encuentran en la mejor forma normal que podamos exigir y no
tiene sentido la normalizacin.
Sin embargo, s es posible imponer restricciones de integridad referencial, observando que los
atributos aadidos a Ingresos resultados de la simplificacin provienen de tipos de entidades, y
sabemos que debemos imponerlas para tales atributos. En concreto, el valor del campo Nmero
de Seguridad Social de Ingresos lo debemos encontrar en Pacientes, as como el valor del campo
Cdigo de identificacin del mdico lo debemos encontrar en Mdicos.


En ella tambin se pueden observar las restricciones de cardinalidad una a varias que se han
detectado entre esas entidades. (Con 1 se indica la parte una de la restriccin y con se indica la
parte varias).

Diseo fsico
En este apartado se muestra el diseo fsico del ejemplo del hospital usando el SGBDR (sistema
gestor de bases de datos relacionales) Access.
Definicin de los campos
Los tipos de campo, as como la definicin de su tamao (como se ver a continuacin) permiten
definir las restricciones de dominio que se refieren al tamao y al tipo de los datos de un campo.
Las reglas de validacin ubicadas en las propiedades de los campos permiten especificar otras
restricciones de dominio que limitan los valores del campo (por ejemplo, que no se admitan
nmeros negativos).
Para cada campo es posible especificar que no contenga valores nulos (es decir, imponer como
restriccin de dominio la eliminacin del valor NULL del dominio del campo). Tambin es posible
especificar que si se trata de una cadena de caracteres, sta no sea vaca.
Ms adelante, cuando se estudien las propiedades de las tablas, se ver que tambin es posible
especificar restricciones de dominio en funcin de valores de otros campos, es decir, restricciones
en el contexto de la tabla.
A continuacin se estudiar cmo se realiza la definicin de los campos.
Nombre de los campos
Deben estar identificados por nombres nicos dentro del contexto de la base de datos. Pueden
tener hasta 64 caracteres con caracteres especiales y espacios en blanco (nunca al principio), pero
no puntos, signos de exclamacin o corchetes.
Tipos de campos
El tipo de dato especifica el tipo de informacin que puede guardar un campo: caracteres,
nmeros, etc.
Estos son algunos tipos de datos bsicos de SQL Server:
Varchar: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de
caracteres. Se coloca entre comillas (simples); ejemplo: 'Hola', 'Juan Perez'. El tipo "varchar" define
una cadena de longitud variable en la cual determinamos el mximo de caracteres entre
parntesis. Puede guardar hasta 8000 caracteres.
Integer: se usa para guardar valores numricos enteros, de -2000000000 a 2000000000 aprox.
Definimos campos de este tipo cuando queremos representar, por ejemplo, cantidades.
Float: se usa para almacenar valores numricos con decimales. Se utiliza como separador el punto
(.). Definimos campos de este tipo para precios, por ejemplo.
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato adecuado
para cada uno de ellos.
Por ejemplo, si en un campo almacenaremos nmeros enteros, el tipo "float" sera una mala
eleccin; si vamos a guardar precios, el tipo "float" es ms adecuado, no as "integer" que no tiene
decimales. Otro ejemplo, si en un campo vamos a guardar un nmero telefnico o un nmero de
documento, usamos "varchar", no "integer" porque si bien son dgitos, con ellos no realizamos
operaciones matemticas.
Valores nulos
La propiedad Requerido de un campo, si se establece a S, impide la insercin de valores nulos en
los campos.

Вам также может понравиться