viernes, 12 de marzo de 2010

MAPA SQL


viernes, 5 de marzo de 2010

SQL Sintaxis

En esta página, enumeramos la sintaxis SQL para cada uno de los comandos SQL en esta guía de referencia. Para obtener explicaciones detalladas para cada sintaxis SQL, por favor diríjase a la sección individual haciendo clic en la palabra clave. El propósito de esta página es brindar una página de referencia rápida para la sintaxis SQL. Le sugerimos que agregue esta página a favoritos ahora presionando Control-D para que pueda tener esta página de sintaxis a mano. Select SELECT "nom de colonne" FROM "nombre_tabla" Distinct SELECT DISTINCT "nombre_columna" FROM "nombre_tabla" Where SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condition" And/Or SELECT "nombre_columna" FROM "nombre_tabla" WHERE "condición simple" {[ANDOR] "condición simple"}+ In SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" IN ('valor1', 'valor2', ...) Between SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" BETWEEN 'valor1' AND 'valor2' Like SELECT "nombre_columna" FROM "nombre_tabla" WHERE "nombre_columna" LIKE {patrón} Order By SELECT "nombre_columna" FROM "nombre_tabla" [WHERE "condición"] ORDER BY "nombre_columna" [ASC, DESC] Count SELECT COUNT("nombre_columna") FROM "nombre_tabla" Group By SELECT "nombre_columna 1", SUM("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" Having SELECT "nombre_columna 1", SUM("nombre_columna 2") FROM "nombre_tabla" GROUP BY "nombre_columna 1" HAVING (condición de función aritmética) Create Table CREATE TABLE "nombre_tabla" ("columna 1" "tipo_de_datos_para_columna_1", "columna 2" "tipo_de_datos_para_columna_2", ... ) Drop Table DROP TABLE "nombre_tabla" Truncate Table TRUNCATE TABLE "nombre_tabla" Insert Into INSERT INTO "nombre_tabla" ("colonne 1", "colonne 2", ...) valorS ("valor 1", "valor 2", ...) Update UPDATE "nombre_tabla" SET "colonne 1" = [nuevo valor] WHERE {condition} Delete From DELETE FROM "nombre_tabla" WHERE {condición}

LENGUAJE DE TECNOLOGIA RELACIONAL

