Está en la página 1de 63

TALLER DE BASE DE DATOS

UNIDAD I
Instalacin y configuracin del sistema gestor de
bases de datos en distintas plataformas
Ing. Domingo Trujillo Venegas

TALLER DE BASES DE DATOS

Instalacin del Sistema Gestor de Base de Datos.

Base de Datos. Es un conjunto, coleccin o depsito


de datos almacenados en un soporte informtico de
acceso directo.
Ventajas de las Bases de datos:

REFERIDAS A:

Los Datos.

Independencia de datos respecto a los tratamientos y viceversa.


Mejor disponibilidad de los mismos.
Mejor eficiencia en la recogida, codificacin y entrada en el sistema.

Resultados

Mayor coherencia,
Mayor valor informativo.
Mejor y ms normalizada documentacin de la informacin.

TALLER DE BASES DE DATOS

Los usuarios.

Acceso ms rpido y sencillo de los usuarios


finales.
Ms facilidades para compartir los datos por el
conjunto de los usuarios.
Mayor flexibilidad para atender las demandas
cambiantes.

TALLER DE BASES DE DATOS

Desventajas de las Bases de datos.


Referidas A:

Implantacin.

Costosa en equipo.
Ausencia de estndares.
Larga y difcil puesta en marcha.
Rentabilidad a mediano plazo.

A los Usuarios:

Personal especializado.
Desfase entre teora y prctica.

TALLER DE BASES DE DATOS


Sistema Gestor de Base de Datos(SGBD). Denominado
tambin como DBMS.

Se puede definir como un conjunto coordinado de programas,


procedimientos, lenguajes, etc., que suministra, tanto a los
usuarios no informticos como a los analistas, programadores o
al administrador, los medios necesarios para describir,
recuperar y manipular los datos almacenados en la base,
manteniendo su integridad, confidencialidad y seguridad.

Lenguajes de bases de datos.

Los SGBD proporcionan un lenguaje de definicin de datos(DDL)


para especificar el esquema de la base de datos y un lenguaje
de manipulacin de datos(DML), para expresar las consultas y
las modificaciones de las bases de datos.

TALLER DE BASES DE DATOS

Nos indica esta pantalla que se comenzara , a instalar


el MySQL Server 5.5 , en nuestra computadora.

TALLER DE BASES DE DATOS

Esta pantalla , nos indica si estamos de acuerdo con el


acuerdo , de usuario final al utilizar este software.

TALLER DE BASES DE DATOS

Aqui tendremos que escojer el tipo de setup que


queremos utilizar para instalar nuestro software.

TALLER DE BASES DE DATOS

Para empezar la instalain de este softaware,


tendremos que dar click en botn Install.

TALLER DE BASES DE DATOS

En este momento el instalador de MySQL, comenzara a copiar


los archivos necesarios, para completar dicha instalacin.

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

Daremos click al botn de Finalizar, para salirnos del


setup y empezar con la configuracin de nuestro software.

TALLER DE BASES DE DATOS

Este setup nos permitira configurar el MySQL Server


5.5, para comenzar con la configuracin daremos click
en el botn de next.

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

TALLER DE BASES DE DATOS

Como instalar MySQL en CenTOS 6.4


1.
2.
3.
4.

Primeramente se cambiara como usuario root


$ su
Password:------------Posteriormente se jecutara el comando yum
1.

5.
6.
7.
8.

9.

$ yum install mysql mysql-server

Ya instalado se levantara el servico del demonio de MySQL


$ service mysqld start o bien
$ chkconfig mysqld on
Se dara posteriormente el password al usuario root de
mysql
$ mysql_secure_installation

TALLER DE BASE DE DATOS

Lenguaje de definicin de datos (DDL).

Esquema de base de datos.


Elesquema de una base de datos(en ingls,database
schema) describe la estructura de una base de datos, en un
lenguaje
formal
soportado
por
un
sistema de gestin de base de datos (DBMS). En una base de
datos relacional, el esquema define sus tablas, sus campos en
cada tabla y las relaciones entre cada campo y cada tabla.

Niveles de esquema de base de datos.

Esquema Conceptual, un mapa de conceptos y sus relaciones.


