You are on page 1of 30

REPBLICA BOLIVARIANA DE VENEZUELA

MINISTERIO DEL PODER POPULAR PARA LA EDUCACIN SUPERIOR


FUNDACIN MISIN SUCRE
UNIDAD CURRICULAR: PROGRAMACIN II
INFORMATICA TRIMESTRE V

BASE DE DATOS (MODULO II)

FACILITADOR:

PARTICIPANTE:

ING. MIGUEL MEDRANO

CARLOS PREZ
LISETH PREZ

CAICARA DEL ORINOCO, SEPTIEMBRE DE 2014


NDICE

INTRODUCCIN.. III
BASE DE DATOS:
1. Fundamentos Bsicos de Base de Datos:
4
1.1. Definicin...
1.2. Objetivo
1.3. Funciones..
1.4. Elementos..
2. Sistema Gestor de Base de Datos:
2.1. Definicin..
2.2. Objetivo.
2.3. Caractersticas
3. Administrador de Base de Datos:
3.1. Definicin..
3.2. Tareas.
3.3. Funciones
4. Evolucin de los sistemas:
4.1. Sistemas Orientados a Ficheros..
4.2. Sistemas de Base de Datos.
5. Arquitectura de un Sistema Gestor de Base de Datos Niveles:
5.1. Externo....
5.2. Conceptual..
5.3. Interno.
6. Modelos de Base de Datos:
6.1. Distribuidas.
6.2. Cliente Servidor..
6.3. De N Capas.
6.4. Multidimensional
6.5. Orientada a Objetos
6.5.1. Definicin..
6.5.2. Diseo de Base de Datos Orientada a Objetos.
6.5.3. Objetivos
6.5.4. Fundamentos.
6.5.5. Tipos.
7. Arquitectura de los sistemas de Base de Datos:
7.1. Centralizada
7.2. Distribuida..
7.3. Relacional
8. Relaciones..
9. Transacciones y Concurrencia:
9.1. Concepto de Transaccin..
9.2. Propiedades de las Transacciones.
9.3. Problemas de Interferencia...
9.4. Serializacin..
9.5. Locks y Deadlock.
10. Sistema de Manipulacin de Base de Datos (DBMS):
10.1. Componentes..
2

10.2. Funcionalidades..
10.3. Comandos
11. Representacin y Diagramas de Base de Datos:
11.1. Tipos
11.2. Diseo..
11.3. Conversin..
11.4. Combinacin
12. Principios de Diseo:
12.1. Integridad
12.2. Dependencias...
12.3. Teora de Normalizacin..
12.4. Restricciones
13. Lenguaje de Datos SQL:
13.1. Sentencias
13.2. Consultas Simples
13.3. Comparacion de Strings..
13.4. Proyeccin
13.5. Seleccin..
14. MySQL y PostgreSQL:
14.1. Fundamentos Basicos de MySQL y PostgreSQL...
14.2. Sentencias con MySQL y PostgreSQL
14.2.1. Consultas Multitablas..
14.2.2. Sub-Consultas..
14.2.3. Insercin..
14.2.4. Eliminacin.
14.2.5. Actualizacin..
14.2.6. Usuario y Privilegios...
14.2.7. Respaldo y Restauracin
CONCLUSIN
REFERENCIAS BIBLIOGRFICAS
REFERENCIAS ELECTRONICAS...
INTRODUCCIN

BASE DE DATOS
1. Fundamentos Bsicos de Base de Datos:
1.1.

Definicin:

Es un conjunto de datos que son almacenados para ser utilizados ms


adelante. Por ejemplo, una biblioteca puede considerarse una base de datos, ya
que est compuesta por documentos y libros para ser consultados. La mayora de
las bases de datos estn en formato digital, ya que en la informtica es en el
campo donde ms se utiliza.
4

1.2.

Objetivo:

Tiene como objetivo organizar y almacenar datos para su fcil manejo, ya


que puede servirnos de ayuda cuando llevamos el registro de muchas cosas o
personas. Por ejemplo, en un hotel donde se reciben reservaciones a diario y es
muy difcil apuntar todo en un cuaderno donde sera demasiado fcil revolver los
datos y confundirse a la hora de atender al husped.
1.3.

Funciones:

La creacin de una base de datos a la que puedan acudir los usuarios para
hacer consultas y acceder a la informacin que les interese es, pues, una
herramienta imprescindible de cualquier sistema.
Una base de datos tpica conlleva la existencia de tres tipos de usuario con
relacin a su diseo, desarrollo y funcionalidad que son:

El administrador de bases de datos (DBA: Database Administrator) que

disea y mantiene la base de datos.


El desarrollador de aplicaciones (programador) que implementa las

transacciones e interfaces.
Los usuarios finales que consultan y editan la informacin de la base de
datos mediante un programa desarrollado a su medida.

Por lo tanto, podemos decir que el propsito de una base de datos es doble,
pues tiene que responder a consultas sobre los datos que contiene, y ejecutar
5

transacciones con la informacin. Una base de datos se disea con un propsito


