Вы находитесь на странице: 1из 16

MARC LPEZ

WHAT-PASS
IES JOAN RAMIS I RAMIS
IES JOAN RAMIS I RAMIS

BASE DE DATOS 4.0


Aplicaciones Ofimticas
MARC LPEZ

Pgina
1

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

NDICE
INTRODUCCIN AL CONTENIDO.....................................................................................3
REQUERIMIENTOS..................................................................................................................5
DIAGRAMA DE CASOS DE USO...........................................................................................6
USUARIO...............................................................................................................................7
SISTEMA................................................................................................................................7
MODELO DE DATOS (MER)...................................................................................................8
PROCESO DE NORMALIZACIN........................................................................................8
MODELO RELACIONAL.........................................................................................................8
MySQL......................................................................................................................................11

RESUMEN POR HACER

Pgina
2

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

Base de datos
INTRODUCCIN AL CONTENIDO
Una base de datos es una estructura de archivos en comn que se utilizan principalmente las pginas
para almacenar informacin acerca de los clientes o datos en general. Por ejemplo:
Instagram
Tinder
Cada base de datos est estructuralmente organizada en tablas que almacenan en un conjunto de
datos, dnde cada una est subestructurada en columnas y filas. Cada columna almacena informacin
sobre cada objeto cual el usuario desee almacenar en la tabla, por otra parte cada fila de las tablas
conforma un registro.
Debemos destacar el hecho que est mencin a las base de datos posee un sistema de ficheros
(software que funciona como interfaz entre la base de datos, el usuario y las aplicaciones que este
utiliza) donde estos almacenan varias copias de los mismos datos en diferentes de s mismo con
consecuencia que se desperdician el espacio de almacenamiento y provocar as una falta de
consistencia de datos. A esta consistencia la definimos personalmente como la coherencia entre todos
los datos de la base de datos para cuando se pierde la integridad de s mismos tambin pierden la
consistencia, no obstante esta tambin puede perderse por razones de una mala funcionalidad de s.
Sin embargo, todos los ficheros estn integrados con lo cual no se almacenan copias de los mismos
datos.
Al eliminar cualquier lazo existente de datos que mnimamente se conoce su informacin,
conseguimos eliminar y reducir mayoritariamente la amenaza que se produzcan inconsistencias o
incoherencias en los datos. Hipotticamente hablando y afirmando, si un dato se almacena
nicamente, cualquier actualizacin se realizar una nica vez y va a estar disponible para todos, en
cambio si este estuviera duplicado y el sistema estuviera alentado sobre ello, podr mantener
perfectamente los datos y ofrecerlas correctamente sin importar de sus imperfecciones en la base de
datos.
Otra caracterstica muy favorable es el hecho que estas bases de datos permiten a sus propietarios de
la base de datos dar autoridad superior a usuarios que usted establezca y compartir para ellos, el
poder visualizar el sistema de bases de datos. Gracias a la agradable insercin de las bases de datos en
temas nacionales e internacionales de los estndares es posible garantizar una actualizacin de la
Pgina
3

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
documentacin de los estndares inmediatamente y muy bien organizados. Debo destacar la
importancia de preservar estos datos de las bases de datos de cualquier usuario como una implicacin
de privacidad, en cierta medida, por lo tanto, la seguridad que esta ofrece todo est preparado para
que el mismo usuario sea consciente de que debe mejorarla con el fin que usuarios no autorizados a
entrar en la base de datos, tengan acceso a ello.
Muchos sistemas de gestin de base de datos proporcional un sinfn de lenguajes de generadores de
documentacin con el fin que estos permitan al usuario hacer cualquier tipo de idea que a este se le
hubiera ocurrido y si tuviera alguna duda, siempre hay alguna aplicacin que realiza la misma tarea
por l, en conclusin, no se hace falta ser programador experto en el campo de las bases de datos para
hacer unas simples acciones que has ideado y luego ejercerlas en estas. Tambin proporciona servicios
bsicos para escribir en un sistema de ficheros con el fin de que el propietario o programador se centre
en los requerimientos de los usuarios y este le preste ayuda en temas bsicos.
Los programas son dependientes de los datos porque las descripciones de estas se encuentran en los
programas de aplicacin que los manipula cuya consecuencia se basa en una secuencia en cadena
donde si hay un cambio en su estructura o organizacin, se ver severamente afectados porque
requieren cambios fundamentales. Sin embargo, los sistemas de gestin de las bases de datos, separan
las descripciones de los datos de los programas y ayudan considerablemente en mantener simplificado
el trabajo diario de s. Si hay dos usuarios en la misma base de datos exactamente en el mismo fichero,
pueden presentarse problemas inconcurrentes al respecto y haciendo de ello, la prdida de
informacin o integridad de los datos. Pero la mayora de los sistemas de gestin no dejan que esto
ocurra y garantizan que no ocurran estos tipos de situaciones. Se recomienda considerablemente y
razonadamente, hacer copias de los sistemas de ficheros diariamente para si en un futuro lejano ocurre
un error en ella, tengas la copia del da anterior y poder seguir progresando con la base de datos.
Existen varios tipos de bases de datos:

