SlideShare una empresa de Scribd logo
UNIVERSIDAD LAICA ELOY ALFAR DE MANABÍ
EXTENSIÓN EN EL CARMEN.
CARRERA DE INGENIERÍA EN SISTEMAS
PROYECTO FINAL, DE LA CREACION DE UNA BASE DE DATOS PARA LA
EMPRESA “CLARO”
INTEGRANTES:
Zambrano Segovia Ruth Maribel
Cevallos Solórzano Bryan Sebastián
Romero Vera John Gregorio
TUTOR ACADÉMICO:
Ing. Sergio Mieles
PERIODO:
2015-2016
II
INDICE GENERAL
1. INTRODUCCIÓN ..................................................................................................................III
2. OBJETIVOS ..........................................................................................................................IV
2.1 OBJETIVO GENERAL ................................................................................................IV
2.2 OBJETIVOS ESPECÍFICOS ......................................................................................IV
3. MARCO TEÓRICO ...............................................................................................................V
3.1 Definición de bases de datos .....................................................................................V
3.2 Xampp.............................................................................................................................V
3.2.1 Aplicaciones integradas .........................................................................................V
3.3 Mysql..............................................................................................................................VI
3.3.1 Tipos de Mysql .......................................................................................................VI
3.3.2 Tipos numéricos.....................................................................................................VI
3.3.3 TinyInt ......................................................................................................................VI
3.3.4 Bit ó Bool .................................................................................................................VI
3.3.5 SmallInt....................................................................................................................VI
3.3.6 MediumInt................................................................................................................VI
3.3.7 Integer o Int ............................................................................................................VII
3.3.8 Float ........................................................................................................................VII
3.3.9 Tipos de fecha .......................................................................................................VII
3.3.10 Date Time ...........................................................................................................VII
3.3.11 Time Stamp ........................................................................................................VII
3.4 Tipo de cadena............................................................................................................VII
3.4.1 Char.........................................................................................................................VII
3.4.2 VarChar ..................................................................................................................VII
III
3.5 Creación de bases de datos..................................................................................... VIII
3.5.1 El diseño lógico de una base de datos............................................................. VIII
3.5.2 El diseño físico de una base de datos .............................................................. VIII
3.6 Sentencia de SQL...................................................................................................... VIII
3.6.1 La sentencias de Creación de tabla en la base de datos.............................. VIII
3.7 Definición de las sentencias Select, insert, delete, update ...................................IX
3.7.1 La sentencia Select ...............................................................................................IX
3.7.2 La sentencia insert.................................................................................................IX
3.7.3 La sentencia delete................................................................................................IX
3.7.4 La sentencia update ..............................................................................................IX
3.8 Creación de vistas .......................................................................................................IX
3.9 Creación de usuario......................................................................................................X
3.10 Creación de indices ......................................................................................................X
3.10.1 Tipos de índices ..................................................................................................X
3.10.2 Índice agrupado y no agrupado .......................................................................XI
3.10.3 Índice único .........................................................................................................XI
4. DESARROLLO....................................................................................................................XII
4.1 Creación de una Base de Datos para la empresa “CLARO” .............................. XIII
4.1.1 Procesos o Actividades de la Empresa ............................................................ XIII
4.2 Entidades y atributos................................................................................................. XIII
4.3 Relación de Tablas ...................................................................................................XIV
.................................................................................................................................................XIV
4.4 Diagrama de Relación..............................................................................................XVI
4.5 Tabla de Entidad/Relación ......................................................................................XVI
IV
4.6 Creación de la bases de datos ..............................................................................XVIII
4.7 Insertando y guardando datos ................................................................................XXI
4.8 Realizando Consultas de los datos guardados:................................................ XXIV
Para consultar donde viven:......................................................................................... XXIV
Para consultar que no vive en El Carmen where not (direccion_cli='El Carmen');
...........................................................................................................................................XXV
Para saber el nombre del equipo que cueste menos de 100. .................................XXV
Se requiere saber la marca y el precio de los equipos_celulares. .........................XXV
Utilizando el like y betwween: .......................................................................................XXV
Utilizando el concat y el substr: ....................................................................................XXV
4.9 Crear Nuevo Usuario............................................................................................. XXVI
4.9.1 Permisos o Privilegios a utilizar..................................................................... XXVI
4.10 Tablas de Asignación de Privilegios para dos tipos de Usuarios .................. XXVI
4.10.1 Primero Usuario:..........................................................................................XXVIII
4.10.2 Segundo Usuario.........................................................................................XXVIII
4.10.3 Asignar privilegio al usuario de la base de datos Claro: .......................XXVIII
4.10.4 Asignar privilegios a las tablas de la base de datos Claro: ..................XXVIII
4.10.5 Asignar privilegios a las columnas de la base de datos Claro:............. XXIX
4.11 Comandos;.............................................................................................................. XXIX
4.12 Para Quitar Privilegios............................................................................................XXX
4.12.1 Para Tablas:...................................................................................................XXX
4.12.2 Para columnas:..............................................................................................XXX
4.12.3 Disparadores o Trigger.................................................................................XXX
4.12.4 Tiempo: ...........................................................................................................XXX
4.13 Crear Trigger.............................................................Error! Bookmark not defined.
V
nombre_trigger .....................................................................Error! Bookmark not defined.
4.14 Vistas: .......................................................................................................................XXX
5. CONCLUSIÓN................................................................................................................ XXXI
BIBLIOGRAFÍA.......................................................................................................................XXXII
1. INTRODUCCIÓN
Según (MONTALBAN, 2014) En los 90 fue la década en donde surgió el denominado y
conocido como MYSQL, creado por la empresa Sueca AB, según los antecedentes se
dice que la palabra MYSQL aún no se tiene bien claro de qué origen proviene, puesto
que unos investigadores dicen que las librerías han llevado el prefijo “MY” otros en
cambio dicen que se debe a que una de las hijas de los creadores de MYSQL se
llamaba “MY” por ende no está claramente definido ¿cuál es su origen?
Michael Windenis fue uno de los primero en utilizar MYSQL para conectar tablas
aplicando sus propias rutinas de bajo nivel (ISAM). Después de las primeras pruebas
realizadas concluyo que MYSQL no era lo suficiente flexible ni rápido como el
necesitaba. Por la necesidad de esto decidió elaborar nuevas funciones el cual daba
como resultado una interfaz de SQL totalmente compatible para su base de dato.
MYSQL lo podríamos definir como un software de código abierto que gestiona la base
de datos relacional que deseas crear, este contiene el copyright del código fuente del
servidor SQL, como también el lenguaje de programación que utiliza es Structured
Query Language (SQL) el cual fue desarrollado por la empresa IBM en el año de 1981.
Por medio de MYSQL y su servidor SQL se puede elaborar bases de datos de una
manera fácil y sin complicaciones, puesto que puede soportar gran cantidad de datos,
contando con la mayor velocidad y robustez, pero para esto se requiere aplicar
adecuadamente todos los comandos. Lo mejor de MYSQL es que se pueden insertar
nuevos usuarios, tablas y campos (datos), a una base de datos ya creada, actualizarla y
por ultimo seleccionarlos y eliminarlos.
2. OBJETIVOS
2.1 OBJETIVO GENERAL
 Crear una base de datos para una empresa en MYSQL aplicando todos los
métodos aprendidos durante el periodo lectivo 2015-2016 con finalidad de
fortalecer el aprendizaje académico de la materia.
2.2 OBJETIVOS ESPECÍFICOS
 Obtener la mayor cantidad de información de las diferentes actividades que
realiza la empresa mediante una encuesta para poder proceder a dar inicio al
análisis y creación de la base de datos.
 Garantizar un trabajo eficiente y de seguridad a la empresa cumpliendo con
todos los requisitos que necesita la empresa logrando así la satisfacción de la
misma.
3. MARCO TEÓRICO
3.1 Definición de bases de datos
(IBAÑEZ, 2012), La base de datos es una colección de información organizada de
forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de
datos que se necesite, en una base de datos es también un sistema de archivos
electrónico.
Las bases de datos tradicionales se organizan por campos, registros, archivos, columna
y fila. Un campo de base de datos es un espacio de almacenamiento para un dato
particular, un registro de una base de datos es un conjunto de campos que contienen
los datos que le pertenecen a una misma entidad, un archivo es una colección de
registros por ejemplo, una guía de teléfono es análoga a un archivo, una columna es la
que representa un tipo único de información y una fila es un conjunto de información, y
en la bases de datos tenemos los siguientes comandos que son el Xampp y el Mysql
3.2 Xampp
El Xampp es un servidor independiente de plataforma, software libre, que consiste
principalmente en la base de datos Mysql que integra en una sola aplicación, el servidor
web Apache, y los intérpretes para lenguajes de script como PHP y Perl el programa
esta liberado bajo la licencia GNU y esto actúa como un servidor Web libre, fácil de usar
y capaz de interpretar paginas dinámicas
3.2.1 Aplicaciones integradas
El Xampp tiene los siguientes
 Mysql
 PHP + PEAR
 Perl
 Mod_php
 Mod_perl
 Mod_ssl
 OpenSSL
 phpMyAdmin
 Webalizer
 Mercury Mai
 Ming,
 Apache etc
