Está en la página 1de 28

INDICES EN LAS BASES DE DATOS CON MYSQL

DIEGO ROJAS SANCHEZ

1032479310

MAURO FERNANDO DAZ MARTN


1094272050

FUNDACIN UNIVERSITARIA UNIPANAMERICANA


FACULTAD DE INGENIERAS
PROGRAMA DE INGENIERA DE TELECOMUNICACIONES
BOGOT, 2017
INTRODUCCION

En este trabajo vamos hablar sobre los ndices y sobre la aplicacin MySQL de como importar

una tabla de Excel a la plataforma de MySQL el manejo de las bases de datos, el manejo de

ndices funcionalidades de la plataforma el buen manejo de ella y la aplicacin de cada ndice en

cada campo.

En este trabajo se va a explicar el procedimiento de los comandos para que puedan alimentar las

bases de datos con informacin valida y de cmo los ndices ayudan a la ubicacin, organizacin

y velocidad para la bsqueda


MARCO TEORICO

MySQL ha crecido. Lo que durante un tiempo se consider como un sencillo juguete para su uso

en sitios Web, se ha convertido en la actualidad en una solucin viable y de misin crtica para la

administracin de datos. Antes, MySQL se consideraba como la opcin ideal para sitios Web; sin

embargo, ahora incorpora muchas de las funciones necesarias para otros entornos y conserva su

gran velocidad. MySQL supera desde hace tiempo a muchas soluciones comerciales en

velocidad y dispone de un sistema de permisos elegante y potente.

Ya el primer paso para trabajar con la plataforma de MySQL se necesita creas unas tablas en

Excel en este trabajo vamos a trabajar con 3 tablas donde los datos van hacer de una veterinaria,

la primera tabla va hacer sobre cliente donde el deja sus datos referentes a la segunda tabla va

hacer el nombre de la mascota donde se les da un cdigo, la raza edad, ya por ltimo la tercera

tabla es sobre el nombre del veterinario y el procedimiento que se le va hacer a la mascota.

Ya despus de a ver creado las tablas hay que gurdalas con csv ya que para que se puedan

cargar los ficheros y la informacin que alimentara esta base de datos que permite una mayor

organizacin y visualizacin LOAD DATA LOCAL INFILE '/sql/cliente.csv' INTO TABLE

cliente FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' (idCliente, nom); ya con

esto permite que la tabla cargue con los datos o informacin para alimentar las bases de datos

Ya despus de tener la tabla y nececite cargar mas o ingresar mas nuevos registros uno por uno

lo que se debe hacer es con un comando a utilizar es INSERT INSERT INTO. Ya de manera

sencilla se debe cargar valores para cada columna.


BASE DE DATOS EN MYSQL

Para comenzar crearemos una base de datos en MYSQL, luego comprobaremos el cdigo

utilizando phpMyAdmin.

Empezaremos creando la base de datos as:

CREATE DATABASE bdclientes;

Luego crearemos la estructura para la primera tabla clientes as:

CREATE TABLE `clientes` (


`id` int(10) NOT NULL,
`cod cliente` varchar(20) NOT NULL,
`nombre` varchar(20)NOT NULL,
`apellidos` varchar(20)NOT NULL,
`direccion` varchar(70)NOT NULL,
`telefono` varchar(10)NOT NULL
PRIMARY KEY (id)
) ENGINE=MyISAM;

NOT NULL: Quiere decir que el campo no est vaco.

PRIMARY KEY: Establece cul es la llave primaria, en este caso el identificador id

ENGINE=MyISAM: Es el motor de almacenamiento de datos usado por el administrador de

bases de datos relacionales en el sistema.

Luego de ello importaremos los datos almacenados en la tabla de Excel, y que guardaremos

como archivo .csv utilizando el siguiente cdigo:


LOAD DATA INFILE C:\base de datos\DOS\CSV FILES\Clientes.csv INTO

TABLE Clientes

