viernes, 8 de mayo de 2020

CREAR UNA BASE DE DATOS EN MYSQL 


COSAS QUE DEBES SABER 


1.      ¿Que son vistas en MySQL?, ¿Para qué sirven?
2.      ¿Qué son procedimientos almacenados?, ¿Para qué sirven?
3.      Explique la sintaxis para la creación de vistas y procedimientos almacenados.
4.       Realiza un cuadro comparativo entre las ventajas y desventajas que existen en el uso de vistas en MySQL.

1.       Las vistas constituyen una herramienta muy apta para acelerar las consultas de selección (SELECT), es decir, aquellas que recuperan datos de una o más tablas. Están disponibles, con ligeras variaciones de sintaxis, en todas las implementaciones de SQL.

Una vista es una tabla virtual que se genera a partir de una consulta de selección. Dicho de otro modo. Escribimos una consulta de selección (sobre una o más tablas) para leer los datos, y almacenamos el resultado en una vista.
2.       Un procedimiento almacenado de SQL Server es un grupo de una o más instrucciones Transact-SQL o una referencia a un método de Common Runtime Language (CLR) de Microsoft .NET Framework. Los procedimientos se asemejan a las construcciones de otros lenguajes de programación, porque pueden:
—Aceptar parámetros de entrada y devolver varios valores en forma de parámetros de salida al programa que realiza la llamada.
—Contener instrucciones de programación que realicen operaciones en la base de datos. Entre otras, pueden contener llamadas a otros procedimientos.
—Devolver un valor de estado a un programa que realiza una llamada para indicar si la operación se ha realizado correctamente o se han producido errores, y el motivo de estos.
3.       —CREATE VIEW "NOMBRE_VISTA" AS "Instrucción SQL"; La “Instrucción SQL” puede ser cualquiera de las instrucciones SQL.
—CREATE PROCEDURE nombre (parámetros)
      [Características] definición
Ejemplo: CREATE PROCEDURE proc_sacar_clientes_tipo (IN tipoCliente INT)
-> BEGIN
-> SELECT * FROM clientes WHERE tipo = tipoCliente;
-> END

VENTAJAS
DESVENTAJAS
Facilita el manejo de grandes volúmenes de información, haciéndolos más fáciles y rápidos de manipular.
—Brinda mayor seguridad a la información.
—Evita la redundancia de la información.
—Mejora la metodología de trabajo, se hace más organizada.
—Facilita la realización de consultas en la BD por lo que se facilita la toma de decisiones.
—Rendimiento ya que las vistas crean una apariencia de tabla por lo que el SMBD debe traducir las consultas definidas en una vista.
—Restricciones de actualización, cuando se solicita la actualización de una fila de la vista se debe traducir en una petición de actualización a la tabla de origen de la vista, esto en vistas muy grandes puede causar problemas y evitar que las actualizaciones se realicen.




Blog creado por: KRISTINA DE AGUAS Y XIAOYING CHEN.

CREAR UNA BASE DE DATOS EN MYSQL 


USAR LA BASE DE DATOS  

Realicemos una consulta donde se muestre: nombres y apellidos (Concatenados) de los pacientes
que fueron atendidos por Fiebre, para esto utilizaremos la cláusula INNER JOIN.

El código que vamos a utilizar es el siguiente:

Select nombres, apellidos, observacion FROM atencion
INNER JOIN paciente ON  atencion.observacion = 'FIEBRE' and paciente.observacion = 'FIEBRE';




La explicación es básicamente la misma que en el punto anterior, estamos diciendo  que se consulte el nombre y apellido de la tabla "paciente" combinada con la fila de la tabla "atención" que cumple con el requisito de que la observación del paciente sea fiebre. 

CREAR UNA BASE DE DATOS EN MYSQL 


USAR LA BASE DE DATOS  


Realicemos una consulta donde se muestre: nombres y apellidos (Concatenados), fecha, hora y
observación del paciente “JHON DOE”, para esto vamos a utilizar la cláusula INNER JOIN.

Necesitamos el siguiente código :

Select nombres, apellidos, fecha, hora, observacion FROM atencion

INNER JOIN paciente ON  atencion.id_paciente = 2 and paciente.id = 2;


En esto lo que estamos diciendo es que se consulte el nombre, apellido, fecha, hora y observación de la tabla "atención" combinada con la fila de la tabla "paciente" que cumple con el requisito de que el id del paciente es 2. 

CREAR UNA BASE DE DATOS EN MYSQL 


USAR LA BASE DE DATOS  

En esta ocasión vamos a insertar un paciente llamado “JHON DOE”, y a registrar 5 atenciones para este paciente , con las siguientes observaciones :

Dolor de cabeza, Caída desde su propia altura, Fiebre, Intoxicación, Quemadura.

Lo llevaremos a cabo con el siguiente código:

 insert into paciente values (3, 'Jhon', 'Doe');
 insert into atencion values (4, 3, '06/05/2020', '1:00', 'DOLOR DE CABEZA');