especfico y debe ser organizada con una lgica coherente. Los datos podrn ser
compartidos por distintos usuarios y aplicaciones, pero deben conservar su
integridad y seguridad al margen de las interacciones de ambos. La definicin y
descripcin de los datos han de ser nicas para minimizar la redundancia y
maximizar la independencia en su utilizacin.
1.4.

Elementos:

Datos: Es la parte esencial de la informacin, es decir, la informacin que

llega a la base de datos.


Atributos: Son los diferentes campos que conforman la estructura de una

base de datos.
Campos: Es la unidad ms pequea de datos.
Registro: Es un conjunto de campos o atributos relacionados entre s.
Archivo: Es un conjunto de registros relacionados.

2. Sistema Gestor de Base de Datos (SGBD):


2.1.

Definicin:

Tambin llamado DBMS (Data Base Management System), es una


coleccin de datos relacionados entre s, estructurados y organizados, y un
conjunto de programas que acceden y gestionan esos datos. Es un conjunto de
programas que permiten crear y mantener una Base de datos, asegurando su
integridad, confidencialidad y seguridad. Dedicados a servir de interfaz entre la
base de datos y el usuario, las aplicaciones que la utilizan.

2.2.

Objetivo:

Su propsito es el de manejar de manera clara, sencilla y ordenada un


conjunto de informacin.
Los objetivos principales de un sistema de base de datos es disminuir los
siguientes aspectos:
Redundancia e inconsistencia de datos. Puesto que los archivos que
mantienen almacenada la informacin son creados por diferentes tipos de
programas de aplicacin existe la posibilidad de que si no se controla
detalladamente el almacenamiento, se pueda originar un duplicado de
informacin.
Dificultad para tener acceso a los datos. Un sistema de base de datos
debe contemplar un entorno de datos que le facilite al usuario el manejo de
los mismos.
Aislamiento de los datos. Puesto que los datos estn repartidos en varios
archivos, y estos no pueden tener diferentes formatos, es difcil escribir
nuevos programas de aplicacin para obtener los datos apropiados.
Anomalas del acceso concurrente. Para mejorar el funcionamiento
global del sistema y obtener un tiempo de respuesta ms rpido, muchos
sistemas

permiten

que

mltiples

usuarios

actualicen

los

datos

simultneamente.
2.3.

Caractersticas:

Abstraccin de la informacin. El Administrador del SGBD ahorran a

los usuarios detalles acerca del almacenamiento fsico de los datos.


Independencia. La independencia de los datos consiste en la capacidad de
modificar el esquema de una base de datos sin tener que realizar cambios

en las aplicaciones que se sirven de ella.


Redundancia mnima. Lo ideal es lograr una redundancia nula; no
obstante, en algunos casos la complejidad de los clculos hace necesaria la

aparicin de redundancias.
Consistencia. En aquellos casos en los que no se ha logrado esta
redundancia nula, es necesario que todos los datos repetidos se actualicen

de forma simultnea.
Integridad. Se trata de garantizar la validez de los datos almacenados.
7

Seguridad. Garantizar que la informacin se encuentre segura frente a

usuarios malintencionados, que intenten leer informacin privilegiada.


Respaldo y recuperacin. Proporcionar formas eficientes de realizar

copias de seguridad, y restaurar estas copias.


Control de la concurrencia. En la mayora de entornos, lo ms habitual
es que sean muchas las personas que acceden a una base de datos, para

recuperar informacin, almacenarla.


Tiempo de respuesta. Es deseable minimizar el tiempo que tarda en
darnos la informacin y en almacenar los cambios realizados.

3. Administrador de Base de Datos:


3.1.

Definicin:

Es la persona encargada de definir y controlar las bases de datos


corporativas, adems proporciona asesora a los desarrolladores, usuarios y
ejecutivos que la requieran. Es la persona o equipo de personas profesionales
responsables del control y manejo del sistema de base de datos, generalmente
tienen experiencia en DBMS, diseo de bases de datos, Sistemas operativos,
comunicacin de datos, hardware y programacin.
3.2. Tareas:
Las tareas del administrador de datos, es decidir en primer trmino cules
datos deben almacenarse en la base de datos, y establecer polticas para mantener
y manejar los datos una vez almacenados. El administrador de datos es por lo
general, un gerente, no un tcnico. El tcnico responsable de poner en prctica las
decisiones del administrador de datos es el administrador de bases de datos (DBA,
data base administrator).
3.3.

Funciones:

El Administrador de Bases de Datos es responsable primordialmente de:

Administrar la estructura de la Base de Datos.


Administrar la actividad de los datos.
Administrar el Sistema Manejador de Base de Datos.
Establecer el Diccionario de Datos.
Asegurar la confiabilidad de la Base de Datos.
8

Confirmar la seguridad de la Base de Datos.

4. Evolucin de los sistemas:


4.1.

Sistemas Orientados a Ficheros:

Los sistemas computacionales se utilizaron inicialmente en los negocios


