BASE DE DATOS
jueves, 15 de diciembre de 2011
SEMANA 18
Open Database Connectivity
Open DataBase Connectivity (ODBC) es un estándar de acceso a bases de datos desarrollado
por SQL Access Group en 1992, el objetivo de ODBC es hacer posible el acceder a cualquier dato
desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos (DBMS) almacene
los datos, ODBC logra esto al insertar una capa intermedia (CLI) denominada nivel de Interfaz de
Cliente SQL, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de
datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación
como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de
producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión 2.0 el
estándar soporta SAG y SQL.
por SQL Access Group en 1992, el objetivo de ODBC es hacer posible el acceder a cualquier dato
desde cualquier aplicación, sin importar qué sistema de gestión de bases de datos (DBMS) almacene
los datos, ODBC logra esto al insertar una capa intermedia (CLI) denominada nivel de Interfaz de
Cliente SQL, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de
datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación
como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de
producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión 2.0 el
estándar soporta SAG y SQL.
El software funciona de dos modos, con un software manejador en el cliente, o una filosofía
cliente-servidor. En el primer modo, el driver interpreta las conexiones y llamadas SQL y las traduce
desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la base de datos se
crea una DSN dentro del ODBC que define los parámetros, ruta y características de la conexión
según los datos que solicite el creador o fabricante.
cliente-servidor. En el primer modo, el driver interpreta las conexiones y llamadas SQL y las traduce
desde el API ODBC hacia el DBMS. En el segundo modo para conectarse a la base de datos se
crea una DSN dentro del ODBC que define los parámetros, ruta y características de la conexión
según los datos que solicite el creador o fabricante.
Java Database Connectivity (JDBC) es un derivado inspirado en el mismo, una
interfaz de programación de aplicaciones que permite la ejecución de operaciones sobre bases
de datos desde el lenguaje de programación Java independientemente del sistema operativo donde
se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base
de datos que se utilice.
interfaz de programación de aplicaciones que permite la ejecución de operaciones sobre bases
de datos desde el lenguaje de programación Java independientemente del sistema operativo donde
se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base
de datos que se utilice.
CONCEPTOS DE ODBC
ODBC es una interfaz de nivel de llamada que permite que las aplicaciones tengan acceso a los
datos de cualquier base de datos en la que haya un controlador ODBC. La utilización de ODBC
permite crear aplicaciones de base de datos con acceso a cualquier base de datos en la que el usuario
final tenga un controlador ODBC. ODBC proporciona una API que permite que la aplicación sea
independiente del sistema de administración de bases de datos (DBMS) de origen.
datos de cualquier base de datos en la que haya un controlador ODBC. La utilización de ODBC
permite crear aplicaciones de base de datos con acceso a cualquier base de datos en la que el usuario
final tenga un controlador ODBC. ODBC proporciona una API que permite que la aplicación sea
independiente del sistema de administración de bases de datos (DBMS) de origen.
ODBC es la parte de base de datos de la Arquitectura de servicios abiertos de Microsoft Windows
(WOSA), una interfaz que permite que las aplicaciones de escritorio basadas en Windows se
conecten a varios entornos de computación sin tener que volver a crear la aplicación para cada plataforma.
(WOSA), una interfaz que permite que las aplicaciones de escritorio basadas en Windows se
conecten a varios entornos de computación sin tener que volver a crear la aplicación para cada plataforma.
A continuación se incluyen componentes de ODBC:
- API de ODBC
Biblioteca de llamadas a funciones, conjunto de códigos de error y sintaxis de lenguaje de
consulta estructurado (SQL) estándar para tener acceso a los datos de los DBMS. - Administrador de controladores ODBC
Biblioteca de vínculos dinámicos (Odbc32.dll) que carga controladores de bases de datos
ODBC en nombre de una aplicación. Esta DLL es transparente a la aplicación. - Controladores de bases de datos ODBC
Biblioteca o bibliotecas DLL que procesan llamadas a funciones ODBC para DBMS específicos.
Para obtener una lista de los controladores proporcionados, vea Lista de controladores ODBC. - Biblioteca de cursores ODBC
Biblioteca de vínculos dinámicos (Odbccr32.dll) que se encuentra entre el Administrador de
controladores ODBC y los controladores, y que controla el desplazamiento por los datos. - Administrador de ODBC
Herramienta utilizada para configurar un DBMS de modo que quede disponible como origen de
datos de una aplicación.
Para que una aplicación sea independiente de los DBMS tiene que trabajar a través de un controlador
ODBC creado específicamente para un DBMS, en lugar de trabajar directamente con el DBMS. El
controlador convierte las llamadas en comandos que el DBMS correspondiente puede utilizar, con lo
que se simplifica el trabajo del desarrollador, y hace que esté disponible para una amplia gama de
orígenes de datos.
ODBC creado específicamente para un DBMS, en lugar de trabajar directamente con el DBMS. El
controlador convierte las llamadas en comandos que el DBMS correspondiente puede utilizar, con lo
que se simplifica el trabajo del desarrollador, y hace que esté disponible para una amplia gama de
orígenes de datos.
Las clases de base de datos admiten cualquier origen de datos para el que se tenga un controlador
ODBC. Entre ellos se puede incluir, por ejemplo, una base de datos relacional, una base de datos
de método de acceso secuencial indizado (ISAM), una hoja de cálculo de Microsoft Excel o un
archivo de texto. Los controladores ODBC administran las conexiones al origen de datos y se utiliza
SQL para seleccionar los registros de la base de datos.
ODBC. Entre ellos se puede incluir, por ejemplo, una base de datos relacional, una base de datos
de método de acceso secuencial indizado (ISAM), una hoja de cálculo de Microsoft Excel o un
archivo de texto. Los controladores ODBC administran las conexiones al origen de datos y se utiliza
SQL para seleccionar los registros de la base de datos.
Vea Lista de controladores ODBC para obtener una lista de los controladores ODBC incluidos en
esta versión de Visual C++ e información sobre cómo obtener controladores adicionales.
esta versión de Visual C++ e información sobre cómo obtener controladores adicionales.
SEMANA 17
ERwin:
PLATINUM ERwin es una herramienta para el diseño de base de datos, que Brinda productividad en su diseño, generación, y mantenimiento de aplicaciones. Desde un modelo lógico de los requerimientos de información, hasta el modelo físico perfeccionado para las características específicas de la base de datos diseñada, además ERwin permite visualizar la estructura, los elementos importantes, y optimizar el diseño de la base de datos. Genera automáticamente las tablas y miles de líneas de stored procedure y triggers para los principales tipos de base de datos.
ERwin hace fácil el diseño de una base de datos. Los diseñadores de bases de datos sólo apuntan y pulsan un botón para crear un gráfico del modelo E-R (Entidad _ relación) de todos sus requerimientos de datos y capturar las reglas de negocio en un modelo lógico, mostrando todas las entidades, atributos, relaciones, y llaves importantes.
La migración automática garantiza la integridad referencial de la base de datos. ERwin establece una conexión entre una base de datos diseñada y una base de datos, permitiendo transferencia entre ambas y la aplicación de ingeniería reversa. Usando esta conexión, ERwin genera automáticamente tablas, vistas, índices, reglas de integridad referencial (llaves primarias, llaves foráneas), valores por defecto y restricciones de campos y dominios.
ERwin soporta principalmente bases de datos relacionales SQL y bases de datos que incluyen Oracle, Microsoft SQL Server, Sybase. El mismo modelo puede ser usado para generar múltiples bases de datos, o convertir una aplicación de una plataforma de base de datos a otra.
Software para Aplicaciones Compatibles:
* NetDynamics
* PowerBuilder
* PROGRESS
* Visual Basic
Bases de Datos Compatibles:
* CA-Clipper * CA-OpenIngres
* DB2 for MVS * DB2 for OS/390,
* DB2 UDB * dBASE
* FoxPro * HiRDB,
* Informix * InterBase,
* Microsoft Access * Microsoft SQL Server,
* Oracle * Paradox,
* Rdb * red Brick Warehouse,
* SAS * SQL Anywhere,
* SQLBase * Sybase,
* Teradata
Sistemas Operativos Compatibles:
* Windows NT
* Windows 95
* Windows 98
Requerimientos Técnicos:
Mínimo 10 MB de espacio de disco duro, 16 MB RAM (32 MB RAM recomendado para modelos largos.)
PowerDesigner
La Herramienta Líder en Modelamiento Empresarial
PowerDesigner, la herramienta de modelamiento número uno de la industria, permite a las empresas, de manera más fácil, visualizar, analizar y manipular metadatos, logrando un efectiva arquitectura empresarial de información.
PowerDesigner para Arquitectura Empresarial también brinda un enfoque basado en modelos, el cual permite alinear al negocio con la tecnología de información, facilitando la implementación de arquitecturas efectivas de información empresarial. Brinda potentes técnicas de análisis, diseño y gestión de metadatos a la empresa.
PowerDesigner combina varias técnicas estándar de modelamiento con herramientas líder de desarrollo, como .NET, Sybase WorkSpace, Sybase Powerbuilder, Java y Eclipse, para darle a las empresas soluciones de análisis de negocio y de diseño formal de base de datos. Además trabaja con más de 60 bases de datos relacionales.
SEMANA 14
Cuarta Forma Normal o 4FN:
Existe dependencia funcional multivalorada o de múltiples valores si, dados tres atributos de una tabla, si para cada valor del primer atributo existen múltiples valores en el segundo atributo y no hay ninguna relación entre el tercer atributo y el primero, a no ser a través del segundo atributo.
Una tabla está en Cuarta Forma Normal o 4FN si está en FNBC y las únicas dependencias funcionales multivaloradas que existen son las dependencias funcionales de la clave con los atributos que no forman parte de la misma. Estas dependencias multievaluadas de la clave con los atributos que no forman parte de la misma son dependencias triviales, por lo que algunos autores dicen que no existen dependencias multievaluadas en 4FN.
Supongamos que los atributos de la tabla transporte son conductor, tipo de vehículo y tipo de carga, formando los tres campos la clave primaria. A cada conductor se le puede asignar un vehículo u otro y cada vehículo puede transportar varios tipos de carga.
Transporte | ||
---|---|---|
Conductor | Tipo Vehículo | Tipo Carga |
Juan | Furgoneta | Perecederos |
Marcos | Furgoneta | Perecederos |
Juan | Furgoneta | Muebles |
Marcos | Furgoneta | Muebles |
Juan | Camión | Mudanza |
Marcos | Camión | Mudanza |
Con estas condiciones, los conductores son independientes de la carga; el tipo de vehículos depende del conductor y el tipo de vehículo depende de la carga. En este caso hay dependencias funcionales multivaloradas, ya que algunos atributos que forman la clave dependen de otro atributo que también la forman.
Para conseguir que esta tabla esté en 4FN se necesita crear dos nuevas tablas en lugar de la tabla actual, manteniendose en cada una de ellas una dependencia múltiple. La primera tabla tendrá los atributos conductor y tipo de vehículo y la segunda, tipo de vehículo y tipo de carga. De este modo la tabla en 4FN debido a que la clave primaria de ambas tablas son todos los campos que la forman. Resultado:
Tipo Vehículo | Tipo Carga |
---|---|
Furgoneta | Perecederos |
Furgoneta | Perecederos |
Furgoneta | Muebles |
Furgoneta | Muebles |
Camión | Mudanza |
Camión | Mudanza |
Conductor | Tipo Vehículo |
---|---|
Juan | Furgoneta |
Marcos | Furgoneta |
Juan | Furgoneta |
Marcos | Furgoneta |
Juan | Camión |
Marcos | Camión |
Quinta Forma Normal o 5FN:
Se dice que hay dependencia de JOIN, de unión o de producto si una tabla tiene dependencia de *unión con varias de sus *proyecciones y se puede obtener la tabla por medio de la unión de dichas proyecciones.
*Proyección: |
---|
Creación de una tabla cuyos elementos forman un subconjunto de una tabla dada. Se incluyen todas las filas y algunas columnas. |
*Unión: |
---|
Formar, a partir de dos tablas, una nueva con todos los campos de una de ellas y los registros de ambas, excepto los repetidos. Ambas tablas han de tener el mismo grado y las mismas columnas. |
Una tabla esta en Quinta Forma Normal (5FN) o Forma Normal de Proyección-Unión si está en 4FN y las únicas dependencias que existen son las dependencias de unión de una tabla con sus proyecciones relacionándose entre las distintas proyecciones mediante la clave primaria o cualquier clave alternativa. La 5FN se emplea cuando en una misma tabla tenemos mucha información redundante, con pocos atributos o cuando una tabla posee una gran cantidad de atributos y se hace por ello inmanejable.
Para conseguir que una tabla 4FN con gran cantidad de atributos esté en 5FN, se parte la tabla original en tantas tablas como se desee, teniendo cada una de ellas en común con las demás los campos que forman la clave primaria en la tabla original.
Ejemplo para el caso de una tabla que posee una gran cantidad de atributos:
Id | Datos Familiares | Datos Profesionales | Datos Personales | Datos Clínicos | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 |
En este caso tenemos una empresa donde se guardan los datos personales, familiares, profesionales y clínicos de cada empleado en una única tabla llamada Empleados. Si esta tabla está ya en 4FN, se puede partir en las tablas empleados-personal, empleados-familia, empleados-profesional, empleados-clínicos; de este modo, la velocidad de acceso y la gestión de datos por cada departamento de la empresa se simplifica, al no tenerse que crear ningún tipo de restricción sobre determinados atributos que no han de ser vistos por el personal que no los necesite.
El resultado sería:
Id | Datos Familiares | ||
---|---|---|---|
1 | D1 | D2 | D3 |
Id | Datos Profesionales | ||
---|---|---|---|
1 | D4 | D5 | D6 |
Id | Datos Personales | ||
---|---|---|---|
1 | D7 | D8 | D9 |
Id | Datos Clínicos | ||
---|---|---|---|
1 | D10 | D11 | D12 |
Ejemplo para el caso de una tabla que posee mucha información redundante, con pocos atributos:
Biblioteca | ||
---|---|---|
Título | Fecha | Socio |
T1 | FT | S1 |
T2 | FU | S2 |
T3 | FV | S1 |
T4 | FG | S4 |
T1 | FH | S3 |
T2 | FT | S4 |
T3 | FV | S3 |
Si se tiene una tabla de préstamo de libros de una biblioteca, con los atributos título, fecha de préstamo y número de socios que ha tomado prestado el libro, existen multitud de registros que se crean diariamente en esa tabla, pero para cada libro o para cada socio habrá pocos registros, con lo que una consulta para esa tabla como: ¿Cuáles son los libros leídos por un determinado socio?, puede tener una velocidad de respuesta elevada. Si esta tabla se parte en las tablas título-fecha, título-socio y socio-fecha, cualquier consulta similar a la anterior tendrá un tiempo de respuesta tolerable, y cuando sea necesario, se podrán realizar consultas que impliquen los datos de las tres tablas.
El resultado sería pues:
Título-Fecha | |
---|---|
Título | Fecha |
T1 | FT |
T2 | FU |
T3 | FV |
T4 | FG |
T1 | FH |
T2 | FT |
T3 | FV |
Título-Socio | |
---|---|
Título | Socio |
T1 | S1 |
T2 | S2 |
T3 | S1 |
T4 | S4 |
T1 | S3 |
T2 | S4 |
T3 | S3 |
Fecha-Socio | |
---|---|
Fecha | Socio |
FT | S1 |
FU | S2 |
FV | S1 |
FG | S4 |
FH | S3 |
FT | S4 |
FV | S3 |
Y con esto concluyo el artículo, espero haber resuelto todas las dudas posibles sobre optimización de tablas mediante las formas normales.
Suscribirse a:
Entradas (Atom)