El modelo relacional para la gestión de una base de datos es un modelo de datos basado en la lógica de predicado y en la teoría de conjuntos. Es el modelo más utilizado en la actualidad para modelar problemas reales y administrar datos dinámicamente. Tras ser postuladas sus bases en 1970 por Edgar Frank Codd, de los laboratorios IBM en San José (California), no tardó en consolidarse como un nuevo paradigma en los modelos de base de datos. Su idea fundamental es el uso de «relaciones». Estas relaciones podrían considerarse en forma lógica como conjuntos de datos llamados «tuplas». Pese a que ésta es la teoría de las bases de datos relacionales creadas por Edgar Frank Codd, la mayoría de las veces se conceptualiza de una manera más fácil de imaginar, esto es, pensando en cada relación como si fuese una tabla que está compuesta por registros (cada fila de la tabla sería un registro o tupla), y columnas (también llamadas campos). Descripción En este modelo todos los datos son almacenados en relaciones, y como cada relación es un conjunto de datos, el orden en el que estos se almacenen no tiene relevancia (a diferencia de otros modelos como el jerárquico y el de red). Esto tiene la considerable ventaja de que es más fácil de entender y de utilizar por un usuario no experto. La información puede ser recuperada o almacenada por medio de consultas que ofrecen una amplia flexibilidad y poder para administrar la información. Este modelo considera la base de datos como una colección de relaciones. De manera simple, una relación representa una tabla que no es más que un conjunto de filas, cada fila es un conjunto de campos y cada campo representa un valor que interpretado describe el mundo real. Cada fila también se puede denominar tupla o registro y a cada columna también se le puede llamar campo o atributo. Para manipular la información utilizamos un lenguaje relacional, actualmente se cuenta con dos lenguajes formales el Álgebra relacional y el Cálculo relacional. El Álgebra relacional permite describir la forma de realizar una consulta, en cambio, el Cálculo relacional sólo indica lo que se desea devolver. El lenguaje más común para construir las consultas a bases de datos relacionales es SQL, Structured Query Language o Lenguaje Estructurado de Consultas, un estándar implementado por los principales motores o sistemas de gestión de bases de datos relacionales. Esquema Un esquema es la definición de una estructura (generalmente relaciones o tablas de una base de datos), es decir, determina la identidad de la relación y qué tipo de información podrá ser almacenada dentro de ella; en otras palabras, el esquema son los metadatos de la relación. Todo esquema constará de: · Nombre de la relación (su identificador). · Nombre de los atributos (o campos) de la relación y sus dominios; el dominio de un atributo o campo define los valores permitidos para el mismo, es equivalente al tipo de dato por ejemplo character, integer, date, string, etc. Instancias Una instancia de manera formal es la aplicación de un esquema a un conjunto finito de datos. En palabras no tan técnicas, se puede definir como el contenido de una tabla en un momento dado, pero también es válido referirnos a una instancia cuando trabajamos o mostramos únicamente un subconjunto de la información contenida en una relación o tabla, como por ejemplo: · Ciertos caracteres y números (una sola columna de una sola fila). · Algunas o todas las filas con todas o algunas columnas · Cada fila es una tupla. El número de filas es llamado cardinalidad. · El número de columnas es llamado aridad o grado. Base de datos relacional Una base de datos relacional es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común, en ambos casos posee las mismas características como por ejemplo el nombre de campo, tipo y longitud; a este campo generalmente se le denomina ID, identificador o clave. A esta manera de construir bases de datos se le denomina modelo relacional. Estrictamente hablando el término se refiere a una colección específica de datos pero a menudo se le usa, en forma errónea como sinónimo del software usado para gestionar esa colección de datos. Ese software se conoce como SGBD (sistema gestor de base de datos) relacional o RDBMS (del inglés relational database management system). Las bases de datos relacionales pasan por un proceso al que se le conoce como normalización de una base de datos, el cual es entendido como el proceso necesario para que una base de datos sea utilizada de manera óptima. Manejadores de base de datos relacionales Existe software exclusivamente dedicado a tratar con bases de datos relacionales. Este software se conoce como SGBD (Sistema de Gestión de Base de Datos relacional) o RDBMS (del inglés Relational Database Management System). Entre los gestores o manejadores actuales más populares encontramos: MySQL, PostgreSQL, Oracle, DB2 y Microsoft SQL Server. Ventajas · Provee herramientas que garantizan evitar la duplicidad de registros. · Garantiza la integridad referencial, así, al eliminar un registro elimina todos los registros relacionados dependientes. · Favorece la normalización por ser más comprensible y aplicable. · Garantiza herramientas para evitar la duplicidad de registros, a través de campos claves o llaves. · Garantiza la integridad referencial: Así al eliminar un registro elimina todos los registros relacionados dependientes. · Favorece la normalización por ser más comprensible y aplicable. Desventajas · Presentan deficiencias con datos gráficos, multimedia, CAD y sistemas de información geográfica. · No se manipulan de forma manejable los bloques de texto como tipo de dato. Las bases de datos orientadas a objetos (BDOO) se propusieron con el objetivo de satisfacer las necesidades de las aplicaciones anteriores y así, complementar pero no sustituir a las bases de datos relacionales.

DML

