SlideShare una empresa de Scribd logo
1 de 5
 Acceso a datos DAO
 Control data
 Acceso a datos
5 TRABAJO CON BASES DE DATOS
5.1 Introducción a Bases de Datos
Las bases de datos se pueden definir como una colección de datos interrelacionados
entre si, almacenados en conjunto sin redundancias perjudiciales e innecesarias. Su
finalidad es servir a una aplicación o más, de la mejor manera posible, los datos se
almacenan de modo que resulten independientes de los programas que los usan; se
emplean métodos bien determinados para incluir datos nuevos y para modificar o
extraer los datos almacenados.
5.1.1 Redundancia y Duplicidad
Si se revisara una biblioteca de cintas, discos e información concerniente a las bases
nos encontraríamos con que en estas existe una enorme redundancia y duplicación en
los datos.
Generalmente esta duplicidad se genera con la finalidad de hacer más accesible la
información o facilitar la reconstrucción de ésta en caso de perdida accidental. Al
hablar de redundancia debemos hablar de NO redundancia, aunque es mejor, referirse
a redundancia controlada o mínima en lugar de no redundancia.
Una base de datos bien organizada debe permitir una buena reestructuración al
agregar nuevos tipos, es decir, esto no debe originar el volver a escribir los programas
de aplicación, ni provocar complicaciones.
5.1.2 Independencia
Generalmente se habla de la independencia como un gran atributo de las bases de
datos. La independencia se refiere a que los programas de aplicación y los datos que
de ellos se sirven son mutuamente independientes. Esto significa que el modificar los
programas no afecta los datos o su organización (claro que no siempre existe una
buena independencia en los datos).
El software de base de datos debe proporcionar formas de hacer transformaciones
según la estructura del archivo que le interesa al programador de aplicaciones en la
estructura física que en verdad se almacena y viceversa. El grado de necesidad de que
el programador de aplicaciones conozca los detalles de los datos físicos varía de un
sistema a otro.
5.1.3 Características de una Base de Datos
Las bases de datos tienen muchas formas de organización pero deben tener
determinadas características:
 Versatilidad para la representación de relaciones
 Desempeño
 Costo mínimo
 Redundancia mínima
 Capacidad de búsqueda
 Integridad
 Seguridad de acceso a los datos y protección de la información almacenada
 Interfaz con el pasado
 Interfaz con el futuro
 Modificable en el tiempo
 Migración de datos
 Simplicidad
