You are on page 1of 25

w w  w

QUE ES UNA BD
CARACTERISTICAS
COMPONENTES DE UNA BD
TIPOS DE USUARIOS DE UNA BD
CONCEPTOS BASICOS
Õ ôData Managment System)
NORMALIZACION
TIPOS DE CAMPOS
TIPOS DE BD
MODELO ENTIDAD RELACION
  
• Una base de datos es un ´almacénµ que nos permite
guardar grandes cantidades de información de
forma organizada para que luego podamos
encontrar y utilizar fácilmente.

• Se define una base de datos como una serie de datos


organizados y relacionados entre sí, los cuales son
recolectados y explotados por los sistemas de
información de una empresa o negocio en particular.
? 


  

• Entre las principales características de los sistemas de
base de datos podemos mencionar:
• Independencia lógica y física de los datos.
• Redundancia mínima.
• Acceso concurrente por parte de múltiples usuarios.
• Integridad de los datos.
• Consultas complejas optimizadas.
• Seguridad de acceso y auditoria.
• Respaldo y recuperación.
• Acceso a través de lenguajes de programación estándar.
? 
  
•     
      
   
        
•   ©
      
        
• Õ    
     

    

      
          
 

? 
 
 
• Ê        ©

      
           !
• Õ     
       ©

     ©
   
"    
 
• Õ      ©
 #
  #   
  
  #
     
         ©
   # 
          $   
  ? 
  
 
  
   
•     %
   # 
• V   %
   
• Ú 
   &
    

? 
 ô   

ôSistema Administrador de Base de Datos)
• Los 
     Õ  son un tipo
de software muy específico, dedicado a servir de interfaz
entre las bases de datos y las aplicaciones que la
utilizan. Se componen de un lenguaje de definición de
datos,, de un lenguaje de manipulación de datos y de un
datos
lenguaje de consulta

? 


• Cada Sistema de Base de Datos posee tipos de campos que pueden ser
similares o diferentes. Entre los más comunes podemos nombrar:
• §    entre los diferentes tipos de campos numéricos podemos
encontrar enteros ´sin decimalesµ y reales ´decimalesµ.
•   poseen dos estados: Verdadero ´Siµ y Falso ´Noµ.
•   son campos alfanuméricos de longitud ilimitada. Presentan el
inconveniente de no poder ser indexados.
• G almacenan fechas facilitando posteriormente su explotación.
Almacenar fechas de esta forma posibilita ordenar los registros por fechas
o calcular los días entre una fecha y otra.
• |    contienen cifras y letras. Presentan una longitud
limitada ô  caracteres).
• |    son campos numéricos enteros que incrementan
en una unidad su valor para cada registro incorporado. Su utilidad
resulta: Servir de identificador ya que resultan exclusivos de un registro.
? 



• Entre los diferentes tipos de base de datos, podemos encontrar los
siguientes:
•  es una base de datos con licencia GPL basada en un servidor. Se
caracteriza por su rapidez. No es recomendable usar para grandes
volúmenes de datos.
•
• ?      Son sistemas de base de datos poderosos.
Administra muy bien grandes cantidades de datos, y suelen ser utilizadas
en intranets y sistemas de gran calibre.
• | Es una base de datos desarrollada por Microsoft. Esta base de
datos, debe ser creada bajo el programa access, el cual crea un archivo
.mdb con la estructura ya explicada.
•        es una base de datos más potente que access
desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de
informaciones.
? 
 


 

• Los diagramas o modelos entidad-relación
ôdenominado por su siglas, ERD ´Diagram Entity
relationshipµ) son una herramienta para el modelado
de datos de un sistema de información. Estos modelos
expresan entidades relevantes para un sistema de
información, sus inter-relaciones y propiedades.

? 
w  

El modelo Entidad/Interrelación ôE/R): un método de diseño de
bases de datos.
• Muestra de una versión simplificada.
• Representa los datos mediante una serie de    que
disponen de    .
• Una entidad es una clase de objetos o conceptos claramente
identificable.
• Las entidades establecen    con otras
entidades.
• El resultado de este proceso es una base de datos
   que facilita el acceso a los datos y evita su
duplicado.
? 
 
 
• Bueno, ahora nos falta describir como se representa un modelo E-R
gráficamente, la representación es muy sencilla, se emplean símbolos, los
cuales son:

• Así nuestro ejemplo quedaría representado de la siguiente forma:

? 
 !!
!!
p   
 
  Ú
 Ú
 

Ú ÚÚ     Ú Ú


   

Ú Ú 
 

   Ú    Ú

  Ú  Ú 
  

   

  Ú  Ú


ÚÚ  
    

Ú
Ú

Ú

    
 

• 
• Completar los atributos de las demás entidades
? 



    Ú
 ô
     ô
 
Ú ô Ú  
ÚÚ  ô Ú 
 
 Ú 

 