para funciones de contabilidad. A estos primeros sistemas se les llam sistemas de
procesamiento de datos y trataban de imitar los procedimientos manuales
existentes.
Al principio, la mayora de los archivos se almacenaban en cinta
magntica, ya que el almacenamiento en disco era todava caro, y se acceda a los
datos de forma secuencial, lo que significa que cada registro puede leerse
nicamente despus de haber sido ledos todos los que le preceden. Estos archivos
se procesaban por lotes, es decir, todos los registros de un archivo se procesaban
al mismo tiempo.
Un programa que realiza una tarea especfica es un programa de aplicacin
y un conjunto de programas que trabajan en tareas relacionadas entre s se llama
sistema de aplicacin.
Los archivos secuenciales servan para producir facturas e informes una o
dos veces al mes pero para tareas rutinarias se necesitaba acceso directo a los
datos. Los operadores deban introducir datos redundantes, lo que requera
esfuerzo adicional y aumentaba la probabilidad de error.
A finales de los sesenta se produjo la transicin del procesamiento de los
datos al procesamiento de la informacin. Se hace una distincin entre datos e
informacin. Por datos se entienden hechos aislados, mientras que informacin
son datos procesados.
4.2.

Sistemas de Base de Datos:

Se dice que los sistemas de bases de datos tienen sus races en el proyecto
estadounidense Apolo de mandar al hombre a la luna, en los aos sesenta. En
aquella poca, no haba ningn sistema que permitiera gestionar la inmensa

cantidad de informacin que requera el proyecto. La primera empresa encargada


del proyecto, NAA (North American Aviation), desarroll un software
denominado GUAM (General Update Access Method) que estaba basado en el
concepto de que varias piezas pequeas se unen para formar una pieza ms
grande, y as sucesivamente hasta que el producto final est ensamblado. Esta
estructura, que tiene la forma de un rbol, es lo que se denomina una estructura
jerrquica.
A mediados de los sesenta, IBM se uni a NAA para desarrollar GUAM en
lo que ahora se conoce como IMS (Information Management System). El motivo
por el cual IBM restringi IMS al manejo de jerarquas de registros fue el de
permitir el uso de dispositivos de almacenamiento serie, ms exactamente las
cintas magnticas, ya que era un requisito del mercado por aquella poca.
5. Arquitectura de un Sistema Gestor de Base de Datos Niveles:

5.1.

Externo:

Es el ms cercano a los usuarios, es decir, es donde se describen varios


esquemas externos o vistas de usuarios. Cada esquema describe la parte de la BD
que interesa a un grupo de usuarios en este nivel se representa la visin individual
de un usuario o de un grupo de usuarios.
5.2.

Conceptual:

10

Describe la estructura de toda la BD para un grupo de usuarios mediante


un esquema conceptual. Tambin describe las entidades, atributos, relaciones,
operaciones de los usuarios y restricciones, ocultando los detalles de las
estructuras fsicas de almacenamiento. Representa la informacin contenida en la
BD.
5.3.

Interno:

El ms cercano al almacenamiento fsico, es decir, tal y como estn


almacenados en el ordenador. Describe la estructura fsica de la BD mediante un
esquema interno. Se especifica con un modelo fsico y describe los detalles de
cmo se almacenan fsicamente los datos: los archivos que contienen la
informacin, su organizacin, los mtodos de acceso a los registros, los tipos de
registros, la longitud, los campos que los componen, etctera.
6. Modelos de Base de Datos:
6.1. Distribuidas:
Es una coleccin de datos distribuidos en diferentes nodos de una red de
computadoras. Cada sitio de la red es autnomo, puede ejecutar aplicaciones
locales y al menos una aplicacin global, lo cual requiere el acceso a datos,
ubicados en varios sitios, usando un subsistema de comunicacin.
6.2.

Cliente Servidor:

Es un modelo para el desarrollo de sistemas de informacin, en el que las


transacciones se dividen en procesos independientes que cooperan entre s para
intercambiar informacin, servicios o recursos. Se denomina cliente al proceso
que inicia el dilogo o solicita los recursos y servidor, al proceso que responde a
las solicitudes. Es el modelo de interaccin ms comn entre aplicaciones en una
red.
6.3.

De N Capas:

La ventaja principal de este estilo es que el desarrollo se puede llevar a


cabo en varios niveles y, en caso de que sobrevenga algn cambio, slo se ataca al
nivel requerido sin tener que revisar entre cdigo mezclado. Adems, permite
11

distribuir el trabajo de creacin de una aplicacin por niveles; de este modo, cada
grupo de trabajo est totalmente abstrado del resto de niveles.
6.4.

Multidimensional:

Bsicamente no se diferencian demasiado de las bases de datos


relacionales, la diferencia est ms bien a nivel conceptual; en las bases de datos
multidimensionales los campos o atributos de una tabla pueden ser de dos tipos, o
bien representan dimensiones de la tabla.
6.5.

Orientada a Objetos:
6.5.1.

Definicin:

Las bases de datos orientadas a objetos se crearon para tratar de satisfacer


las necesidades de estas nuevas aplicaciones. La orientacin a objetos ofrece
flexibilidad para manejar algunos de estos requisitos y no esta limitada por los
tipos de datos y los lenguajes de consulta de los sistemas de bases de datos
tradicionales.
Los objetos estructurados se agrupan en clases. Las clases utilizadas en un
determinado lenguaje de programacin orientado a objetos son las mismas clases
que sern utilizadas en una base de datos; de tal manera, que no es necesaria una
transformacin del modelo de objetos para ser utilizado.
6.5.2.