Esquema Lgico, un mapa de las entidades y sus atributos y
las relaciones.
Esquema Fsico, una aplicacin de un esquema lgico.

TALLER DE BASE DE DATOS

Unmodelo de datoses un lenguaje que,


tpicamente, tiene dos sublenguajes:

UnLenguaje de Definicin de DatosoDDL(Data


definition Language), orientado a describir de una
forma abstracta las estructuras de datos y las
restricciones de integridad.
UnLenguaje de Manipulacin de DatosoDML(Data
Manipulation Language), orientado a describir las
operaciones de manipulacin de los datos.
A la parte delDMLorientada a la recuperacin de
datos, usualmente se le llamaLenguaje de Consultao
QL(Query Language).

TALLER DE BASE DE DATOS


Clasificacin de los modelos de datos.

Modelos de Datos Conceptuales

Son los orientados a la descripcin de estructuras de datos y restricciones de


integridad. Se usan fundamentalmente durante la etapa de Anlisis de un
problema dado y estn orientados a representar los elementos que intervienen
en ese problema y sus relaciones. El ejemplo ms tpico es el
Modelo Entidad-Relacin .

Modelos de Datos Lgicos

Son orientados a las operaciones ms que a la descripcin de una realidad.


Usualmente estn implementados en algnManejador de Base de Datos . El
ejemplo ms tpico es elModelo Relacional, que cuenta con la particularidad de
contar
tambin
con
buenas
caractersticas
conceptuales
(
Normalizacin de bases de datos ).

Modelos de Datos Fsicos

Son estructuras de datos a bajo nivel implementadas dentro del propio


manejador. Ejemplos tpicos de estas estructuras son losrboles B+, las
estructuras deHash, etc.

TALLER DE BASE DE DATOS

Creacin del esquema de la base de datos.

Para entrar al SGBD MySQL, entraremos al modo comando de


windows.
C:\users\dtrujill> mysql
Entramos en lnea de comando de mysql, que enviara las
ordenes al mysql server.
Para crear una base de datos en mysql utilizamos los
siguientes comandos:
Mysql> create database empleado
Mysql> create database if not exists empleado
Para ver si esa Base deDatos se creo lo veremos con los
siguiente comado:
Mysql> show databases;

TALLER DE BASE DE DATOS

Tipos de datos:

Al describir las tablas que conforman nuestra base de datos,


debemos de definir que tipo de datos, debe de tener los
campos que conforman nuestra tabla.
Los tipos de datos que puede haber en uncampo, se pueden
agrupar en tres grandes grupos:
Tipos numricos
Tipos de Fecha
Tipos de Cadena
Los tipos numricos se pueden dividir en dos grandes grupos
los que estan en coma flotante(decimales) y los que no.

TALLER DE BASE DE DATOS

Tinyint: es un nmero entero con o sin signo, que


presenta los siguientes valores:

Bit o Bool : Es un tipo entero que puede ser 0 1.


SmallInt : Es de tipo entero con y sin signo con los
valores siguientes:

-128 a 127 con signo


0 a 255 sin signo

Con signo: -32768 a 32767


Sin signo: 0 a 65535

MediumInt: Es de tipo entero con y sin signo con


los valores siguientes:

TALLER DE BASE DE DATOS

Con signo: -8,388,608 a 8388607


Sin signo: 0 a 16,777,215
Integer, Int: Es de tipo entero con y sin signo
con los valores siguientes:
Con signo: -2,147,483,648 a 2,147,483,647
Sin signo: 0 a 4,294,967,295
BigInt: Es de tipo entero con y sin signo con los
valores siguientes:
Con signo: -9,223,372,036,854,775,808 a
9,223,372,036,854,775,807

TALLER DE BASE DE DATOS

Sin signo: 0 a 18,446,744,073,709,551,615


Float: nmero pequeo de coma flotante de
presicin simple.
Sus valores son: -3.402823466E+38 a
-1.175494351E-38 y desde 1.175494351E-38 a
-3.402823466E+38.
xReal, Double: nmero de coma flotante de
presicin doble.
Sus valores son: -1.7976931348623157E+308 a
-2.225073858507385585072014E-308

TALLER DE BASE DE DATOS