5.2 Organizaciones de Datos
Una base de datos es una colección de información. Y su característica principal es que
los datos los organiza de acuerdo a modelos de datos.
Se considera la definición de Modelo de datos como "un conjunto de conceptos y de
reglas de composición de esos conceptos que permite describir unos datos", es decir,
proveen un marco teórico que sustenta una metodología bien definida para el
almacenamiento y recuperación de la información.
En la práctica existen tres modelos principales de datos: el modelo jerárquico, el
modelo red, y el modelo relacional. Este último esta relacionado con las bases de
datos relacionales y el enfoque Entidad-Relación, al cual está enfocado este estudio.
Visual Basic es capaz de interactuar tanto con bases de datos relacionales, en
particular en forma natural con MS-Access y con cualquier otro tipo de Bases de datos
relacionales como Oracle, SQL Sever, etc. que soporte ODBC (Open Data Base
Conectibity) y también en forma natural con algunas Xbases : Dbase III y IV, FoxPro,
Paradox, Btrieve.
En el contexto de este curso nos referiremos al estudio de MS-Access como base de
datos nativa de Visula Basic. Antes de pasar a estudiar Access como ambiente de base
de datos relacional es necesario definir algunos conceptos sobre bases de datos
relacionales.
5.2.1 Bases de Datos Relacionales
El modelo relacional data de 1970 (CODD-IBM-San José), está basado en conceptos
muy sencillos. El modelo relacional tiene asociada una teoría que no puede ser
separada del modelo: la teoría de la normalización de las relaciones. Esta teoría tiene
por objeto eliminar los comportamientos anormales de las relaciones durante las
actualizaciones. También permite eliminar los datos redundantes y facilita la
comprensión de las relaciones semánticas entre los datos.
5.2.1.1 Los Conceptos Básicos del Modelo Relacional
Una entidad es un objeto que existe y puede distinguirse de otros objetos. Una
entidad puede ser concreta, por ejemplo una persona o un libro, o abstracta, como un
día festivo o un concepto. Una entidad identifica en forma unívoca al objeto que
representa en el universo, por ejemplo Cuenta Corriente 143-2343-34-21.
Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo, el
conjunto de todas las personas que tienen una cuenta en el banco puede definirse
como el conjunto de entidades CuentaCorrentistasdel banco. Así mismo, el conjunto de
entidades Cuenta podría representar el conjunto de todas las cuentas en un banco
determinado. Las entidades pueden pertenecer a más de un conjunto, por ejemplo, la
entidad Personapuede pertenecer a los conjuntos Empleado, Cliente, Asociado, etc.
Las entidades están representadas y tienen sentido por sus atributos. Los posibles
atributos del conjunto de entidades CuentaCorrentista son Nombre, Rut, Calle,
Número, Ciudad. Los valores permitidos para un atributo constituyen su dominio. El
dominio de el atributo Nombre podría ser el conjunto de todas las cadenas de
caracteres de una determinada longitud.
Fuera del marco teórico, un conjunto de entidades es lo que llamamos Tabla.
Cada Columna en la tabla corresponde a un atributo, suele recibir el nombre
de Campos. Cada Fila en la tabla corresponde a los datos de una entidad del mundo
real, se le llama habitualmente Registro. La siguiente tabla ilustra esto:
Número
cuenta
Rut cliente Saldo Giros Dépositos
Cuando se analiza un problema informático una de las primeras tareas es reconocer el
universo de información. Si se pudiera almacenar y recuperar mágicamente toda la
infomación que constituye el universo tendriamos resuelto nuestro problema. Sin
embargo, es necesario dar una estructuración adecuda a la infomación para evitar los
problemas de redundancia y duplicidad. Esta estructuración significa identificar y
definir las entidades que costituyen el universo. Para ello se aplica una descomposición
a al universo de modo que:
 Las entidades sean conceptualmente puras, es decir, sólo contengan
información sobre el conjunto de entidades del mundo real que representa.
Por ejemplo, en una tabla que contenga infomación sobre la cuenta corriente
bancaria no deberá contener información sobre la previsión de salud de las
personas. Para manejar esta información se deben llevar dos tablas:
Cuenta_corriente e Previsión_Salud.
 Los datos almacenados en una tabla deben ser "atómicos", es decir, la
intersección de una columna con una fila no prodrá contener más de un valor.
Por ejemplo:
Si una tabla contiene un campo definido como edades de cargas familiares se
podría definir para que contuviera una cadena de caracteres con esos valores:
5; 11; 18 lo que no sería correcto. En tal caso sería necesario definir una
columna para carga o una tabla que permita almacenarlas.
Relaciones
 Asociación entre Entidades (relación)
Es la asociación entre varias entidades. Por ejemplo, es posible definir una relación
que asocia al CuentaHabiente "Harris" con la cuenta 323. Esto especifica que Harris es
un CuentaHabiente con la cuenta bancaria 323.
 Conjunto de Asociaciones (relaciones)
Un conjunto de relaciones es un grupo de relaciones del mismo tipo. Formalmente es
una relación matemática de N mayor o igual que 2 (posiblemente idénticos) conjuntos
de entidades. Por ejemplo, se puede definir la relación CtHabCta para notar la
asociación entre los cuentahabientes y las cuentas bancarias. Una relación también
puede tener atributos, por ejemplo, fecha podría ser un atributo del conjunto de
relaciones CtHabCta; esto especifica la última vez que el CuentaHabiente tuvo acceso
a su cuenta.
 Limitantes