Diseo de Base de Datos Orientada a Objetos:

Est diseada para ser eficaz, desde el punto de vista fsico, para
almacenar objetos complejos. Evita el acceso a los datos; esto es mediante los
mtodos almacenados en ella. Es ms segura ya que no permite tener acceso a los
datos (objetos); esto debido a que para poder entrar se tiene que hacer por los
mtodos que haya utilizado el programador.
6.5.3.

Objetivos:

El objetivo de una base de datos orientada a objetos son los mismos que
los de las bases de datos tradicionales, pero con la ventaja de representar las

12

modelos de datos con un marco mucho ms eficiente, manteniendo la integridad y


relacin entre ellos.
Recordemos que un objeto es una estructura que tiene asociado un estado y
un comportamiento (propiedades y mtodos). Estas bases tienen las caractersticas
de todo lo que es orientado a objeto que son Herencia, Polimorfismo, Abstraccin
y Encapsulamiento.
6.5.4.

Fundamentos:

En la base de datos orientada a objetos, los datos estn encapsulados y se


dice que estos son activos ms que pasivos; debido a que por ejemplo: La clase
mayor detecta si tiene un hijo (objeto) ms o uno menos, es por esto que se dice
que estn activos ya que cuentan los hijos u objetos que tiene.
En el modelo de objetos existen cuatro caractersticas fundamentales:
Abstraccin: denota las caractersticas esenciales de un objeto que lo
distinguen de todos los dems tipos objeto, y proporciona as fronteras
conceptuales ntidamente definidas respecto a la perspectiva del observador". Una
abstraccin se centra en la visin externa de un objeto, y, por tanto sirve para
separar el comportamiento esencial de un objeto de su implantacin.
Modularidad: Se basa en el concepto de fragmentacin de los programas
en componentes individuales para reducir su complejidad en algn grado, y para
crear adems una serie de fronteras bien definidas y documentadas dentro del
programa, dnde estas fronteras o interfaces tienen un incalculable valor cara a la
comprensin del programa.
Jerarqua: una clasificacin u ordenacin de abstracciones.
6.5.5. Tipos:
Una de las caractersticas ms importantes del paradigma orientado a
objetos es la distincin entre la interface pblica de una clase y sus elementos
privados (encapsulacin).

13

El estndar propuesto hace esta distincin hablando de la especificacin


externa de un tipo y de sus implementaciones. Una interface es una especificacin
del comportamiento abstracto de un tipo de objeto y contiene las signaturas de las
operaciones Una clase es una especificacin del comportamiento abstracto y del
estado abstracto de un tipo de objeto.
El estndar propuesto soporta la herencia simple y la herencia mltiple
mediante las interfaces. La interface o clase ms baja de la jerarqua es el tipo ms
especfico.
7. Arquitectura de los sistemas de Base de Datos:
7.1. Centralizada:
Los sistemas de bases de datos centralizadas son aquellos que se ejecutan
en un nico sistema informtico sin interaccionar con ninguna otra computadora.
Tales sistemas comprenden el rango desde los sistemas de bases de datos mono
usuarios ejecutndose en computadoras personales hasta los sistemas de bases de
datos de alto rendimiento encuitndose en grandes sistemas.
7.2.

Distribuida:

Es un sistema en el cual mltiples sitios de bases de datos estn ligados por


un sistema de comunicaciones, de tal forma que, un usuario en cualquier sitio
pueda acceder los datos en cualquier parte de la red exactamente como si los datos
en cualquier parte de la red exactamente como si los datos estuvieran almacenados
en su sitio propio.
7.3.

Relacional:

Los sistemas de base de datos relacionales son aquellos que almacenan y


administran de manera lgica los datos en forma de tablas. Una tabla es, a su vez,
un mtodo para presentar los datos en la forma de filas y columnas.
Cada columna representa un campo nico de un registro. Varias de estas
columnas o campo componen un registro, proveyendo informacin significativa e
interrelacionada. Cada registro es representado en una fila.

14

8. Relaciones:
Las bases de datos relacionales representan las relaciones mediante las
claves ajenas. No tienen estructuras de datos que formen parte de la base de datos
y que representen estos enlaces entre tablas. Las relaciones se utilizan para hacer
concatenaciones de tablas. Por el contrario, las bases de datos orientadas a objetos
implementan sus relaciones incluyendo en cada objeto los identificadores de los
objetos con los que se relaciona.
9. Transacciones y Concurrencia:
9.1.

Concepto de Transaccin:

Una transaccin es una unidad de programa que tiene acceso y


posiblemente actualiza varios elementos de datos. Los sistemas que tratan el
problema de control de concurrencia permiten que sus usuarios asuman que cada
una de sus aplicaciones se ejecuta atmicamente, como si no existieran otras
aplicaciones ejecutndose concurrentemente. Esta abstraccin de una ejecucin
atmica y confiable de una aplicacin se conoce como una transaccin.
9.2.

Propiedades de las Transacciones:

Atomicidad. Se refiere al hecho de que una transaccin se trata como una

