Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Acayucan
Computacionales
AN TOLOGIA
Presenta:
L.I. JOSE HERNANDEZ RODRIGUEZ
II
INDICE
OBJETIVO GENERAL V
JUSTIFICACION VI
III
UNIDAD V PROCESOS PARA EL MANTENIMIENTO DE UNA BASE
DE DATOS
5.1 Depuración 54
59
BIBLIOGRAFIA 60
IV
OBJETIVO GENERAL
El alumno identificará y desarrollará los niveles de
abstracción necesarios para el diseño de la base de datos,
utilizando los métodos y técnicas que permitan un adecuado
funcionamiento.
V
JUSTIFICACION
La presente Antología de Administración de Base de Datos, ha sido
diseña para la materia con el mismo nombre, que se imparte en el Sexto
Semestre de la Carrera de Ingeniería en Sistemas Computacionales como
una materia más de la Especialidad en Base de Datos.
Es necesario para que el alumno tenga una guía durante todo el
semestre, aportando conocimiento en cada unos de los temas de las cinco
unidades que la componen, de esta manera el alumno puede analizar los
puntos de vistas libros, referencias bibliográficas, etc. Para el docente será
de apoyo académico, para reforzar lo explicado en clases.
VI
UNIDAD 1
CONCEPTOS
RELACIONADOS A LA
ADMINISTRACION DE
BASE DE DATOS
Objetivo:
El alumno identificará las actividades y
objetivo del DBA.
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
Función que puede ser desempeñada por una persona o un grupo de personas. El
Administrador de la Base de Datos (DBA- Data Base Administrator) es el responsable
del Diseño de la Arquitectura, Control y Administración de la Base de Datos.
USUARIOS NORMALES
Son usuarios no sofisticados que interactúan con el sistema mediante la
invocación de algunos de los programas de aplicación permanentes que se ha
escrito. Su interfaz es una interfaz de formularios, donde los usuarios pueden
rellenar los campos apropiados al formulario. También pueden simplemente
leer informes generados de las BD.
PROGRAMADORES DE APLICACIONES.
Son profesionales informáticos que escriben programas de aplicación. Los
programadores de aplicaciones pueden elegir entre muchas herramientas para
desarrollar interfaces de usuario. Las herramientas de desarrollo rápido de
aplicaciones (DRA) son herramientas que permiten al programador de
aplicaciones construir formularios e informes sin escribir un programa. Hay
también tipos especiales de lenguajes de programación que combinan
estructuras de control imperativo (por ejemplo, para bucles for, bucles while e
instrucciones if-then-else) con instrucciones del lenguaje de manipulación de
2
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
USUARIOS ESPECIALIZADOS.
Son usuarios sofisticados que escriben aplicaciones de bases de datos
especializadas que no son adecuadas en el marco de procesamiento de datos
tradicional. Entre estas aplicaciones están los sistemas de diseño asistido por
computador, sistemas de bases de conocimientos y sistemas expertos, sistemas
que almacenan los datos con tipos de datos complejos (por ejemplo, datos
gráficos y datos de audio) y sistemas de modelado del entorno.
3
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
4
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
5
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
6
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
7
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
8
UNIDAD I / CONCEPTOS RELACIONADOS A LA BASE DE DATOS
9
UNIDAD 2
DEFINICION DEL
ESQUEMA CONCEPTUAL
Objetivo:
El alumno interpretará y
construirá el esquema conceptual de
una base de datos
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Para distinguir un dato de otro, los analistas les asigna nombre significativos que
se utilizan para tener una referencia de cada elemento a través del proceso total
de desarrollo de sistemas. Por lo tanto, debe tenerse cuidado para seleccionar,
11
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Las descripciones de datos se deben escribir suponiendo que a gente que los lea
no conoce nada en relación del sistema. Deben evitarse termino especiales o
argot, todas las palabras deben se entendible para el lector
Alias
Longitud de campo
Cuando las características del diseño del sistema se ejecuten más tarde en el
proceso de desarrollo del sistema, será importante conocer la cantidad de
espacio que necesita para cada dato.
12
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Ejemplos:
13
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Los modelos de datos sirven para clasificar los distintos tipos de SGBD.
Existen diferentes modelos de datos para bases de datos como ser:
Modelo Entidad-Relación
Modelo relacional
Modelo orientado a objetos
Modelo relacional-objeto
Modelo jerárquico
Modelo de red
14
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
hacer es elegir un tipo de datos de "Fecha" para que luego puedas gestionar
fácilmente la información que haz almacenado.
Para poder establecer una relación entre dos tablas, es necesario asignar
un campo en común a las dos tablas. Para este ejemplo, el campo id_cliente
existe tanto en la tabla cliente como en la tabla venta. La mayoría de las veces,
este campo en común debe ser una clave primaria en alguna de las tablas. Vamos
a insertar algunos datos en estas tablas.
Tabla cliente
+------------+--------------+
| id_cliente | nombre |
+------------+--------------+
| 1 | Juan penas |
| 2 | Pepe el Toro |
+------------+--------------+
Tabla venta
+------------+------------+----------+
| id_factura | id_cliente | cantidad |
+------------+------------+----------+
| 1 | 1 | 23 |
| 2 | 3 | 39 |
| 3 | 2 | 81 |
+------------+------------+----------+
15
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
16
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
17
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
No debe usarse una sentencia ALTER TABLE en una tabla que está siendo
referenciada, si se quiere modificar el esquema de la tabla, se recomienda
eliminar la tabla y volverla a crear con el nuevo esquema. Cuando MySQL hace
un ALTER TABLE, puede que use de manera interna un RENAME TABLE, y por lo
tanto, se confundan las restricciones de clave foránea que se refieren a la tabla.
Esta restricción aplica también en el caso de la sentencia CREATE INDEX, ya que
MySQL la procesa como un ALTER TABLE.
Inserción de registros con claves foráneas
La integridad referencial se puede comprometer básicamente en tres
situaciones: cuando se está insertando un nuevo registro, cuando se está
eliminando un registro, y cuando se está actualizando un registro. La restricción
de clave foránea que hemos definido se asegura que cuando un nuevo registro
sea creado en la tabla venta, éste debe tener su correspondiente registro en la
tabla cliente.
Una vez que hemos creado las tablas, vamos a insertar algunos datos que
nos sirvan para demostrar algunos conceptos importantes:
mysql> INSERT INTO cliente VALUES(1,'Juan Penas');
Query OK, 1 row affected (0.05 sec)
En este momento no hay ningún problema, sin embargo, vamos a ver que
sucede cuando intentamos insertar un registro en la tabla venta que se refiera a
un cliente no existente cuyo id_cliente es 3:
mysql> INSERT INTO venta VALUES(2,3,39);
ERROR 1216: Cannot add or update a child row: a foreign key
constraint fails
18
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
19
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
20
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
21
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Vamos a ver un ejemplo, pero antes que nada, tenemos que eliminar la
restricción de clave foránea (debemos usar el ID específico de nuestra tabla).
22
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Un ejemplo más
23
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
24
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
25
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
NIVELES DE PRIVILEGIO
En MySQL existen cinco niveles distintos de privilegios:
Globales: Se aplican al conjunto de todas las bases de datos en un
servidor. Es el nivel más alto de privilegio, en el sentido de que su ámbito es el
más general.
De base de datos: Se refieren a bases de datos individuales, y por
extensión, a todos los objetos que contiene cada base de datos.
De tabla: Se aplican a tablas individuales, y por lo tanto, a todas las
columnas de esas tabla.
De columna: se aplican a una columna en una tabla concreta.
De rutina: se aplican a los procedimientos almacenados. Aún no hemos
visto nada sobre este tema, pero en MySQL se pueden almacenar procedimietos
consistentes en varias consultas SQL.
CREAR USUARIOS
En general es preferible usar GRANT, ya que si se crea un usuario
mediante CREATE USER, posteriormente hay que usar una sentencia GRANT
para concederle privilegios.
Usando GRANT podemos crear un usuario y al mismo tiempo concederle
también los privilegios que tendrá. La sintaxis simplificada que usaremos para
GRANT, sin preocuparnos de temas de cifrados seguros que dejaremos ese tema
para capítulos avanzados, es:
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON {tbl_name | * | *.* | db_name.*}
TO user [IDENTIFIED BY [PASSWORD] 'password']
[, user [IDENTIFIED BY [PASSWORD] 'password']] ...
26
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
27
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
Como se ve, para este usuario sólo existe la base de datos 'prueba' y
dentro de esta, la tabla 'gente'. Además, podrá hacer consultas sobre esa tabla,
pero no podrá añadir ni modificar datos, ni por supuesto, crear o destruir tablas
ni bases de datos.
Para conceder privilegios globales se usa ON *.*, para indicar que los
privilegios se conceden en todas las tablas de todas las bases de datos.
Para ver una lista de todos los privilegios existentes consultar la sintaxis
de la sentencia GRANT.
Se pueden conceder varios privilegios en una única sentencia. Por
ejemplo:
mysql> GRANT SELECT, UPDATE ON prueba.gente TO anonimo IDENTIFIED BY 'clave';
Query OK, 0 rows affected (0.22 sec)
REVOCAR PRIVILEGIOS
Para revocar privilegios se usa la sentencia REVOKE.
REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ...
ON {tbl_name | * | *.* | db_name.*}
FROM user [, user] ...
La sintaxis es similar a la de GRANT, por ejemplo, para revocar el
privilegio SELECT de nuestro usuario 'anonimo', usaremos la sentencia:
28
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
29
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
BORRAR USUARIOS
Para eliminar usuarios se usa la sentencia DROP USER.
No se puede eliminar un usuario que tenga privilegios, por ejemplo:
mysql> DROP USER anonimo;
ERROR 1268 (HY000): Can't drop one or more of the requested users
mysql>
Para eliminar el usuario primero hay que revocar todos sus privilegios:
mysql> SHOW GRANTS FOR anonimo;
+--------------------------------------------------------------------+
| Grants for anonimo@% |
+--------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'anonimo'@'%' IDENTIFIED BY PASSWORD '*5...' |
| GRANT SELECT ON `prueba`.`gente` TO 'anonimo'@'%' |
+--------------------------------------------------------------------+
2 rows in set (0.00 sec)
mysql> REVOKE SELECT ON prueba.gente FROM anonimo;
Query OK, 0 rows affected (0.00 sec)
30
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
EJEMPLOS:
Taylor, es un set de plug-ins para Eclipse para modelar bajo UML, genera y lee
código Java, permite modelar incluse modelos de procesos de negocios y muchas
cosas mas, incorpora muchas tecnologías,
http://taylor.sourceforge.net
31
UNIDAD II / DEFINICION DEL ESQUEMA CONCEPTUAL
32
UNIDAD 3
DEFINICION DEL
ESQUEMA INTERNO
Objetivo:
Descripción de la organización física de
los datos: estructuras de datos en disco
y rutas de acceso.
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
NIVELES DE ABSTRACCION
34
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
EJEMPLO:
Esquema conceptual
35
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
ESQUEMA FISICO
ESQUEMA EXTERNO
36
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
ESQUEMA INTERNO:
Corresponde a la forma y estructura de datos que adopta la base de datos en los
dispositivos de almacenamiento. Generalmente esta estructura es definida y
manipulada por el Sistema de Administración de Bases de Datos. Los
administradores y diseñadores de la base de datos incidirán sólo en aquellos
aspectos en que el SABD no puede decidir automáticamente.
37
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
Un diseño un poco más inteligente tendría dos tablas, una con los datos
más frecuentemente empleados de cada persona y la otra con el resto de la
información que se emplea quizá sólo para fines estadísticos o para enviar
tarjetas de felicitación. Por supuesto, ambas tablas estarán relacionadas por una
llave primaria común.
38
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
Una vez que sepa qué datos necesita, debe determinar su procedencia. ¿Se
han importado de otro origen? ¿Hay que limpiarlos o comprobarlos? ¿El usuario
escribe datos?
¿Los usuarios tendrán que editar los datos? En tal caso, ¿cómo se deben
mostrar los datos para que los usuarios puedan comprenderlos y editarlos? ¿Hay
reglas de validación y tablas de búsqueda relacionada? ¿Hay cuestiones de
auditoría asociadas a la entrada de datos que hagan necesario el mantenimiento
de copias de seguridad de las ediciones y eliminaciones? ¿Qué tipo de resumen
se debe mostrar al usuario? ¿Debe generar archivos de exportación? Con esta
información, podrá hacerse una idea de la relación entre unos campos y otros.
39
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
40
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
41
UNIDAD III / DEFINICION DEL ESQUEMA INTERNO
Organización secuencial:
Significa que los registros se almacenan adyacentemente unos a otros, de
acuerdo con la clave, como son el número de empleado, numero de cuenta, etc.
Una implementación convencional organiza los registros en orden ascendentes
de los valores de la clave. Si deseamos acceder al décimo registro secuencial,
generalmente se deberán leer los anteriores nueves.
Secuencial-Indexada
Consiste en que los archivos están organizados secuencialmente; sin
embargo, es posible acceder directamente a los registros. Los registros se
almacenan en la secuencia física usual por la clave primaria, además se almacena
en el disco el índice de localización del registro.
Organización directa:
Se localiza un registro por su dirección, obtenida a partir del valor de una
clave de direccionamiento o por la posición relativa que ocupa el registro en el
archivo.
OBJETIVOS:
42
UNIDAD 4
DEFINICION DEL
ESQUEMA EXTERNO
Objetivo:
El alumno implementará el nivel de
vista en las base de datos como un
nivel mas de seguridad para lograr una
mayor integridad en los datos.
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Una vista es como una ventana a través de la cual se puede consultar o cambiar
información de la tabla a la que está asociada.
Las vistas tienen la misma estructura que una tabla: filas y columnas. La única
diferencia es que sólo se almacena de ellas la definición, no los datos. Los datos que se
recuperan mediante una consulta a una vista se presentarán igual que los de una tabla.
De hecho, si no se sabe que se está trabajando con una vista, nada hace suponer que es
así. Al igual que sucede con una tabla, se pueden insertar, actualizar, borrar y
seleccionar datos en una vista. Aunque siempre es posible seleccionar datos de una
vista, en algunas condiciones existen restricciones para realizar el resto de las
operaciones sobre vistas.
44
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
La vista se crea con las columnas que devuelve una consulta. Si no nos importa
que las columnas de la vista hereden los nombres de las columnas recuperadas en la
consulta no tenemos que especificarlos.
Las horizontales: son las que se forman de una consulta donde se toman todas
las columnas de la tabla a la que se hará la consulta.
Las verticales: son las que se forman de algunas columnas de la(s) tabla(s)
donde se hace la consulta
45
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Consultas: La consultas sobre las vistas se tratan de igual modo que sobre las
tablas.
La vista se debe crear con filas de una sola tabla; sin utilizar las
cláusulas GROUP BY y DISTINCT; y sin utilizar funciones de grupo o
referencias a pseudocolumnas (ROWNUM).
Actualización de filas a través de una vista
Se pueden definir vistas sobre más de una tabla. Por ejemplo, sobre la
combinación de dos tablas. Podemos querer ver todos los datos de los empleados del
departamento Administración.
46
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Ejemplo:
47
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Ejemplos:
UNO: Crear una vista (tabla virtual), denominada CursosS, que contenga las filas
solo correspondientes a cursos ofrecidos por el departamento Sistemas. La vista deberá
contener todas las columnas de la tabla CURSO, con la excepción de la columna Depto, la
secuencia, de izquierda a derecha de las columnas, deberá ser: NombreC, NumC,
Creditos, Costo Y DescC.
Observemos que después del nombre de la vista ponemos la sentencia AS, esto
para definir la estructura de la vista, la estructura en si de la vista esta formada por la
consulta anteriormente vista utilizando la orden SELECT.
48
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Creamos una tabla virtual que contiene los datos de las consultas que deseamos,
ahora nos falta visualizar estos datos, para ello utilizamos la sentencia SELECT y
realizamos la consulta:
De esta consulta podemos observar que mostramos todos los campos que la
vista contiene, aunque podemos visualizar solo alguno de ellos, también observamos
que sustituimos el nombre de la vista por el de la tabla junto a la sentencia FROM, esto
es por que una vista es una tabla virtual, pero guarda los datos como cualquier tabla
normal.
Como si fuera una tabla normal, las vistas también pueden borrarse, para ello
utilizamos la sentencia DROP VIEW. Estructura de la sentencia DROP VIEW.
49
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
La vista:
Describe los datos y sus relaciones que son de interés para una aplicación
dada
50
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
Los controles de acceso lo podemos lograr con las sentecias GRANT y REVOKE
de la misma manera como se vio en la unidad 2.
Ejemplos:
51
UNIDAD IV / DEFINICION DEL ESQUEMA EXTERNO
52
UNIDAD 5
PROCESOS PARA EL
MANTENIMEINTO DE UNA
BASE DE DATOS
Objetivo:
El alumno implementará el nivel de
vista en las base de datos como un
nivel mas de seguridad para lograr una
mayor integridad en los datos.
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
5.1 Depuración
54
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
Mh = desempeño medido de h
desempeño calculado de h
55
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
56
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
57
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
58
UNIDAD V / PROCESOS PARA EL MANTENIMIENTO DE UNA BASE DE
DATOS
Algunos datos se usan con mucha frecuencia y otros solo raramente. Es deseable
almacenar los datos de uso frecuente de, manera que resulte fácil Y rápido acceder a
ellos. Los datos de uso ocasional se almacenarán, en cambio, de manera más económica.
En una oficina, la información que se usa diariamente se usa en los archivadores de las
secretarías; la información que solo se consulta accidentalmente se guardará
probablemente en el sótano, de modo no estorbe y su almacenamiento no cueste
mucho. El equivalente del sótano en la computadora podría ser la cinta magnética,
mientras que los datos de uso frecuente se hallarán en discos o tambores de modo que
se los pueda leer siempre en una fracción de segundo. Toda base de datos más ó menos
compleja tendrá múltiples niveles de facilidad de acceso.
59
BIBLIOGRAFIA
Fundamentos De Base De Datos. Silberschaez,Korth,Sudarshan
Cuarta Edición, Mc Graw hill
Referencias
Mysql con clase http://mysql.conclase.net/curso/index.php
Mysql Hispano http://www.mysql-hispano.org/
Mysql http://www.mysql.com/
Tutorial de: Administración de Bases de Datos.
Instituto Tecnológico de La Paz.
http://www.itl.edu.mx/tutoriales/
Tutorial de: Administración de Bases de Datos.
Instituto Tecnológico de Veracruz.
http://www.itver.edu.mx/tutoriales/
Tutorial de: Ingeniería de Software.
http://www.monografias.com/trabajos5/inso/inso2.shtml