Una limitante importante es la de las cardinalidades de mapeo entre las distintas
entidades, es decir, el Nº de entidades con las que puede asociarse otra entidad a
través de una asociación. Para un conjunto binario de relaciones se tiene lo siguiente:
Relación Asociación Descripción
Una a Una (1 : 1) Función inyectiva de A en B
Una a Muchas (1 : n) Una entidad A está relacionada con varias
entidades de B.
Muchas a Una (n : 1) Muchas entidades de A está solo relaciona con una
entidad de B.
Muchas a Muchas (n : n) Varias entidades de A están relacionadas con
varias entidades de B.
A continuación se muestran grágicamente dichas asociaciones:
Otra limitante es la dependencia de existencia. Si X depende de Y, entonces si
elimino Y también elimino X. Se dice que X es una entidad subordinada o débil y
que Y es una entidad dominante o fuerte. Por ejemplo considere la entidad
fuerte CuentaHabiente y la entidad débil Cuenta.
 Llaves Primarias
Como ya se ha mencionado anteriormente las llaves permiten identificar una entidad o
un grupo. La llave está constituida por atributos (puede ser 1 o un grupo). Una
entidad fuerte posee una llave primaria. Una llave primaria me permite identificar una
entidad y la llave secundaria me permite identificar un grupo de entidades.
 Llaves Foráneas
Corresponden a un atributo de una tabla relacionada que es llave primaria en una
tabla principal, es decir, es el atributo de una entidad, que es clave primaria de otra.
 Integridad referencial
Conjunto de reglas que se siguen para preservar las relaciones establecidas entre las
tablas cuando se introducen o se agregan registros. Si se exige integridad referencial
el SABDR (Sistema Administrador de Bases de Datos Relacionales) impedirá agregar
registros a una tabla relacionada para la cual no hay un registro principal; también
impedirá cambiar valores en una tabla principal cuando el resultado de la modificación
implica dejar registros huérfanos en la tabla relacionada, así como eliminar registros
cuando existen registros coincidentes en una tabla relacionada.
 La Aproximación por Descomposición
La aproximación por descomposición para concebir esquemas relacionales parte de
una relación compuesta de todos los atributos, llamada la relación universal para
descomponer después esta relación en sub relaciones que no padecen las anomalías
anteriormente descritas. El proceso es un proceso de depuración sucesiva que debe
lograr aislar unas entidades y unas asociaciones del mundo real. Debe estar realizado
por un algoritmo a partir de una buena comprensión semántica de los datos.
 Resumen
Se puede definir una base de datos relacional como una base de datos que el usuario
percibe como un conjunto de relaciones normalizadas que varían con el tiempo, de
diversos grados. En otras palabras, el término base de datos relacional significa una
base de datos para la cual los operadores a disposición del usuario operan sobre
estructuras relacionales. No significa por fuerza que los datos estén almacenados en
forma de tablas físicas.
En resumen, puede decirse que, en términos tradicionales, una relación se asemeja a
un archivo, una tupla a unregistro y un atributo a un campo .Sin embargo, estas
correspondencia son a lo sumo aproximadas. Dicho de otra manera, las relaciones
pueden considerarse archivos "altamente disciplinados". Esta disciplina se traduce en
una simplificación considerable de las estructuras de datos que el usuario debe
manejar, y, por tanto, en una simplificación correspondiente de los operadores
necesarios para manipularlas.
Los conceptos de bases de datos relacionales constituyen una base robusta para el
modelamiento de bases de datos que garantizan calidad en el almacenamiento y
recuperación de la información. La utilización del modelo entidad relación permite
obtener una estructura normalizada para la base de datos.

Más contenido relacionado

La actualidad más candente

Primeraclase 120612193448-phpapp02
Primeraclase 120612193448-phpapp02Primeraclase 120612193448-phpapp02
Primeraclase 120612193448-phpapp02Raùl Choque
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de redweneliza99
 
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosTema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosESCOM
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datoslauraluiso
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosFernando Baculima
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Jorge Ulises
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacionalAlex Javier
 
Conceptos basicos de base de datos
Conceptos basicos de base de datosConceptos basicos de base de datos
Conceptos basicos de base de datosfiremas
 
Construcción de base de datos
Construcción de base de datosConstrucción de base de datos
Construcción de base de datosjhovanaqg
 