unidad de operacin.
Consistencia. La consistencia de una transaccin es simplemente su
correctitud. En otras palabras, una transaccin es un programa correcto
que lleva a la base de datos de un estado consistente a otro con la misma

caracterstica.
Aislamiento. Una transaccin en ejecucin no puede revelar sus

resultados a otras transacciones concurrentes antes de finalizar.


Permanencia. Es la propiedad de las transacciones que asegura que una
vez que una transaccin finaliza exitosamente, sus resultados son
permanentes y no pueden ser borrados de la base de datos por alguna falla

posterior.
Confiabilidad. Puesto que los sistemas de base de datos en lnea no
pueden fallar.

15

Disponibilidad. Debido a que los sistemas de base de datos en lnea deben

estar actualizados correctamente todo el tiempo.


Tiempos de Respuesta. En sistemas de este tipo, el tiempo de respuesta
de las transacciones no debe ser mayor a doce segundos.
9.3.

Problemas de Interferencia:

Cuando dos o ms transacciones se ejecutan concurrentemente, sus


operaciones se ejecutan en un modelo intercalado. Esto significa que las
operaciones de un programa se ejecutan entre dos operaciones de otro programa.
Esta intercalacin puede causar que los programas no funcionen correctamente, o
interfieran, y de esta manera, dejara inconsistente a la base de datos. Esta
interferencia se debe completamente a la intercalacin de las operaciones, puesto
que puede ocurrir a pesar de que cada programa funciona correctamente cuando se
ejecuta de forma individual y no se presenta falla alguna en el sistema. El objetivo
del control de concurrencia es evitar la interferencia y, por ende, los errores.
9.4.

Serializacin:

Consiste en un proceso de codificacin de un objeto en un medio de


almacenamiento con el fin de transmitirlo a travs de una conexin en red como
una serie de bytes o en un formato humanamente ms legible como XML o JSON,
entre otros.
9.5.

Locks y Deadlock:

Un candado (Locks) es un mecanismo de control de acceso concurrente a


un dato. Los datos pueden tener candados en dos modos. Las peticiones por
candados se hacen al manager de control de concurrencia. La transaccin puede
proceder solo despus de que una solicitud es otorgada Un deadlock se forma
cuando tienes dos transacciones de mltiples tablas y se estn bloqueando
mutuamente.
10. Sistema de Manipulacin de Base de Datos (DBMS):
10.1. Componentes:

16

Se compone de un lenguaje de definicin de datos, de un lenguaje de


manipulacin de datos y de un lenguaje de consulta.
El lenguaje de definicin de datos (DDL) es utilizado para describir todas
las estructuras de informacin y los programas que se usan para construir,
actualizar e introducir la informacin que contiene una base de datos. El lenguaje
de manipulacin de datos (DML) es utilizado para escribir programas que crean,
actualizan y extraen informacin de las bases de datos. El lenguaje de consulta
(SQL) es empleado por el usuario para extraer informacin de la base de datos.
10.2. Funcionalidades:
Las funciones esenciales de un DBMS son la descripcin, manipulacin y
utilizacin de los datos.

Descripcin: Incluye la descripcin de: Los elementos de datos, su


estructura, sus interrelaciones, sus validaciones. Tanto a nivel externo
como lgico global e interno esta descripcin es realizada mediante un

LDD o Lenguaje de Descripcin de Datos.


Manipulacin: Permite: Buscar, Aadir, Suprimir y Modificar los datos

contenidos en la Base de Datos.


La manipulacin misma supone: Definir un criterio de seleccin, Definir
la estructura lgica a recuperar, Acceder a la estructura fsica. Esta
manipulacin es realizada mediante un LMD o Lenguaje de Manipulacin

de Datos.
Utilizacin: La utilizacin permite acceder a la base de datos, no a nivel
de datos sino a la base como tal, para lo cual: Rene las interfaces de los
usuarios y suministra procedimientos para el administrador.
10.3. Comandos:
Existen dos tipos de comandos SQL:

DLL que permiten crear y definir nuevas bases de datos, campos e ndices.
DML que permiten generar consultas para ordenar, filtrar y extraer datos
de la base de datos.

17

11. Representacin y Diagramas de Base de Datos:


11.1. Tipos:
El esquema de una base de datos 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.

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.
Esquema Objeto, Base de datos Oracle Objeto.
11.2. Diseo:
Cada nivel de concrecin se caracteriza por la realizacin de un esquema

representativo de la base de datos.

18

Conceptual. Realizacin de un esquema o diagrama conceptual


representativo de las entidades y sus relaciones. Es el nivel de abstraccin
ms alto. La herramienta tpica utilizada para la representacin de este

modelo es el diagrama Entidad-Relacin.


Lgico. Consiste en la representacin de un esquema lgico de la
estructura. Depende del tipo de SGBD o del modelo elegido (jerrquico,
de red, relacional). Existen una serie de reglas que permiten transformar el
diagrama Entidad-Relacin del diseo conceptual al diseo lgico.

Fsico. Es una descripcin de la implementacin de la base de datos.


Incluye la descripcin de las estructuras de almacenamiento y los mtodos
de acceso a los datos. Depende de un SGBD especfico. La forma ms
sencilla es implementar el diseo lgico mediante el lenguaje SQL,
obteniendo as el diseo fsico.
11.3. Conversin:
Debido a que algunos modelos emplean diseos similares, se le puede