y desde 2.2250738585072014E-308 a
1.7976931348623157E+308
Decimal, Dec, Numeric: nmero en coma floante
desempaquetado.E nmero se almacena en una
cadena.
Tipos Fecha: Al momento de almacenar fechas
mysql solamente comprueba si el mes esta entre q
y 12 y que el da este entre 0 y 31.
DATE Time: Almacena una fecha. El rango de
valores va desde el 1 de Enero del 1001 al 31 de
Diciembre de 9999. El formato es ao-mes-dia.

TALLER DE BASE DE DATOS

TimeStamp: Combinacin de fecha y


hora. El rango va desde el 1 de enero
de 1970 al ao 2037.
Tamao
bytes

Formato

14

Ao MesDiaHoraMinutoSegundo
aaaammddhhmmss

12

Ao MesDiaHoraMinutoSegundo
aammddhhmmss

AoMesDia aaaammdd

AoMesDia aammdd

Aomes aamm

Ao aa

TALLER DE BASE DE DATOS

Time: almacena una hora. En el siguiente


rango:
-838 horas,59 minutos y 50 segundos a 838
horas 59 minutos, 59 segundos. El formato es
HH:MM:SS .
Year: almacena un ao. Que va desde elao
1901 al ao 2155.
Tipos de cadena:
Char(n): almacena una cadena de longitud
fija. Puede contener desde 0 a 255 caracteres.

TALLER DE BASE DE DATOS

VarChar(n): almacena una cadena de


longitud variable. Podr contener desde 0 a
255 caracteres.
Dentro los tipos de cadena existen dos tipos:

Text.
BLOB(Binary large Object).
La diferencia entre ellos es que cuando se realizan
ordenamientos y comparaciones, en Test se ordena
sin tomar en cuenta maysculas y minsculas y el
tipo BLOB se ordena tenindolas en cuenta.

TALLER DE BASE DE DATOS

Los tipos BLOB se utilizan para almacenar


datos binarios.
TinyText y TinyBlob :Columna con una
longitud mxima de 2555 caracteres.
Blob y Text: texto con un mximo de
65535 caracteres.
MediumBlob y MediumText: texto con
un mximo de 16,777,215 caracteres.

TALLER DE BASE DE DATOS

LongBlob y LongText: un texto con un mximo


de caracteres de 4,294,967,295. Pero se tiene
que tomar encuenta que debido a los protocolos
de comunicacin los paquets deben de tener un
mximo de 16 Mb.
Enum : campo que puede tener un nico valor de
una lista que se especfica. El tipo Enum acepta
hasta 65535 valores distintos.
Set : un campo que puede contener ninguno, uno
o varios valores de una lista. La lista puede tener
hasta un mximo de 64 valores.

TALLER DE BASE DE DATOS

Creacin de Tablas en MySQL.

Vamos usar el siguiente ejemplo de un base de


datos denominada empleados, su esquema es
el siguiente:
empleado(id_empl, nom_empl, pue_empl,
id_depa)
departamento(id_depa,nom_depa)
habempl(id_empl,hab_habe)
cliente(id_clie, nom_clie, dir_clie, con_clie,
cnum_clie)
asignacion( id_clie, id_empl, fent_asig, hor_asig)

TALLER DE BASE DE DATOS

drop database empleados if exists empleado


create database empleado
use empleado
create table departamento
(
id_depa int not null auto_increment primary
key,
nom_depa varchar(30)
} Engine = InnoDB;

TALLER DE BASE DE DATOS

create table empleado


(

id_empl int not null auto_increment


primary key,
nom_empl varchar(60),
pue_empl varchar(30),
id_depa int not null references
departamento(id_depa) )Engine = InnoDB;

TALLER DE BASE DE DATOS

create table habempl


(

id_empl int not null references


empleado(id_empl),
hab_habe varchar(25) not null,
primary key(id_empl, hab_habe)
) Engine = InnoDB

TALLER DE BASE DE DATOS

create table cliente


(

id_clie int not null auto_increment primary


key,
nom_clie varchar(40),
dir_clie varchar(90),
con_clie varchar(70),
cnum_clie varchar(12)
)Engine = InnoDB;

TALLER DE BASE DE DATOS