3.3 Mysql
El Mysql es un sistema de gestor de bases de datos, es decir relacionado, multihilo,
multiusuario y el usuario necesita administrar, para poder agregar, acceder o procesar
esta información guardado en el ordenador y esta es la función que se realiza en el
Mysql. El servidor Mysql fue desarrollado originalmente para manejar grandes bases de
datos mucho más rápido que las soluciones existentes y esto ha estado siendo usado
exitosamente, aunque se encuentra en desarrollo constante, el Mysql un servidor
bastantemente funcional y su conectividad. Velocidad y seguridad hacen de Mysql un
servidor apropiado para acceder a bases de datos.
3.3.1 Tipos de Mysql
Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes y
diferentes grupos
3.3.2 Tipos numéricos
En los tipos de datos existen tipos de datos numéricos que se pueden dividir en dos
hermosa grandes grupos, la que son flotante es decir que lleva coma (decimales) y hay
la q no y ellos son:
3.3.3 TinyInt
Es un número entero con o sin signo.
3.3.4 Bit ó Bool
Es un número entero que puede ser ó 1.
3.3.5 SmallInt
Es un número entero con o sin signo.
3.3.6 MediumInt
Es un número entero con o sin signo
3.3.7 Integer o Int
Es un número entero con o sin signo
3.3.8 Float
Es número pequeño en coma flotante de precisión doble
3.3.9 Tipos de fecha
A la hora de ingresar o almacenar fechas, hay q tener en cuenta que Mysql no
comprueba de una manera estricta si una fecha es válida o no y que son:
3.3.10 Date Time
Es la combinación de fecha y hora
3.3.11 Time Stamp
Es la combinación de fecha y hora
3.4 Tipo de cadena
Ahora en el tipo de cadena tenemos los siguientes:
3.4.1 Char
Este almacena una cadena de longitud fija, y la cadena podrá contener desde 0 a 225
caracteres
3.4.2 VarChar
Este almacena una cadena de longitud fija, y la cadena podrá contener desde 0 a 225
caracteres
3.5 Creación de bases de datos
La creación de una base es una recopilación de información relacionado con un tema o
un propósito en particular y su sintaxis es; Create database nombre_database; para
seleccionar a esa base de datos se utiliza el use por ejemplo; use colegio. Para crear
una base se deben realizar dos ejercicios de diseño que son: el diseño lógico y el físico.
3.5.1 El diseño lógico de una base de datos
Es un modelo abstracto de la base de datos desde una perspectiva de negocios, y
mientras que el diseño físico muestra como la base de datos se ordenan en realidad en
los dispositivos de almacenamiento de acceso directo.
3.5.2 El diseño físico de una base de datos
El diseño físico de la base de datos es llevado a cabo por los especialista en bases de
datos, y mientras que el diseño lógico requiere de una descripción detallada de las
necesidades de información del negocio de los negocios actuales usuarios finales de la
base de datos.
3.6 Sentencia de SQL
En la sentencia de SQL o Lenguaje de Consulta Estructurado tiene bastante sentencias
que se pueden utilizarse para diversas tareas y las sentencias son: Create table, Drop
table, Alter table, Create View, Drop View, Select, insert, delete, update, etc.
3.6.1 La sentencias de Creación de tabla en la base de datos
Una tabla es una herramienta organización de información que se utiliza en la base de
datos, Para crear una tabla puede utilizarse este comando Create table, por ejemplo
create table nombre_table y las tablas se componen en columna y fila
3.7 Definición de las sentencias Select, insert, delete, update
3.7.1 La sentencia Select
La sentencia Select esta selecciona los campos que conformaran en la consulta de la
una tabla de base de datos
3.7.2 La sentencia insert
La sentencia Insert permite crear o insertar nuevos registros en la tabla una tabla de
base de datos
3.7.3 La sentencia delete
La sentencia Delete permite elimina el registro de una tabla de base de datos
3.7.4 La sentencia update
La sentencia Update permite actualizar un registro de una tabla.
3.8 Creación de vistas
Una vista es una consulta accesible como una tabla virtual en una base de datos
relacional o también un conjunto de documentos en una base de datos orientada a
documentos, y su sintaxis es create view.
 Ejemplo:
