Sei sulla pagina 1di 13

CBT. LIC.

MARIO COLIN
SANCHEZ, ALTLACOMUCO
Nombre del alumno: Jess Gonzlez
Primero
Nombre del Docente: Edgar Hugo
Rodrguez Prez
Materia: Disea Base de Datos
(MySQL)
Actividad: Evaluacin

Grado: 2

Grupo: 5

Ciclo escolar
2015-2016

Qu es una base de datos?


Es una coleccin de archivos relacionados que permite el manejo de la
informacin de alguna compaa. Cada uno de dichos archivos puede ser visto
como una coleccin de registros y cada registro est compuesto de una coleccin
de campos. Cada uno de los campos de cada registro permite llevar informacin
de algn atributo de una entidad del mundo real.

Cules son los tipos y caractersticas de las Bases de Datos?


Tipos:
Modelos tradicionales.
Modelo jerrquico: El tipo define la estructura general que debe poseer, o
sea, los campos de cada uno de sus segmentos, y la estructura jerrquica
entre ellos. Una instancia es un valor de un tipo de registro
Ejemplo:

Modelo en red: Su estructura es parecida a la jerrquica aunque bastante ms


compleja, con lo que se consiguen evitar, al menos en parte, los problemas de
aqul. Los conceptos fundamentales que debe conocer el administrador para
definir el esquema de una base de datos jerrquica, son los siguientes:
- Registro: Viene a ser como cada una de las fichas almacenadas en un fichero
convencional.
- Campos o elementos de datos. Son cada uno de los apartados de que se compone una
ficha.
- Conjunto: Es el concepto que permite relacionar entre s tipos de registro distintos.

Model
o

relacional: Representa la base de


datos como un conjunto de tablas.
Aunque las tablas son un concepto
simple e intuitivo, existe una correspondencia directa entre el concepto
informtico de una tabla, y el concepto matemtico de relacin, lo cual es
una gran ventaja, pues permite efectuar formalizaciones de una forma
estricta mediante las herramientas matemticas asociadas, como pueda ser
el lgebra relacional en el mbito de las consultas.
Modelos avanzados: Las bases de datos relacionales han sido y siguen
siendo ampliamente utilizadas para una extensa gama de aplicaciones. Sin
embargo, el aumento de potencia de los ordenadores personales, ha hecho
aparecer nuevas aplicaciones potentes que requieren la utilizacin de datos
complejamente relacionados o con necesidades de consultas muy
particulares, como puedan ser p.ej., los sistemas de informacin
geogrficos, el diseo de circuitos electrnicos por ordenador, etc.

Modelo orientado a objetos: Trata los problemas desde un punto de vista


realista, y modelando cada uno de ellos como si se tratase de un conjunto
de elementos u objetos que interrelacionan entre s para solucionar el
problema. Para entender mejor esta filosofa, podemos pensar en ella como
en el funcionamiento de un reloj de cuerda. Un reloj de cuerda posee
numerosos elementos que interactan entre s para obtener Tipos de Bases
de Datos. 9 como resultado final una determinada posicin de las
manecillas, que son interpretadas por una persona como la hora actual
- Clase. Cuando hay varios objetos semejantes, pueden agruparse en una
clase
- Estado. Son las caractersticas propias de cada objeto
- Encapsulacin. Cada objeto es consciente de sus propias caractersticas.
Ejemplo: El engranaje sabe que si recibe una fuerza en uno de sus
dientes, debe girar, y lo sabe porque obedece a unas leyes fsicas
- Mensaje. Es cada uno de los estmulos que se envan a un objeto.
- Herencia. Para facilitar la programacin, se puede establecer toda una
jerarqua de tipos o clases. P.ej., podemos declarar una clase Engranaje
con las caractersticas bsicas de los engranajes. De ella podemos derivar
otras tres: Engranaje. Fijo, Cremallera, y Engranaje. Helicoidal. Cada una
de estas clases especializa la clase general, con la ventaja de que las
caractersticas comunes a los tres tipos de engranajes slo hay que decirlas
una vez.

Modelo declarativo: El enfoque de las bases de datos declarativas es


sumamente intuitivo para el usuario, y le permite abstraerse de los
problemas de programacin inherentes a otros mtodos. Este modelo suele
usarse para bases de conocimiento, que no son ms que bases de datos
con mecanismos de consulta en los que el trabajo de extraccin de
informacin a partir de los datos recae en realidad sobre el ordenador, en
lugar de sobre el usuario.