realizar una conversin de un diseo a otro. Siempre y cuando sean parecidos.


11.4. Combinacin:
De igual manera de la que se puede convertir un modelo de diseo a otro,
tambin se pueden combinar diseos de la representacin de bases de datos.

12. Principios de Diseo:

19

12.1. Integridad:
Se refiere a la correccin y complementacin de los datos en una base de
datos. Cuando los contenidos se modifican con sentencias INSERT, DELETE o
UPDATE, la integridad de los datos almacenados puede perderse de muchas
maneras diferentes. Pueden aadirse datos no vlidos a la base de datos, tales
como un pedido que especifica un producto no existente.
12.2. Dependencias:
Una dependencia es una conexin entre uno o ms atributos. Por ejemplo
si se conoce la cedula de identidad de una persona, se tiene una conexin con el
Apellido o Nombre. Las dependencias funcionales del sistema se escriben
utilizando nombre, de la siguiente manera:
CI Nombre y apellido
12.3. Teora de Normalizacin:
Las reglas de normalizacin sirven para comprobar si las tablas estn
estructuradas correctamente. La normalizacin es ms til una vez representados
todos los elementos de informacin y despus de haber definido un diseo
preliminar. La idea es asegurarse de que se han dividido los elementos de
informacin en las tablas adecuadas. Lo que la normalizacin no puede hacer es
garantizar que se dispone de los elementos de datos correctos para empezar a
trabajar.
Las reglas se aplican consecutivamente en cada paso para garantizar que el
diseo adopta lo que se conoce como "forma normal".
12.4. Restricciones:
Una restriccin es una condicin que obliga el cumplimiento de ciertas
condiciones en la base de datos. Algunas no son determinadas por los usuarios,
sino que son inherentemente definidas por el simple hecho de que la base de datos
sea relacional. Algunas otras restricciones las puede definir el usuario, por
ejemplo, usar un campo con valores enteros entre 1 y 10.

20

Las restricciones proveen un mtodo de implementar reglas en la base de


datos. Las restricciones restringen los datos que pueden ser almacenados en las
tablas.
13. Lenguaje de Datos SQL:
El lenguaje de consulta estructurada o SQL, es un lenguaje declarativo de
acceso a bases de datos relacionales que permite especificar diversos tipos de
operaciones en ellas.
13.1. Sentencias:
Las sentencias SQL pertenecen a dos categoras principales: Lenguaje de
Definicin de Datos, DDL y Lenguaje de Manipulacin de Datos, DML. Estos
dos lenguajes no son lenguajes en s mismos, sino que es una forma de clasificar
las sentencias de lenguaje SQL en funcin de su cometido. La diferencia principal
reside en que el DDL crea objetos en la base de datos y sus efectos se pueden ver
en el diccionario de la base de datos; mientras que el DML es el que permite
consultar, insertar, modificar y eliminar la informacin almacenada en los objetos
de la base de datos.
Sentencia DDL
Alter procedure
Alter Table
Analyze
Create Table
Create Index
Drop Table
Drop Index
Grant
Truncate
Revoke
Sentencia DML
Insert
Delete
Update

Objetivo
Recompilar un procedimiento almacenado.
Aadir o redefinir una columna, modificar la asignacin
de almacenamiento.
Recoger estadsticas de rendimiento sobre los objetos de
la BD para utilizarlas en el optimizador basado en costes.
Crear una tabla.
Crear un ndice.
Eliminar una tabla.
Eliminar un ndice.
Conceder privilegios o papeles, roles, a un usuario o a
otro rol.
Eliminar todas las filas de una tabla.
Retirar los privilegios de un usuario o rol de la base de
datos.
Objetivo
Aadir filas de datos a una tabla.
Eliminar filas de datos de una tabla.
Modificar los datos de una tabla.

21

Select
Commit
Rollback

Recuperar datos de una tabla.


Confirmar como permanentes las modificaciones
realizadas.
Deshacer todas las modificaciones realizadas desde la
ltima confirmacin.

13.2. Consultas Simples:


Las consultas son operaciones que se realizan sobre los datos de una base
de datos. Estas operaciones pueden ser de diversos tipos:

Consultas de seleccin de datos: permiten recuperar los datos almacenados


en las tablas en el formato y orden adecuados. Adems permiten filtrar y
agrupar la informacin. El resultado de estas consultas consiste en una
tabla "virtual": una tabla que fsicamente no ocupa espacio (porque trabaja
sobre los datos originales de las tablas sobre las que se define), pero que

permite ser manejada de la misma forma que una tabla real.


Consultas de insercin de datos: permiten agregar registros a una tabla.
Consultas de modificacin: permiten modificar los valores de los campos

de los registros de una tabla.


Consultas de borrado: permiten eliminar registros de una tabla.
Consultas de creacin de tabla: permiten crear nuevas tablas cuyos campos
y registros se obtienen a partir de los almacenados en otras tablas.
La consulta ms simple posible consiste en la seleccin de campos y