Create view nombre_view as
Select
From
Where ( );
3.9 Creación de usuario
Existe lposibilidad de crear usuarios sin necesidad de asignarles privilegios, utilizando la
sentencia create user por ejemplo :
Create user nombre_usuario@’localhost’ Identified by ‘pass_nombre_usuario;
3.10Creación de indices
Un índice es una estructura de datos definida sobre una columna de tabla (o varias) y
que permite localizar de forma rápida las filas de la tabla en base a su contenido en la
columna indexada además de permitir recuperar las filas de la tabla ordenadas por esa
misma columna. Funciona de forma parecida al índice de un libro donde tenemos el
título del capítulo y la página donde empieza dicho capítulo, en un índice definido sobre
una determinada columna tenemos el contenido de la columna y la posición de la fila
que contiene dicho valor dentro de la tabla.
La definición de los índices de la base de datos es tarea del administrador de la base de
datos, los administradores más experimentados pueden diseñar un buen conjunto de
índices, pero esta tarea es muy compleja, consume mucho tiempo y está sujeta a
errores, incluso con cargas de trabajo y bases de datos con un grado de complejidad no
excesivo.
3.10.1 Tipos de índices
3.10.1.1 Índice simple y compuesto
Un índice simple está definido sobre una sóla columna de la tabla mientras que un
índice compuesto está formado por varias columnas de la misma tabla (tabla sobre la
cual está definido el índice. Cuando se define un índice sobre una columna, los
registros que se recuperen utilizando el índice aparecerán ordenados por el campo
indexado. Si se define un índice compuesto por las columnas col1 y col2, las filas que
se recuperen utilizando dicho índice aparecerán ordenadas por los valores de col1 y
todas las filas que tengan el mismo valor de col1 se ordenarán a su vez por los valores
contenidos en col2, función igual que la cláusula ORDER BY vista en el tema de
consultas simples.
Por ejemplo si definimos un índice compuesto basado en las columnas (provincia,
localidad), las filas que se recuperen utilizando este índice aparecerán ordenadas por
provincia y dentro de la misma provincia por localidad.
3.10.2 Índice agrupado y no agrupado
El término índice agrupado no se debe confundir con índice compuesto, el significado
es totalmente diferente. Un índice agrupado (CLUSTERED) es un índice en el que el
orden lógico de los valores de clave determina el orden físico de las filas
correspondientes de la tabla. El nivel inferior, u hoja, de un índice agrupado contiene las
filas de datos en sí de la tabla. Una tabla o vista permite un solo índice agrupado al
mismo tiempo.
Los índices no agrupados existentes en las tablas se vuelven a generar al crear un
índice agrupado, por lo que es conveniente crear el índice agrupado antes de crear los
índices no agrupados. Un índice no agrupado especifica la ordenación lógica de la
tabla. Con un índice no agrupado, el orden físico de las filas de datos es independiente
del orden indizado.
3.10.3 Índice único
Índice único es aquel en el que no se permite que dos filas tengan el mismo valor en la
columna de clave del índice, es decir que no permite valores duplicados. Los índices en
vistas pueden mejorar de forma significativa el rendimiento si la vista contiene
agregaciones, combinaciones de tabla o una mezcla de agregaciones y combinaciones.
Con el índice correcto en su lugar, el sistema de base de datos puede entonces primero
dirigirse al índice para encontrar de dónde obtener los datos, y luego dirigirse a dichas
ubicaciones para obtener los datos necesarios. Esto es mucho más rápido. Por lo tanto,
generalmente se recomienda crear índices en tablas. Un índice puede cubrir una o más
columnas. La sintaxis general para la creación de un índice es:
CREATE INDEX "NOMBRE_ÍNDICE" ON "NOMBRE_TABLA"
(NOMBRE_COLUMNA);
Digamos que tenemos la siguiente tabla:
Tabla Customer
Nombre de Columna Tip de Datos
First_Name char(50)
Last_Name char(50)
Address char(50)
City char(50)
Country char(25)
Birth_Date datetime
Si deseamos crear un índice tanto en Ciudad como en País, ingresaríamos,
CREATE INDEX IDX_CUSTOMER_LAST_NAME
ON Customer (Last_Name);
Pour créer un index dans City et Country, il faut saisir
CREATE INDEX IDX_CUSTOMER_LOCATION
ON Customer (City, Country);
4. DESARROLLO
Para la creación de una base de datos se procede a buscar una empresa pública o
privada que pueda facilitar información de todas las actividades que realizan
internamente, luego analizamos dicha información obtenida, describiendo cada una de
las actividades que realiza, como las realiza, y los requisitos para realizar dicha
actividad o proceso, seguido de esto se procede al diseño y creación de la base de
datos.
Ejemplo:
4.1 Creación de una Base de Datos para la empresa “CLARO”
4.1.1 Procesos o Actividades de la Empresa
 Verificación de deudas
 Restauración de chips
 Registros de equipos
 Registrar cliente
En la empresa claro se requiere de la creación de una base de datos en la cual se
puedan registrar los clientes y proveedores con su código, nombre, apellido, ciudad,
número de teléfono, dirección y número de cédula en donde un cliente podrá tener un
proveedor y un proveedor podrá tener varios clientes y, el cliente podrá solicitar una
verificación de deudas con su número telefónico, numero de cedula o el nombre y
proceder a la cancelación de la misma, un cliente podrá tener varias deudas y una
deuda podrá ser de un solo cliente Así mismo requiere registrar la venta de los equipos
celulares con sus respectivos códigos, marcas, modelo, costo con el fin de que un
cliente puedes tener varios equipos celulares y un equipo celular puede tener un solo
cliente. Como también se requiere saber cuántos planes puede tener cada cliente por
tanto un cliente solo puede tener un plan y un plan puede tener un cliente.
Para las restauraciones de chips en caso de que se le haya perdido o por robo el
cliente podrá reportarlo acercándose a servicios de clientes claro presentando, número
del chip, o cedula de identidad del cliente para proceder a restaurar el chip. Un cliente
podrá restaurar un chip y un chip podrá ser restaurado por un cliente.
4.2 Entidades y atributos
 CLIENTES: (COD_CLI, NOMBRE, APELLIDO, DIRECCION, NRO_TLF, C.I)
 PROVEEDOR: (COD_PROV, NOMBRE, APELLIDO, DIRECCION, NRO_TLF,
C.I)
 PLAN: (COD_PLAN, PAQUETES, MN_GRATIS, MEGAS, TARIFAS)
 DEUDAS: (COD_DEU, TIPO_DEU, TOTAL_DEU, TOTAL, TARIFA, FECHA_INI,
FECHA_FIN)
 CHIP: (COD_CHIP, PIN, PUNK, NUMERO)
 EQUIPOS: (COD_EQUI, MARCA, MODELO, PRECIO)
4.3 Relación de Tablas
Un cliente solo puede tener un solo proveedor, y un proveedor puede tener varios
Un cliente puede adquirir varios planes, y un plan puede pertenecer a un solo cliente
Un cliente puede tener muchas deudas, y una deuda puede pertenecer a un cliente
Un cliente puede tener varios chips, y un chip puede tener un solo cliente
Clientes Proveedor
Clientes Plan
Clientes Deudas
Clientes Chip
1 1
n 1
1 n
1 1
1 n
1 1
1 n
1 1
1-n
.---
-kk
1-n
.---
-kk
1-n
.---
-kk
n-1
.---
-kk
Un cliente puede tener varios equipos, y un equipo puede tener un cliente
Un proveedor puede distribuir varios equipos, y un equipo puede ser distribuido un solo
proveedor.
Un plan puede pertenecer a un solo chip, y un chip puede tener un solo plan
Un chip puede tener un solo equipo, y un equipo puede tener varios chips.
Clientes Equipos
Proveedor Equipo
Plan Chips
Chips Equipo
1 n
1 1
1 n
1 1
1
1
1 1
1 1
n 1
1-n
.---
-kk
1-n
.---
-kk
1-1
.---
-kk
n-1
4.4 Diagrama de Relación.
4.5 Tabla de Entidad/Relación
CLIENTES
COD_CLI NOMBRE APELLIDO DIRECCION NRO_TLF C.I FK_COD_DEU
PROVEEDOR
COD_PROV NOMBRE APELLIDO DIRECCION NRO_TLF C.I
PLAN
COD_PLAN PAQUETES MN_GRATIS MEGAS TARIFAS
DEUDAS
COD_DEU NOMBRE_DEU TOTAL_DEU FECHAINI_DEU FK_COD_CLI
DETALLE_DEUDA
COD_DD CANTIDAD_DD PRECIUNI_DD SUBTOTAL_DD FK_COD_DD FK_COD_CLI
CHIP
COD_CHIP PIN PUNK NUMERO
EQUIPOS
COD_EQUI MARCA MODELO PRECIO
4.6 Creación de la bases de datos
create database claro;
use claro;
create table clientes
(
cod_cli int primary key auto_increment,
nombre_cli varchar (30) not null,
apellido_cli varchar (35) not null,
direccion_cli varchar (10) not null,
nro_Tlf_cli varchar (30) not null,
cedula_cli varchar (30) not null
);
create table proveedor
(
cod_prov int primary key auto_increment,
nombre_prov varchar (30) not null,
apellido_prov varchar (35) not null,
direccion_prov varchar (10) not null,
nro_tlf_prov varchar (30) not null,
cedula_prov varchar (30) not null,
operadora_prov varchar (20) not null
);
create table chip
(
cod_chip int primary key auto_increment,
pin_chip varchar (10) not null,
punk_chip varchar (10) not null,
numero_chip varchar (10) not null
);
create table plan
(
cod_plan int primary key auto_increment,
paquetes_plan varchar (25) not null,
mn_gratis_plan varchar (20) not null,
megas_plan varchar (10) not null,
tarifa_plan float not null
);
create table deudas
(
cod_deu int primary key auto_increment,
nombre_deu varchar (30) not null,
total_deu float not null,
k_cod_deu int references deudas(cod_deu),
fk_cod_dd int references detalle_deuda(cod_dd)
);
create table detalle_deuda
(
cod_dd int primary key auto_increment,
cantidad_dd int not null,
preciouni_dd float not null,
Sudtotal_dd float not null,
fk_cod_dd int references deudas(cod_deu),
fk_cod_cli int references clientes(cod_cli)
);
create table equipos
(
cod_equi int primary key auto_increment,
marca_equi varchar (30) not null,
modelo_equi varchar (10) not null,
precio_equi float not null
);
4.7 Insertando y guardando datos
 CLIENTES: (COD_CLI, NOMBRE, APELLIDO, CIUDAD, NRO_TLF, C.I)
insert into clientes values(null, 'Julia','Alvarado','0962534685', '1354789404');
insert into clientes values(null, 'Diana ','Alcívar','Cuenca','0956213652','1465675892');
insert into clientes values(null, 'María','Vega','Guayaquil','0956989856', '1748953217');
insert into clientes values(null, 'Marilyn','Barreiro','Ambato','0932565465','2346721453');
insert into clientes values(null, 'Marcos','Mendoza','Loja','0968764674','1658598432');
insert into clientes values(null, 'Juan','Ponce','Quito','0935455489','1575845456');
insert into clientes values(null, 'Jesus','Cedeño','Riobamba','0964646455','2264647465');
insert into clientes values(null, 'Karen','Valverde','Milagros','0934556866','1313674897');
insert into clientes values(null, 'Ingrid','Rodriguez','Guayas','0965456484','1534644774');
insert into clientes values(null,'Daniela’,'Benavides','Manta','0955554325','1264746548');
insert into clientes values(null,'Maribel','Loor','Portoviejo','0923546488','1564789641');
 PROVEEDOR: (COD_PROV, NOMBRE, APELLIDO, CIUDAD, NRO_TLF, C.I,
OPERADORA)
insert into proveedor values(null, 'Maira','Barreto','Bahia','0946758385',
'1385432454','claro');
insert into proveedor
values(null,'Kassandra','Loor','Loja','0953243652','1465864392','claro');
insert into proveedor
values(null,'Monica','Vera','Quito','0965489856','1748653217','claro');
insert into proveedor
values(null,'Elizabet','Rivas','Riobamba','0936574465','2387961453','claro');
insert into proveedor
values(null,'Jose','Navarrete','Pichincha','0967654674','1657458432','claro');
insert into proveedor
values(null,'Rosa','Mendoza','Quito','0945098759','1575845456','claro');
insert into proveedor values(null,
'Martha','Cedeño','Loja','0964669155','275849385','claro');
insert into proveedor values(null,
'Juan','Murrillo','Manta','0934556866','1313674897','claro');
insert into proveedor values(null,
'Ingrid','Rodriguez','Guayas','0965456484','1539876998','claro');
insert into proveedor values(null,
'Daniel','Alvarez','Manta','0955554325','1264746548','claro');
 PLAN: (COD_PLAN, PAQUETES, MN_GRATIS, MEGAS, TARIFAS)
insert into plan values(null,'sms ilimitados','60', '120 MG','22.00');
insert into plan values(null, 'MG ilimitados','24','100 MG','18.50');
insert into plan values(null, 'whatsapp ilimitado','120','150 MG','24.00');
insert into plan values(null, 'MG ilimitados','120','100 MG','19.00');
insert into plan values(null, 'MB ilimitados','120','150 MG','20.00');
insert into plan values(null, 'sms ilimitado','90','100 MG','17.50');
insert into plan values(null, 'whatsapp ilimitado','60','50 MG','15.30');
insert into plan values(null,'MG ilimtados','120','1000','39.50');
insert into plan values(null, 'MG ilimitados ','120','100 MG','16.00');
insert into plan values(null, 'MG ilimitados','60','50 MG','13.40');
 DEUDAS: (COD_DEU, TIPO_DEU, TOTAL_DEU, TARIFA, TOTAL,
FECHA_DEU, FK_COD_DEU, FK_COD_DD)
insert into deudas values(null, 'internet','16.00',1,1);
insert into deudas values(null, 'equipo_celular','30.00',2,2);
insert into deudas values(null, 'internet','10.75',3,3);
insert into deudas values(null, 'antena','18.00',3,3);
insert into deudas values(null, 'plan','24.60',4,4);
insert into deudas values(null, 'antena','10.00',5,5);
insert into deudas values(null, 'internet','22.00',6,6);
insert into deudas values(null, 'equipo','7.35',7,7);
insert into deudas values(null, 'internet','11.00',8,8);
insert into deudas values(null, 'equipo’,'14.00',9,9);
insert into deudas values(null, 'antena’,'24.00',10,10)
 CHIP: (COD_CHIP, PIN, PUNK, NUMERO)
insert into chip values(null, '1234','1111','0984745757');
insert into chip values(null, '1212','1234','0978654356');
insert into chip values(null, '12345','2222','0986754632');
insert into chip values(null, '1111','10121','0987543644');
insert into chip values(null, '2345','12111','0985673436');
insert into chip values(null, '2222','10111','0975632145');
insert into chip values(null, '21122','11011','0985321678');
insert into chip values(null, '12345','12101','0975434891');
insert into chip values(null, '1211','1101','0981246329');
insert into chip values(null, '4321','10121','0954213765');
 EQUIPOS: (COD_EQUI, MARCA, MODELO, PRECIO)
insert into equipos values(null, 'nokia','mod 503','200.00');
insert into equipos values(null, 'nokia','nod 503 dual sim','300.00');
insert into equipos values(null, 'nokia','mod xperia e','350.75');
insert into equipos values(null, 'motorola','g-tx1032','180.00');
insert into equipos values(null, 'samsung', 'ace3 samsung','450.00');
insert into equipos values(null, 'nokia','mod spice f100','410.99');
insert into equipos values(null, 'samsung','doppio 2200','40.00');
insert into equipos values(null, 'sony','mod bmobele K340','35.00');
insert into equipos values(null, 'samsung','galaxi s4','490.00');
insert into equipos values(null, 'samsung','galaxi s5','700.00');
 DETALLE_DEUDA: (COD_DD, CANTIDAD_DD, PRECIOUNI_DD
SUBTOTAL_DD, FK_COD_DEU, FK_COD_CLI)
insert into detalle_deuda values(null, '1','10.00','10.00',1,1);
insert into detalle_deuda values(null, '1','189.00','189.00',2,2);
insert into detalle_deuda values(null, '1','200.57','200.57',3,3);
insert into detalle_deuda values(null, '1','22.98','22.98',4,4);
insert into detalle_deuda values(null, '1','8.50','8.50',5,5);
insert into detalle_deuda values(null, '1','81.75','81.75',6,6);
insert into detalle_deuda values(null, '2','69.99','130.80',7,7);
insert into detalle_deuda values(null, '2','78.68','157.36',8,8);
insert into detalle_deuda values(null, '2','89.99','170.80',9,9);
insert into detalle_deuda values(null, '1','99.99','99.99',10,10);
4.8 Realizando Consultas de los datos guardados:
Para filtrar los registros de la base de datos utilizamos el where como un código
principal.
 Ejemplo1:
Seleccionar la cedula, el nombre y el apellido de los clientes que tangan el nombre igual
a Maria.
select cedula_cli, nombre_cli, apellido_cli from clientes where nombre_cli='Maria';
 Ejemplo2:
Para consultar donde viven:
select nombre_cli,apellido_cli,direccion_cli from clientes where direccion_cli='El
Carmen';
 Ejemplo3:
Para consultar que no vive en El Carmen where not (direccion_cli='El
Carmen');
select nombre_cli,apellido_cli,direccion_cli from clientes where not (direccion_cli='El
Carmen');
 Ejemplo4:
Para saber el nombre del equipo que cueste menos de 100.
select marca__equi, modelo_equi, precjo_equi from equipos where precio_equi>100;
 Ejemplo5:
Se requiere saber la marca y el precio de los equipos_celulares.
select marca_equi, precio_equi from equipos where marca_equi='nokia' and
precio_equi>100;
 Ejemplo6:
Utilizando el like y betwween:
Mostrar la marca y los precios de aquellos equipos que empiecen con la letra ‘n’ y que
contenga un precio entre 50 y 100 dólares.
select marca_equi precio_equi from equipos where marca_equi like 'n%' and
precio_equi between 50 and 100;
Utilizando el concat y el substr:
seleccionar el nombre y el apellido en una sola celda, la ciudad de los clientes que
vivan en una ciudad que el nombre empiece con 'l' y que su número telefónico termine
en ‘44’, sin que se repita los clientes.
select distinct concat(nombre_cli,' ', apellido_cli) as "Nombre y Apellido de los Clientes",
ciudad_cli from clientes where ciudad_cli like '%44';
 El Limit: Me permite sacar un numero especifico de los registros ingresado.
select marca_equi from equipos where marca_equi like '%nokia%' order by marca_equi
limit 3;
4.9 Crear Nuevo Usuario.
Se puede utilizar el CREATE USER seguido el nombre del usuario, arroba y la
ubicación local que es ’localhost’ entre apostrofe luego de esto utilizamos el
IDENTIFIED BY para asignarle una contraseña la cual ira entre apostrofe:
4.9.1 Permisos o Privilegios a utilizar
select
update
insert
delete
 Ejemplo:
4.10Tablas de Asignación de Privilegios para dos tipos de Usuarios
TABLA DE ASIGNACION DE PRIVILEGIOS
Tipo usuario: Secretaria
Base de Datos: Claro
Tabla/Accion select Insert Delete Update
Clientes Si Si Si Si
Proveedores Si Si No Si
Plan Si Si Si Si
Chip Si Si Si Si
Deudas Si Si Si Si
Detalle_deuda Si Si No Si
Equipos Si Si No Si
Tipo usuario: Secretaria
Base de Datos: Claro
Tabla/Accion select Insert Delete Update
Clientes Si Si Si Si
Proveedores Si Si Si Si
Plan Si Si Si Si
Chip Si Si Si Si
Deudas Si Si Si Si
Detalle_deuda Si Si Si Si
Equipos Si Si Si Si
4.10.1 Primero Usuario:
create user secretaria@'localhost' identified by 'marly';
4.10.2 Segundo Usuario
create user supervisor@'localhost' identified by '1234';
4.10.3 Asignar privilegio al usuario de la base de datos Claro:
Para asignar los privilegios utilizamos el GRANT y los privilegios que deseas o debes
asignar como el SELECT, INSERT, UPDATE y el DELETE seguido de un ON más el
nombre de la base de datos punto asterisco y por último el código TO más el nombre
del usuario y su localidad.
 Ejemplo:
grant select, update, insert, delete on claro.* to secretaria @'localhost';
4.10.4 Asignar privilegios a las tablas de la base de datos Claro:
Utilizamos el GRANT y los privilegios que deseas o debes asignar como el SELECT,
INSERT, UPDATE y el DELETE seguido de un ON más el nombre de la base de datos
punto el nombre de la tabla y por último el código TO más el nombre del usuario y su
localidad.
 Ejemplos:
grant select, update, insert on claro.clientes to secretaria @'localhost';
grant select, update, insert, delete on claro.deudas to secretaria @'localhost';
grant select, update, insert, delete on claro.proveedor to secretaria @'localhost';
grant select, update, insert on claro.detalle_deuda to secretaria @'localhost';
grant select, update, insert, delete on claro.plan to secretaria @'localhost';
grant select, update, insert, delete on claro.equipos to secretaria @'localhost';
4.10.5 Asignar privilegios a las columnas de la base de datos Claro:
Utilizamos el GRANT y los privilegios que deseas o debes asignar como el SELECT, INSERT,
UPDATE y el DELETE entre paréntesis los nombres de las columnas que le vas asignar los
privilegios, seguido de un ON más el nombre de la base de datos punto el nombre de la tabla y
por último el código TO más el nombre del usuario y su localidad.
Nota: En las columnas no se puede borrar con delete sino con el codigo drop y se
puedee dar privilegios a todo en una sola línea
 Ejemplo:
grant select(cod_cli, nombre_cli, apellido_cli), inssert(apellido_cli, ciudad_cli, nro_tlf_cli),
update(nro_tlf_cli, cedula_cli) on claro.clientes to marlen@'localhost';
 O Así:
grant select(cod_cli) on claro.clientes to marlen@'localhost';
grant select(nombre_cli) on claro.clientes to marlen@'localhost';
grant select, insert(apellido_cli) on claro.clientes to marlen@'localhost';
grant insert(ciudad) on claro.clientes to marlen@'localhost';
grant insert, update(nro_tlf_cli) on claro.clientes to marlen@'localhost';
grant update(cedula_cli) on claro.clientes to marlen@'localhost';
4.11Comandos;
Para poder saber dónde están guardados los usuarios creados debemos ingresar a la
base de datos mysql
 Ejemplo:
Primero
show databse;
Luego:
use mysql;
show tables;
select user from user;-------->> para ver los usuarios creados
show grants for invitado@'localhost'; ----->>para ver los privilegios que fueron asignados
4.12Para Quitar Privilegios
Utilizamos el comando revoke:
 Ejemplo:
4.12.1 Para Tablas:
revoke select, update on biblioteca.usuarios from usuario@'localhost';
4.12.2 Para columnas:
revoke update(nombre_usu) on biblioteca.usuarios from usuariio@'localhost';
4.12.3 Disparadores o Trigger
Sintaxis;
4.12.4 Tiempo:
after: Significa despues
set: coloque
Acción: insert, delete update y select.
4.13Vistas:
No es nada mas ni nada menos que una Tabla Temporal
 Ejemplo:
create view Control as select nombre_cli as 'Nombre del Cliente', apellido_cli as
'Apellido del Cliente', nombre_deu as 'Nombre de la Deuda', cantidad_dd as 'Cantidad
de Deudas', Total_deu as 'Total de Deuda', direccion_cli as 'Dirección del Cliente',
nro_tlf_cli as 'Número de Teléfono del Cliente' from clientes, deudas, detalle_deuda
where cod_deu=fk_cod_deu and cod_dd=fk_cod_dd;
5. CONCLUSIÓN
Tiene como objetivo, hacer que el estudiante aprenda de manera fácil y sencilla aplicando teórica
y prácticamente todos los conocimientos adquiridos de la materia, mediante la creación de la base
de datos, en si este es un método didáctico sumamente importante para el estudiantado puesto que
así podrá lograr obtener los conocimientos necesarios para el buen manejo de la base de datos
fortaleciendo aún más su aprendizaje.
BIBLIOGRAFÍA
CUESTA, A., & HIDALGO, J. I. ( 2009). PROBLEMAS DE FUNDAMENTOS Y
ESTRUCTURA DE COMPUTADORAS. PRENTICE-HALL.
IBAÑEZ, L. H. (2012). BASES DE DATOS (CFGS. CICLOS INFORMATIVOS DE
GRADO SUPERIOR). RA-MA.
MONTALBAN, I. L. (2014). BASES DE DATOS. GARCETA GRUPO EDITORIAL.
6. Anexos

Más contenido relacionado

DOCX
Manual de excel equipo laura, yuliana, jose
PDF
PST Manual de usuario
PDF
Periodismo Digital - Coordinado por Pilar Diezhandino
DOCX
Libro planificación y evaluación cbo-nbs
PDF
INDICADORES DE GESTION BAJO LA METODOLOGIA DEL BALANCED SCORECARD (CUADRO DE ...
PDF
Números irracionales
PDF
Derecho politico i
PDF
Matematica en 7 docente
Manual de excel equipo laura, yuliana, jose
PST Manual de usuario
Periodismo Digital - Coordinado por Pilar Diezhandino
Libro planificación y evaluación cbo-nbs
INDICADORES DE GESTION BAJO LA METODOLOGIA DEL BALANCED SCORECARD (CUADRO DE ...
Números irracionales
Derecho politico i
Matematica en 7 docente

La actualidad más candente (12)

DOC
Derecho político Manuel lisperguer
PDF
Instituciones De Derecho Financiero - José Juan Ferreiro Lapatza - ISBN: 978-...
PDF
Juventud Vasca 2016
PDF
Resultados_cove_Consultoria
PDF
Portafolio de Computación Aplicada I
PDF
PDM Huacaya
PDF
Guia delacion compensada fne chile
PDF
PDM Cuatro Cañadas
PDF
Access xp basico
PDF
LA EMPRESA SOCIAL Y SU ORGANIZACIÓN JURÍDICA.Mª del Mar Andreu Martí.ISBN:978...
PDF
Memoria descriptiva mosaico_mapa_base_loreto_final
PDF
Reglamento carrera magisterial
Derecho político Manuel lisperguer
Instituciones De Derecho Financiero - José Juan Ferreiro Lapatza - ISBN: 978-...
Juventud Vasca 2016
Resultados_cove_Consultoria
Portafolio de Computación Aplicada I
PDM Huacaya
Guia delacion compensada fne chile
PDM Cuatro Cañadas
Access xp basico
LA EMPRESA SOCIAL Y SU ORGANIZACIÓN JURÍDICA.Mª del Mar Andreu Martí.ISBN:978...
Memoria descriptiva mosaico_mapa_base_loreto_final
Reglamento carrera magisterial
Publicidad

Destacado (17)

PDF
Roma Europa Festival 2015
DOCX
bases de datos
PDF
Programma piazza vittorio 16 31 luglio-2
PDF
Attività marzo 2015
PDF
Roma Europa Festoval 2016
PDF
Giornalino vivimusei
PDF
Attività aprile 2015
PDF
Doc.asp 1
PPTX
Redes de-computadora
PDF
Il Cielo sopra Esquilino
PDF
Programma Santa Croce effetto notte 2015
PDF
As Roma-La Fondazione 7 giugno 1927
PDF
Ordinanza sindacale 15012015
PPTX
The woolgatherer Group 8
PDF
Corsa dei Santi 2015
PDF
Programma Ville di Roma a Porte Aperte 2015
PPTX
Institute for Healthcare Improvement-20161101
Roma Europa Festival 2015
bases de datos
Programma piazza vittorio 16 31 luglio-2
Attività marzo 2015
Roma Europa Festoval 2016
Giornalino vivimusei
Attività aprile 2015
Doc.asp 1
Redes de-computadora
Il Cielo sopra Esquilino
Programma Santa Croce effetto notte 2015
As Roma-La Fondazione 7 giugno 1927
Ordinanza sindacale 15012015
The woolgatherer Group 8
Corsa dei Santi 2015
Programma Ville di Roma a Porte Aperte 2015
Institute for Healthcare Improvement-20161101
Publicidad

Similar a Proyecto bdd (20)

DOCX
Curso bases de datos es un indice de cursos.docx
PPTX
Unidad I- Introducción.pptx
PPT
Manual sql
PDF
DOCX
Practica 4
PDF
Guia eejerciciospracticos
PDF
Guia eejerciciospracticos
PDF
kupdf.net_bases-de-datos.pdf
PDF
Bases de-datos
PPTX
Material Clase BDD: Diseño de una Base de Datos
PDF
4.2 .- PRIMER PASO CONEXION A BASE DE DATOS.pdf
PDF
Silabo base de datos 2013
PDF
Apuntes Bases de Datos
PPTX
Bases de datos
PPT
Laboratorio_Semana_6-UNFV_6CICLOACADEMICO.ppt
PDF
Guia N4 Proyectos Web My Sql Y Php
PPTX
T8 – Bases de Datos en MySQL (1).pptx
DOCX
Instituto tecnológico superior de zongolicaarturo
Curso bases de datos es un indice de cursos.docx
Unidad I- Introducción.pptx
Manual sql
Practica 4
Guia eejerciciospracticos
Guia eejerciciospracticos
kupdf.net_bases-de-datos.pdf
Bases de-datos
Material Clase BDD: Diseño de una Base de Datos
4.2 .- PRIMER PASO CONEXION A BASE DE DATOS.pdf
Silabo base de datos 2013
Apuntes Bases de Datos
Bases de datos
Laboratorio_Semana_6-UNFV_6CICLOACADEMICO.ppt
Guia N4 Proyectos Web My Sql Y Php
T8 – Bases de Datos en MySQL (1).pptx
Instituto tecnológico superior de zongolicaarturo

Último (16)

PDF
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
PPTX
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
PDF
Libro de Oraciones guia virgen peregrina
PPTX
Qué es Google Classroom Insertar SlideShare U 6.pptx
PPTX
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
PDF
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
PPT
laser seguridad a la salud humana de piel y vision en laser clase 4
PDF
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
PPTX
Presentación de un estudio de empresa pp
PPTX
presentación sobre Programación SQL.pptx
PPTX
Evolución de la computadora ACTUALMENTE.pptx
PDF
Herramientaa de google google keep, maps.pdf
PPTX
Plantilla-Hardware-Informático-oficce.pptx
PDF
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
PPTX
presentacion_energias_renovables_renovable_.pptx
PDF
Frases de Fidel Castro. Compilación Norelys Morales Aguilera
.GUIA DE GUIA DE TRABAJO NUEVO TESTAMENTO.pdf
FUNCIONES DE CLASSROOM EN EL FUNCIONAMIENTO ESCOLAR
Libro de Oraciones guia virgen peregrina
Qué es Google Classroom Insertar SlideShare U 6.pptx
PRESENTACION NIA 220 idhsahdjhJKSDHJKSHDJSHDJKHDJHSAJDHJKSAHDJkhjskdhasjdhasj...
[Ebook gratuito] Introducción a la IA Generativa, Instalación y Configuración...
laser seguridad a la salud humana de piel y vision en laser clase 4
LA INTELIGENCIA ARTIFICAL SU HISTORIA Y EL FUTURO
Presentación de un estudio de empresa pp
presentación sobre Programación SQL.pptx
Evolución de la computadora ACTUALMENTE.pptx
Herramientaa de google google keep, maps.pdf
Plantilla-Hardware-Informático-oficce.pptx
CAPACITACIÓN MIPIG - MODELO INTEGRADO DE PLANEACIÓN Y GESTIÓN
presentacion_energias_renovables_renovable_.pptx
Frases de Fidel Castro. Compilación Norelys Morales Aguilera

Proyecto bdd

  • 1. UNIVERSIDAD LAICA ELOY ALFAR DE MANABÍ EXTENSIÓN EN EL CARMEN. CARRERA DE INGENIERÍA EN SISTEMAS PROYECTO FINAL, DE LA CREACION DE UNA BASE DE DATOS PARA LA EMPRESA “CLARO” INTEGRANTES: Zambrano Segovia Ruth Maribel Cevallos Solórzano Bryan Sebastián Romero Vera John Gregorio TUTOR ACADÉMICO: Ing. Sergio Mieles PERIODO: 2015-2016
  • 2. II INDICE GENERAL 1. INTRODUCCIÓN ..................................................................................................................III 2. OBJETIVOS ..........................................................................................................................IV 2.1 OBJETIVO GENERAL ................................................................................................IV 2.2 OBJETIVOS ESPECÍFICOS ......................................................................................IV 3. MARCO TEÓRICO ...............................................................................................................V 3.1 Definición de bases de datos .....................................................................................V 3.2 Xampp.............................................................................................................................V 3.2.1 Aplicaciones integradas .........................................................................................V 3.3 Mysql..............................................................................................................................VI 3.3.1 Tipos de Mysql .......................................................................................................VI 3.3.2 Tipos numéricos.....................................................................................................VI 3.3.3 TinyInt ......................................................................................................................VI 3.3.4 Bit ó Bool .................................................................................................................VI 3.3.5 SmallInt....................................................................................................................VI 3.3.6 MediumInt................................................................................................................VI 3.3.7 Integer o Int ............................................................................................................VII 3.3.8 Float ........................................................................................................................VII 3.3.9 Tipos de fecha .......................................................................................................VII 3.3.10 Date Time ...........................................................................................................VII 3.3.11 Time Stamp ........................................................................................................VII 3.4 Tipo de cadena............................................................................................................VII 3.4.1 Char.........................................................................................................................VII 3.4.2 VarChar ..................................................................................................................VII
  • 3. III 3.5 Creación de bases de datos..................................................................................... VIII 3.5.1 El diseño lógico de una base de datos............................................................. VIII 3.5.2 El diseño físico de una base de datos .............................................................. VIII 3.6 Sentencia de SQL...................................................................................................... VIII 3.6.1 La sentencias de Creación de tabla en la base de datos.............................. VIII 3.7 Definición de las sentencias Select, insert, delete, update ...................................IX 3.7.1 La sentencia Select ...............................................................................................IX 3.7.2 La sentencia insert.................................................................................................IX 3.7.3 La sentencia delete................................................................................................IX 3.7.4 La sentencia update ..............................................................................................IX 3.8 Creación de vistas .......................................................................................................IX 3.9 Creación de usuario......................................................................................................X 3.10 Creación de indices ......................................................................................................X 3.10.1 Tipos de índices ..................................................................................................X 3.10.2 Índice agrupado y no agrupado .......................................................................XI 3.10.3 Índice único .........................................................................................................XI 4. DESARROLLO....................................................................................................................XII 4.1 Creación de una Base de Datos para la empresa “CLARO” .............................. XIII 4.1.1 Procesos o Actividades de la Empresa ............................................................ XIII 4.2 Entidades y atributos................................................................................................. XIII 4.3 Relación de Tablas ...................................................................................................XIV .................................................................................................................................................XIV 4.4 Diagrama de Relación..............................................................................................XVI 4.5 Tabla de Entidad/Relación ......................................................................................XVI
  • 4. IV 4.6 Creación de la bases de datos ..............................................................................XVIII 4.7 Insertando y guardando datos ................................................................................XXI 4.8 Realizando Consultas de los datos guardados:................................................ XXIV Para consultar donde viven:......................................................................................... XXIV Para consultar que no vive en El Carmen where not (direccion_cli='El Carmen'); ...........................................................................................................................................XXV Para saber el nombre del equipo que cueste menos de 100. .................................XXV Se requiere saber la marca y el precio de los equipos_celulares. .........................XXV Utilizando el like y betwween: .......................................................................................XXV Utilizando el concat y el substr: ....................................................................................XXV 4.9 Crear Nuevo Usuario............................................................................................. XXVI 4.9.1 Permisos o Privilegios a utilizar..................................................................... XXVI 4.10 Tablas de Asignación de Privilegios para dos tipos de Usuarios .................. XXVI 4.10.1 Primero Usuario:..........................................................................................XXVIII 4.10.2 Segundo Usuario.........................................................................................XXVIII 4.10.3 Asignar privilegio al usuario de la base de datos Claro: .......................XXVIII 4.10.4 Asignar privilegios a las tablas de la base de datos Claro: ..................XXVIII 4.10.5 Asignar privilegios a las columnas de la base de datos Claro:............. XXIX 4.11 Comandos;.............................................................................................................. XXIX 4.12 Para Quitar Privilegios............................................................................................XXX 4.12.1 Para Tablas:...................................................................................................XXX 4.12.2 Para columnas:..............................................................................................XXX 4.12.3 Disparadores o Trigger.................................................................................XXX 4.12.4 Tiempo: ...........................................................................................................XXX 4.13 Crear Trigger.............................................................Error! Bookmark not defined.
  • 5. V nombre_trigger .....................................................................Error! Bookmark not defined. 4.14 Vistas: .......................................................................................................................XXX 5. CONCLUSIÓN................................................................................................................ XXXI BIBLIOGRAFÍA.......................................................................................................................XXXII
  • 6. 1. INTRODUCCIÓN Según (MONTALBAN, 2014) En los 90 fue la década en donde surgió el denominado y conocido como MYSQL, creado por la empresa Sueca AB, según los antecedentes se dice que la palabra MYSQL aún no se tiene bien claro de qué origen proviene, puesto que unos investigadores dicen que las librerías han llevado el prefijo “MY” otros en cambio dicen que se debe a que una de las hijas de los creadores de MYSQL se llamaba “MY” por ende no está claramente definido ¿cuál es su origen? Michael Windenis fue uno de los primero en utilizar MYSQL para conectar tablas aplicando sus propias rutinas de bajo nivel (ISAM). Después de las primeras pruebas realizadas concluyo que MYSQL no era lo suficiente flexible ni rápido como el necesitaba. Por la necesidad de esto decidió elaborar nuevas funciones el cual daba como resultado una interfaz de SQL totalmente compatible para su base de dato. MYSQL lo podríamos definir como un software de código abierto que gestiona la base de datos relacional que deseas crear, este contiene el copyright del código fuente del servidor SQL, como también el lenguaje de programación que utiliza es Structured Query Language (SQL) el cual fue desarrollado por la empresa IBM en el año de 1981. Por medio de MYSQL y su servidor SQL se puede elaborar bases de datos de una manera fácil y sin complicaciones, puesto que puede soportar gran cantidad de datos, contando con la mayor velocidad y robustez, pero para esto se requiere aplicar adecuadamente todos los comandos. Lo mejor de MYSQL es que se pueden insertar nuevos usuarios, tablas y campos (datos), a una base de datos ya creada, actualizarla y por ultimo seleccionarlos y eliminarlos.
  • 7. 2. OBJETIVOS 2.1 OBJETIVO GENERAL  Crear una base de datos para una empresa en MYSQL aplicando todos los métodos aprendidos durante el periodo lectivo 2015-2016 con finalidad de fortalecer el aprendizaje académico de la materia. 2.2 OBJETIVOS ESPECÍFICOS  Obtener la mayor cantidad de información de las diferentes actividades que realiza la empresa mediante una encuesta para poder proceder a dar inicio al análisis y creación de la base de datos.  Garantizar un trabajo eficiente y de seguridad a la empresa cumpliendo con todos los requisitos que necesita la empresa logrando así la satisfacción de la misma.
  • 8. 3. MARCO TEÓRICO 3.1 Definición de bases de datos (IBAÑEZ, 2012), La base de datos es una colección de información organizada de forma que un programa de ordenador pueda seleccionar rápidamente los fragmentos de datos que se necesite, en una base de datos es también un sistema de archivos electrónico. Las bases de datos tradicionales se organizan por campos, registros, archivos, columna y fila. Un campo de base de datos es un espacio de almacenamiento para un dato particular, un registro de una base de datos es un conjunto de campos que contienen los datos que le pertenecen a una misma entidad, un archivo es una colección de registros por ejemplo, una guía de teléfono es análoga a un archivo, una columna es la que representa un tipo único de información y una fila es un conjunto de información, y en la bases de datos tenemos los siguientes comandos que son el Xampp y el Mysql 3.2 Xampp El Xampp es un servidor independiente de plataforma, software libre, que consiste principalmente en la base de datos Mysql que integra en una sola aplicación, el servidor web Apache, y los intérpretes para lenguajes de script como PHP y Perl el programa esta liberado bajo la licencia GNU y esto actúa como un servidor Web libre, fácil de usar y capaz de interpretar paginas dinámicas 3.2.1 Aplicaciones integradas El Xampp tiene los siguientes  Mysql  PHP + PEAR  Perl  Mod_php  Mod_perl  Mod_ssl  OpenSSL  phpMyAdmin  Webalizer  Mercury Mai  Ming,  Apache etc
  • 9. 3.3 Mysql El Mysql es un sistema de gestor de bases de datos, es decir relacionado, multihilo, multiusuario y el usuario necesita administrar, para poder agregar, acceder o procesar esta información guardado en el ordenador y esta es la función que se realiza en el Mysql. El servidor Mysql fue desarrollado originalmente para manejar grandes bases de datos mucho más rápido que las soluciones existentes y esto ha estado siendo usado exitosamente, aunque se encuentra en desarrollo constante, el Mysql un servidor bastantemente funcional y su conectividad. Velocidad y seguridad hacen de Mysql un servidor apropiado para acceder a bases de datos. 3.3.1 Tipos de Mysql Los tipos de datos que puede haber en un campo, se pueden agrupar en tres grandes y diferentes grupos 3.3.2 Tipos numéricos En los tipos de datos existen tipos de datos numéricos que se pueden dividir en dos hermosa grandes grupos, la que son flotante es decir que lleva coma (decimales) y hay la q no y ellos son: 3.3.3 TinyInt Es un número entero con o sin signo. 3.3.4 Bit ó Bool Es un número entero que puede ser ó 1. 3.3.5 SmallInt Es un número entero con o sin signo. 3.3.6 MediumInt Es un número entero con o sin signo
  • 10. 3.3.7 Integer o Int Es un número entero con o sin signo 3.3.8 Float Es número pequeño en coma flotante de precisión doble 3.3.9 Tipos de fecha A la hora de ingresar o almacenar fechas, hay q tener en cuenta que Mysql no comprueba de una manera estricta si una fecha es válida o no y que son: 3.3.10 Date Time Es la combinación de fecha y hora 3.3.11 Time Stamp Es la combinación de fecha y hora 3.4 Tipo de cadena Ahora en el tipo de cadena tenemos los siguientes: 3.4.1 Char Este almacena una cadena de longitud fija, y la cadena podrá contener desde 0 a 225 caracteres 3.4.2 VarChar Este almacena una cadena de longitud fija, y la cadena podrá contener desde 0 a 225 caracteres
  • 11. 3.5 Creación de bases de datos La creación de una base es una recopilación de información relacionado con un tema o un propósito en particular y su sintaxis es; Create database nombre_database; para seleccionar a esa base de datos se utiliza el use por ejemplo; use colegio. Para crear una base se deben realizar dos ejercicios de diseño que son: el diseño lógico y el físico. 3.5.1 El diseño lógico de una base de datos Es un modelo abstracto de la base de datos desde una perspectiva de negocios, y mientras que el diseño físico muestra como la base de datos se ordenan en realidad en los dispositivos de almacenamiento de acceso directo. 3.5.2 El diseño físico de una base de datos El diseño físico de la base de datos es llevado a cabo por los especialista en bases de datos, y mientras que el diseño lógico requiere de una descripción detallada de las necesidades de información del negocio de los negocios actuales usuarios finales de la base de datos. 3.6 Sentencia de SQL En la sentencia de SQL o Lenguaje de Consulta Estructurado tiene bastante sentencias que se pueden utilizarse para diversas tareas y las sentencias son: Create table, Drop table, Alter table, Create View, Drop View, Select, insert, delete, update, etc. 3.6.1 La sentencias de Creación de tabla en la base de datos Una tabla es una herramienta organización de información que se utiliza en la base de datos, Para crear una tabla puede utilizarse este comando Create table, por ejemplo create table nombre_table y las tablas se componen en columna y fila
  • 12. 3.7 Definición de las sentencias Select, insert, delete, update 3.7.1 La sentencia Select La sentencia Select esta selecciona los campos que conformaran en la consulta de la una tabla de base de datos 3.7.2 La sentencia insert La sentencia Insert permite crear o insertar nuevos registros en la tabla una tabla de base de datos 3.7.3 La sentencia delete La sentencia Delete permite elimina el registro de una tabla de base de datos 3.7.4 La sentencia update La sentencia Update permite actualizar un registro de una tabla. 3.8 Creación de vistas Una vista es una consulta accesible como una tabla virtual en una base de datos relacional o también un conjunto de documentos en una base de datos orientada a documentos, y su sintaxis es create view.  Ejemplo: Create view nombre_view as Select From Where ( );
  • 13. 3.9 Creación de usuario Existe lposibilidad de crear usuarios sin necesidad de asignarles privilegios, utilizando la sentencia create user por ejemplo : Create user nombre_usuario@’localhost’ Identified by ‘pass_nombre_usuario; 3.10Creación de indices Un índice es una estructura de datos definida sobre una columna de tabla (o varias) y que permite localizar de forma rápida las filas de la tabla en base a su contenido en la columna indexada además de permitir recuperar las filas de la tabla ordenadas por esa misma columna. Funciona de forma parecida al índice de un libro donde tenemos el título del capítulo y la página donde empieza dicho capítulo, en un índice definido sobre una determinada columna tenemos el contenido de la columna y la posición de la fila que contiene dicho valor dentro de la tabla. La definición de los índices de la base de datos es tarea del administrador de la base de datos, los administradores más experimentados pueden diseñar un buen conjunto de índices, pero esta tarea es muy compleja, consume mucho tiempo y está sujeta a errores, incluso con cargas de trabajo y bases de datos con un grado de complejidad no excesivo. 3.10.1 Tipos de índices 3.10.1.1 Índice simple y compuesto Un índice simple está definido sobre una sóla columna de la tabla mientras que un índice compuesto está formado por varias columnas de la misma tabla (tabla sobre la cual está definido el índice. Cuando se define un índice sobre una columna, los registros que se recuperen utilizando el índice aparecerán ordenados por el campo indexado. Si se define un índice compuesto por las columnas col1 y col2, las filas que se recuperen utilizando dicho índice aparecerán ordenadas por los valores de col1 y todas las filas que tengan el mismo valor de col1 se ordenarán a su vez por los valores contenidos en col2, función igual que la cláusula ORDER BY vista en el tema de consultas simples.
  • 14. Por ejemplo si definimos un índice compuesto basado en las columnas (provincia, localidad), las filas que se recuperen utilizando este índice aparecerán ordenadas por provincia y dentro de la misma provincia por localidad. 3.10.2 Índice agrupado y no agrupado El término índice agrupado no se debe confundir con índice compuesto, el significado es totalmente diferente. Un índice agrupado (CLUSTERED) es un índice en el que el orden lógico de los valores de clave determina el orden físico de las filas correspondientes de la tabla. El nivel inferior, u hoja, de un índice agrupado contiene las filas de datos en sí de la tabla. Una tabla o vista permite un solo índice agrupado al mismo tiempo. Los índices no agrupados existentes en las tablas se vuelven a generar al crear un índice agrupado, por lo que es conveniente crear el índice agrupado antes de crear los índices no agrupados. Un índice no agrupado especifica la ordenación lógica de la tabla. Con un índice no agrupado, el orden físico de las filas de datos es independiente del orden indizado. 3.10.3 Índice único Índice único es aquel en el que no se permite que dos filas tengan el mismo valor en la columna de clave del índice, es decir que no permite valores duplicados. Los índices en vistas pueden mejorar de forma significativa el rendimiento si la vista contiene agregaciones, combinaciones de tabla o una mezcla de agregaciones y combinaciones. Con el índice correcto en su lugar, el sistema de base de datos puede entonces primero dirigirse al índice para encontrar de dónde obtener los datos, y luego dirigirse a dichas ubicaciones para obtener los datos necesarios. Esto es mucho más rápido. Por lo tanto, generalmente se recomienda crear índices en tablas. Un índice puede cubrir una o más columnas. La sintaxis general para la creación de un índice es: CREATE INDEX "NOMBRE_ÍNDICE" ON "NOMBRE_TABLA" (NOMBRE_COLUMNA); Digamos que tenemos la siguiente tabla:
  • 15. Tabla Customer Nombre de Columna Tip de Datos First_Name char(50) Last_Name char(50) Address char(50) City char(50) Country char(25) Birth_Date datetime Si deseamos crear un índice tanto en Ciudad como en País, ingresaríamos, CREATE INDEX IDX_CUSTOMER_LAST_NAME ON Customer (Last_Name); Pour créer un index dans City et Country, il faut saisir CREATE INDEX IDX_CUSTOMER_LOCATION ON Customer (City, Country); 4. DESARROLLO Para la creación de una base de datos se procede a buscar una empresa pública o privada que pueda facilitar información de todas las actividades que realizan internamente, luego analizamos dicha información obtenida, describiendo cada una de las actividades que realiza, como las realiza, y los requisitos para realizar dicha actividad o proceso, seguido de esto se procede al diseño y creación de la base de datos. Ejemplo:
  • 16. 4.1 Creación de una Base de Datos para la empresa “CLARO” 4.1.1 Procesos o Actividades de la Empresa  Verificación de deudas  Restauración de chips  Registros de equipos  Registrar cliente En la empresa claro se requiere de la creación de una base de datos en la cual se puedan registrar los clientes y proveedores con su código, nombre, apellido, ciudad, número de teléfono, dirección y número de cédula en donde un cliente podrá tener un proveedor y un proveedor podrá tener varios clientes y, el cliente podrá solicitar una verificación de deudas con su número telefónico, numero de cedula o el nombre y proceder a la cancelación de la misma, un cliente podrá tener varias deudas y una deuda podrá ser de un solo cliente Así mismo requiere registrar la venta de los equipos celulares con sus respectivos códigos, marcas, modelo, costo con el fin de que un cliente puedes tener varios equipos celulares y un equipo celular puede tener un solo cliente. Como también se requiere saber cuántos planes puede tener cada cliente por tanto un cliente solo puede tener un plan y un plan puede tener un cliente. Para las restauraciones de chips en caso de que se le haya perdido o por robo el cliente podrá reportarlo acercándose a servicios de clientes claro presentando, número del chip, o cedula de identidad del cliente para proceder a restaurar el chip. Un cliente podrá restaurar un chip y un chip podrá ser restaurado por un cliente. 4.2 Entidades y atributos  CLIENTES: (COD_CLI, NOMBRE, APELLIDO, DIRECCION, NRO_TLF, C.I)  PROVEEDOR: (COD_PROV, NOMBRE, APELLIDO, DIRECCION, NRO_TLF, C.I)  PLAN: (COD_PLAN, PAQUETES, MN_GRATIS, MEGAS, TARIFAS)  DEUDAS: (COD_DEU, TIPO_DEU, TOTAL_DEU, TOTAL, TARIFA, FECHA_INI, FECHA_FIN)  CHIP: (COD_CHIP, PIN, PUNK, NUMERO)  EQUIPOS: (COD_EQUI, MARCA, MODELO, PRECIO)
  • 17. 4.3 Relación de Tablas Un cliente solo puede tener un solo proveedor, y un proveedor puede tener varios Un cliente puede adquirir varios planes, y un plan puede pertenecer a un solo cliente Un cliente puede tener muchas deudas, y una deuda puede pertenecer a un cliente Un cliente puede tener varios chips, y un chip puede tener un solo cliente Clientes Proveedor Clientes Plan Clientes Deudas Clientes Chip 1 1 n 1 1 n 1 1 1 n 1 1 1 n 1 1 1-n .--- -kk 1-n .--- -kk 1-n .--- -kk n-1 .--- -kk
  • 18. Un cliente puede tener varios equipos, y un equipo puede tener un cliente Un proveedor puede distribuir varios equipos, y un equipo puede ser distribuido un solo proveedor. Un plan puede pertenecer a un solo chip, y un chip puede tener un solo plan Un chip puede tener un solo equipo, y un equipo puede tener varios chips. Clientes Equipos Proveedor Equipo Plan Chips Chips Equipo 1 n 1 1 1 n 1 1 1 1 1 1 1 1 n 1 1-n .--- -kk 1-n .--- -kk 1-1 .--- -kk n-1
  • 19. 4.4 Diagrama de Relación. 4.5 Tabla de Entidad/Relación CLIENTES COD_CLI NOMBRE APELLIDO DIRECCION NRO_TLF C.I FK_COD_DEU
  • 20. PROVEEDOR COD_PROV NOMBRE APELLIDO DIRECCION NRO_TLF C.I PLAN COD_PLAN PAQUETES MN_GRATIS MEGAS TARIFAS DEUDAS COD_DEU NOMBRE_DEU TOTAL_DEU FECHAINI_DEU FK_COD_CLI DETALLE_DEUDA COD_DD CANTIDAD_DD PRECIUNI_DD SUBTOTAL_DD FK_COD_DD FK_COD_CLI
  • 21. CHIP COD_CHIP PIN PUNK NUMERO EQUIPOS COD_EQUI MARCA MODELO PRECIO 4.6 Creación de la bases de datos create database claro; use claro; create table clientes ( cod_cli int primary key auto_increment, nombre_cli varchar (30) not null, apellido_cli varchar (35) not null, direccion_cli varchar (10) not null, nro_Tlf_cli varchar (30) not null, cedula_cli varchar (30) not null ); create table proveedor ( cod_prov int primary key auto_increment,
  • 22. nombre_prov varchar (30) not null, apellido_prov varchar (35) not null, direccion_prov varchar (10) not null, nro_tlf_prov varchar (30) not null, cedula_prov varchar (30) not null, operadora_prov varchar (20) not null ); create table chip ( cod_chip int primary key auto_increment, pin_chip varchar (10) not null, punk_chip varchar (10) not null, numero_chip varchar (10) not null ); create table plan ( cod_plan int primary key auto_increment, paquetes_plan varchar (25) not null, mn_gratis_plan varchar (20) not null, megas_plan varchar (10) not null, tarifa_plan float not null ); create table deudas ( cod_deu int primary key auto_increment,
  • 23. nombre_deu varchar (30) not null, total_deu float not null, k_cod_deu int references deudas(cod_deu), fk_cod_dd int references detalle_deuda(cod_dd) ); create table detalle_deuda ( cod_dd int primary key auto_increment, cantidad_dd int not null, preciouni_dd float not null, Sudtotal_dd float not null, fk_cod_dd int references deudas(cod_deu), fk_cod_cli int references clientes(cod_cli) ); create table equipos ( cod_equi int primary key auto_increment, marca_equi varchar (30) not null, modelo_equi varchar (10) not null, precio_equi float not null );
  • 24. 4.7 Insertando y guardando datos  CLIENTES: (COD_CLI, NOMBRE, APELLIDO, CIUDAD, NRO_TLF, C.I) insert into clientes values(null, 'Julia','Alvarado','0962534685', '1354789404'); insert into clientes values(null, 'Diana ','Alcívar','Cuenca','0956213652','1465675892'); insert into clientes values(null, 'María','Vega','Guayaquil','0956989856', '1748953217'); insert into clientes values(null, 'Marilyn','Barreiro','Ambato','0932565465','2346721453'); insert into clientes values(null, 'Marcos','Mendoza','Loja','0968764674','1658598432'); insert into clientes values(null, 'Juan','Ponce','Quito','0935455489','1575845456'); insert into clientes values(null, 'Jesus','Cedeño','Riobamba','0964646455','2264647465'); insert into clientes values(null, 'Karen','Valverde','Milagros','0934556866','1313674897'); insert into clientes values(null, 'Ingrid','Rodriguez','Guayas','0965456484','1534644774'); insert into clientes values(null,'Daniela’,'Benavides','Manta','0955554325','1264746548'); insert into clientes values(null,'Maribel','Loor','Portoviejo','0923546488','1564789641');  PROVEEDOR: (COD_PROV, NOMBRE, APELLIDO, CIUDAD, NRO_TLF, C.I, OPERADORA) insert into proveedor values(null, 'Maira','Barreto','Bahia','0946758385', '1385432454','claro'); insert into proveedor values(null,'Kassandra','Loor','Loja','0953243652','1465864392','claro'); insert into proveedor values(null,'Monica','Vera','Quito','0965489856','1748653217','claro'); insert into proveedor values(null,'Elizabet','Rivas','Riobamba','0936574465','2387961453','claro'); insert into proveedor values(null,'Jose','Navarrete','Pichincha','0967654674','1657458432','claro'); insert into proveedor values(null,'Rosa','Mendoza','Quito','0945098759','1575845456','claro');
  • 25. insert into proveedor values(null, 'Martha','Cedeño','Loja','0964669155','275849385','claro'); insert into proveedor values(null, 'Juan','Murrillo','Manta','0934556866','1313674897','claro'); insert into proveedor values(null, 'Ingrid','Rodriguez','Guayas','0965456484','1539876998','claro'); insert into proveedor values(null, 'Daniel','Alvarez','Manta','0955554325','1264746548','claro');  PLAN: (COD_PLAN, PAQUETES, MN_GRATIS, MEGAS, TARIFAS) insert into plan values(null,'sms ilimitados','60', '120 MG','22.00'); insert into plan values(null, 'MG ilimitados','24','100 MG','18.50'); insert into plan values(null, 'whatsapp ilimitado','120','150 MG','24.00'); insert into plan values(null, 'MG ilimitados','120','100 MG','19.00'); insert into plan values(null, 'MB ilimitados','120','150 MG','20.00'); insert into plan values(null, 'sms ilimitado','90','100 MG','17.50'); insert into plan values(null, 'whatsapp ilimitado','60','50 MG','15.30'); insert into plan values(null,'MG ilimtados','120','1000','39.50'); insert into plan values(null, 'MG ilimitados ','120','100 MG','16.00'); insert into plan values(null, 'MG ilimitados','60','50 MG','13.40');  DEUDAS: (COD_DEU, TIPO_DEU, TOTAL_DEU, TARIFA, TOTAL, FECHA_DEU, FK_COD_DEU, FK_COD_DD) insert into deudas values(null, 'internet','16.00',1,1); insert into deudas values(null, 'equipo_celular','30.00',2,2); insert into deudas values(null, 'internet','10.75',3,3); insert into deudas values(null, 'antena','18.00',3,3); insert into deudas values(null, 'plan','24.60',4,4); insert into deudas values(null, 'antena','10.00',5,5);
  • 26. insert into deudas values(null, 'internet','22.00',6,6); insert into deudas values(null, 'equipo','7.35',7,7); insert into deudas values(null, 'internet','11.00',8,8); insert into deudas values(null, 'equipo’,'14.00',9,9); insert into deudas values(null, 'antena’,'24.00',10,10)  CHIP: (COD_CHIP, PIN, PUNK, NUMERO) insert into chip values(null, '1234','1111','0984745757'); insert into chip values(null, '1212','1234','0978654356'); insert into chip values(null, '12345','2222','0986754632'); insert into chip values(null, '1111','10121','0987543644'); insert into chip values(null, '2345','12111','0985673436'); insert into chip values(null, '2222','10111','0975632145'); insert into chip values(null, '21122','11011','0985321678'); insert into chip values(null, '12345','12101','0975434891'); insert into chip values(null, '1211','1101','0981246329'); insert into chip values(null, '4321','10121','0954213765');  EQUIPOS: (COD_EQUI, MARCA, MODELO, PRECIO) insert into equipos values(null, 'nokia','mod 503','200.00'); insert into equipos values(null, 'nokia','nod 503 dual sim','300.00'); insert into equipos values(null, 'nokia','mod xperia e','350.75'); insert into equipos values(null, 'motorola','g-tx1032','180.00'); insert into equipos values(null, 'samsung', 'ace3 samsung','450.00'); insert into equipos values(null, 'nokia','mod spice f100','410.99'); insert into equipos values(null, 'samsung','doppio 2200','40.00'); insert into equipos values(null, 'sony','mod bmobele K340','35.00');
  • 27. insert into equipos values(null, 'samsung','galaxi s4','490.00'); insert into equipos values(null, 'samsung','galaxi s5','700.00');  DETALLE_DEUDA: (COD_DD, CANTIDAD_DD, PRECIOUNI_DD SUBTOTAL_DD, FK_COD_DEU, FK_COD_CLI) insert into detalle_deuda values(null, '1','10.00','10.00',1,1); insert into detalle_deuda values(null, '1','189.00','189.00',2,2); insert into detalle_deuda values(null, '1','200.57','200.57',3,3); insert into detalle_deuda values(null, '1','22.98','22.98',4,4); insert into detalle_deuda values(null, '1','8.50','8.50',5,5); insert into detalle_deuda values(null, '1','81.75','81.75',6,6); insert into detalle_deuda values(null, '2','69.99','130.80',7,7); insert into detalle_deuda values(null, '2','78.68','157.36',8,8); insert into detalle_deuda values(null, '2','89.99','170.80',9,9); insert into detalle_deuda values(null, '1','99.99','99.99',10,10); 4.8 Realizando Consultas de los datos guardados: Para filtrar los registros de la base de datos utilizamos el where como un código principal.  Ejemplo1: Seleccionar la cedula, el nombre y el apellido de los clientes que tangan el nombre igual a Maria. select cedula_cli, nombre_cli, apellido_cli from clientes where nombre_cli='Maria';  Ejemplo2: Para consultar donde viven: select nombre_cli,apellido_cli,direccion_cli from clientes where direccion_cli='El Carmen';
  • 28.  Ejemplo3: Para consultar que no vive en El Carmen where not (direccion_cli='El Carmen'); select nombre_cli,apellido_cli,direccion_cli from clientes where not (direccion_cli='El Carmen');  Ejemplo4: Para saber el nombre del equipo que cueste menos de 100. select marca__equi, modelo_equi, precjo_equi from equipos where precio_equi>100;  Ejemplo5: Se requiere saber la marca y el precio de los equipos_celulares. select marca_equi, precio_equi from equipos where marca_equi='nokia' and precio_equi>100;  Ejemplo6: Utilizando el like y betwween: Mostrar la marca y los precios de aquellos equipos que empiecen con la letra ‘n’ y que contenga un precio entre 50 y 100 dólares. select marca_equi precio_equi from equipos where marca_equi like 'n%' and precio_equi between 50 and 100; Utilizando el concat y el substr: seleccionar el nombre y el apellido en una sola celda, la ciudad de los clientes que vivan en una ciudad que el nombre empiece con 'l' y que su número telefónico termine en ‘44’, sin que se repita los clientes. select distinct concat(nombre_cli,' ', apellido_cli) as "Nombre y Apellido de los Clientes", ciudad_cli from clientes where ciudad_cli like '%44';
  • 29.  El Limit: Me permite sacar un numero especifico de los registros ingresado. select marca_equi from equipos where marca_equi like '%nokia%' order by marca_equi limit 3; 4.9 Crear Nuevo Usuario. Se puede utilizar el CREATE USER seguido el nombre del usuario, arroba y la ubicación local que es ’localhost’ entre apostrofe luego de esto utilizamos el IDENTIFIED BY para asignarle una contraseña la cual ira entre apostrofe: 4.9.1 Permisos o Privilegios a utilizar select update insert delete  Ejemplo: 4.10Tablas de Asignación de Privilegios para dos tipos de Usuarios TABLA DE ASIGNACION DE PRIVILEGIOS Tipo usuario: Secretaria Base de Datos: Claro Tabla/Accion select Insert Delete Update Clientes Si Si Si Si Proveedores Si Si No Si Plan Si Si Si Si
  • 30. Chip Si Si Si Si Deudas Si Si Si Si Detalle_deuda Si Si No Si Equipos Si Si No Si Tipo usuario: Secretaria Base de Datos: Claro Tabla/Accion select Insert Delete Update Clientes Si Si Si Si Proveedores Si Si Si Si Plan Si Si Si Si Chip Si Si Si Si Deudas Si Si Si Si Detalle_deuda Si Si Si Si Equipos Si Si Si Si
  • 31. 4.10.1 Primero Usuario: create user secretaria@'localhost' identified by 'marly'; 4.10.2 Segundo Usuario create user supervisor@'localhost' identified by '1234'; 4.10.3 Asignar privilegio al usuario de la base de datos Claro: Para asignar los privilegios utilizamos el GRANT y los privilegios que deseas o debes asignar como el SELECT, INSERT, UPDATE y el DELETE seguido de un ON más el nombre de la base de datos punto asterisco y por último el código TO más el nombre del usuario y su localidad.  Ejemplo: grant select, update, insert, delete on claro.* to secretaria @'localhost'; 4.10.4 Asignar privilegios a las tablas de la base de datos Claro: Utilizamos el GRANT y los privilegios que deseas o debes asignar como el SELECT, INSERT, UPDATE y el DELETE seguido de un ON más el nombre de la base de datos punto el nombre de la tabla y por último el código TO más el nombre del usuario y su localidad.  Ejemplos: grant select, update, insert on claro.clientes to secretaria @'localhost'; grant select, update, insert, delete on claro.deudas to secretaria @'localhost'; grant select, update, insert, delete on claro.proveedor to secretaria @'localhost'; grant select, update, insert on claro.detalle_deuda to secretaria @'localhost'; grant select, update, insert, delete on claro.plan to secretaria @'localhost'; grant select, update, insert, delete on claro.equipos to secretaria @'localhost';
  • 32. 4.10.5 Asignar privilegios a las columnas de la base de datos Claro: Utilizamos el GRANT y los privilegios que deseas o debes asignar como el SELECT, INSERT, UPDATE y el DELETE entre paréntesis los nombres de las columnas que le vas asignar los privilegios, seguido de un ON más el nombre de la base de datos punto el nombre de la tabla y por último el código TO más el nombre del usuario y su localidad. Nota: En las columnas no se puede borrar con delete sino con el codigo drop y se puedee dar privilegios a todo en una sola línea  Ejemplo: grant select(cod_cli, nombre_cli, apellido_cli), inssert(apellido_cli, ciudad_cli, nro_tlf_cli), update(nro_tlf_cli, cedula_cli) on claro.clientes to marlen@'localhost';  O Así: grant select(cod_cli) on claro.clientes to marlen@'localhost'; grant select(nombre_cli) on claro.clientes to marlen@'localhost'; grant select, insert(apellido_cli) on claro.clientes to marlen@'localhost'; grant insert(ciudad) on claro.clientes to marlen@'localhost'; grant insert, update(nro_tlf_cli) on claro.clientes to marlen@'localhost'; grant update(cedula_cli) on claro.clientes to marlen@'localhost'; 4.11Comandos; Para poder saber dónde están guardados los usuarios creados debemos ingresar a la base de datos mysql  Ejemplo: Primero show databse; Luego: use mysql; show tables;
  • 33. select user from user;-------->> para ver los usuarios creados show grants for invitado@'localhost'; ----->>para ver los privilegios que fueron asignados 4.12Para Quitar Privilegios Utilizamos el comando revoke:  Ejemplo: 4.12.1 Para Tablas: revoke select, update on biblioteca.usuarios from usuario@'localhost'; 4.12.2 Para columnas: revoke update(nombre_usu) on biblioteca.usuarios from usuariio@'localhost'; 4.12.3 Disparadores o Trigger Sintaxis; 4.12.4 Tiempo: after: Significa despues set: coloque Acción: insert, delete update y select. 4.13Vistas: No es nada mas ni nada menos que una Tabla Temporal  Ejemplo: create view Control as select nombre_cli as 'Nombre del Cliente', apellido_cli as 'Apellido del Cliente', nombre_deu as 'Nombre de la Deuda', cantidad_dd as 'Cantidad de Deudas', Total_deu as 'Total de Deuda', direccion_cli as 'Dirección del Cliente', nro_tlf_cli as 'Número de Teléfono del Cliente' from clientes, deudas, detalle_deuda where cod_deu=fk_cod_deu and cod_dd=fk_cod_dd;
  • 34. 5. CONCLUSIÓN Tiene como objetivo, hacer que el estudiante aprenda de manera fácil y sencilla aplicando teórica y prácticamente todos los conocimientos adquiridos de la materia, mediante la creación de la base de datos, en si este es un método didáctico sumamente importante para el estudiantado puesto que así podrá lograr obtener los conocimientos necesarios para el buen manejo de la base de datos fortaleciendo aún más su aprendizaje.
  • 35. BIBLIOGRAFÍA CUESTA, A., & HIDALGO, J. I. ( 2009). PROBLEMAS DE FUNDAMENTOS Y ESTRUCTURA DE COMPUTADORAS. PRENTICE-HALL. IBAÑEZ, L. H. (2012). BASES DE DATOS (CFGS. CICLOS INFORMATIVOS DE GRADO SUPERIOR). RA-MA. MONTALBAN, I. L. (2014). BASES DE DATOS. GARCETA GRUPO EDITORIAL.