42
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

Proyecto bdd

Embed Size (px)

Citation preview

Page 1: Proyecto bdd

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

INDICE GENERAL

Page 2: Proyecto bdd

II

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.5 Creación de bases de datos...........................................................................VIII

Page 3: Proyecto bdd

III

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.6 Creación de la bases de datos.....................................................................XVIII

Page 4: Proyecto bdd

IV

4.7 Insertando y guardando datos........................................................................XXI

4.8 Realizando Consultas de los datos guardados:...........................................XXIV

Para consultar donde viven:.................................................................................XXV

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.................................................................................................XXX

Page 5: Proyecto bdd

V

nombre_trigger.........................................................................................................XXX

4.14 Vistas:..........................................................................................................XXXI

5. CONCLUSIÓN....................................................................................................XXXII

BIBLIOGRAFÍA.........................................................................................................XXXIII

Page 6: Proyecto bdd

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.

Page 7: Proyecto bdd

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.

Page 8: Proyecto bdd

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 XamppEl 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

Page 9: Proyecto bdd

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.

Page 10: Proyecto bdd

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

Page 11: Proyecto bdd

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

Page 12: Proyecto bdd

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 ( );

Page 13: Proyecto bdd

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.

Page 14: Proyecto bdd

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

Page 15: Proyecto bdd

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_NAMEON Customer (Last_Name);Pour créer un index dans City et Country, il faut saisirCREATE INDEX IDX_CUSTOMER_LOCATIONON 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

Page 16: Proyecto bdd

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

Clientes Proveedor1 1

n 1n-1

Page 17: Proyecto bdd

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 Plan

Clientes Deudas

Clientes Chip

1 n

1 1

1 n

1 1

1 n

1 1

1-n

1-n

1-n

Clientes Equipos 1 n

1 11-n

Page 18: Proyecto bdd

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.

Proveedor Equipo

Plan Chips

Chips Equipo

1 n

1 1

1 1

1 1

1 1

n 1

1-n

1-1

n-1

Page 19: Proyecto bdd

4.4 Diagrama de Relación.

4.5 Tabla de Entidad/RelaciónCLIENTES

COD_CLI NOMBRE APELLIDO DIRECCION NRO_TLF C.I FK_COD_DEU

PROVEEDOR

COD_PROV NOMBRE APELLIDO DIRECCION NRO_TLF C.I

Page 20: Proyecto bdd

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

Page 21: Proyecto bdd

EQUIPOS

COD_EQUI MARCA MODELO PRECIO

4.6 Creación de la bases de datoscreate 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,

Page 22: Proyecto bdd

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');

Page 23: Proyecto bdd

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');

Page 24: Proyecto bdd

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');

Page 25: Proyecto bdd

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:

Page 26: Proyecto bdd

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' andprecio_equi>100;

Ejemplo6:

Utilizando el like y betwween:

Mostrar la marca y los precios de aquellos equipos que empiecen con la letra ‘n’ y quecontenga un precio entre 50 y 100 dólares.select marca_equi precio_equi from equipos where marca_equi like 'n%' andprecio_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 quevivan en una ciudad que el nombre empiece con 'l' y que su número telefónico termineen ‘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

selectupdate

Page 27: Proyecto bdd

insertdelete

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

Page 28: Proyecto bdd

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.

Page 29: Proyecto bdd

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';

Page 30: Proyecto bdd

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 labase de datos mysql

Ejemplo:

Primero show databse;Luego:use mysql;show tables;select user from user;-------->> para ver los usuarios creadosshow grants for invitado@'localhost'; ----->>para ver los privilegios que fueron asignados

4.12Para Quitar PrivilegiosUtilizamos 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 despuesset: coloqueAcción: insert, delete update y select.

4.13Vistas:No es nada mas ni nada menos que una Tabla Temporal

Page 31: Proyecto bdd

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 'Cantidadde 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_deudawhere 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.

Page 32: Proyecto bdd

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.

Page 33: Proyecto bdd

6. Anexos