Documente Academic
Documente Profesional
Documente Cultură
MTIG
Prctica 2. Ejemplo de
diseo de bases de datos
relacionales
En este apartado 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
Access. Adems de la especificacin del esquema, se impondrn restricciones
de integridad sobre l.
2.1.
Diseo conceptual
2.1.1.
Identificacin de entidades
Bases de datos
MTIG
2.1.2.
Identificacin de atributos
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
Bases de datos
2.1.3.
MTIG
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
2.1.4.
Identificacin de restricciones
Entidad Ingresos: ID
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.
2.1.5.
Diagrama E-R
Bases de datos
Pacientes
MTIG
Realiza
Ingresos
Atiende
Nmero de
historial clnico
ID
2.2.
Diseo lgico
2.2.1.
Mdicos
Cdigo de
identificacin del
mdico
2.2.2.
Bases de datos
MTIG
2.2.3.
Restricciones de integridad
2.3.
Diseo fsico
2.3.1.
Bases de datos
MTIG
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.
2.3.1.1. 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.
2.3.1.2. Tipos de campos
La siguiente figura muestra los tipos de campos disponibles. El tipo
Texto permite datos de hasta 255 caracteres. El tipo Memo admite datos de
hasta 65535 caracteres, pero tiene algunas limitaciones con respecto al
anterior como, por ejemplo, que no se pueden crear claves sobre ellos. El tipo
Numrico alberga datos numricos tanto enteros como fraccionarios y
nmeros en coma flotante. El tipo de datos Fecha/Hora admite una
representacin conjunta para fechas y horas como un nmero fraccionario
que el sistema interpreta como fechas y horas y del que se puede extraer
informacin de fechas y horas independientemente. El tipo Moneda se usa
para datos relativos a cantidades monetarias. El tipo Autonumrico es un
tipo que asigna automticamente un valor nico e identificador a los campos
con este tipo (se usa a menudo para crear claves primarias). El tipo S/No es
un tipo lgico con dos nicos posibles valores. El tipo Objeto OLE se usa
para albergar imgenes, documentos y otros, con capacidad hasta 1 GB. El
tipo Hipervnculo se usa para albergar hipervnculos. Finalmente, el tipo
Asistente para bsquedas permite definir los posibles valores que puede
tener un campo de forma que el usuario pueda elegir valores de una lista
predefinida.
Bases de datos
MTIG
Valores almacenados
Tamao Nmero de
decimales
Byte
0-255
1 byte
Entero
-32768, 32767
2 bytes
Entero largo
-2.147.483.648, 2.147.483.647
4 bytes
Simple
-3,402823E38, 3,402823E38
4 bytes
Doble
(predeterminado)
-1,79769313486232E308,
1,79769313486232E308
8 bytes
15
Id. de rplica
16 bytes N/A
Descripcin
Moneda
Fijo
Bases de datos
MTIG
Estndar
Porcentaje
Cientfico
3/4/96 o 05:34 PM
Fecha larga
Fecha mediana
03-Abr-97
Fecha corta
3/4/97
Hora larga
5:34:23 PM
Hora mediana
05:34 PM
Hora corta
17:34
Valor equivalente
S/No (predeterminado)
No = 0
S = -1
Verdadero/Falso
Falso = 0
Verdadero = -1
Activado/Desactivado
Desactivado = 0,
Activado = -1
Descripcin
&
<
>
Bases de datos
MTIG
Carcter
Descripcin
Dgito
Dgito o espacio
Letra
Letra (opcional)
Letra o dgito
&
Cualquier carcter
.,:;-/
Marcador de posicin
<
Minsculas
>
Maysculas
Bases de datos
2.3.2.
MTIG
2.3.3.
Tabla Pacientes
Tipo de
campo
Descripcin
Tamao
Nmero de Seguridad
Social
Texto
15
Texto
25
Texto
40
Domicilio
Texto
50
10
Bases de datos
MTIG
nmero y piso
Poblacin
Texto
25
Provincia
Texto
15
Cdigo postal
Texto
Cdigo postal
Nmero de telfono
Texto
Telfono de contacto
12
Nmero de historial
clnico del paciente
Observaciones
Datos referentes al
paciente
N/A
Memo
Campo
clave
Para crear esta tabla hay que seguir los siguientes pasos:
1. Iniciar Access.
2. Seleccionar Nuevo en el botn de inicio.
3. Seleccionar una carpeta, por ejemplo, Mis Documentos, y escribir el
nombre de la base de datos: Hospital.accdb (.accdb son siglas de Access
Database, es decir, Base de datos de Access) y pulsar Crear.
4. Aparece Tabla1 en Vista Diseo.
11
Bases de datos
MTIG
Tabla Mdicos
Tipo de
campo
Descripcin
Tamao
Cdigo de identificacin
del mdico
Texto
Cdigo de identificacin
del mdico responsable
Nombre
Texto
25
Apellidos
Texto
40
Especialidad
Texto
20
Nmero de colegiado
Texto
Cargo
Texto
20
Observaciones
Memo
Datos referentes al
mdico
N/A
Campo
clave
Tabla Ingresos
Tipo de
campo
Descripcin
12
Tamao
Bases de datos
MTIG
Nmero de historial
clnico
Texto
Nmero de historial
clnico del paciente
S/No
N/A
Fecha de ingreso
Fecha/Hora
Fecha de ingreso en el
hospital
N/A
Cdigo de identificacin
del mdico responsable
Nmero de planta
Texto
Nmero de planta en la
que se ingresa
Nmero de cama
Texto
Observaciones
Memo
Datos referentes a
condiciones de ingreso
N/A
ID
Autonumrico
2.3.4.
N/A
Campo
clave
Los tipos de datos y propiedades de los campos que relacionan las tablas
deben ser iguales en ambas.
Con respecto a la integridad referencial hay que tener presente:
13
Bases de datos
MTIG
2. Con la tecla Ctrl pulsada, seleccionar las tres tablas y pulsar el botn
Agregar.
14
Bases de datos
MTIG
2.3.5.
Tipo de campo
Descripcin
Tabla
Fecha de nacimiento
Fecha/Hora
Pacientes
Sexo
S/No
S = Hombre; No = Mujer
Pacientes
15
Bases de datos
MTIG
Moneda
Diagnstico
Ingresos
Fotografa
Objeto OLE
Mdicos
16
Ingresos
Bases de datos
MTIG
17
Bases de datos
MTIG
Nombre del
paciente
Apellidos
Domicilio
del paciente
Poblacin
Provincia
Vctor
Garca
Montoya
Murcia
Jos
Antonio
Prez
Gmez
Ronda
Norte, n 10
Madrid
Madrid
Juan
Prez
Cayuela
Av. Lpez
Mayor, 43
Alicante
Alicante
Ana Mara
Velasco
Snchez
Alonso
Espejo, n 4
Espinardo
Murcia
Isabel
Garca
Martnez
Gran Va,
23
Novelda
Alicante
Apellidos
Especialidad Nmero de
colegiado
Cargo
AMG1
Alejandro
Mart
Gimnez
Medicina
General
2354
Adjunto
FPO1
Francisco
Palacios
Ortega
Intensivos
1234
Jefe de
Seccin
MRSN
Mara Rosa
Snchez
Navarro
Anlisis
Clnicos
1214
Adjunto
MSM1
Manuel
Samaniego
Muoz
Pediatra
1045
Jefe de
planta
Fecha de
ingreso
Cdigo de Nmero
identificac de planta
in del
mdico
Nmero
de cama
01/02/200
4
MSM1
603
Neumona
15.000
12/04/200
4
MRSN
312
Insuficienci
a renal
20.000
23/05/200
4
AMG1
105
Fiebres
altas
5.000
10/02/200
4
MRSN
202
Gastroenter
itis
7.000
01/02/200
AMG1
304
Neumona
18
15.000
Bases de datos
MTIG
4
3
30/08/200
4
MSM1
402
Gastroenter
itis
7.000
12/04/200
4
MRSN
301
Insuficienci
a renal
20.000
08/06/200
4
FPO1
104
Gastroenter
itis
7.000
11/11/200
4
FPO1
105
Infarto
11/11/200
4
AMG1
303
Gastroenter
itis
7.000
08/06/200
4
MRSN
212
Insuficienci
a renal
20.000
03/03/200
4
AMG1
310
Infarto
50.000
30/03/200
4
FPO1
101
Gastroenter
itis
13/02/200
4
FPO1
103
Infarto
50.000
21/11/200
4
FPO1
102
Neumona
15.000
50.000
7.000
19