DML son las siglas de Data Manipulation Language y se refiere a los comandos que permiten a un usuario manipular los datos en un repositorio, es decir, añadir, consultar, borrar o actualizar. En SQL los comandos SELECT, INSERT, UPDATE y DELETE son comandos DML Otras ódenes como COMMIT, START TRANSACTION o ROLLBACK están en el límite de lo que podemos considerar órdenes DML de SQL puesto que no inciden en la manpilación o consulta de datos pero sí en el proceso en que esto se realiza. Por cierto que lo de "START TRANSACTION" no es estándar y depende de la implementación de SQL (en Sybase si no recuerdo mal, una transacción se modela poniendo el AUTOCOMMIT a false y tras hacer el COMMIT o ROLLBACK, a true). Desencadenadores DMLUn desencadenador DML es una acción programada para ejecutarse cuando se produce un evento DML (lenguaje de manipulación de datos) en el servidor de base de datos. Los eventos DML incluyen instrucciones UPDATE, INSERT o DELETE emitidas en una tabla o una vista. Los desencadenadores DML se utilizan para exigir reglas de negocios cuando se modifican los datos y para ampliar la lógica de comprobación de integridad de las restricciones, valores predeterminados y reglas de Microsoft SQL Server. Los temas de esta sección proporcionan la información necesaria para comprender, diseñar e implementar desencadenadores DML. Descripción de los desencadenadores DML Explica los conceptos de los desencadenadores DML e incluye descripciones y ejemplos del momento en que se implementan estos desencadenadores. Diseñar desencadenadores DML Se proporcionan directrices, reglas y restricciones que se deben tener en cuenta para diseñar desencadenadores DML. Implementar desencadenadores DML Se describen los procedimientos para crear, modificar o eliminar desencadenadores DML. Descripción de los desencadenadores DML Microsoft SQL Server proporciona dos mecanismos principales para hacer cumplir las reglas de negocios y la integridad de los datos: restricciones y desencadenadores. Un desencadenador es un tipo especial de procedimiento almacenado que se inicia automáticamente cuando se ejecuta un evento de lenguaje. SQL Server incluye tres tipos generales de desencadenadores: DML, DDL y de inicio de sesión. Los desencadenadores DDL se invocan cuando tiene lugar un evento de lenguaje de definición de datos (DDL) en el servidor o la base de datos.Se explican con mayor detalle en Desencadenadores DDL. Los desencadenadores de inicio de sesión activan procedimientos almacenados en respuesta a un evento LOGON. Este evento se genera cuando se establece una sesión de usuario con una instancia de SQL Server. Para obtener más información, vea Desencadenadores logon. Los desencadenadores DML se invocan cuando un evento de lenguaje de manipulación de datos (DML) tiene lugar en la base de datos. Los eventos DML incluyen instrucciones INSERT, UPDATE o DELETE que modifican datos en una tabla o vista especificada. Un desencadenador DML puede consultar otras tablas e incluir instrucciones Transact-SQL complejas. El desencadenador y la instrucción que lo activa se tratan como una sola transacción, que puede revertirse desde el desencadenador. Si se detecta un error grave (por ejemplo, no hay suficiente espacio en disco), se revierte automáticamente toda la transacción. Los desencadenadores DML tienen varias utilidades: Pueden realizar cambios en cascada mediante tablas relacionadas de la base de datos; sin embargo, estos cambios pueden ejecutarse de manera más eficaz mediante restricciones de integridad referencial en cascada. Pueden proteger contra operaciones INSERT, UPDATE y DELETE incorrectas o dañinas, y exigir otras restricciones que sean más complejas que las definidas con restricciones CHECK. A diferencia de éstas, los desencadenadores DML pueden hacer referencia a columnas de otras tablas. Por ejemplo, un desencadenador puede utilizar una instrucción SELECT de otra tabla para comparar con los datos insertados o actualizados y para realizar acciones adicionales, como modificar los datos o mostrar un mensaje de error definido por el usuario. Pueden evaluar el estado de una tabla antes y después de realizar una modificación de datos y actuar en función de esa diferencia. Varios desencadenadores DML del mismo tipo (INSERT, UPDATE o DELETE) en una tabla permiten realizar distintas acciones en respuesta a una misma instrucción de modificación. Diseñar desencadenadores DML En esta sección se explican los factores que se deben tener en cuenta al diseñar un desencadenador DML. Tema Descripción Directrices de planeamiento del desencadenador DML Explica las distintas formas en que se pueden diseñar desencadenadores AFTER y desencadenadores INSTEAD OF. Especificar cuándo se activa un desencadenador DML Ofrece ejemplos que ilustran las diferencias de comportamiento de activación entre los desencadenadores AFTER e INSTEAD OF. Ejecución de desencadenadores DML Explica cómo se ejecutan los desencadenadores AFTER e INSTEAD OF una vez activados. Diseñar desencadenadores INSTEAD OF Describe directrices de diseño únicas para desencadenadores INSTEAD OF. Administrar la seguridad de los desencadenadores Describe cómo se puede ejecutar el código de desencadenador con privilegios concentrados y cómo reducir esta amenaza. Implementar desencadenadores DML Antes de crear un desencadenador DML, tenga en cuenta que: La instrucción CREATE TRIGGER debe ser la primera del lote. Las demás instrucciones del lote se interpretan como parte de la definición de la instrucción CREATE TRIGGER. De forma predeterminada, el permiso para crear un desencadenador DML corresponde al propietario de la tabla, que no puede transferirlo a otros usuarios. Los desencadenadores DML son objetos de base de datos y sus nombres deben ajustarse a las reglas definidas para los identificadores. Sólo se pueden crear desencadenadores DML en la base de datos actual, aunque un desencadenador DML puede hacer referencia a objetos que se encuentren fuera de esta base de datos. No es posible crear un desencadenador DML en una tabla temporal o del sistema, aunque los desencadenadores DML pueden hacer referencia a tablas temporales. No se debe hacer referencia a las tablas del sistema; en su lugar, utilice las vistas de esquema de información. No se puede definir desencadenadores INSTEAD OF DELETE o INSTEAD OF UPDATE en una tabla con una clave externa definida con una acción DELETE o UPDATE. Aunque una instrucción TRUNCATE TABLE sea como una instrucción DELETE sin la cláusula WHERE (elimina todas las filas), no provoca la activación de los desencadenadores DELETE, porque es una instrucción que no se registra. La instrucción WRITETEXT no provoca la activación de los desencadenadores INSERT ni UPDATE. Importante: La capacidad de devolver conjuntos de resultados desde desencadenadores se eliminará en una versión posterior de SQL Server. Los desencadenadores que devuelven conjuntos de resultados pueden provocar un comportamiento inesperado en aplicaciones que no estén diseñadas para utilizarlos. Evite la devolución de conjuntos de resultados desde desencadenadores en los nuevos trabajos de desarrollo y piense en modificar las aplicaciones que la usan actualmente. Para evitar que los desencadenadores devuelvan conjuntos de resultados en SQL Server, asigne el valor 1 a la opción disallow results from triggers (opción). El valor predeterminado de esta opción será 1 en una versión futura de SQL Server. Cuando cree un desencadenador DML, especifique: El nombre. La tabla en la que se define el desencadenador. El momento de activar el desencadenador. Las instrucciones de modificación de datos que activarán el desencadenador. Son opciones válidas: INSERT, UPDATE o DELETE. Varias instrucciones de modificación de datos pueden activar el mismo desencadenador. Por ejemplo, se puede activar un desencadenador mediante instrucciones INSERT y UPDATE. Las instrucciones de programación que realizan la acción desencadenadora. Varios desencadenadores DML Una tabla puede tener varios desencadenadores AFTER de un tipo determinado, siempre que tengan nombres distintos. Todo desencadenador puede llevar a cabo numerosas funciones. Sin embargo, sólo se puede aplicar a una tabla. Por otra parte, un único desencadenador puede aplicarse a cualquier subconjunto de las tres acciones del usuario (UPDATE, INSERT y DELETE). Una tabla sólo puede tener un desencadenador INSTEAD OF de un tipo determinado. Permisos y propiedad de un desencadenador Los desencadenadores se crean en el esquema de la tabla o vista en la que están definidos. Por ejemplo, si el desencadenador Trigger1 se crea en una tabla HumanResources.Employee, el nombre completo del esquema del desencadenador es HumanResources.Trigger1. De forma predeterminada, los permisos CREATE TRIGGER son del propietario de la tabla en la que se ha definido el desencadenador, de la función de servidor fija sysadmin y de los miembros de funciones fijas de base de datos db_owner y db_ddladmin, y no se pueden transferir. Al crear un desencadenador INSTEAD OF en una vista, la cadena de propiedad se rompe si el propietario de la vista no es también propietario de las tablas base a las que hacen referencia tanto la vista como el desencadenador. Para cualquier tabla base que no pertenezca al propietario de la vista, el propietario de la tabla deberá conceder los permisos necesarios por separado, a fin de que cualquier usuario pueda leer o actualizar la vista. Si ésta y las tablas base subyacentes pertenecen al mismo usuario, será necesario conceder permisos a otros usuarios sólo para la vista, no para las tablas base individuales. Para obtener más información, vea Cadenas de propiedad. Para crear un desencadenador CREATE TRIGGER (Transact-SQL)