Clase 1 2009 1 ac
Clase 1 2009 1 acClase 1 2009 1 ac
Clase 1 2009 1 acRosa Felix
 
Optimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionalesOptimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionalesJunior Chiran
 
Modelamientos de base de datos III ciclo
Modelamientos de base de datos III cicloModelamientos de base de datos III ciclo
Modelamientos de base de datos III ciclopelaodioses
 
Clase 1 conceptos basicos ac
Clase 1 conceptos basicos acClase 1 conceptos basicos ac
Clase 1 conceptos basicos acLuis Jherry
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicasel_rosales
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacionaldoc-92
 
Conclusiones sobre base de datos
Conclusiones sobre base de datos Conclusiones sobre base de datos
Conclusiones sobre base de datos yeisonarley17
 

La actualidad más candente (18)

Primeraclase 120612193448-phpapp02
Primeraclase 120612193448-phpapp02Primeraclase 120612193448-phpapp02
Primeraclase 120612193448-phpapp02
 
Una base de datos de red
Una base de datos de redUna base de datos de red
Una base de datos de red
 
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicosTema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
Tema 9 Bases De Datos Relacionales Difusas Modelos TeóRicos
 
Diseño de Base Datos UPVT
Diseño de Base Datos UPVTDiseño de Base Datos UPVT
Diseño de Base Datos UPVT
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datosModelo jerarquico y modelo de red de base de datos
Modelo jerarquico y modelo de red de base de datos
 
Informatica
InformaticaInformatica
Informatica
 
Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7Android de la A a la Z - Unidad 7
Android de la A a la Z - Unidad 7
 
Una base de datos relacional
Una base de datos relacionalUna base de datos relacional
Una base de datos relacional
 
Conceptos basicos de base de datos
Conceptos basicos de base de datosConceptos basicos de base de datos
Conceptos basicos de base de datos
 
Construcción de base de datos
Construcción de base de datosConstrucción de base de datos
Construcción de base de datos
 
Clase 1 2009 1 ac
Clase 1 2009 1 acClase 1 2009 1 ac
Clase 1 2009 1 ac
 
Optimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionalesOptimización y diseño de base de datos relacionales
Optimización y diseño de base de datos relacionales
 
Modelamientos de base de datos III ciclo
Modelamientos de base de datos III cicloModelamientos de base de datos III ciclo
Modelamientos de base de datos III ciclo
 
Clase 1 conceptos basicos ac
Clase 1 conceptos basicos acClase 1 conceptos basicos ac
Clase 1 conceptos basicos ac
 
Base de datos dinamicas
Base de datos dinamicasBase de datos dinamicas
Base de datos dinamicas
 
Base de datos relacional
Base de datos relacionalBase de datos relacional
Base de datos relacional
 
Conclusiones sobre base de datos
Conclusiones sobre base de datos Conclusiones sobre base de datos
Conclusiones sobre base de datos
 

Destacado

2.- Practica A
2.- Practica A2.- Practica A
2.- Practica ACrisjolez
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosRandy
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web javaCésar Ocampo
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1GrupoTresPacEspe
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosRandy
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosRandy
 
Formulario
FormularioFormulario
FormularioRandy
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Henry Mendoza Puerta
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Comprasriqsiq
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2mtemarialuisa
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESDarwin Durand
 
Tutorial de jpa para windows usando net beans y mysql parte 2
Tutorial de jpa para windows usando net beans y mysql parte 2Tutorial de jpa para windows usando net beans y mysql parte 2
Tutorial de jpa para windows usando net beans y mysql parte 2Henry Mendoza Puerta
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeansepilefmtx
 

Destacado (20)

2.- Practica A
2.- Practica A2.- Practica A
2.- Practica A
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Java persitence api
Java persitence apiJava persitence api
Java persitence api
 
java2 swing
java2 swingjava2 swing
java2 swing
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De Datos
 
Programacion web java
Programacion web javaProgramacion web java
Programacion web java
 
Saturacion base de datos - Ejemplos Parte 1
Saturacion base de datos  - Ejemplos Parte 1Saturacion base de datos  - Ejemplos Parte 1
Saturacion base de datos - Ejemplos Parte 1
 