Qu es SQL y para que se puede utilizar?


MySQL:

corresponde
a
la
expresin
inglesa Structured
Query
Language (entendida en espaol como Lenguaje de Consulta Estructurado), la
cual identifica a un tipo de lenguaje vinculado con la gestin de bases de datos de
carcter relacional que permite la especificacin de distintas clases de
operaciones entre stas. Gracias a la utilizacin del lgebra y de clculos
relacionales, el SQL brinda la posibilidad de realizar consultas con el objetivo de

recuperar

informacin

de

las

bases

de

datos

de

manera

sencilla.

Prestaciones de SQL:
Est desarrollado en C/C++.
Se distribuyen ejecutables para cerca de diecinueve plataformas diferentes.
La API se encuentra disponible en C, C++, Eiffel , Java, Perl, PHP, Python, Ruby
y TCL.
Est optimizado para equipos de mltiples procesadores.
Es muy destacable su velocidad de respuesta.
Se puede utilizar como cliente-servidor o incrustado en aplicaciones.
Cuenta con un rico conjunto de tipos de datos.
Soporta mltiples mtodos de almacenamiento de las tablas, con prestaciones y
rendimiento diferentes para poder optimizar el SGBD a cada caso concreto.
Su administracin se basa en usuarios y privilegios.
Se tiene constancia de casos en los que maneja cincuenta millones de registros,
sesenta mil tablas y cinco millones de columnas.
Sus opciones de conectividad abarcan TCP/IP, sockets UNIX y sockets NT,
adems de soportar completamente ODBC.
Los mensajes de error pueden estar en espaol y hacer ordenaciones correctas
con palabras acentuadas o con la letra .
Es altamente confiable en cuanto a estabilidad se refiere.
Para todos aquellos que son adeptos a la filosofa de UNIX y del lenguaje C/C++,
el uso de MySQL les ser muy familiar, ya que su diseo y sus interfaces son
acordes a esa filosofa: crear herramientas que hagan una sola cosa y que la
hagan bien. MySQL tiene como principal objetivo ser una base de datos fiable y
eficiente. Ninguna caracterstica es implementada en MySQL si antes no se tiene
la certeza que funcionar con la mejor velocidad de respuesta y, por supuesto, sin
causar problemas de estabilidad. La influencia de C/C++ y UNIX se puede
observar de igual manera en su sintaxis. Por ejemplo, la utilizacin de expresiones
regulares, la diferenciacin de funciones por los parntesis, los valores lgicos
como 0 y 1, la utilizacin del tabulador para completar sentencias, por mencionar
algunos.

Ejemplo: Base de datos en MySQL:


create database if not exists `ejemplode`;
use `ejemplode`;
CREATE TABLE `basedatosmysql` (
`id` smallint(7) unsigned NOT NULL auto_increment,

`nombre` varchar(50) NOT NULL default '',


`categoria` varchar(50) NOT NULL default '',
`descripcion` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PACK_KEYS=0
AUTO_INCREMENT=8140 ;

Ejemplo de Vaciar tabla


Cdigo:
TRUNCATE TABLE 'nombre_tabla'"
Ten cuidado con este query, ya que eliminar todos los contenidos de la tabla que
selecciones. En este caso, eliminar todos los registros de nombre_tabla.
El siguiente ejemplo accede a una base de datos llamada "dbPruebas" que se
encuentra en el servidor huitoto. Se debe tener en cuenta que para ejecutar este
ejemplo es necesario haber creado previamente una tabla llamada
"ds_estudiantes" con los campos nombre, cdula, telfono, programa y direccin;
tambin se deben haber ingresado registros a la tabla. Las operaciones
anteriormente mencionadas (creacin de tablas e inserccin de registros), se
pueden realizar a travs del programa phpMyAdmin o como el profesor lo indique.

<?php
/
/
A
b
r
i
r
$conex=@mysql_connect("huitoto.udea.edu.co","usuario","password");
if(!$conex){
e
c
h
o
"
E
r
r
o
exit();
}
/
/
E
l
e
g
if(!@mysql_select_db("dbPruebas",$conex)){
e
c
h
o
"
N
exit();
}

l
r

$sql = "SELECT nombre, cedula, telefono, programa, direccion FROM ds_estudiantes";


/
/
$
i
e
c
exit();

r
s

(
h

u
u

"

!
L

}
/
w
e
}
?>