Base de datos relacionales


Base de datos no relacionales
Base de datos jerrquicas
Base de datos de red
Base de datos transaccionales
Base de datos relacionales
Base de datos multidimensionales
Base de datos orientadas a objetos
Base de datos documentales
Base de datos deductivas
Pgina
4

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

Segn las estructuras con ms xito:

MySQL
Acces
Microsoft SQL Server
PostgreSQL

MySQL: Es una base de datos con licencia GPL basada en un servidor con gran velocidad.
Acces: Es una base de datos creada por Microsoft y el programa, Acces creando un archivo
.mdb explicada.
Microsoft SQL Server: Es una base de datos muy potente desarrollada por Microsoft y est
caracterizada por su gran capacidad de almacenar grandes tamaos de datos.
PostgreSQL: Sistema de base de datos que administra fascinantemente grandes cantidades de
informacin (datos), y son utilizados mayoritariamente en intranets.

Las bases de datos se caracterizan por crearse en muchos procesos y pasos:

Requerimientos
Diagrama de casos de uso
Modelo de datos
Proceso de normalizacin
Modelo relacional
Estructura de la base de datos

REQUERIMIENTOS
Este proceso se le ha llamado "Requerimientos" porque es el primer paso del comienzo de la base de
datos, donde se detectan las necesidades del cliente o las obligaciones de los sistemas para que las
necesidades del cliente estn satisfechas con acciones sencillas. Tambin haremos una lluvia de ideas
por las cuales el usuario o cliente que est usando nuestro sistema de la aplicacin para satisfacer
Pgina
5

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
como he relatado anteriormente sus necesidades y deseos. Idearemos un poco en qu se basar la
aplicacin WHAT-PASS:

El usuario debe tener un nmero de servicios a su disposicin


El usuario debe poder gestionar el nmero de clientes que la usan
El usuario debe tener gestionadas las contraseas para su uso en los servicios determinados
El sistema debe emitir un informe para el usuario imprimirlo si lo desea
El usuario debe tener enumeradas las horas que ha utilizado cada servicio
El sistema debe idear una caducidad en las contraseas y el acceso del usuario a los servicios

Al haber hecho todo esta lluvia de ideas y tenerlas mediado planteadas, pasaremos a la siguiente
instruccin.

DIAGRAMA DE CASOS DE USO


En este paso, debemos recordar el anterior paso, donde habamos ideado todas las necesidades que
cualquier usuario tendra al utilizar la aplicacin. Por los tanto, recordamos todos estos datos y
pasamos a la fase 2.
En este paso deberemos utilizar cualquier aplicacin para crear base de datos, por ejemplo:

www.draw.io
www.lucidchart.com
www.vertabelo.com
www.modelio.org
www.pencial.evolus.vn

Deberemos crear al usuario que utilizar la aplicacin y el sistema que dar las acciones a las cuales el
usuario parece tener necesidad de conseguir. Deberemos poner los requerimientos de cada parte y
dibujarlos para tener un concepto global de cmo ser. Par finalizar, habr que explicitar todos los
requerimientos previamente acordados e ideados.

Pgina
6

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

USUARIO
El usuario debe tener un nmero de servicios a su disposicin
El usuario debe poder gestionar el nmero de clientes que la usan
El usuario debe tener gestionadas las contraseas para su uso en los servicios determinados

Pgina
7

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
El usuario debe tener enumeradas las horas que ha utilizado cada servicio

SISTEMA
El sistema debe idear una caducidad en las contraseas y el acceso del usuario a los servicios
El sistema debe emitir un informe para el usuario imprimirlo si lo desea

MODELO DE DATOS (MER)


El proceso de modelo de datos es una estructura organizada y documentada de
informacin con el fin de comunicar la clave principal del proyecto con las dems
entidades.
Las entidades son la unidad mnima de informacin que la base de datos debe
mantener. Estas entidades estn compuestas por atributos, que son caractersticas con
las que podemos describir una entidad.
Vamos a tratar de dibujar un modelo de datos para la aplicacin que hemos ideado
antes con Astah Community. (Es gratis el programa).

Pgina
8

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

PROCESO DE NORMALIZACIN
Este proceso se utiliza para designar y aplicar reglas en las relaciones del proceso del
Modelo Entidad-Relacin y con ello vamos a:

Evitar la redundancia de los datos


Disminuir problemas de actualizacin de los datos en las tablas
Proteger la integridad de los datos

MODELO RELACIONAL
Al haber hecho los procesos anteriores antes de llegar hasta aqu, ahora nos toca
relacionar las entidades con siglas para definir el porqu deben estar relacionadas entre
ellas.

Tambin utilizaremos diferentes tipos de relaciones porque de esas relaciones


anteriores, dependiendo de qu sigla para definir las entidades el porqu de su
relacin, debemos tener en cuenta estos 3 factores:

0..1 0..N: Se crea una ForeingKey