Java con bd
Java con bdJava con bd
Java con bd
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De Datos
 
Tema 16 acceso a base de datos usando jpa por gio
Tema 16   acceso a base de datos usando jpa por gioTema 16   acceso a base de datos usando jpa por gio
Tema 16 acceso a base de datos usando jpa por gio
 
Swing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De DatosSwing MenúS Y Mantenimiento De Datos
Swing MenúS Y Mantenimiento De Datos
 
Formulario
FormularioFormulario
Formulario
 
Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1Tutorial de jpa para windows usando net beans y mysql parte 1
Tutorial de jpa para windows usando net beans y mysql parte 1
 
Entrada De Datos
Entrada De DatosEntrada De Datos
Entrada De Datos
 
Carro De Compras
Carro De ComprasCarro De Compras
Carro De Compras
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
Dao example
Dao exampleDao example
Dao example
 
APLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALESAPLICACIONES EMPRESARIALES
APLICACIONES EMPRESARIALES
 
Tutorial de jpa para windows usando net beans y mysql parte 2
Tutorial de jpa para windows usando net beans y mysql parte 2Tutorial de jpa para windows usando net beans y mysql parte 2
Tutorial de jpa para windows usando net beans y mysql parte 2
 
61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans61229578 acceso-a-base-de-datos-mysql-con-netbeans
61229578 acceso-a-base-de-datos-mysql-con-netbeans
 

Similar a Acceso a datos dao

Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)
Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)
Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)Luis Alberto Ramirez Alcantara
 
Teoria de Base de datos
Teoria de Base de datosTeoria de Base de datos
Teoria de Base de datosUniandes
 
Bases de datos
Bases de datosBases de datos
Bases de datosOfimaticos
 
Conceptos básicos de base de datos
Conceptos básicos de base de datosConceptos básicos de base de datos
Conceptos básicos de base de datosNeeNiiss Zendess
 
diagrama de planificaciones
diagrama de planificaciones diagrama de planificaciones
diagrama de planificaciones siirjosef
 
Guía unidad 3 base de datos
Guía unidad 3 base de datosGuía unidad 3 base de datos
Guía unidad 3 base de datosJuanSaldaaRived
 
Base de datos
Base de datosBase de datos
Base de datosEmgoldex
 
diseño de base de datos.pdf
diseño de base de datos.pdfdiseño de base de datos.pdf
diseño de base de datos.pdfObedMadrid1
 
Base de datos
Base de datosBase de datos
Base de datosdanicerv
 
Guía Teórica Unidad II. Programación digital
Guía Teórica Unidad II. Programación  digitalGuía Teórica Unidad II. Programación  digital
Guía Teórica Unidad II. Programación digitalSistemadeEstudiosMed
 
Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad karina maita
 
DIAGRAMA DE PLANIFICACION
DIAGRAMA DE PLANIFICACIONDIAGRAMA DE PLANIFICACION
DIAGRAMA DE PLANIFICACIONsiirjosef
 

Similar a Acceso a datos dao (20)

Tarea base de datos
Tarea base de datosTarea base de datos
Tarea base de datos
 
Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)
Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)
Glosario de terminos_comunes_utilizados_en_bases_de_datos (1)
 
Teoria de Base de datos
Teoria de Base de datosTeoria de Base de datos
Teoria de Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Que estres tanta tarea
Que estres tanta tareaQue estres tanta tarea
Que estres tanta tarea
 
Unidad A
Unidad AUnidad A
Unidad A
 
Conceptos básicos de base de datos
Conceptos básicos de base de datosConceptos básicos de base de datos
Conceptos básicos de base de datos
 
diagrama de planificaciones
diagrama de planificaciones diagrama de planificaciones
diagrama de planificaciones
 
Guia unidad-3-base-de-datos
Guia unidad-3-base-de-datosGuia unidad-3-base-de-datos
Guia unidad-3-base-de-datos
 
Guía unidad 3 base de datos
Guía unidad 3 base de datosGuía unidad 3 base de datos
Guía unidad 3 base de datos
 
Modelos de datos y BDD
Modelos de datos y BDD Modelos de datos y BDD
Modelos de datos y BDD
 