c
h

i
o

l
"

<

Ejemplo 2
En este ejemplo se crear una aplicacin completa que permita a travs de
pginas Web, acceder a una base de datos y realizar las principales operaciones
que se pueden hacer sobre una base de datos.
1. Inicialmente se debe crear una pgina que contenga tres botones, los cuales
enlazarn a las pginas que acceden a la base de datos para insertar, eliminar y
mostrar registros.
2. El siguiente paso es crear un formulario que reciba la informacin que se desea
ingresar a la base de datos.
3. Seguidamente vamos construir un script que inserte los datos recibidos en el
formulario, en la base de datos.
<?php
$conex =
@mysql_connect("huitoto.udea.edu.co","invitado","invitado");
if (! $conex){
echo "Error al intentar conectarse con el servidor MySQL";
exit();
}
if (!@mysql_select_db("dbPruebas",$conex)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
$sql = "INSERT INTO ds_estudiantes values ('$nombre', '$cedula',
'$telefono', '$programa', '$direccion') ";
mysql_query($sql, $conex) or die("no se pudo ejecutar el insert");

?>
<p align="center">
<!--el siguiente cdigo se realiz en la vista de diseo de
dreamweaver-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=5,0,0,0" width="341" height="87">
<param name="movie" value="text3.swf">
<param name="quality" value="high">
<param name="bgcolor" value="#CCCCCC">
<param name="scale" value="exactfit">
<embed src="text3.swf" quality="high"
pluginspage="http://www.macromedia.com/shockwave/download/
index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/xshockwave-flash" scale="exactfit" width="341" height="87"
bgcolor="#CCCCCC"></embed>
</object>
</p>
<table width="75%" border='1' align="center">
<tr>
<td width="51%">
<div align="right">Nombre:: </div></td>
<td width="49%"><? echo $nombre ?></td>
</tr>
<tr>
<td><div align="right">Telefono:</div></td>
<td><? echo $telefono ?></td>
</tr>
<tr>
<td><div align="right">Cedula:</div></td>
<td><? echo $cedula ?></td>
</tr>
<tr>
<td><div align="right">Programa:</div></td>
<td><? echo $programa ?></td>
</tr>
<tr>
<td><div align="right">Direccion:</div></td>
<td><? echo $direccion ?></td>
</tr>
</table>

<? mysql_close($conex); ?>