ô


 Ú
Ú  
w
w
    Ú 
   Ú 
w ô Ú
w"#!
Ú Ú    
Ú   Ú
   Ú
 
 

   
 
  
 
Ú
? 


# $ 


Ú
 

Ú !
 ! !""#$ %%% 
Ú Ú  

? 
   #  '        

          (  
)     *  ©
   #    
   #          ©
   
 
©
 )  
  
    +)*   * 
   ©



    
   

# ©
 ©
   
 )     

 
     #
    )         
   #
   ) ,-.      
      

 
 )   !
#
 
G 
%
 
 

   
        

[     
    

[  [     

? 
r
&G 
  
G 
r  
      
 
       
  
  
   
     
   

´ Ves que estamos rompiendo la primera regla cuando repetimos


los campos url1 y url  ´ que pasa con la tercera regla, la clave
primaria La regla tres básicamente significa que tenemos que
poner una campo tipo contador autoincrementable para cada
registro. De otra forma, ´ Qué pasaría si tuviéramos dos usuarios
llamados oe y queremos diferenciarlos. Una vez que aplicaremos
el primer nivel de F/N nos encontraríamos con la siguiente tabla:
#
 
 

 
     

 [     
  

 [     
  

[  [   

[  [   

Ahora diremos que nuestra tabla está en el primer nivel de


F/N. emos solucionado el problema de la limitación del
campo url. Pero sin embargo vemos otros problemas....Cada
vez que introducimos un nuevo registro en la 
   , tenemos que duplicar el nombre de la empresa y
del usuario. No sólo nuestra BD crecerá muchísimo, sino que
será muy facil que la BD se corrompa si escribimos mal
alguno de los datos redundantes. Aplicaremos pues el
segundo nivel de F/N:
? 
ÿ
&G 
  
G 
• Crear tablas separadas para aquellos grupos de
datos que se aplican a varios registros.
• Relacionar estas tablas mediante una clave externa.

emos separado el campo url en otra tabla, de forma que


podemos añadir más en el futuro si tener que duplicar los
demás datos. Tambien vamos a usar nuestra clave primaria
para relacionar estos campos:

#
 
  
 
!" 
 
 
      

  
 [     

#  
[  [  $  

Vale, hemos creado tablas separadas y la clave primaria en


la     , userId, esta relacionada ahora con la
clave externa en la  , relUserId. Esto esta mejor. ´
Pero que ocurre cuando queremos añadir otro empleado a
la empresa ABC  ´ o  empleados  Ahora tenemos el
nombre de la empresa y su dirección duplicandose, otra
situación que puede inducirnos a introducir errores en
nuestros datos. Así que tendrémos que aplicar el tercer nivel
de F/N:
? 
  $G

• Eliminar aquellos campos que no dependan de la clave.

• Nuestro nombre de empresa y su dirección no tienen

nada que ver con el campo userId, asi que tienen

que tener su propio empresaId:

#
 
    

 
  % "  
  

 [       


[  [ 


 
&!" 
   
  
#  
$  

Ahora tenemos la clave primaria emprId en la   


relacionada con la clave externa recEmpresaId en la 
   , y podemos añadir  usuarios mientras que sólo
tenemos que insertar el nombre 'ABC' una vez. Nuestras tablas de
usuarios y urls pueden crecer todo lo que quieran sin duplicación ni
corrupción de datos. La mayoría de los desarrolladores dicen que el
tercer nivel de F/N es suficiente, que nuestro esquema de datos
puede manejar fácilmente los datos obtenidos de una cualquier
empresa en su totalidad, y en la mayoría de los casos esto será cierto.
? 
• Ú   §  G §
• En las relaciones varios-con-varios, entidades independientes no pueden ser
almacenadas en la misma tabla.
• a que sólo se aplica a las relaciones varios-con-varios, la mayoria de los
desarrolladores pueden ignorar esta regla de forma correcta. Pero es muy útil en
ciertas situaciones, tal como esta. emos optimizado nuestra  
eliminado duplicados y hemos puesto las relaciones en su propia tabla.
• Os voy a poner un ejemplo prático, ahora podemos seleccionar todas las urls de
oe realizando la siguiente instrucción SQL:
• Ú     G      !   "#
!    $ % & ' |§Õ      % & ' |§Õ  % &
!    $ %
• si queremos recorrer todas las urls de cada uno de los usuarios, hariamos algo
así:
• Ú     G      !   "#
     % & !    $ % |§Õ  % &
!    $ %
•   §  G §
• Existe otro nivel de normalización que se aplica a veces, pero es de hecho algo
esotérico y en la mayoria de los casos no es necesario para obtener la mejor
funcionalidad de nuestra estructura de datos o aplicación. Su principio sugiere:
• La tabla original debe ser reconstruida desde las tablas resultantes en las cuales a
sido troceada.
?