DLL

DLL
Dll - Dynamic Link Library ("Biblioteca de vínculos dinámicos" es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras Dll. Los desarrolladores utilizan las Dll para poder reciclar el código y aislar las diferentes tareas. Las Dll no pueden ejecutarse directamente, es necesario llamarlas desde un código externo. Las Dll suelen confundir a los usuarios novatos (a la hora de recibir el típico error de algún programa en el "módulo xxxxx.DLL" y también pueden ser la pesadilla del programador, vea más información en
DEFINICIÓN Y EXPLICACIÓN DE UN ARCHIVO .DLL
La información de este artículo está basada en Q87934 y se aplica a: · Microsoft Windows 98 SE (Second Edition) · Microsoft Windows 98 · Microsoft Windows 95 · Microsoft Windows 3.0, 3.1, 3.x · Microsoft Windows Millennium Edition (Windows ME)
SUMARIO
Una Biblioteca de Vínculos Dinámicos (DLL) file es un archivo ejecutable que permite compartir código y otros recursos para realizar ciertas tareas. Las Dll de Windows permiten que las aplicaciones puedan operar en el entorno de Windows.
MÁS INFORMACIÓN
Normalmente las Bibliotecas de Vínculos Dinámicos aparecen con la extención ".dll"; sin embargo, ellas también pueden tener la extensión ".exe" u otra extensión. Por ejemplo, Shell.dll contiene las rutinas de arrastrar y soltar de OLE - ("Object Linking and Embedding" - Incrustación y Vinculación de Objetos) que pueden ser utilizadas por Windows y otros programas. Kernel.exe, User.exe y Gdi.exe son un ejemplo de las DLLs con la extensión .exe. Estos archivos contienen código, datos o rutinas que se ejecutan en Windows. Por ejemplo, ino de estos archivos contienen la función "CreateWindow" que se utiliza cuando un programa quiere crear una nueva ventana en la pantalla. En Windows un controlador que instalamos es también una DLL. Un programa puede abrir, habilitar, consultar, deshabilitar y cerrar un controlador basado en las instrucciones escritas en un archivo .DLL. Las DLL se pueden encontrar en el directorio de Windows, en el directorio Windows\System o en el directorio "Archivos de programa". Si al iniciar un programa una de sus Dll falta o está dañada podemos recibir un mensaje de error como éste: "No se encuentra xyz.dll". Si la Dll de este programa está caduca o no corresponde al estándar podemos recibir el error "Llamada al vínculo dinámico no definido" ("Call to undefined dynalink"). En estos casos debemos obtener la Dll apropiada y colocarla en el directorio que corresponda.
COMO DETERMINAR EL ORIGEN DE UNA DLL:
Para determinar el número de versión, nombre del fabricante u otra información sobre un archivo: 1. Pulse Inicio, Buscar y pulse Archivos o carpetas. 2. Escriba el nombre del archivo que busca, por ejemplo shell32.dll, y seleccione el disco local donde quiere buscarlo y pulse "Buscar ahora". 3. Pulse con el botón secundario en los archivos encontrados, pulse Propiedades y pulse la pestaña Versión. Si el archivo es de Microsoft, extraiga una nueva copia del archivo. Para la información cómo extraer archivos de Windows consulte este artículo de la KB de Microsoft: Artículo: Q129605 Título : How to Extract Original Compressed Windows Files Si el nombre del fabricante que aparece en la pestaña "Versión" no es Microsoft contacte al fabricante que corresponda para la asistencia.

viernes, 26 de febrero de 2010

RECUPERACION


MAPA CONCEPTUAL DE ORACLE

viernes, 12 de febrero de 2010

BASE DE DATOS

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. A continuación te presentamos una guía que te explicará el concepto y características de las bases de datos.
El término de bases de datos fue escuchado por primera vez en 1963, en un simposio celebrado en California, USA. Una base de datos se puede definir como un conjunto de información relacionada que se encuentra agrupada ó estructurada.
Desde el punto de vista informático, la base de datos es un sistema formado por un conjunto de datos almacenados en discos que permiten el acceso directo a ellos y un conjunto de programas que manipulen ese conjunto de datos.
Cada base de datos se compone de una o más tablas que guarda un conjunto de datos. Cada tabla tiene una o más columnas y filas. Las columnas guardan una parte de la información sobre cada elemento que queramos guardar en la tabla, cada fila de la tabla conforma un registro.




Definición de base de datos




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.




Características




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 auditoría.



  • Respaldo y recuperación.



  • Acceso a través de lenguajes de programación estándar.


Sistema de Gestión de Base de Datos (SGBD)



Los Sistemas de Gestión de Base de Datos (en inglés DataBase Management System) son un tipo de software muy específico, dedicado a servir de interfaz entre la base de datos, el usuario y las aplicaciones que la utilizan. Se compone de un lenguaje de definición de datos, de un lenguaje de manipulación de datos y de un lenguaje de consulta.




Ventajas de las bases de datos
Control sobre la redundancia de datos:



Los sistemas de ficheros almacenan varias copias de los mismos datos en ficheros distintos. Esto hace que se desperdicie espacio de almacenamiento, además de provocar la falta de consistencia de datos.
En los sistemas de bases de datos todos estos ficheros están integrados, por lo que no se almacenan varias copias de los mismos datos. Sin embargo, en una base de datos no se puede eliminar la redundancia completamente, ya que en ocasiones es necesaria para modelar las relaciones entre los datos.


Consistencia de datos:


Eliminando o controlando las redundancias de datos se reduce en gran medida el riesgo de que haya inconsistencias. Si un dato está almacenado una sola vez, cualquier actualización se debe realizar sólo una vez, y está disponible para todos los usuarios inmediatamente. Si un dato está duplicado y el sistema conoce esta redundancia, el propio sistema puede encargarse de garantizar que todas las copias se mantienen consistentes.


Compartición de datos:


En los sistemas de ficheros, los ficheros pertenecen a las personas o a los departamentos que los utilizan. Pero en los sistemas de bases de datos, la base de datos pertenece a la empresa y puede ser compartida por todos los usuarios que estén autorizados.


Mantenimiento de estándares:


Gracias a la integración es más fácil respetar los estándares necesarios, tanto los establecidos a nivel de la empresa como los nacionales e internacionales. Estos estándares pueden establecerse sobre el formato de los datos para facilitar su intercambio, pueden ser estándares de documentación, procedimientos de actualización y también reglas de acceso.


Mejora en la integridad de datos:


La integridad de la base de datos se refiere a la validez y la consistencia de los datos almacenados. Normalmente, la integridad se expresa mediante restricciones o reglas que no se pueden violar. Estas restricciones se pueden aplicar tanto a los datos, como a sus relaciones, y es el SGBD quien se debe encargar de mantenerlas.


Mejora en la seguridad:


La seguridad de la base de datos es la protección de la base de datos frente a usuarios no autorizados. Sin unas buenas medidas de seguridad, la integración de datos en los sistemas de bases de datos hace que éstos sean más vulnerables que en los sistemas de ficheros.


Mejora en la accesibilidad a los datos:


Muchos SGBD proporcionan lenguajes de consultas o generadores de informes que permiten al usuario hacer cualquier tipo de consulta sobre los datos, sin que sea necesario que un programador escriba una aplicación que realice tal tarea.


Mejora en la productividad:


El SGBD proporciona muchas de las funciones estándar que el programador necesita escribir en un sistema de ficheros. A nivel básico, el SGBD proporciona todas las rutinas de manejo de ficheros típicas de los programas de aplicación.
El hecho de disponer de estas funciones permite al programador centrarse mejor en la función específica requerida por los usuarios, sin tener que preocuparse de los detalles de implementación de bajo nivel.


Mejora en el mantenimiento:


En los sistemas de ficheros, las descripciones de los datos se encuentran inmersas en los programas de aplicación que los manejan.
Esto hace que los programas sean dependientes de los datos, de modo que un cambio en su estructura, o un cambio en el modo en que se almacena en disco, requiere cambios importantes en los programas cuyos datos se ven afectados.
Sin embargo, los SGBD separan las descripciones de los datos de las aplicaciones. Esto es lo que se conoce como independencia de datos, gracias a la cual se simplifica el mantenimiento de las aplicaciones que acceden a la base de datos.


Aumento de la concurrencia:


En algunos sistemas de ficheros, si hay varios usuarios que pueden acceder simultáneamente a un mismo fichero, es posible que el acceso interfiera entre ellos de modo que se pierda información o se pierda la integridad. La mayoría de los SGBD gestionan el acceso concurrente a la base de datos y garantizan que no ocurran problemas de este tipo.


Mejora en los servicios de copias de seguridad:


Muchos sistemas de ficheros dejan que sea el usuario quien proporcione las medidas necesarias para proteger los datos ante fallos en el sistema o en las aplicaciones. Los usuarios tienen que hacer copias de seguridad cada día, y si se produce algún fallo, utilizar estas copias para restaurarlos.
En este caso, todo el trabajo realizado sobre los datos desde que se hizo la última copia de seguridad se pierde y se tiene que volver a realizar. Sin embargo, los SGBD actuales funcionan de modo que se minimiza la cantidad de trabajo perdido cuando se produce un fallo.


Desventajas de las bases de datos


Complejidad:



Los SGBD son conjuntos de programas que pueden llegar a ser complejos con una gran funcionalidad. Es preciso comprender muy bien esta funcionalidad para poder realizar un buen uso de ellos.


Coste del equipamiento adicional:


Tanto el SGBD, como la propia base de datos, pueden hacer que sea necesario adquirir más espacio de almacenamiento. Además, para alcanzar las prestaciones deseadas, es posible que sea necesario adquirir una máquina más grande o una máquina que se dedique solamente al SGBD. Todo esto hará que la implantación de un sistema de bases de datos sea más cara.


Vulnerable a los fallos:



El hecho de que todo esté centralizado en el SGBD hace que el sistema sea más vulnerable ante los fallos que puedan producirse. Es por ello que deben tenerse copias de seguridad (Backup).


Tipos de Campos


Cada Sistema de Base de Datos posee tipos de campos que pueden ser similares o diferentes. Entre los más comunes podemos nombrar:



  • Numérico: entre los diferentes tipos de campos numéricos podemos encontrar enteros “sin decimales” y reales “decimales”.



  • Booleanos: poseen dos estados: Verdadero “Si” y Falso “No”.



  • Memos: son campos alfanuméricos de longitud ilimitada. Presentan el inconveniente de no poder ser indexados.



  • Fechas: 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.



  • Alfanuméricos: contienen cifras y letras. Presentan una longitud limitada (255 caracteres).



  • Autoincrementables: 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.

Tipos de Base de Datos

Entre los diferentes tipos de base de datos, podemos encontrar los siguientes:



  • MySql: 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.



  • PostgreSql y Oracle: 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.



  • Access: 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.



  • Microsoft SQL Server: es una base de datos más potente que access desarrollada por Microsoft. Se utiliza para manejar grandes volúmenes de informaciones.

Modelo entidad-relación

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.


Cardinalidad de las Relaciones

El diseño de relaciones entre las tablas de una base de datos puede ser la siguiente:


  • Relaciones de uno a uno: una instancia de la entidad A se relaciona con una y solamente una de la entidad B.



  • Relaciones de uno a muchos: cada instancia de la entidad A se relaciona con varias instancias de la entidad B.



  • Relaciones de muchos a muchos: cualquier instancia de la entidad A se relaciona con cualquier instancia de la entidad B.


Estructura de una Base de Datos

Una base de datos, a fin de ordenar la información de manera lógica, posee un orden que debe ser cumplido para acceder a la información de manera coherente. Cada base de datos contiene una o más tablas, que cumplen la función de contener los campos.



En el siguiente ejemplo mostramos una tabla “comentarios” que contiene 4 campos.

Los datos quedarían organizados como mostramos en siguiente ejemplo:







Por consiguiente una base de datos posee el siguiente orden jerárquico:



  • Tablas

  • Campos

  • Registros

  • Lenguaje SQL

El lenguaje SQL es el más universal en los sistemas de base de datos. Este lenguaje nos permite realizar consultas a nuestras bases de datos para mostrar, insertar, actualizar y borrar datos.
A continuación veremos un ejemplo de ellos:



  • Mostrar: para mostrar los registros se utiliza la instrucción Select. Select * From comentarios.



  • Insertar: los registros pueden ser introducidos a partir de sentencias que emplean la instrucción Insert. Insert Into comentarios (titulo, texto, fecha) Values ('saludos', 'como esta', '22-10-2007')



  • Borrar: Para borrar un registro se utiliza la instrucción Delete. En este caso debemos especificar cual o cuales son los registros que queremos borrar. Es por ello necesario establecer una selección que se llevara a cabo mediante la cláusula Where. Delete From comentarios Where id='1'.



  • Actualizar: para actualizar los registros se utiliza la instrucción Update. Como para el caso de Delete, necesitamos especificar por medio de Where cuáles son los registros en los que queremos hacer efectivas nuestras modificaciones. Además, tendremos que especificar cuáles son los nuevos valores de los campos que deseamos actualizar. Update comentarios Set titulo='Mi Primer Comentario' Where id='1'.
 
frases