create table asignacion


(

id_clie int not_null references cliente(id_clie),


id_empl int not_null references
empleado(id_empl),
fent_asig date not mull,
hor_asig float,
primary key (id_clie, id_empl, fent_asig)
)Engine = InnoDB;

TALLER DE BASE DE DATOS

Motores de almacenamiento.

MySQL puede manejar varios motores de


almacenamiento como pueden ser:

InnoDB
MyISAM
MERGE
Memory (HEAP)
BDB(BerkeleyDB)
FEDERATED
ARCHIVE
CSV

TALLER DE BASE DE DATOS

MyISAM y InnoDB

Elmotor de almacenamiento(storage-engine) se encarga


de almacenar, manejary recuperar informacin de una
tabla.
La decisin de utilizar uno u otro motor de almacenamiento
depende de la utilizacin que se la va dar a la base de datos.
Si necesitamos transacciones, claves forneas y bloqueos,
tendremos que escogerInnoDB. Por el contrario,escogeremos
MyISAMen aquellos casos en los que predominen lasconsultas
SELECT a la base de datos.
InnoDBdota a MySQL de un motor de almacenamiento transaccional
(conforme a ACID) con capacidades de commit (confirmacin), rollback
(cancelacin) y recuperacin de fallos. InnoDB realiza bloqueos a nivel
de fila.

TALLER DE BASE DE DATOS

Soporta tambin las restricciones FOREIGN


KEY.
MyISAMes el motor por defecto. Para
crear una tabla InnoDB se debe especificar
la opcin ENGINE = InnoDB o TYPE =
InnoDB en la sentencia SQL de creacin de
tabla.

TALLER DE BASE DE DATOS

Ventajas.

InnoDB
Soporte de transacciones
Bloqueo de registros
Nos permite tener las caractersticas ACID (Atomicity, Consistency, Isolation and
Durability: Atomicidad, Consistencia, Aislamiento y Durabilidad en espaol),
garantizando la integridad de nuestras tablas.
Es probable que si nuestra aplicacin hace un uso elevado de INSERT y UPDATE
notemos un aumento de rendimiento con respecto a MyISAM.
MyISAM
Mayor velocidad en general a la hora de recuperar datos.
Recomendable para aplicaciones en las que dominan las sentencias SELECT ante
los INSERT / UPDATE.
Ausencia de caractersticas de atomicidad ya que no tiene que hacer
comprobaciones de la integridad referencial, ni bloquear las tablas para realizar
las operaciones, esto nos lleva como los anteriores puntos a una mayor velocidad.

TALLER DE BASE DE DATOS

Forma general de estatuto create table.

create[temporary] table [if not exists] tbl-nomb


[(definiciones_de_create]
o puede ser
create[temporary] table [if not exists] tbl-nomb
like tbl-existente.
definiciones_de crate.

nom_col tipo [not null | null] [default valor]


[auto_increment] [primary key] [definicion references]

TALLER DE BASE DE DATOS

primary key(index nom_col)


key [index_nom] (index nom_col..)
index [index_nom] (index nom_col..)
unique [index] [index_nom] (index
nom_col..)
fulltext [index] [index_nom] (index
nom_col..)
foreign key [index_nom] (index nom_col..)
[reference_definicion]

TALLER DE BASE DE DATOS

Podemos borrar una base de datos de la


siguiente manera:
drop database nom_bd;
Tambin podemos borrar una tabla de la
BD:
drop table nom_tabla;
Bien podemos borrar los indexes crados.
drop index nom_index on mon_tabla

TALLER DE BASE DE DATOS

Tambin podemos modificarla estructura


de la base de datos y de la tablas que lo
conforman.
Podemos agregar campos, index a la tabla
alter table nom_tabla
add (definicin de la columna)
Alter table nom_tabla
add (definicin del index).
ejemplos

TALLER DE BASE DE DATOS

alter table empleado


add sex enum(m,f) default m;
alter table empleado
add index name (nom_empl);
Otra forma de crear index podemos hacerlo
de la siguiente forma:
create index name on empleado(nom_empl);
create index part_nom on
empleado(nom_empl(5));

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS

TALLER DE BASE DE DATOS