registros de una tabla. Se identifican los campos que nos interesan y una
condicin que deben cumplir los registros seleccionados. El resultado es una tabla
que es un subconjunto de la original.
13.3. Comparacin de Strings:
Las siguientes funciones escalares realizan una operacin sobre un valor
de cadena de entrada y devuelven un valor de cadena o un valor numrico:

22

Todas las funciones integradas de cadena son deterministas. Esto significa


que devuelven el mismo valor siempre que se llamen con un conjunto
determinado de valores de entrada. Para obtener ms informacin acerca del
determinismo de funciones, vea Funciones deterministas y no deterministas.
Cuando se pasan a las funciones de cadena argumentos que no son valores
de cadena, el tipo de entrada se convierte explcitamente en un tipo de datos de
texto. Para obtener ms informacin, vea Conversiones de tipos de datos (motor
de base de datos).
13.4. Proyeccin:
Una proyeccin es un caso concreto de la operacin seleccin, esta ltima
devuelve todos los campos de aquellos registros que cumplen la condicin que he
establecido. Una proyeccin es una seleccin en la que seleccionamos aquellos
campos que deseamos recuperar.
13.5. Seleccin:
Las consultas de seleccin se utilizan para indicar al motor de datos que
devuelva informacin de las bases de datos, esta informacin es devuelta en forma
de conjunto de registros que se pueden almacenar en un objeto recordset
14. MySQL y PostgreSQL:
14.1. Fundamentos Basicos de MySQL y PostgreSQL:

23

MySQL es un sistema de gestin de bases de datos relacional, licenciado


bajo la GPL de la GNU. Su diseo multihilo le permite soportar una gran carga de
forma muy eficiente. MySQL fue creada por la empresa sueca MySQL AB, que
mantiene el copyright del cdigo fuente del servidor SQL, as como tambin de la
marca.
Las principales caractersticas de este gestor de bases de datos son las
siguientes:

Aprovecha la potencia de sistemas multiprocesador, gracias a su

implementacin multihilo.
Soporta gran cantidad de tipos de datos para las columnas.
Dispone de APIs en gran cantidad de lenguajes (C, C++, Java,

PHP, etc).
Gran portabilidad entre sistemas.
Soporta hasta 32 ndices por tabla.
Gestin de usuarios y passwords, manteniendo un muy buen nivel
de seguridad en los datos.

PostGreSQL es un sistema de gestin de bases de datos objeto-relacional.


Es un sistema objeto-relacional, ya que incluye caractersticas de la orientacin a
objetos, como puede ser la herencia, tipos de datos, funciones, restricciones,
disparadores, reglas e integridad transaccional. A pesar de esto, PostGreSQL no es
un sistema,
A continuacin se enumeran las principales caractersticas de este gestor
de bases de datos:

Implementacin del estndar SQL92/SQL99.


Soporta distintos tipos de datos: adems del soporte para los tipos
base, tambin soporta datos de tipo fecha, monetarios, elementos
grficos, datos sobre redes (MAC, IP ), cadenas de bits, etc.

Tambin permite la creacin de tipos propios.


Incorpora una estructura de datos array.
Incorpora funciones de diversa ndole: manejo de fechas,
geomtricas, orientadas a operaciones con redes, etc.

24

Permite la declaracin de funciones propias, as como la definicin

de disparadores.
Soporta el uso de ndices, reglas y vistas.
Incluye herencia entre tablas (aunque no entre objetos, ya que no
existen), por lo que a este gestor de bases de datos se le incluye

entre los gestores objeto-relacionales.


Permite la gestin de diferentes usuarios, como tambin los
permisos asignados a cada uno de ellos. de gestin de bases de
datos puramente orientado a objetos.

14.2. Sentencias con MySQL y PostgreSQL:


14.2.1. Consultas Multitablas:
Es un tipo de composicin de tablas, permite emparejar filas de distintas
tablas de forma ms eficiente que con el producto cartesiano cuando una de las
columnas de emparejamiento est indexada. Ya que en vez de hacer el producto
cartesiano completo y luego seleccionar la filas que cumplen la condicin de
emparejamiento, para cada fila de una de las tablas busca directamente en la otra
tabla las filas que cumplen la condicin, con lo cual se emparejan slo las filas
que luego aparecen en el resultado.
14.2.2. Sub-Consultas:
Una sub-consulta es una consulta incluida dentro de una clusula WHERE
o HAVING de otra consulta. En ocasiones, para expresar ciertas condiciones no
hay ms remedio que obtener el valor que buscamos como resultado de una
consulta.
El soporte ms reciente de sub-consultas esta MySQL y el rendimiento
todava est siendo mejorado para algunos tipos de sub-consultas en PostgreSQL.
Sin embargo, debe ser muy claro que sigue existiendo una gran cantidad de subconsultas bsicas con los principales problemas de optimizacin en las versiones
actuales de MySQL.
14.2.3. Insercin, eliminacin, actualizacin:

25

Los disparadores son soportados en MySQL a partir de la versin 5.0.2.


