Este sería nuestro modelo físico de la base de datos completa, aquí se observa todas las tablas creadas con todos sus campos y sus relaciones correspondientes entre ellas.
martes, 4 de diciembre de 2012
Crear la tabla odontogramas
CREATE TABLE `odontogramas` (
`id_odontograma` int(11) NOT NULL AUTO_INCREMENT,
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`diente` int(11) NOT NULL,
`vestibular` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`distal` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`oclusal` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`mesial` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`lingual` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_odontograma`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
`id_odontograma` int(11) NOT NULL AUTO_INCREMENT,
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`diente` int(11) NOT NULL,
`vestibular` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`distal` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`oclusal` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`mesial` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`lingual` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_odontograma`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
Esta tabla va a funcionar para el resguardo de los datos de la consulta del paciente, aquí el odontólogo es el encargado de suministrar la información de acuerdo al caso del paciente, se suministra la descripción del diente, cada diente tendrá una numeración y los campos vestibular, distal, oclusal mesial y lingual son las partes en que se divide cada diente.
lunes, 3 de diciembre de 2012
Crear la tabla asistencias
CREATE TABLE `asistencias` (
`id_asistencia` int(11) NOT NULL AUTO_INCREMENT,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`hora` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`estado_e_s` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_asistencia`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
`id_asistencia` int(11) NOT NULL AUTO_INCREMENT,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`hora` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`estado_e_s` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_asistencia`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
Esta tabla cumplirá con la función de almacenar los datos correspondientes en relación a la asistencia del personal que labora en el consultorio, tenemos un campo estado_e_s muy parecido al campo estado de la tabla consultas lo diferente en este caso es que los valores que se le asignará a este campo será 'Entrada' y 'Salida'.
Crear la tabla consultas
CREATE TABLE `consultas` (
`id_consulta` int(11) NOT NULL AUTO_INCREMENT,
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`estado` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_consulta`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
`id_consulta` int(11) NOT NULL AUTO_INCREMENT,
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`estado` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_consulta`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0 ;
Tenemos la tabla consultas dicha tabla nos servirá para el resguardo de las consultas de los pacientes, id_consulta es la clave primaria y las foráneas son historia que corresponde al número de historia que tiene asignado el paciente, el otro campo es cedula que corresponde al odontologo que va atender al paciente. Agregamos un campo llamado estado para asignarle dos valores posibles que son 'Atendido' y 'No atendido'.
Crear la tabla para los usuarios
CREATE TABLE `usuarios` (
`cedula` int(11) NOT NULL,
`usuario` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`contrasenia` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`nivel` int(11) NOT NULL,
PRIMARY KEY (`usuario`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
`cedula` int(11) NOT NULL,
`usuario` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`contrasenia` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`nivel` int(11) NOT NULL,
PRIMARY KEY (`usuario`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
Ya familiarizado con las cláusulas SQL vamos al grano con respecto a los campos que agregamos a esta tabla, la finalidad de esta tabla es para guardar los datos de los usuarios que existiran y tendrán acceso al sistema, el campo cedula es una clave foránea ya que esta tabla tendrá relación con la tabla odontologos. El campo usuario será la clave primaria, aquí hay un detalle con el campo contrasenia y es con respecto al nombre que le dimos, omitimos la letra 'ñ' para evitar conflictos con MySQL, no se recomienda utilizar la letra 'ñ' en un campo de la tabla.
Crear tabla para los datos del personal
CREATE TABLE `odontologos` (
`cedula` int(11) NOT NULL,
`nombres` varchar(150) COLLATE utf8_spanish2_ci NOT NULL,
`direccion` varchar(200) COLLATE utf8_spanish2_ci NOT NULL,
`telf_movil` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`telf_fijo` varchar(20) COLLATE utf8_spanish2_ci DEFAULT NULL,
`correo` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`cargo` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`turno` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`cedula`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
`cedula` int(11) NOT NULL,
`nombres` varchar(150) COLLATE utf8_spanish2_ci NOT NULL,
`direccion` varchar(200) COLLATE utf8_spanish2_ci NOT NULL,
`telf_movil` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`telf_fijo` varchar(20) COLLATE utf8_spanish2_ci DEFAULT NULL,
`correo` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`cargo` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`turno` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`cedula`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
Esta tabla la he llamado odontologos ya que ella almacenara todos los datos correspondientes al personal que labora en el consultorio odontológico, como verán no hay tipos de datos que no se haya descripto en las anteriores tablas, tenemos un tipo entero (int) y los demás son de tipo varchar, la clave primaria será cedula se crea un campo cargo porque en el laboratorio trabajan tanto odontologos como asistentes y este dato nos servirá de mucho en la hora de la programación en cuanto a la restricción de los usuarios que ingresarán en el sistema.
El campo turno por el motivo de que no es el mismo personal que labora en la mañana y en la tarde.
Crear las tablas para los nombres de estados, ciudades y municipios
CREATE TABLE `estados` (
`id_estado` int(11) NOT NULL AUTO_INCREMENT,
`estado` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_estado`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
CREATE TABLE `ciudades` (
`id_ciudad` int(11) NOT NULL AUTO_INCREMENT,
`ciudad` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`id_estado` int(11) NOT NULL,
PRIMARY KEY (`id_ciudad`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
CREATE TABLE `municipios` (
`id_municipio` int(11) NOT NULL AUTO_INCREMENT,
`municipio` varchar(80) COLLATE utf8_spanish2_ci NOT NULL,
`id_ciudad` int(11) NOT NULL,
PRIMARY KEY (`id_municipio`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
`id_estado` int(11) NOT NULL AUTO_INCREMENT,
`estado` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`id_estado`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
CREATE TABLE `ciudades` (
`id_ciudad` int(11) NOT NULL AUTO_INCREMENT,
`ciudad` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`id_estado` int(11) NOT NULL,
PRIMARY KEY (`id_ciudad`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
CREATE TABLE `municipios` (
`id_municipio` int(11) NOT NULL AUTO_INCREMENT,
`municipio` varchar(80) COLLATE utf8_spanish2_ci NOT NULL,
`id_ciudad` int(11) NOT NULL,
PRIMARY KEY (`id_municipio`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci AUTO_INCREMENT=0;
En la tabla anterior que llamamos pacientes, tenemos tres datos que en la tabla los identificamos como claves foráneas, dichas claves vienen de estas tres tablas que acabamos de crear.
La primera tabla le asignamos el nombre de estados la segunda ciudades y la tercera municipios, aquí ya nos empezamos a meter con la relación que tiene que existir entre las tablas y sus datos.
Un estado tiene muchas ciudades y una ciudad tiene un municipio.
`id_estado` int(11) NOT NULL AUTO_INCREMENT
Agregamos una columna de nombre id_estado de tipo int (valor entero) auto incrementable, esto quiere decir que automaticamente se le va sumando el valor de 1 con respecto al último valor que se tiene almacenado.
`estado` varchar(50) COLLATE utf8_spanish2_ci NOT NULL
Otra columna de nombre estado a la cual se le va asignar el nombre del estado de tipo varchar.
PRIMARY KEY (`id_estado`)
AUTO_INCREMENT=0
Las asignación de la clave primaria al campo id_estado y el valor que se va a auto incrementar se inicia en cero.
Con respecto a las tablas de ciudades y municipios sólo varía que en la tabla de ciudades se le agrega la clave foránea id_estado y en la tabla de municipios la clave foránea id_ciudad.
Les dejo las tablas con todos sus datos correspondientes a los estados, ciudades y municipios de Venezuela en el siguiente link.
Crear una tabla para los datos del paciente
CREATE TABLE `pacientes` (
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`id_estado` int(11) NOT NULL,
`id_ciudad` int(11) NOT NULL,
`id_municipio` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`nacionalv_e` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`nombres` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`apellidos` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`sexo` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`edad` int(11) NOT NULL,
`ocupacion` varchar(100) COLLATE utf8_spanish2_ci NOT NULL,
`estudios` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`direccion` varchar(150) COLLATE utf8_spanish2_ci NOT NULL,
`embarazada` varchar(2) COLLATE utf8_spanish2_ci DEFAULT NULL,
`establecimiento` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`parroquia` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`procedencia` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`discapacitado` varchar(2) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`historia`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
`id_estado` int(11) NOT NULL,
`id_ciudad` int(11) NOT NULL,
`id_municipio` int(11) NOT NULL
ENGINE=MyISAM
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL,
`id_estado` int(11) NOT NULL,
`id_ciudad` int(11) NOT NULL,
`id_municipio` int(11) NOT NULL,
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`nacionalv_e` varchar(15) COLLATE utf8_spanish2_ci NOT NULL,
`cedula` int(11) NOT NULL,
`nombres` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`apellidos` varchar(50) COLLATE utf8_spanish2_ci NOT NULL,
`sexo` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`edad` int(11) NOT NULL,
`ocupacion` varchar(100) COLLATE utf8_spanish2_ci NOT NULL,
`estudios` varchar(20) COLLATE utf8_spanish2_ci NOT NULL,
`direccion` varchar(150) COLLATE utf8_spanish2_ci NOT NULL,
`embarazada` varchar(2) COLLATE utf8_spanish2_ci DEFAULT NULL,
`establecimiento` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`parroquia` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`procedencia` varchar(50) COLLATE utf8_spanish2_ci DEFAULT NULL,
`discapacitado` varchar(2) COLLATE utf8_spanish2_ci NOT NULL,
PRIMARY KEY (`historia`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
CREATE TABLE
crea una tabla con el
nombre dado, en este caso el nombre que llevará es pacientes.
`historia` varchar(10) COLLATE utf8_spanish2_ci NOT NULL
En la línea anterior estamos creando la columna de nombre historia de tipo varchar de longitud de 10, la longitud es la cantidad de caracteres que esta columna podrá almacenar y en este caso puede hacerlo con un máximo de 10, ejemplo: 0000000010 y que no puede ser de valor NULL, tiene que contener un valor.
`id_estado` int(11) NOT NULL,
`id_ciudad` int(11) NOT NULL,
`id_municipio` int(11) NOT NULL
Aquí añadimos tres claves foraneas de nombres id_estado, id_ciudad, id_municipio de tipo entero y que se tiene que asignar un valor, no pueden ser NULL (nulo). Estos valores lo tomaremos de otras tablas.
`fecha` varchar(15) COLLATE utf8_spanish2_ci NOT NULL
Otra columna de nombre fecha de tipo varchar con una logintud de 15 caracteres y no pueden ser NULL(nulo). MySQL nos da la opción de guardar este tipo de dato fecha con el tipo date el detalle con este tipo de dato es que MySQL lo guarda con este formato
'YYYY-MM-DD'
(2012-12-03) y en lo que respecta nosotros manejamos este tipo de formato '
DD
-MM-
YYYY
'
03-12-2012 y es por esta razón que en lo personal manejo los valores de fechas de tipo varchar porque me permite guardarlo en el formato que deseo. MySQL también maneja funciones para hacer la conversión de fechas, pero será en otra post en donde nos metamos de lleno en esas funciones.
Las demás columnas sólo varian en el nombre es por eso que saltaremos a la siguiente línea.
PRIMARY KEY (`historia`)
Aquí estamos asignando la columna historia como la clave primaria de la tabla, a eso es que se refiere.
ENGINE=MyISAM
MyISAM
es el motor de almacenamiento por
defecto. Se basa en el código ISAM
pero tiene
muchas extensiones útiles.
Crear la Base de Datos
Aquí comenzaremos con la creación de nuestra base de datos. En esta oportunidad utilizaremos un ejemplo, le queremos realizar una base de dato a un consultorio odontológico. Es por esto que llamaremos nuestra base de dato 'Odontologia'.
CREATE DATABASE `odontologia`
DEFAULT CHARACTER SET utf8
COLLATE utf8_spanish2_ci;
CREATE DATABASE
crea una base de datos con el
nombre dado, en este caso el nombre que llevará es odontologia.
La cláusula
DEFAULT CHARACTER SET
especifica
el conjunto de caracteres por defecto de la base de datos. Utilizaremos UTF-8 para no tener problemas con las letras acentuadas y la letra 'ñ','Ñ'.
La
cláusula
COLLATE
especifica la colación por
defecto de la base de datos.Bienvenida
Bienvenidos...!!!
El presente tiene como finalidad el brindar información acerca de como utilizar el manejador de base de datos llamado MySQL. Unos de los manejadores más utilizado en la realización de base de datos, ya que nos presenta de manera fácil e intuitiva la creación de la base de datos.Nos dedicaremos a utilizar el lenguaje de consulta estructurado llamado SQL para crear la base de dato y sus tablas que ésta contendrá.
Suscribirse a:
Entradas (Atom)