insert into atencion values (5, 3, '07/05/2020', '1:00', 'CAÍDA DESDE SU PROPIA ALTURA');
insert into atencion values (6, 3, '08/05/2020', '1:30', 'FIEBRE');
 insert into atencion values (7, 3, '09/05/2020', 2:00', 'INTOXICACIÓN');
 insert into atencion values (8, 3, '10/05/2020', '3:00', 'QUEMADURA');




Solo tenemos que insertar en la tabla ya existente los datos que queremos añadir.



CREAR UNA BASE DE DATOS EN MYSQL 


USAR LA BASE DE DATOS  


Para realizar una consulta donde se muestre nombres, apellidos, fecha, hora, observación de “MARIA

PEREZ” utilizamos la cláusula INNER JOIN de la siguiente manera:

Select nombres, apellidos, fecha, hora, observacion FROM atencion
INNER JOIN paciente ON  atencion.id_paciente = 2 and paciente.id = 2;


Se utiliza la  cláusula "SELECT" para hacer la consulta y que se muestren los datos enunciados.

Se utiliza la cláusula "INNER JOIN" ya que este consiste en combinar cada fila de una tabla con cada fila de la otra tabla, seleccionado aquellas filas que cumplan una determinada condición.




CREAR UNA BASE DE DATOS EN MYSQL 


CUARTO PASO 


Necesitamos relacionar las tablas (Paciente y Atenciones), teniendo en cuenta que el campo id_paciente de la tabla atenciones debe referenciar el campo id de la tabla paciente, creando una
relación 1:N.
En este punto necesitamos relacionar las tablas porque necesitamos obtener la información completa de los pacientes, entonces vamos a hacerlo con el siguiente código:

alter table atencion add foreign key(id_paciente ) references paciente (id);

El "ALTER TABLE" lo usamos para poder editar la tabla que ya teníamos hecha anteriormente.

Al decir "FOREIGN KEY"  la usamos para señalar cual es la clave primaria de otra tabla. La columna o columnas señaladas como FOREIGN KEY, solo pueden tener valores que ya existan en la clave primaria PRIMARY KEY de la otra tabla.


Lo que hicimos en este paso fue crear una llave foránea y algo que debemos saber es que para trabajar con claves foráneas, necesitamos hacer lo siguiente:
  • Crear ambas tablas del tipo InnoDB.
  • Usar la sintaxis FOREIGN KEY(campo_fk) REFERENCES nombre_tabla (nombre_campo)
  • Crear un índice en el campo que ha sido declarado clave foránea.
De esta manera relacionamos las tablas. 




CREAR BASE DE DATOS EN MYSQL



SEGUNDO PASO 

Queremos tener en nuestra base de datos la tabla: Atención así que debemos definir su estructura y tipos de datos : 
 
create table atencion (codigo int not null, id_paciente int(11), fecha varchar(20), hora varchar(20), observacion varchar(100), primary key(codigo));



La tabla atención esta compuesta por los atributos código, id_paciente, fecha, hora y observación 
El atributo código tiene el not null esta sirve para especificar que una columna no acepta el valor NULL, es decir, que esa columna siempre tiene que tener algún valor, no puede estar vacía.

Los demás son de tipo varchar ya que almacena series de caracteres de hasta 255 bytes en un campo de longitud variable. Los datos pueden consistir en letras, números y símbolos. 

Quedando de la siguiente manera:




TERCER PASO 

Ahora le añadiremos atributos a esa tabla es decir; el contenido, esto lo realizamos con el siguiente código: 

insert into atencion values (1, 1, '19/11/2016', '2:30', 'FIEBRE');

insert into atencion values (2, 1, '19/11/2016', '4:31', 'MALESTAR GENERAL');

insert into atencion values (3, 2, '19/11/2017', '10:20', 'DOLOR');



Quedando así : 



Te estarás preguntando ¿y los nombres de los pacientes?, pues para eso necesitamos otra table y la creamos de la misma manera que la anterior:


 create table paciente (id int not null, nombres varchar(20), apellidos varchar(20), primary key(id));
 insert into paciente values (1, 'Carlos', 'Rios');
 insert into paciente values (2, 'Maria', 'Perez');





























CREAR BASE DE DATOS EN MYSQL


PRIMER PASO

Lo que tenemos que tener en cuenta antes de empezar es tener instalado Xampp, ingresar en este y ejecutar el servicio MYSQL.
 Debe verse de esa manera.
Luego procedemos a ingresar en consola para empezar a programar nuestra base de datos.
Ingresamos a la carpeta que contiene los archivos de MYSQL para que trabaje sobre esta :

cd C:\xampp\mysql\bin

Luego ingresamos el comando para conectar al servidor :

mysql -h localhost -u root -proot




Creamos la base de datos con el código  CREATE DATABASE (nombre_bd);





En este caso la base de datos tiene por nombre Hospital y se ve de esta manera.