Algunos de los soportes existentes son los disparadores para las sentencias
INSERT, UPDATE y DELETE
Por ejemplo, si un disparador est monitoreando los cambios en la
columna salario, podra escribirse un disparador como:
CREATE TRIGGER ver_salario
BEFORE UPDATE ON empleados
REFERENCING NEW ROW AS n, OLD ROW AS o
FOR EACH ROW
IF n.salario <> o.salario THEN
END IF;

Desde 1997 PostgreSQL soporta el uso de disparadores, estos pueden


anexarse a las tablas pero no a las vistas; aunque a las vistas se les pueden crear
reglas. Al igual que en MySQL los disparadores de PostgreSQL se pueden activar
luego de sentencias INSERT, UPDATE o DELETE Cuando hay varios
disparadores, se activan en orden alfabtico.
Adems de permitir el uso de funciones en el lenguaje nativo de
PostgreSQL, PL/PgSQL, los disparadores tambin permiten invocar funciones
escritas en otros lenguajes como PL/Perl.
En Postgres un disparador ejecuta una funcin la cual contiene el cdigo
de lo que se requiere, esto difiere del mtodo expuesto anteriormente para MySQL
que escribe el cdigo a ejecutarse dentro del mismo disparador.
El siguiente es un ejemplo de disparador creado con su respectiva funcin:
CREATE OR REPLACE FUNCTION actualizar() RETURNS TRIGGER AS $ejemplo$
BEGIN
NEW.nombre := NEW.nombres || ' ' || NEW.apellidos ;
RETURN NEW;
END;
$ejemplo$ LANGUAGE plpgsql;
CREATE TRIGGER ejemplo
BEFORE INSERT OR UPDATE ON tabla
FOR EACH ROW EXECUTE PROCEDURE actualizar();

26

14.2.4. Usuario y Privilegios:


MySQL es un sistema de gestin de bases de datos claramente orientado a
la web, y una de los sntomas en su arquitectura ha venido siendo que la creacin
de los usuarios se realiza en la misma sentencia que el permiso (grant) de acceso a
una o varias bases de datos. La orientacin de MySQL va cambiando con el
tiempo y el uso que se le da a las bases de datos cada vez trasciende ms el
entorno web, actualmente hay tres formas de crear un usuario: la forma clsica,
con la sentencia GRANT
Utilizando la sentencia GRANT podemos crear un usuario a la par que
otorgarle uno o varios privilegios sobre los objetos de una base de datos, o la base
de datos completa.
PosgreSQL permite crear provilegios por tabla en la base de datos de
manera que un usuario en particular pueda crear consultas SELECT pero no pueda
ejecutar el resto UPDATE, DELETE, INSERT.. el problema de esto es que pasa si
tienes una BD con muchas tablas, tendrias q generar la sentencia grant por cada
tabla GRANT SELECT ON TABLE public.table to u_read; para solucionar esto
dejo aqui una consulta que genera todas las sentencias GRANT para cada tabla
dentro de la BD.
14.2.5. Respaldo y Restauracin:
Para hacer un respaldo de una base de datos MySQL desde nuestro consola
o mediante comandos shell podemos usar el comando mysqldump.
Comando:
mysqldump -u "usuario" -p"contrasea" nombre-de-la-base-de-datos > nombredel-respaldo.sql
Para restaurar un respaldo de una base de datos MySQL usamos el
siguiente comando.

27

Comando:
mysql -u "usuario" -p"contrasea" nombre-de-la-base-de-datos < nombre-delrespaldo.sql
Y para hacer respaldos y restauracin de datos cuando se utiliza
postgreSQL como DBMS. Respaldando los datos: pg_dump
pg_dump es una herramienta de lnea de comandos que nos permita hacer
un respaldo de alguna de las bases de datos (o todas) en nuestro servidor postgres.
Permite hacer el volcado de datos en diferentes formatos ya sean
compresos, texto plano, etc. En resumen, escribe en un archivo (o salida estndar)
las instrucciones SQL necesarias para hacer un respaldo de la base de datos.

CONCLUSIN

28

REFERENCIAS BIBLIOGRFICAS

LIPSCHULTS, SEYMOUR. Estructura de Datos teora y problemas. McGrawHill. 1988.


CORMEN, LEISERSON, RIVEST. Introduccin a la Algoritmica, Mc Graw Hill,
1990.
AGUILAR, MARTNEZ. Programacin en C, Metodologa, Algoritmos y
estructura de datos. Editorial McGraw-Hill.

29

REFERENCIAS ELECTRNICAS

GRAFOS Y TAD GRAFO. Consultado el 24/07/07. Disponible en: http://


es.wikipedia.org/wiki/Grafo y http://es.wikipedia.org/wiki/Grafo_(estr
uctura_de_datos)
ALGORITMOS FUNDAMENTALES DE LOS GRAFOS. Consultado el
24/07/2014. Disponible en: https://docs.google.com/presentation/d/1jsQJ-a4lNOSO1EHbLs9Qpq_97_w-tYZnEo_mB3d3UY/edit?pli=1#sli
de=id.i0
AGUILAR, MARTNEZ. Programacin en C, Metodologa, Algoritmos y
estructura de datos. Editorial McGraw-Hill. Consultado el 24/07/2014.
Disponible en: www.mcgraw-hill.es/bcv/guide/capitulo/8448198441.pdf

30

You might also like