Nota: El anterior programa se ejecuta al dar click en el boton enviar del formulario
que se construy previamente. Entonces en el action de la etiqueta form se debe
colocar el nombre del archivo php que realiza la inserccin.
4. Ahora vamos a realizar un programa que consulta los registros que se hayan
insertado en la base de datos y los imprime en una tabla:
<?
$conex =
@mysql_connect("huitoto.udea.edu.co","invitado","invitado");
if (! $conex){
echo "Error al intentar conectarse con el servidor MySQL";
exit();
}
if (!@mysql_select_db("dbPruebas",$conex)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
$sql = "SELECT nombre, cedula, telefono, programa, direccion FROM
ds_estudiantes";
$resultados = mysql_query($sql, $conex);
if (! $resultados){
echo "La consulta SQL contiene errores.";
exit();
}
?>
<table align="center" bgcolor="#999999" width="75%">
<tr>
<td><b>NOMBRE</b></td><td><b>CEDULA</b></td><td><b>
TELEFONO</b></td>
<td><b>PROGRAMA</b></td><td><b>DIRECCION</b></td></tr>
<?
while ($row = mysql_fetch_array($resultados)){
echo "<tr><td>".$row["nombre"]."</td><td>".$row["cedula"]."</td>
<td> $row[2] </td><td>$row[3] </td><td>$row[4]</td></tr>";
}
mysql_close($conex);

?>
</table>
<p><font color="#000066"><a href="principalbd.html">Regresar al
inicio
</a></font></p>
</body>
</html>

5. Finalmente vamos a realizar un programa que elimine un registro de la base de


datos, escogiendo el nmero de la cedula del registro que se desea elminar,
mediante una lista desplegable que se construir dinamicamente en el siguiente
formulario:
<html>
<head>
<title>Eliminar</title>
</head>
<body bgcolor="#CCCCCC">
<?
$conex =
@mysql_connect("huitoto.udea.edu.co","invitado","invitado");
if (! $conex){
echo "Error al intentar conectarse con el servidor MySQL";
exit();
}
if (!@mysql_select_db("dbPruebas",$conex)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
$sql = "SELECT cedula FROM ds_estudiantes";
$resultados = mysql_query($sql, $conex);
if (! $resultados){
echo "La consulta SQL contiene errores.";
exit();
}
?>
<form name="form1" method="post" action="delete.php">
<p>&nbsp;</p><table width="75%" border="0" align="center">
<tr>

<td><div align="right">Elija la cedula:</div></td>


<td>
<select name="cedula">
<? while($row=mysql_fetch_array($resultados)){ ?>
<option value='<? echo $row[0]; ?>'><? echo $row[0];?></option>
<? } ?>
</select>
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="submit" name="Submit" value="Eliminar"></td>
</tr>
</table>
</form>
</body>
</html>

6. Ahora si veamos el programa que elimina el registro seleccionado en


el formulario anterior:
<?php
$conex =
@mysql_connect("huitoto.udea.edu.co","invitado","invitado");
if (!$conex){
echo "Error al intentar conectarse con el servidor MySQL";
exit();
}
if (!@mysql_select_db("dbPruebas",$conex)){
echo "No se pudo conectar correctamente con la Base de datos";
exit();
}
$sql = "DELETE FROM ds_estudiantes WHERE cedula='$cedula'";
$resultados = mysql_query($sql);
if (! $resultados){
echo "La consulta SQL contiene errores.";
exit();
}

?>
Comandos de MySQL:
COMANDOS BASICOS PARA CREAR BASE DE DATOS

show databases; Listar todas las bases de datos.


connect [database]; Conectarse a esa base de datos.
show tables; Listar todas las tablas de una base de datos.
show table status; Muestra informacion sobre las tablas de la base de datos.
describe [table]; Muestra la estructura de una tabla de la base de datos.

Manejo de bases de datos MySQL:

drop table [table]; Elimina la tabla, incluyendo registros y estructura.


drop table if exists [table]; Elimina la tabla de la base de datos, pero antes
verifica que exista.
truncate table [table]; Elimina los registros, pero mantiene la esrtuctura de la
tabla.
rename table [table] to [nuevo nombre de tabla]; Renombra una tabla de la
base de datos.

Algunos comandos tiles para consultas Mysql:


select * from [table] limit [numero]; Muestra los registros desde el 1 hasta
[numero].
Ej. select * from tabla limit 10; Muestra los 10 primeros registros.
select * from [table] limit [numero inicio],[numero]; Muestra los registros
desde
el
numero
de
inicio
hasta
numero
inicio
+
numero.
Ej. select * from tabla limit 11,10; Muestra desde registro 11 hasta el 20.

Bases de datos Mysql en consola:


$ mysqladmin -u -p create crear base de datos.
$ mysqladmin -u -p drop borrar la base de datos.
$ mysqladmin -u root -p proc listar procesos en ejecucion en el servidor de
bases de datos Mysql.
$ mysqladmin -u root -p -i 5 status verificar status cada 5 segundos.
$ mysqldump opt -u -h -p > /path/to/file Exportar base de datos a un archivo.
$ mysqldump opt -u -h all-databases -p > /path/to/file Exportar TODAS las
bases de datos a un archivo.
$ mysql -h -u -p < /path/to/file Importar un archivo a la base de datos a mysql
$ mysqlcheck -o -u root -p all-databases Optimizar las bases de datos mysql.

Verificacin y reparacin de bases de datos errneas:


check table [table]; Verificar la tabla.
repair table [table]; Reparar la tabla rota.

CIBERGRAFIAS:
http://www.lcc.uma.es/~galvez/ftp/bdst/Tema2.pdf
http://www.aprenderaprogramar.com/index.php?
option=com_attachments&task=download&id=500
http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-dedatos/bases-de-datos/P06_M2109_02151.pdf
http://www.ejemplode.com/22-mysql/13ejemplo_de_base_de_datos_en_mysql.html
http://www.ejemplode.com/22-mysql/82-ejemplo_de_vaciar_tabla.html
http://aprendeenlinea.udea.edu.co/lms/moodle/mod/resource/view.php?
inpopup=true&id=75258
https://databaseandtech.wordpress.com/2008/05/06/comandos-basicos-parabases-de-datos-mysql/