FIELDS TERMINATED BY ,

LINES TERMINATED BY \n;

Posterior a ello, crearemos el ndice de la tabla de la siguiente forma:

ALTER TABLE `clientes`


ADD KEY `cod cliente` (`cod cliente`);

Nos dar como resultado lo siguiente:

LOAD DATA `clientes` (`id`, `cod cliente`, `nombre`, `apellidos`,


`direccion`, `telefono`) VALUES
(1, '10701466', 'Daniel Hernando', 'Diaz Santamaria', 'CALLE 23A NO.68
D 46 Z.I. MONTEVIDEO ', '373873'),
(2, '7180272', 'Pedro Samael', 'Reinoso Castillo', 'CL. 94 NO. 21-59
', '630830'),
(3, '6461432', 'Ana Rocio', 'Alvarado Cortez', 'CALLE 72 No. 10-07
PISO 14', '832782'),
(4, '9421361', 'Susana del Rocio', 'Sanchez Castilblanco', 'CALLE 93
NO 11-19', '212053'),
(5, '8608894', 'Carlos Bernardo', 'Donado Santamaria', 'CARRERA 8A #
123 - 41 ',
'246626'),
(6, '9426547', 'David Felipe', 'Estupian Prieto', 'CALLE 87 NO. 20-
27 OFICINA 202 ',
'217098'),
(7, '8622282', 'Daniel Estiben', 'Meltrozo Castillo', 'CARRERA 20 #
90-12', '524321'),
(8, '5561706', 'Simon Andres', 'Diaz Alvarado', 'CALLE 86 NO.11-14
', '735173'),
(9, '4764052', 'Karla Perla', 'Reinoso Castillo', 'AVD.15 # 124 / 49
OFC. 206 ', '222439'),
(10, '7699454', 'Juan Rafael', 'Castilblanco Gil', 'CALLE 86 # 11 16',
'266011'),
(11, '9531672', 'Gabriel', 'Garcia Lorca', 'CALLE 37 N. 16 - 46',
'824499'),
(12, '8667440', 'Maria Viviana ', 'Estupian Cortez', 'CARRERA 5 #
12-16 OFICINA 607', '240460'),
(13, '4820509', 'Dana ', 'Sanchez Rodriguez', 'CARRERA 10 NO.96-25
OF.303 ',
'544121'),
(14, '4940338', 'Diego Manuel', 'Martin Esquivel', 'DIAGONAL 41 NO. 94
51 FONTIBON', '362262'),
(15, '9696835', 'Paula Catalina', 'Aponte Cuadrado', 'AVDA SAN MARTIN
# 4-41,BOCAGRANDE DE', '484218'),
(16, '7431777', 'Edison Andres', 'Sanchez Diaz', 'CALLE 92 NO 30-25
', '431486'),
(17, '5897630', 'Daniela ', 'Castilblanco Gil', 'CALLE 38A PARQUE
INDUSTR BLOQ B BOD.28 ',
'321860'),
(18, '12419553', 'Hernan Rodolfo ', 'Cortez Prieto', 'CARRERA 1 NO.
46-84 PISO 2 ', '776370'),
(19, '8488051', 'Paula Yamile', 'Perez Perez', 'TRANSVERSAL 6 NO. 12-
117 Z.IND.CAZUCA ',
'261912'),
(20, '8873040', 'Juan David', 'Portilla Arango', 'CARRERA 90 NO. 44 A
- 72 ',
'851207'),
(0, '', '', '', '', '');

La misma estructura la utilizamos para crear las siguientes tablas:

mascotas:

CREATE TABLE `mascotas` (


`id` int(10) NOT NULL,
`cod mascota` varchar(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci
NOT NULL,
`cod cliente` varchar(20) CHARACTER SET utf8 COLLATE utf8_spanish_ci
NOT NULL,
`alias mascota` varchar(20) CHARACTER SET utf8 COLLATE
utf8_spanish_ci NOT NULL,
`edad` int(10) NOT NULL,
`raza` varchar(70) CHARACTER SET utf8 COLLATE utf8_spanish_ci NOT
NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

Importar:

LOAD DATA INFILE C:\base de datos\DOS\CSV FILES\mascotas.csv INTO

TABLE mascotas

FIELDS TERMINATED BY ,

LINES TERMINATED BY \n;


ndice:

ALTER TABLE `mascotas`


ADD KEY `cod mascota` (`mascota`);

Nos dar como resultado lo siguiente:

LOAD DATA `mascotas` (`id`, `cod mascota`, `cod cliente`, `alias


mascota`, `edad`, `raza`) VALUES
(1, '860510431', '10701466', 'firulais', 2, ' Akita '),
(2, '800016314', '7180272', 'mueca', 3, ' Akita Americano '),
(3, '800043098', '6461432', 'castillo', 5, 'Afgano'),
(4, '800058886', '9421361', 'betoven', 1, 'Airedale Terrier'),
(5, '800100592', '8608894', 'yogui', 5, 'Alaskan Malamute '),
(6, '806001219', '9426547', 'kata', 2, 'Pitt Bull Terrier '),
(7, '860002022', '8622282', 'Pepe', 4, 'American Staffordshire'),
(8, '860535281', '5561706', 'Roso', 4, 'Water Spaniel'),
(9, '890403995', '4764052', 'Puppy', 6, 'Pastor Ingls'),
(10, '800020712', '7699454', 'Tommy', 2, 'Australian Kelpie'),
(11, '800025418', '9531672', 'Perlada', 3, 'Australian Shepherd '),
(12, '800141809', '8667440', 'Catalan', 1, 'Barzoi '),
(13, '800211020', '4820509', 'Bosso', 2, 'Basset Azul'),
(14, '830013534', '4940338', 'Corinto', 5, 'Basset Hound'),
(15, '860090230', '9696835', 'Pastor', 8, 'Basset leonado '),
(16, '860521086', '7431777', 'Cocco', 9, 'Beagle'),
(17, '890204041', '5897630', 'Rocco', 5, 'Bearded Collie'),
(18, '890700010', '12419553', 'Donoso', 10, 'Beauceron '),
(19, '890921820', '8488051', 'Cate', 3, 'Berger Blanc Suisse '),
(20, '890912872', '8873040', 'Belmont', 6, 'Bichn Fris'),
(0, '', '', '', 0, '');

Procedimientos:

CREATE TABLE `procedimiento` (


`id` int(10) NOT NULL,
`cod profesional` varchar(20)NOT NULL,
`nom profesional` varchar(30)NOT NULL,
`cod mascota` varchar(20)NOT NULL,
`diagnostico` varchar(100)NOT NULL,
`procedimiento` varchar(100)NOT NULL
) ENGINE=MyISAM;

Importar:
INSERT INTO C:\base de datos\DOS\CSV FILES\Procedimientos.csv INTO

TABLE Procedimientos

FIELDS TERMINATED BY ,

LINES TERMINATED BY \n;

ndice:

ALTER TABLE `procedimiento`


ADD KEY `cod mascota` (`cod mascota`);

Nos dar como resultado lo siguiente:

INSERT INTO `procedimiento` (`id`, `cod profesional`, `nom


profesional`, `cod mascota`, `diagnostico`, `procedimiento`) VALUES
(1, '4625', 'ALVARO VELEZ DE LA ROSA ', '860510431', 'AUTOSOMICA
RECESIVAAMELIA', 'ovariohisterectomia'),
(2, '3183', 'DIEGO MAURICIO RUBIO ROMERO ', '800016314',
'AMILOIDOSIS SECUNDARIA', 'cirugia gastrointestinal'),
(3, '5544', 'SINCO LTDA 809000248 ', '800043098', 'AMIOPLASIA
CONGENITA', 'profilaxis'),
(4, '5008', 'JESUS GALEANA MONTES ', '800058886', 'ANADISPLASIA
METAFISARIA', 'cirugia de cadera'),
(5, '9693', 'ROSARIO MAZUERA DE KLING ', '800100592', 'ANALBUMINEMIA
CONGENITA', 'Inserccion de sondas'),
(6, '4559', 'CARLOS FERNANDO GEDEON JUAN ', '806001219', 'ANEMIA DE
CUERPOS DE HEINZ', 'desparasitarios'),
(7, '5021', 'JOSE NAPOLEON RUIZ CUBILLOS ', '860002022', 'ANEMIA DE
FANCONI', 'rehidratacin intravenosa'),
(8, '4454', 'LUCILA ESCOBAR ARISTIZABAL ', '860535281', 'ANEMIA
DISERITROPOYETICA CONGENITA', 'rehidratacin intravenosa'),
(9, '2430', 'DIANA VIDALES LARRARTE ', '890403995', 'COLOBOMA
OCULAR', 'cirugia de retina'),
(10, '4922', 'JUAN DAVID RICO RESTREPO ', '800020712', 'DISTONIA NO
ESPECIFICADA', 'intervencion faringitis'),
(11, '5062', 'LUIS NORBERTO ARBOLEDA ', '800025418', 'COMPLEJO
FEMUR-PERONE-CUBITO', 'implante metalico femoral'),
(12, '4466', 'JUDITH JANE GILBERT DE LEAVER ', '800141809',
'COMPLEJO MIEMBROS-PARED ABDOMINAL', 'ovariohisterectomia'),
(13, '8027', 'GIUSEPPE FASANELLI BEGGIO ', '800211020',
'COMUNICACION INTERAURICULAR', 'cirigia auriculo derecho'),
(14, '4592', 'ALLAN PEARSON ', '830013534', 'CONDRODISPLASIA',
'cirugia intrusiva'),
(15, '5051', 'MAURICIO SERRANO TORRES ', '860090230', 'DISTONIA
FOCAL', 'sedacin bucal y antibiotico'),
(16, '3308', 'LEONARDO KATZ STEIN ', '860521086', 'DISTONIA
MIOCLONICA 15', 'antibiotico intravenoso'),
(17, '6323', 'HIPOLITO PINTO ', '890204041', 'DISTONIA NO
ESPECIFICADA', 'intervencion faringitis'),
(18, '3665', 'FRANCISCO JOSE HURTADO PEREZ ', '890700010',
'DISTONIA-PARKINSONISMO', 'inyeccin '),
(19, '4235', 'FERNANDA ZAPATA GONZALEZ ', '890921820', 'DISTONIAS
MIXTAS', 'profilaxis'),
(20, '6338', 'GERMAN RESTREPO CASTRO ', '890912872', 'DISTROFIA
AMPOLLOSA HEREDITARIA', 'drenado activo');

VERIFICACIN CON PhpMyADMIN

Seleccionando la opcin Nueva Base de Datos, a esta base de datos le vamos a dar el nombre de

clientes, en cotejamiento utilizaremos la opcin utf8_spanish_ci

El cotejamiento nos sirve para indicar que tipo de codificacin quisiramos usar. Si furamos

coreanos, seleccionaramos un tipo de cotejamiento que nos admitiera smbolos coreanos, nos

conformaremos con seleccionar por ello esta opcin utf_spanish_ci que corresponde con el

espaol moderno
Luego de crear dicha base de datos, en ella vamos a crear una nueva tabla, en ella vamos a

definir el nombre de cada columna, el tipo de dato que almacenara cada campo de las columnas,

la longitud mxima y el cotejamiento que como vimos era tipo utf_spanish_ci


As para la tabla Clientes definimos 6 columnas con el tipo de dato que vamos a almacenar, en la

columna 1 (id) identificador vamos a seleccionar un tipo de dato entero INT con una longitud

mxima de 20 caracteres, para las columnas posteriores seleccionaremos un tipo de dato Varchar

que nos almacenara una cadena de caracteres de longitud variable desde 0 a 255, permitindonos

que el tamao de la base de datos sea menor


Posteriormente crearemos las tablas de mascotas y procedimientos, e importaremos las tablas

desde Excel, los ficheros en Excel los guardaremos como archivos tipo .csv (delimitado por

comas).

As por ejemplo veremos la tabla de mascotas as:


Luego seleccionaremos importar, cargaremos el archivo en examinar y seleccionaremos el

formato como CSV using LOAD DATA, as:


Luego en la parte inferior cambiaremos el valor (;) de columnas separadas por y asignaremos

una coma (,), tambin cambiaremos el valor () de columnas encerradas entre y asignaremos

un apostrofe (), as:


Luego Seleccionaremos Continuar y nos aparecer la tabla.
Tngase en cuenta que colocamos FILES TERMINATED BY ; y no como dijimos

anteriormente FILES TERMINATED BY ,

Debido a que nos apareci un error,

Al seleccionar el archivo nos apareci un error, dicho error es similar al siguiente:


Este error sucede debido a que al examinar el motivo y al abrir el archivo en lector de textos .txt

o bloc de notas encontramos que los datos no estaban separados por (,) sino por (;), al hacer el

ajuste y al dejar tal como estaba, indicando que las columnas sern separadas por (;) resolvimos

dicho inconveniente. Este error tambin puede aparecer cuando los valores de los campos

exceden el mximo valor asignado o no coinciden con el tipo de formato asignado a la columna.

As pues nos aparece abriendo el archivo PROCEDIMIENTO en un lector de textos:


Haciendo los ajustes nos aparece lo siguiente:
Revisando as, veamos cmo nos qued la importacin de tablas a mysql:
Luego de tener todas las tablas importadas procedemos a realizar los ndices.

Para crear los ndices, usamos la estructura, seleccionamos la columna de la tabla que

relacionaremos, y la transformaremos en ndice, en este caso seleccionamos cod cliente y le

damos la opcin de ndice, as:


Aceptamos y nos va a aparecer lo siguiente:

Como vemos para el ndice nos aparece el cdigo:

ALTER TABLE Clientes ADD INDEX (cod cliente);


Luego nos dirigimos a la tabla de mascota y realizamos la misma operacin con el campo cod

cliente de la tabla mascotas, as:

De esta forma indicamos a MYSQL que genere una lista ordenada de todos los cdigos de los

clientes, gastaremos as menor tiempo en cualquier bsqueda que realicemos. Agregaremos

como ndices las columnas cod mascota de las tablas mascotas y procedimientos
Para realizar relaciones, haremos uso del constructor visual, as pues nos dirigimos al generador

de consultas y lo cambiamos al constructor visual.


All simplemente relacionaremos las opciones cod cliente de las tablas (clientes y mascotas) y

cod mascota de las tablas (mascotas y procedimiento)


CONCLUCIONES

- En este trabajo se pudo establecer los procedimientos para crear una base de datos y para

importar en estos datos desde una tabla de Excel

- Gracias a la elaboracin de este informe, se encontraron los mtodos adecuados para

realizar un ndice en MYSQL, que nos sirve y nos ahorra tiempo para la bsqueda ya que

si hay varios clientes y no hay algo que ayude a su organizacin, la bsqueda tardara, la

informacin podra encontrarse, pero demorara algn tiempo de ms en encontrarla.

- Encontramos la importancia y utilidad de MYSQL, con la interaccin de archivos tipo

txt. o cvs que nos proporcionan datos, encontramos un mtodo til para importarlos y a

partir de ellos elaborar ndices adecuados, siendo aplicados estos procedimientos a la

base de datos relacionales.


BIBLIOGRAFIA

- Gilfillan I. 2003, La Biblia de MYSQL. Diseo de una Base de Datos. P. 80-90. Mxico

D.F, Mxico.

También podría gustarte