0..1 0..1: Debemos elegir en crear o no una tabla nueva
0..N 0..N: Se crean tablas nuevas

Una ForeingKey es una clave externa, columna o una combinacin de columnas que se utilizan con el
fin de establecer y exigir una relacin entre dos tablas (Anotacin
Internacional). Esto es una FK:

Pgina
9

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
Ahora vamos a utilizar MySQL Workbench, un programa de diseo visual de bases
de datos donde estn integrados:

Administracin de bases de datos


Diseo de bases de datos
Creacin y mantenimiento para el sistema de datos MySQL

Con este programa en mano vamos a hacer el mismo esquema que en el programa de
Astah Community, pero con la diferencia de que vamos a insertar Foreing Keys y
adems a exportar en otro proceso, el cdigo entero de la estructura de la base de datos
en el MySQL WorkBench. Debera de quedarnos al poner las Foreing Keys en las
estructuras de las relaciones de entidades, as:

Para poner Foreing Keys en MySQL WorkBench deberis hacer dos nuevas entidades,
les ponis nombre a las entidades en maysculas en la primera letra, pero luego en los
atributos todo en minscula con "_" si el atributo son 2 o ms palabras, no puede tener
espacios. Luego de todo esto, te diriges en el apartado de Foreign Keys, seguidamente
pones el siguiente nombre "fk_nombre(donde la foreign key se dirige)_nombre(de
donde sale la foreign key).
Luego volvemos al apartado de las columnas y aadimos el nombre de la entidad_id y
volvemos al apartado de las Foreign Keys para decirle al atributo (nombre origen de
donde sale la foreign) de la entidad donde est destinada la key, que se le unir una
foreign key.

Pgina
10

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

MySQL
Anexo - Cdigo
Al tenerlo todo acabado y listo, vamos a aprender como coger todo el cdigo del diseo de base de
datos que hemos realizado anteriormente. Por ello vamos a empezar
por:

Ir al apartado archivos > Exportar > Fordward Engineer SQL CREATE Script

Pgina
11

MARC LPEZ

WHAT-PASS

Nos aparecer:

Pgina
12

IES JOAN RAMIS I RAMIS

MARC LPEZ

WHAT-PASS

IES JOAN RAMIS I RAMIS

Siguientemente ubicamos donde queremos que se guarde nuestro archivo y


damos a siguiente.

Damos a siguiente todo el rato y ya tenemos el cdigo entero. Ejemplo:


-- MySQL Script generated by MySQL Workbench
-- 05/17/16 20:02:59
-- Model: New Model

Version: 1.0

-- MySQL Workbench Forward Engineering

SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;


Pgina
13

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0;
SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';

-- ------------------------------------------------------ Schema mydb


-- -----------------------------------------------------

-- ------------------------------------------------------ Schema mydb


-- ----------------------------------------------------CREATE SCHEMA IF NOT EXISTS `mydb` DEFAULT CHARACTER SET utf8 ;
USE `mydb` ;

-- ------------------------------------------------------ Table `mydb`.`Cliente`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`Cliente` (
`id` INT NOT NULL,
`nombre` TINYTEXT NULL,
`direccion` MEDIUMTEXT NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

Pgina
14

MARC LPEZ
WHAT-PASS
-- -----------------------------------------------------

IES JOAN RAMIS I RAMIS

-- Table `mydb`.`Servicio`
-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`Servicio` (
`id` INT NOT NULL,
`nombre` TINYTEXT NULL,
`tipo` VARCHAR(45) NULL,
`descripcion` VARCHAR(45) NULL,
PRIMARY KEY (`id`))
ENGINE = InnoDB;

-- ------------------------------------------------------ Table `mydb`.`Cliente_has_Servicio`


-- ----------------------------------------------------CREATE TABLE IF NOT EXISTS `mydb`.`Cliente_has_Servicio` (
`Cliente_id` INT NOT NULL,
`Servicio_id` INT NOT NULL,
`usuario` VARCHAR(45) NULL,
`contrasea` VARCHAR(45) NULL,
`uri` VARCHAR(45) NULL,
`data_expiracion` DATE NULL,
`tiempo_trabajado` DECIMAL(10,0) NULL,
`Cliente_has_Serviciocol` VARCHAR(45) NULL,
PRIMARY KEY (`Cliente_id`, `Servicio_id`),
Pgina
15

MARC LPEZ
WHAT-PASS
IES JOAN RAMIS I RAMIS
INDEX `fk_Cliente_has_Servicio_Servicio1_idx` (`Servicio_id` ASC),
INDEX `fk_Cliente_has_Servicio_Cliente_idx` (`Cliente_id` ASC),
CONSTRAINT `fk_Cliente_has_Servicio_Cliente`
FOREIGN KEY (`Cliente_id`)
REFERENCES `mydb`.`Cliente` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_Cliente_has_Servicio_Servicio1`
FOREIGN KEY (`Servicio_id`)
REFERENCES `mydb`.`Servicio` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;

Pgina
16

Вам также может понравиться