Base de datos
Base de datosBase de datos
Base de datos
 
diseño de base de datos.pdf
diseño de base de datos.pdfdiseño de base de datos.pdf
diseño de base de datos.pdf
 
Base de datos
Base de datosBase de datos
Base de datos
 
Guia unidad-3-base-de-datos (1)
Guia unidad-3-base-de-datos (1)Guia unidad-3-base-de-datos (1)
Guia unidad-3-base-de-datos (1)
 
Guía Teórica Unidad II. Programación digital
Guía Teórica Unidad II. Programación  digitalGuía Teórica Unidad II. Programación  digital
Guía Teórica Unidad II. Programación digital
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad Modelo de datos y Modelo de Identidad
Modelo de datos y Modelo de Identidad
 
DIAGRAMA DE PLANIFICACION
DIAGRAMA DE PLANIFICACIONDIAGRAMA DE PLANIFICACION
DIAGRAMA DE PLANIFICACION
 
Base de datos 4
Base de datos 4Base de datos 4
Base de datos 4
 

Acceso a datos dao

  • 1.  Acceso a datos DAO  Control data  Acceso a datos 5 TRABAJO CON BASES DE DATOS 5.1 Introducción a Bases de Datos Las bases de datos se pueden definir como una colección de datos interrelacionados entre si, almacenados en conjunto sin redundancias perjudiciales e innecesarias. Su finalidad es servir a una aplicación o más, de la mejor manera posible, los datos se almacenan de modo que resulten independientes de los programas que los usan; se emplean métodos bien determinados para incluir datos nuevos y para modificar o extraer los datos almacenados. 5.1.1 Redundancia y Duplicidad Si se revisara una biblioteca de cintas, discos e información concerniente a las bases nos encontraríamos con que en estas existe una enorme redundancia y duplicación en los datos. Generalmente esta duplicidad se genera con la finalidad de hacer más accesible la información o facilitar la reconstrucción de ésta en caso de perdida accidental. Al hablar de redundancia debemos hablar de NO redundancia, aunque es mejor, referirse a redundancia controlada o mínima en lugar de no redundancia. Una base de datos bien organizada debe permitir una buena reestructuración al agregar nuevos tipos, es decir, esto no debe originar el volver a escribir los programas de aplicación, ni provocar complicaciones. 5.1.2 Independencia Generalmente se habla de la independencia como un gran atributo de las bases de datos. La independencia se refiere a que los programas de aplicación y los datos que de ellos se sirven son mutuamente independientes. Esto significa que el modificar los programas no afecta los datos o su organización (claro que no siempre existe una buena independencia en los datos). El software de base de datos debe proporcionar formas de hacer transformaciones según la estructura del archivo que le interesa al programador de aplicaciones en la estructura física que en verdad se almacena y viceversa. El grado de necesidad de que el programador de aplicaciones conozca los detalles de los datos físicos varía de un sistema a otro. 5.1.3 Características de una Base de Datos Las bases de datos tienen muchas formas de organización pero deben tener determinadas características:  Versatilidad para la representación de relaciones  Desempeño  Costo mínimo  Redundancia mínima  Capacidad de búsqueda  Integridad  Seguridad de acceso a los datos y protección de la información almacenada  Interfaz con el pasado  Interfaz con el futuro  Modificable en el tiempo  Migración de datos
  • 2.  Simplicidad 5.2 Organizaciones de Datos Una base de datos es una colección de información. Y su característica principal es que los datos los organiza de acuerdo a modelos de datos. Se considera la definición de Modelo de datos como "un conjunto de conceptos y de reglas de composición de esos conceptos que permite describir unos datos", es decir, proveen un marco teórico que sustenta una metodología bien definida para el almacenamiento y recuperación de la información. En la práctica existen tres modelos principales de datos: el modelo jerárquico, el modelo red, y el modelo relacional. Este último esta relacionado con las bases de datos relacionales y el enfoque Entidad-Relación, al cual está enfocado este estudio. Visual Basic es capaz de interactuar tanto con bases de datos relacionales, en particular en forma natural con MS-Access y con cualquier otro tipo de Bases de datos relacionales como Oracle, SQL Sever, etc. que soporte ODBC (Open Data Base Conectibity) y también en forma natural con algunas Xbases : Dbase III y IV, FoxPro, Paradox, Btrieve. En el contexto de este curso nos referiremos al estudio de MS-Access como base de datos nativa de Visula Basic. Antes de pasar a estudiar Access como ambiente de base de datos relacional es necesario definir algunos conceptos sobre bases de datos relacionales. 5.2.1 Bases de Datos Relacionales El modelo relacional data de 1970 (CODD-IBM-San José), está basado en conceptos muy sencillos. El modelo relacional tiene asociada una teoría que no puede ser separada del modelo: la teoría de la normalización de las relaciones. Esta teoría tiene por objeto eliminar los comportamientos anormales de las relaciones durante las actualizaciones. También permite eliminar los datos redundantes y facilita la comprensión de las relaciones semánticas entre los datos. 5.2.1.1 Los Conceptos Básicos del Modelo Relacional Una entidad es un objeto que existe y puede distinguirse de otros objetos. Una entidad puede ser concreta, por ejemplo una persona o un libro, o abstracta, como un día festivo o un concepto. Una entidad identifica en forma unívoca al objeto que representa en el universo, por ejemplo Cuenta Corriente 143-2343-34-21. Un conjunto de entidades es un grupo de entidades del mismo tipo. Por ejemplo, el conjunto de todas las personas que tienen una cuenta en el banco puede definirse como el conjunto de entidades CuentaCorrentistasdel banco. Así mismo, el conjunto de entidades Cuenta podría representar el conjunto de todas las cuentas en un banco determinado. Las entidades pueden pertenecer a más de un conjunto, por ejemplo, la entidad Personapuede pertenecer a los conjuntos Empleado, Cliente, Asociado, etc. Las entidades están representadas y tienen sentido por sus atributos. Los posibles atributos del conjunto de entidades CuentaCorrentista son Nombre, Rut, Calle, Número, Ciudad. Los valores permitidos para un atributo constituyen su dominio. El dominio de el atributo Nombre podría ser el conjunto de todas las cadenas de caracteres de una determinada longitud. Fuera del marco teórico, un conjunto de entidades es lo que llamamos Tabla. Cada Columna en la tabla corresponde a un atributo, suele recibir el nombre de Campos. Cada Fila en la tabla corresponde a los datos de una entidad del mundo real, se le llama habitualmente Registro. La siguiente tabla ilustra esto: Número cuenta Rut cliente Saldo Giros Dépositos
  • 3. Cuando se analiza un problema informático una de las primeras tareas es reconocer el universo de información. Si se pudiera almacenar y recuperar mágicamente toda la infomación que constituye el universo tendriamos resuelto nuestro problema. Sin embargo, es necesario dar una estructuración adecuda a la infomación para evitar los problemas de redundancia y duplicidad. Esta estructuración significa identificar y definir las entidades que costituyen el universo. Para ello se aplica una descomposición a al universo de modo que:  Las entidades sean conceptualmente puras, es decir, sólo contengan información sobre el conjunto de entidades del mundo real que representa. Por ejemplo, en una tabla que contenga infomación sobre la cuenta corriente bancaria no deberá contener información sobre la previsión de salud de las personas. Para manejar esta información se deben llevar dos tablas: Cuenta_corriente e Previsión_Salud.  Los datos almacenados en una tabla deben ser "atómicos", es decir, la intersección de una columna con una fila no prodrá contener más de un valor. Por ejemplo: Si una tabla contiene un campo definido como edades de cargas familiares se podría definir para que contuviera una cadena de caracteres con esos valores: 5; 11; 18 lo que no sería correcto. En tal caso sería necesario definir una columna para carga o una tabla que permita almacenarlas. Relaciones  Asociación entre Entidades (relación) Es la asociación entre varias entidades. Por ejemplo, es posible definir una relación que asocia al CuentaHabiente "Harris" con la cuenta 323. Esto especifica que Harris es un CuentaHabiente con la cuenta bancaria 323.  Conjunto de Asociaciones (relaciones) Un conjunto de relaciones es un grupo de relaciones del mismo tipo. Formalmente es una relación matemática de N mayor o igual que 2 (posiblemente idénticos) conjuntos de entidades. Por ejemplo, se puede definir la relación CtHabCta para notar la asociación entre los cuentahabientes y las cuentas bancarias. Una relación también puede tener atributos, por ejemplo, fecha podría ser un atributo del conjunto de relaciones CtHabCta; esto especifica la última vez que el CuentaHabiente tuvo acceso a su cuenta.  Limitantes Una limitante importante es la de las cardinalidades de mapeo entre las distintas entidades, es decir, el Nº de entidades con las que puede asociarse otra entidad a través de una asociación. Para un conjunto binario de relaciones se tiene lo siguiente: Relación Asociación Descripción Una a Una (1 : 1) Función inyectiva de A en B
  • 4. Una a Muchas (1 : n) Una entidad A está relacionada con varias entidades de B. Muchas a Una (n : 1) Muchas entidades de A está solo relaciona con una entidad de B. Muchas a Muchas (n : n) Varias entidades de A están relacionadas con varias entidades de B. A continuación se muestran grágicamente dichas asociaciones: Otra limitante es la dependencia de existencia. Si X depende de Y, entonces si elimino Y también elimino X. Se dice que X es una entidad subordinada o débil y que Y es una entidad dominante o fuerte. Por ejemplo considere la entidad fuerte CuentaHabiente y la entidad débil Cuenta.  Llaves Primarias Como ya se ha mencionado anteriormente las llaves permiten identificar una entidad o un grupo. La llave está constituida por atributos (puede ser 1 o un grupo). Una entidad fuerte posee una llave primaria. Una llave primaria me permite identificar una entidad y la llave secundaria me permite identificar un grupo de entidades.  Llaves Foráneas Corresponden a un atributo de una tabla relacionada que es llave primaria en una tabla principal, es decir, es el atributo de una entidad, que es clave primaria de otra.  Integridad referencial Conjunto de reglas que se siguen para preservar las relaciones establecidas entre las tablas cuando se introducen o se agregan registros. Si se exige integridad referencial el SABDR (Sistema Administrador de Bases de Datos Relacionales) impedirá agregar registros a una tabla relacionada para la cual no hay un registro principal; también impedirá cambiar valores en una tabla principal cuando el resultado de la modificación implica dejar registros huérfanos en la tabla relacionada, así como eliminar registros cuando existen registros coincidentes en una tabla relacionada.  La Aproximación por Descomposición La aproximación por descomposición para concebir esquemas relacionales parte de una relación compuesta de todos los atributos, llamada la relación universal para descomponer después esta relación en sub relaciones que no padecen las anomalías anteriormente descritas. El proceso es un proceso de depuración sucesiva que debe lograr aislar unas entidades y unas asociaciones del mundo real. Debe estar realizado por un algoritmo a partir de una buena comprensión semántica de los datos.  Resumen
  • 5. Se puede definir una base de datos relacional como una base de datos que el usuario percibe como un conjunto de relaciones normalizadas que varían con el tiempo, de diversos grados. En otras palabras, el término base de datos relacional significa una base de datos para la cual los operadores a disposición del usuario operan sobre estructuras relacionales. No significa por fuerza que los datos estén almacenados en forma de tablas físicas. En resumen, puede decirse que, en términos tradicionales, una relación se asemeja a un archivo, una tupla a unregistro y un atributo a un campo .Sin embargo, estas correspondencia son a lo sumo aproximadas. Dicho de otra manera, las relaciones pueden considerarse archivos "altamente disciplinados". Esta disciplina se traduce en una simplificación considerable de las estructuras de datos que el usuario debe manejar, y, por tanto, en una simplificación correspondiente de los operadores necesarios para manipularlas. Los conceptos de bases de datos relacionales constituyen una base robusta para el modelamiento de bases de datos que garantizan calidad en el almacenamiento y recuperación de la información. La utilización del modelo entidad relación permite obtener una estructura normalizada para la base de datos.