1
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Introduccin
2
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
1. Generalidades MySQL
La herramienta a utilizar es un Sistema Manejador de Bases de Datos
libre, gratuito, de los ms utilizados y que est disponible para varios
sistemas operativos llamado MySQL.
Tipos de datos
Nmeros
a. Si en la base de Datos se necesita almacenar nmeros con o sin
decimales, se debe pensar en un tipo de dato Numrico, los cuales tienen
su categora dependiendo del valor como lo muestra la siguiente tabla:
3
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Ejemplo
Caracteres
b. Si en la base de Datos se necesita almacenar caracteres, se debe pensar
en un tipo de dato Texto, los cuales tienen su categora dependiendo de
la cantidad de caracteres a almacenar; los tipos de dato texto son los
siguientes:
4
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Ejemplo
Fechas
c. Si en la base de Datos se necesita almacenar fechas, se debe pensar
en un tipo de dato Date, los cuales tienen su categora dependiendo del
5
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
formato que se desee almacenar, estos tipos de datos son los siguientes:
Ejemplo
Se necesita llevar el control de acceso (con horas y segundos) de los
usuarios, al sistema de Informacin de la DIAN; como este ejemplo nos
exige controlar horas y segundos lo recomendable es tener un campo
llamado FechaIngresuUsuario de tipo DATETIME.
Listas
d. Para utilizar listas de valores, tambin se puede declarar campos cuyo
contenido formen parte de una serie de opciones, para esta declaracin
se utiliza ENUM.
Un ejemplo seria:
AutomovilMarca (ENUM(Chevrolet, Renault, Kia ) )
6
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
En este tutorial se presenta como hacer uso del motor de Base de Datos
MySQL para crear una base de datos. Se utilizar para esto la Base de
Datos Citas que se ha definido en otros elementos y que contiene cinco
tablas: Pacientes, Medicos, Consultorios, Citas y Tratamientos, como se
presenta en el diagrama.
7
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
8
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
9
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
10
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Para crear todas las tablas debemos establecer CITAS como base de
datos predefinida
11
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
La instruccin es:
use nombre_basedatos;
12
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
La instruccin es:
13
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
14
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Pacientes
Se va a crear la tabla PACIENTES, como puede observar esta tabla
tiene un modificador nuevo para trabajar (ENUM), los pasos para crear
esta tabla son:
15
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
16
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Consultorios
Se va a realizar la creacin de la tabla CONSULTORIOS, cuya descripcin
es:
Citas
Se va a crear la tabla CITAS, como puede observar esta tabla tiene
unos modificadores nuevos para trabajar y adems esta tabla contiene
llaves forneas, es decir se relacionan datos de otras tablas.
17
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
18
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
19
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
20
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
21
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
22
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
5. Modificacin de registros
Para realizar las operaciones de Insercin de Registros se utiliza la
sentencia INSERT del lenguaje de manipulacin de datos (D.M.L.).
La sentencia INSERT permite incluir los datos en cada uno de los campos
que se tienen en las tablas de la base de datos creada. Se deben tener en
cuenta algunos detalles al momento de utilizar el INSERT INTO:
Su sintaxis es:
23
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Para los campos tipo NUMERICO el valor va sin comilla sencilla Por
ejemplo para el campo ConNumero de tipo int el dato se enva 101.
Caso 1
Insertando un Registro a tablas SIN referencias
24
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
25
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Caso 2
Insertando Varios Registros a tablas SIN referencias
En este caso la instruccin INSERT se utiliza en la forma:
insert into tabla (campo1, campo2, campo3, campo4,campo5)
values
(valor 1,valor 2,valor 3,valor 4, valor 5), ------ Valores de registro 1
(valor 1,valor 2,valor 3,valor 4, valor 5), ------ Valores de registro 2
(valor 1,valor 2,valor 3,valor 4, valor 5); ------ Valores de registro 3
Caso 3
Insertando Registros a tablas CON referencias
Para este ejemplo, se incluirn 2 registros a las tablas TRATAMIENTOS
Se pudo observar en los ejemplos de insercin anteriores que el proceso
es bastante sencillo siempre y cuando se respete la sintaxis y se tengan en
cuenta los seis (6) detalles relacionados en la descripcin de la instruccin
INSERT.
Para el caso de las tablas que contienen llaves forneas, es decir campos
de referencia a otras tabas, el nico cuidado que se debe tener para lograr
una insercin exitosa de registros es que se incluyan datos que estn en
la tabla principal. Un ejemplo de esto se da con el campo TraPaciente el
26
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Segn esto los datos que se podran enviar son (37821203, 63502720,
77191950 o 77191957)
Recordemos la estructura de la tabla TRATAMIENTOS, a la cual se le van
a insertar dos registros.
27
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
El
campo
TraNumero
de
la
tabla
TRATAMIENTOS
autoincrementable, esto quiere decir que el sistema le va asignando
el valor automticamente y este se va incrementando de 1 en 1, por
ese motivo SE OMITE del listado de campos de la instruccin INSERT,
esto se puede observar en el ejemplo que se acab de presentar.
28
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
6. Consulta de registros
Para realizar las operaciones de Consulta de Registros se utiliza la sentencia
SELECT del lenguaje de manipulacin de datos (D.M.L.).
La sentencia SELECT permite visualizar la informacin de la Base de
Datos, los datos que se presentan corresponden a una o ms filas de una
tabla o tambin a una o ms filas de una o ms tablas.
La sintaxis bsica es:
Where condicin
Group by columna 1,
Having condicin
Order by columna asc
Order by columna desc
Antes de realizar cualquier consulta a la base de Datos, es muy importante
29
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
tener claro cul o cules son los datos que se requiere visualizar y de que
tabla o tablas se van a extraer.
Para las prcticas que se van a desarrollar en esta sesin se tomarn como
referencia las tablas que se construyeron anteriormente, recordemos la
sintaxis:
use citas;
show tables from citas;
desc nombre_tabla;
30
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
31
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
32
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
EJEMPLO 2
En el presente ejemplo se visualizar SOLO la informacin de los campos
Pacidentificacin, PacNombres y PacApellidos de la tabla pacientes.
Select PacIdentificacion, PacNombres, PacApellidos
From pacientes
EJEMPLO 3
Listar TODA la informacin de los consultorios
Recuerde la estructura de la tabla consultorios (ConNumero, ConNombre),
como esta tabla solo tiene dos campos, se pude utilizar el comodn *, la
instruccin ser:
Select * from consultorios;
33
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
EJEMPLO 4
Generar el listado de TODOS los mdicos de la institucin, el listado debe
visualizar su identificacin junto con los nombres y apellidos
Antes de definir la sintaxis, se va a verificar los campos que tiene la tabla
mdicos, estos son MedIdentificacion, MedNombres, MedApellidos
Para este caso se puede utilizar la siguiente instruccin:
Con el comodn *
Select * from medicos;
Select
from medicos;
34
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Select
From medicos
35
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
36
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
37
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Select *
From pacientes
Where PacIdentificacion=37821200;
38
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
39
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Select *
From pacientes
Order by PacIdentificacion asc ;
40
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
41
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
La Sintaxis es:
Select alias1.campo alias2.campo
From tabla1 alias1 tabla2 alias2
Where alias1.llaveprincipal= alias2.llaveforanea;
Para nuestro ejemplo, la tabla 1 es pacientes y la tabla 2 tratamientos,
la llave principal de la tabla 1 es Pacidentificacion y la llave fornea de la
tabla 2 es Trapaciente, con estos datos la sintaxis quedara de la siguiente
manera:
EJEMPLO 2
Si lo que se necesita es cambiar el orden en el que aparecen los datos, se
puede organizar el select de la consulta de manera diferente. En el prximo
ejemplo se tiene el mismo requerimiento, visualizar los tratamientos que
se han realizado los pacientes; se necesita que se visualice el nombre y
apellidos del paciente con los datos de todos los tratamientos que se ha
42
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
realizado.
La sintaxis para esta consulta es la misma del ejemplo anterior, lo que
vara es el orden de los campos en el select.
EJEMPLO 3
Visualizar los tratamientos que se ha realizado el paciente con documento
77191957, del paciente se debe visualizar sus nombres y apellidos
Select
tra.Trapaciente
and
tra.
43
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
EJEMPLO 4
Visualizar los pacientes que se han realizado un blanqueamiento Dental
como tratamiento; de este tratamiento visualizar las fechas de asignacin,
de inicio y de finalizacin y del paciente visualizar el documento de
identidad, nombre y apellido.
Select pac.PacIdentificacion, pac.PacNombres, pac.PacApellidos,
tra.TraFechaAsignado, tra.TraFechaInicio, tra.TraFechaFin
From tratamientos tra, pacientes pac
Where pac.PacIdentificacion = tra.Trapaciente
TraDescripcion =Blanqueamiento Dental;
and
tra.
tra.Trapaciente
and
tra.
44
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
45
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
46
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Glosario
47
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
Recursos Bibliogrficos
Manual de Referencia MySQL, disponible en
http://dev.mysql.com/doc/refman/5.0/es/index.html
48
FAVA - Formacin en Ambientes Virtuales de Aprendizaje
CRDITOS
USO DE SENTENCIAS SQL PARA LA DEFINICIN Y MANIPULACIN
DEL MODELO DE BASE DE DATOS EN MYSQL
Desarrollador de contenido
Experto temtico
Asesor Pedaggico
Productor Multimedia
Programador
49
FAVA - Formacin en Ambientes Virtuales de Aprendizaje